From f1f305dbc1eda3866b7838011d837f4b9753de4d Mon Sep 17 00:00:00 2001 From: Ted Williams Date: Wed, 4 Oct 2006 01:28:30 +0000 Subject: [PATCH 001/843] Initial contribution of Wind River's terminal view. --- org.eclipse.tm.terminal/.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 8 + .../.settings/org.eclipse.jdt.ui.prefs | 3 + org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 18 + .../icons/clcl16/connect_co.gif | Bin 0 -> 139 bytes .../icons/clcl16/disconnect_co.gif | Bin 0 -> 146 bytes .../icons/clcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/clcl16/properties_tsk.gif | Bin 0 -> 118 bytes .../icons/cview16/terminal_view.gif | Bin 0 -> 938 bytes .../icons/dlcl16/connect_co.gif | Bin 0 -> 874 bytes .../icons/dlcl16/disconnect_co.gif | Bin 0 -> 90 bytes .../icons/dlcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/dlcl16/properties_tsk.gif | Bin 0 -> 90 bytes .../icons/elcl16/connect_co.gif | Bin 0 -> 890 bytes .../icons/elcl16/disconnect_co.gif | Bin 0 -> 118 bytes .../icons/elcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/elcl16/properties_tsk.gif | Bin 0 -> 118 bytes .../icons/eview16/terminal_view.gif | Bin 0 -> 938 bytes org.eclipse.tm.terminal/plugin.properties | 17 + org.eclipse.tm.terminal/plugin.xml | 128 + .../src/org/eclipse/tm/terminal/Logger.java | 117 + .../src/org/eclipse/tm/terminal/Messages.java | 40 + .../eclipse/tm/terminal/Messages.properties | 33 + .../org/eclipse/tm/terminal/TelnetCodes.java | 92 + .../eclipse/tm/terminal/TelnetConnection.java | 796 ++++++ .../org/eclipse/tm/terminal/TelnetOption.java | 756 ++++++ .../eclipse/tm/terminal/TerminalAction.java | 119 + .../tm/terminal/TerminalActionClearAll.java | 34 + .../tm/terminal/TerminalActionConnect.java | 31 + .../tm/terminal/TerminalActionCopy.java | 38 + .../tm/terminal/TerminalActionCut.java | 38 + .../tm/terminal/TerminalActionDisconnect.java | 33 + .../terminal/TerminalActionNewTerminal.java | 36 + .../tm/terminal/TerminalActionPaste.java | 38 + .../tm/terminal/TerminalActionSelectAll.java | 30 + .../tm/terminal/TerminalActionSettings.java | 30 + .../eclipse/tm/terminal/TerminalConsts.java | 114 + .../org/eclipse/tm/terminal/TerminalCtrl.java | 1573 ++++++++++++ .../org/eclipse/tm/terminal/TerminalMsg.java | 44 + .../tm/terminal/TerminalNetworkPortMap.java | 104 + .../eclipse/tm/terminal/TerminalPlugin.java | 294 +++ .../tm/terminal/TerminalPreferencePage.java | 265 ++ .../tm/terminal/TerminalProperties.java | 278 +++ .../eclipse/tm/terminal/TerminalSettings.java | 425 ++++ .../tm/terminal/TerminalSettingsDlg.java | 911 +++++++ .../eclipse/tm/terminal/TerminalTarget.java | 19 + .../org/eclipse/tm/terminal/TerminalText.java | 2145 +++++++++++++++++ .../org/eclipse/tm/terminal/TerminalView.java | 1047 ++++++++ 48 files changed, 9682 insertions(+) create mode 100644 org.eclipse.tm.terminal/.project create mode 100644 org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs create mode 100644 org.eclipse.tm.terminal/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal/icons/clcl16/connect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/clcl16/disconnect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/clcl16/newterminal.gif create mode 100644 org.eclipse.tm.terminal/icons/clcl16/properties_tsk.gif create mode 100644 org.eclipse.tm.terminal/icons/cview16/terminal_view.gif create mode 100644 org.eclipse.tm.terminal/icons/dlcl16/connect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/dlcl16/disconnect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/dlcl16/newterminal.gif create mode 100644 org.eclipse.tm.terminal/icons/dlcl16/properties_tsk.gif create mode 100644 org.eclipse.tm.terminal/icons/elcl16/connect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/elcl16/disconnect_co.gif create mode 100644 org.eclipse.tm.terminal/icons/elcl16/newterminal.gif create mode 100644 org.eclipse.tm.terminal/icons/elcl16/properties_tsk.gif create mode 100644 org.eclipse.tm.terminal/icons/eview16/terminal_view.gif create mode 100644 org.eclipse.tm.terminal/plugin.properties create mode 100644 org.eclipse.tm.terminal/plugin.xml create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalTarget.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalText.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java diff --git a/org.eclipse.tm.terminal/.project b/org.eclipse.tm.terminal/.project new file mode 100644 index 00000000000..621a3a690cf --- /dev/null +++ b/org.eclipse.tm.terminal/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tm.terminal + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..175992f9e31 --- /dev/null +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,8 @@ +#Mon Jul 31 14:55:18 CEST 2006 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..9a20fca52a4 --- /dev/null +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Mon Jul 31 14:55:17 CEST 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..3e3cd8e261f --- /dev/null +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -0,0 +1,18 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true +Bundle-Version: 2.6.0 +Bundle-Activator: org.eclipse.tm.terminal.TerminalPlugin +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.ui.ide, + org.eclipse.ui.views, + org.eclipse.ui.workbench.texteditor, + org.eclipse.ui.editors, + org.eclipse.core.resources, + org.eclipse.ui, + org.eclipse.jface.text +Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal/icons/clcl16/connect_co.gif b/org.eclipse.tm.terminal/icons/clcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..556b230da5693996a541f64393a5cfb91b4bcd33 GIT binary patch literal 139 zcmZ?wbhEHb6krfw*v!Dd@SlPEEH^^~gT8_P{FCz!-aVMSH2FUm03|Vj;!hSv1_pKp z9gq~r3Qu)m%S5)Zch7sbWtx2K>xBK@v;FkGS@-1G W&gcrAxidxV#@Wd$qt**DSOWlPf-bNC literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/clcl16/disconnect_co.gif b/org.eclipse.tm.terminal/icons/clcl16/disconnect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1d5fb31e51476a24e289e7cf2d083058fb3fa2a GIT binary patch literal 146 zcmZ?wbhEHb6krfw*v!Ci-#-3+e0>80!+v}F|MBtjf#m%8_kn2t{)PsiFvI`<|A8bN zDE?$&WMJTC&;f~n%wS-#FF5JBdhd-z496C>ib@<2@H=YBn5x*&y^Cj=!u(ec#pJbA lyIR&OHT#;)l?%|2-kM+()~m7jt&Y*$wbNf#?G|LP1^^IEGNAwf literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/clcl16/newterminal.gif b/org.eclipse.tm.terminal/icons/clcl16/newterminal.gif new file mode 100644 index 0000000000000000000000000000000000000000..80201e0d46944f559b4a73b846886d8c999dc5d1 GIT binary patch literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/cview16/terminal_view.gif b/org.eclipse.tm.terminal/icons/cview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/dlcl16/connect_co.gif b/org.eclipse.tm.terminal/icons/dlcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae5e64b9f6f1b090da34d65bd48784886e8e2305 GIT binary patch literal 874 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XLEn|DRzLjE2C-3jxKSEQ|~cObj|8uY>Z01BW{U zD~F8728DwR?CeT95(x_rwKK_BwPb8iXlP?(Q0cMwkmTGe!|LZ^v2oGK$r|2mF((UE aj!xCHPGXTXQajxtY@6nCa&v+MgEavEOe8}9 literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/dlcl16/disconnect_co.gif b/org.eclipse.tm.terminal/icons/dlcl16/disconnect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..24a628713dca636bfe498223f8382f189140cf93 GIT binary patch literal 90 zcmZ?wbhEHb6krfwn8?7efB*jZ^XLEn|DS<@LGdRGBLf2ygAR}llobH7wWsv2Jk7<( s$kioP{n2(-nO*KN;Z~JpouWlvOix;0c{hLlefKNJ?z8-VL>U;Y0qcJs5C8xG literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/dlcl16/newterminal.gif b/org.eclipse.tm.terminal/icons/dlcl16/newterminal.gif new file mode 100644 index 0000000000000000000000000000000000000000..80201e0d46944f559b4a73b846886d8c999dc5d1 GIT binary patch literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pjqWXXeWH$Wh%qo&0|4{v9aI1S literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/elcl16/connect_co.gif b/org.eclipse.tm.terminal/icons/elcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0de0d32dd66e4efb5e94661dd3f180de819a25d GIT binary patch literal 890 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XE4-G{ncpGcYjx|NkFIj)Kt;7$G5`_>+Z^fq|7l z2jpK+o^ap@XW-_L@z|i?$jHvFq@$7W@BkyD6rX^F!y}hAHe)6Mg9L_#7FHRi7cT-A zFfa(}&*GW6ap~#l3jB+n%(#%)*d-IXDQ4w_2gmy4D{r-EOk8+&qC=vVtb_oAH2~QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/icons/eview16/terminal_view.gif b/org.eclipse.tm.terminal/icons/eview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties new file mode 100644 index 00000000000..e4f0b2c67f0 --- /dev/null +++ b/org.eclipse.tm.terminal/plugin.properties @@ -0,0 +1,17 @@ +########################################################################## +# Copyright 2004 Wind River Systems, Inc. All rights reserved. +########################################################################## + +pluginName = Terminal +providerName = Eclipse.org +terminal.views.category.name = Device Debug +terminal.views.view.name = Terminal +terminal.views.view.font.description = The font for the terminal console. +terminal.views.view.font.label = Terminal Console Font + +terminal.view.context.name=Terminal view context +terminal.view.context.description=control-q override + +terminal.view.insertion.description=Terminal view insertion +terminal.view.insertion.name=Terminal view insert +terminal.view.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml new file mode 100644 index 00000000000..28229ed8aa1 --- /dev/null +++ b/org.eclipse.tm.terminal/plugin.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + %terminal.views.view.font.description + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java new file mode 100644 index 00000000000..1c319e18fa1 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.PrintStream; + + +/** + * A simple logger class. Every method in this class is static, so they can be called + * from both class and instance methods. To use this class, write code like this:

+ * + *

+ *      Logger.log("something has happened");
+ *      Logger.log("counter is " + counter);
+ * 
+ * + * @author Fran Litterio + */ +public final class Logger +{ + /** + * UNDER CONSTRUCTION + */ + private static PrintStream logStream; + + static + { + String logFile = null; + File logDirWindows = new File("C:\\wblogs"); //$NON-NLS-1$ + File logDirUNIX = new File("/tmp/wblogs"); //$NON-NLS-1$ + + if (logDirWindows.isDirectory()) + { + logFile = logDirWindows + "\\wbterminal.log"; //$NON-NLS-1$ + } + else if (logDirUNIX.isDirectory()) + { + logFile = logDirUNIX + "/wbterminal.log"; //$NON-NLS-1$ + } + + if (logFile != null) + { + try + { + logStream = new PrintStream(new FileOutputStream(logFile, true)); + } + catch (Exception ex) + { + logStream = System.err; + logStream.println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ + ex.printStackTrace(logStream); + } + } + } + + /** + * Logs the specified message. Do not append a newline to parameter + * message. This method does that for you. + * + * @param message A String containing the message to log. + */ + public static final void log(String message) + { + if (logStream != null) + { + // Read my own stack to get the class name, method name, and line number of + // where this method was called. + + StackTraceElement caller = new Throwable().getStackTrace()[1]; + int lineNumber = caller.getLineNumber(); + String className = caller.getClassName(); + String methodName = caller.getMethodName(); + className = className.substring(className.lastIndexOf('.') + 1); + + logStream.println(className + "." + methodName + ":" + lineNumber + ": " + message); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ + logStream.flush(); + } + } + + /** + * Writes a stack trace for an exception to both Standard Error and to the log file. + */ + public static final void logException(Exception ex) + { + // Read my own stack to get the class name, method name, and line number of + // where this method was called. + + StackTraceElement caller = new Throwable().getStackTrace()[1]; + int lineNumber = caller.getLineNumber(); + String className = caller.getClassName(); + String methodName = caller.getMethodName(); + className = className.substring(className.lastIndexOf('.') + 1); + + PrintStream tmpStream = System.err; + + if (logStream != null) + { + tmpStream = logStream; + } + + tmpStream.println(className + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + "Caught exception: " + ex); //$NON-NLS-1$ + ex.printStackTrace(tmpStream); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java new file mode 100644 index 00000000000..9defcc72685 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +public class Messages +{ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.Messages"; //$NON-NLS-1$ + + private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); + + private Messages() + { + // Empty. + } + + public static String getString(String key) + { + try + { + return RESOURCE_BUNDLE.getString(key); + } + catch (MissingResourceException e) + { + return '!' + key + '!'; + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties new file mode 100644 index 00000000000..32475e6c669 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties @@ -0,0 +1,33 @@ +TerminalConsts.Terminal_7=Terminal +TerminalConsts.Limit_terminal_output_16=Limit terminal output +TerminalConsts.Terminal_buffer_lines__17=Terminal buffer lines: +TerminalConsts.Serial_timeout_(seconds)__18=Serial timeout (seconds): +TerminalConsts.Network_timeout_(seconds)__19=Network timeout (seconds): +TerminalConsts.Terminal_Settings_1=Terminal Settings +TerminalConsts.Connection_Type_2=Connection Type +TerminalConsts.Settings_3=Settings +TerminalConsts.Port_4=Port +TerminalConsts.Baud_Rate_5=Baud Rate +TerminalConsts.Data_Bits_6=Data Bits +TerminalConsts.Stop_Bits_7=Stop Bits +TerminalConsts.Parity_8=Parity +TerminalConsts.Flow_Out_10=Flow Out +TerminalConsts.Host_11=Host +TerminalConsts.Terminal_Error_12=Terminal Error +TerminalConsts.Socket_Error_13=Socket Error +TerminalConsts.IO_Error_14=IO Error +TerminalConsts.Serial_port___{0}___is_currently_in_use_!_nDo_you_want_to_close_the_port__15=Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? +TerminalConsts.Error_16=Error +TerminalConsts.Emulator_is_not_supported._17=Emulator is not supported. + +TerminalConsts.New_terminal=New Terminal +TerminalConsts.Connect_2=Connect +TerminalConsts.Disconnect_3=Disconnect +TerminalConsts.Settings..._4=Settings... +TerminalConsts.Copy_5=Copy +TerminalConsts.0=Cut +TerminalConsts.1=Flow Control +TerminalConsts.Paste_6=Paste +TerminalConsts.Select_All_7=Select All +TerminalConsts.Clear_All_8=Clear All +TerminalConsts.Break_9=Break diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java new file mode 100644 index 00000000000..c696786c753 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java @@ -0,0 +1,92 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +/** + * This interface defines symbolic constants for numeric TELNET protocol command and + * option codes. Any class that needs to use these constants must implement this + * interface. The meanings of these constants are defined in the various TELNET RFCs + * (RFC 854 to RFC 861, and others). + */ +interface TelnetCodes +{ + /** Command code: Subnegotiation End. */ + static final byte TELNET_SE = (byte)240; + + /** Command code: No-op. */ + static final byte TELNET_NOP = (byte)241; + + /** Command code: Data Mark. */ + static final byte TELNET_DM = (byte)242; + + /** Command code: Break. */ + static final byte TELNET_BREAK = (byte)243; + + /** Command code: Interrupt Process. */ + static final byte TELNET_IP = (byte)244; + + /** Command code: Abort Output. */ + static final byte TELNET_AO = (byte)245; + + /** Command code: Are You There. */ + static final byte TELNET_AYT = (byte)246; + + /** Command code: Erase Character. */ + static final byte TELNET_EC = (byte)247; + + /** Command code: Erase Line. */ + static final byte TELNET_EL = (byte)248; + + /** Command code: Go Ahead. */ + static final byte TELNET_GA = (byte)249; + + /** Command code: Subnegotiation Begin. */ + static final byte TELNET_SB = (byte)250; + + /** Command code: Will. */ + static final byte TELNET_WILL = (byte)251; + + /** Command code: Won't. */ + static final byte TELNET_WONT = (byte)252; + + /** Command code: Do. */ + static final byte TELNET_DO = (byte)253; + + /** Command code: Don't. */ + static final byte TELNET_DONT = (byte)254; + + /** Command code: Interpret As Command. */ + static final byte TELNET_IAC = (byte)255; + + /** Command code: IS. */ + static final byte TELNET_IS = 0; + + /** Command code: SEND. */ + static final byte TELNET_SEND = 1; + + + /** Option code: Transmit Binary option. */ + static final byte TELNET_OPTION_TRANSMIT_BINARY = 0; + + /** Option code: Echo option. */ + static final byte TELNET_OPTION_ECHO = 1; + + /** Option code: Suppress Go Ahead option. */ + static final byte TELNET_OPTION_SUPPRESS_GA = 3; + + /** Option code: Terminal Type */ + static final byte TELNET_OPTION_TERMINAL_TYPE = 24; + + /** Option code: Negotitate About Window Size (NAWS) */ + static final byte TELNET_OPTION_NAWS = 31; +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java new file mode 100644 index 00000000000..745419b7cd0 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java @@ -0,0 +1,796 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.net.SocketException; + +import org.eclipse.swt.widgets.Display; + + +/** + * This class encapsulates a TELNET connection to a remote server. It processes + * incoming TELNET protocol data and generates outbound TELNET protocol data. It also + * manages two sets of TelnetOption objects: one for the local endpoint and one for the + * remote endpoint.

+ * + * IMPORTANT: Understanding this code requires understanding the TELNET protocol and + * TELNET option processing, as defined in the RFCs listed below.

+ * + * @author Fran Litterio (francis.litterio@windriver.com) + * + * @see RFC 854 + * @see RFC 855 + * @see RFC 856 + * @see RFC 857 + * @see RFC 858 + * @see RFC 859 + * @see RFC 860 + * @see RFC 861 + * @see RFC 1091 + * @see RFC 1096 + * @see RFC 1073 + * @see RFC 1079 + * @see RFC 1143 + * @see RFC 1572 + */ +class TelnetConnection extends Thread implements TelnetCodes, TerminalMsg +{ + /** + * TELNET connection state: Initial state. + */ + protected static final int STATE_INITIAL = 0; + + /** + * TELNET connection state: Last byte processed was IAC code. + * code. + */ + protected static final int STATE_IAC_RECEIVED = 1; + + /** + * TELNET connection state: Last byte processed was WILL code. + * code. + */ + protected static final int STATE_WILL_RECEIVED = 2; + + /** + * TELNET connection state: Last byte processed was WONT code. + */ + protected static final int STATE_WONT_RECEIVED = 3; + + /** + * TELNET connection state: Last byte processed was DO code. + */ + protected static final int STATE_DO_RECEIVED = 4; + + /** + * TELNET connection state: Last byte processed was DONT code. + */ + protected static final int STATE_DONT_RECEIVED = 5; + + /** + * TELNET connection state: Last byte processed was SB. + */ + protected static final int STATE_SUBNEGOTIATION_STARTED = 6; + + /** + * TELNET connection state: Currently receiving sub-negotiation data. + */ + protected static final int STATE_RECEIVING_SUBNEGOTIATION = 7; + + /** + * Size of buffer for processing data received from remote endpoint. + */ + protected static final int BUFFER_SIZE = 2048; + + /** + * Holds raw bytes received from the remote endpoint, prior to any TELNET protocol + * processing. + */ + protected byte[] rawBytes = new byte[BUFFER_SIZE]; + + /** + * Holds incoming network data after the TELNET protocol bytes have been + * processed and removed. + */ + protected byte[] processedBytes = new byte[BUFFER_SIZE]; + + /** + * This field holds a StringBuffer containing text recently received from the + * remote endpoint (after all TELNET protocol bytes have been processed and + * removed). + */ + protected StringBuffer processedStringBuffer = new StringBuffer(BUFFER_SIZE); + + /** + * Holds the current state of the TELNET protocol processor. + */ + protected int telnetState = STATE_INITIAL; + + /** + * This field is true if the remote endpoint is a TELNET server, false if not. We + * set this to true if and only if the remote endpoint sends recognizable TELNET + * protocol data. We do not assume that the remote endpoint is a TELNET server + * just because it is listening on port 23. This allows us to successfully connect + * to a TELNET server listening on a port other than 23.

+ * + * When this field first changes from false to true, we send all WILL or DO + * commands to the remote endpoint.

+ * + * @see #telnetServerDetected() + */ + protected boolean remoteIsTelnetServer = false; + + /** + * An array of TelnetOption objects representing the local endpoint's TELNET + * options. The array is indexed by the numeric TELNET option code. + */ + protected TelnetOption[] localOptions = new TelnetOption[256]; + + /** + * An array of TelnetOption objects representing the remote endpoint's TELNET + * options. The array is indexed by the numeric TELNET option code. + */ + protected TelnetOption[] remoteOptions = new TelnetOption[256]; + + /** + * An array of bytes that holds the TELNET subnegotiation command most recently + * received from the remote endpoint. This array does _not_ include the leading + * IAC SB bytes, nor does it include the trailing IAC SE bytes. The first byte of + * this array is always a TELNET option code. + */ + protected byte[] receivedSubnegotiation = new byte[128]; + + /** + * This field holds the index into array {@link receivedSubnegotiation} of the next + * unused byte. This is used by method {@link #processTelnetProtocol(int)} when + * the state machine is in states {@link #STATE_SUBNEGOTIATION_STARTED} and {@link + * STATE_RECEIVING_SUBNEGOTIATION}. + */ + protected int nextSubnegotiationByteIndex = 0; + + /** + * This field is true if an error occurs while processing a subnegotiation + * command. + * + * @see #processTelnetProtocol(int) + */ + protected boolean ignoreSubnegotiation = false; + + /** + * This field holds the width of the Terminal screen in columns. + */ + protected int width = 0; + + /** + * This field holds the height of the Terminal screen in rows. + */ + protected int height = 0; + + /** + * This field holds a reference to the {@link TerminalCtrl} singleton. + */ + protected TerminalCtrl terminalControl; + + /** + * This method holds the Socket object for the TELNET connection. + */ + protected Socket socket; + + /** + * This field holds a reference to a {@link TerminalText} object, which displays + * text to the user. + */ + protected TerminalText terminalText; + + /** + * This field holds a reference to an {@link InputStream} object used to receive + * data from the remote endpoint. + */ + protected InputStream inputStream; + + /** + * This field holds a reference to an {@link OutputStream} object used to send data + * to the remote endpoint. + */ + protected OutputStream outputStream; + + /** + * This field holds the SWT Display object for the GUI. We use this to execute a + * TerminalText method on the display thread, so that it can draw text in the view. + */ + protected Display display; + + /** + * UNDER CONSTRUCTION + */ + protected boolean localEcho = true; + + /** + * This constructor just initializes some internal object state from its + * arguments. + */ + public TelnetConnection(TerminalCtrl terminalControl, Socket socket, + TerminalText terminalText) + throws IOException + { + super(); + + Logger.log("entered"); //$NON-NLS-1$ + + this.terminalControl = terminalControl; + this.socket = socket; + this.terminalText = terminalText; + + inputStream = socket.getInputStream(); + outputStream = socket.getOutputStream(); + display = terminalControl.getTextWidget().getDisplay(); + + initializeOptions(); + } + + /** + * Returns true if the TCP connection represented by this object is connected, + * false otherwise. + */ + public boolean isConnected() + { + return socket != null && socket.isConnected(); + } + + /** + * Returns true if the TCP connection represented by this object is connected and + * the remote endpoint is a TELNET server, false otherwise. + */ + public boolean isRemoteTelnetServer() + { + return remoteIsTelnetServer; + } + + /** + * This method sets the terminal width and height to the supplied values. If + * either new value differs from the corresponding old value, we initiate a NAWS + * subnegotiation to inform the remote endpoint of the new terminal size. + */ + public void setTerminalSize(int newWidth, int newHeight) + { + Logger.log("Setting new size: width = " + newWidth + ", height = " + newHeight); //$NON-NLS-1$ //$NON-NLS-2$ + + boolean sizeChanged = false; + + if (newWidth != width || newHeight != height) + sizeChanged = true; + + width = newWidth; + height = newHeight; + + if (sizeChanged && remoteIsTelnetServer && localOptions[TELNET_OPTION_NAWS].isEnabled()) + { + Integer[] sizeData = { new Integer(width), new Integer(height) }; + + localOptions[TELNET_OPTION_NAWS].sendSubnegotiation(sizeData); + } + } + + /** + * Returns true if local echoing is enabled for this TCP connection, false otherwise. + */ + public boolean localEcho() + { + return localEcho; + } + + /** + * This method runs in its own thread. It reads raw bytes from the TELNET + * connection socket, processes any TELNET protocol bytes (and removes them), and + * passes the remaining bytes to a TerminalDisplay object for display. + */ + public void run() + { + Logger.log("Entered"); //$NON-NLS-1$ + + try + { + while (socket.isConnected()) + { + int nRawBytes = inputStream.read(rawBytes); + + if (nRawBytes == -1) + { + // End of input on inputStream. + Logger.log("End of input reading from socket!"); //$NON-NLS-1$ + + // Announce to the user that the remote endpoint has closed the + // connection. + + processedStringBuffer.replace(0, processedStringBuffer.length(), + "\rConnection closed by foreign host.\r\n"); //$NON-NLS-1$ + + terminalText.setNewText(processedStringBuffer); + + // See the large comment below for an explaination of why we must + // call Display.syncExec() instead of Display.asyncExec(). + + display.syncExec(terminalText); + + // Tell the TerminalCtrl object that the connection is closed. + + terminalControl.setOpened(false); + terminalControl.setConnected(false); + + // Update the Terminal view UI to show a disconnected state. This + // ugliness involving Display.asyncExec() is forced on us by the + // bad design of class TerminalCtrl, which requires in certain + // cases (maybe all?) that TerminalCtrl.execute() is called only + // from the display thread. + + Runnable disconnectNotifier = new Thread() + { + public void run() + { + terminalControl.execute(ON_TERMINAL_DISCONNECT, null); + } + }; + + display.asyncExec(disconnectNotifier); + break; + } + else + { + Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ + new String(rawBytes, 0, nRawBytes) + "'"); //$NON-NLS-1$ + + // Process any TELNET protocol data that we receive. Don't send + // any TELNET protocol data until we are sure the remote endpoint + // is a TELNET server. + + int nProcessedBytes = processTelnetProtocol(nRawBytes); + + if (nProcessedBytes > 0) + { + String strBuffer = new String(processedBytes, 0, nProcessedBytes); + + // An earlier version of this code created a new StringBuffer + // object here, but that was unnecessary. Instead, we reuse an + // existing object (processedStringBuffer). + + processedStringBuffer.replace(0, processedStringBuffer.length(), + strBuffer); + + // Use the TerminalText object to display the text to the + // user. + + terminalText.setNewText(processedStringBuffer); + + // Now make the TerminalText object display the processesed + // bytes. Its code has to run in the display thread, so we + // call syncExec() to do that. We do _not_ call asyncExec() + // because asyncExec() does not wait for the Runnable + // (TerminalText) to finish. If we were to call asynchExec(), + // this loop might race around and call setNewText() on the + // terminalText object again before the Display thread gets to + // display the previous buffer held by that object. By + // blocking here, we avoid that race and also delay the next + // call to read(), which keeps the unread data in the kernel, + // where it belongs (i.e., we don't have to manage it). + // + // + // The original implementation of this package used asyncExec() + // and created a new TerminalText object for each trip through + // this loop. Yes, that allowed this thread to speed ahead of + // the Display thread. But that only served to make the + // Display thread queue all unexecuted TerminalText objects + // until they could be executed. That was simply buffering the + // undisplayed data in the Display thread instead of in the + // kernel, where it belongs. It also rapidly consumed JVM heap + // space with all those TerminalText objects waiting to be + // garbage collected. + // + + display.syncExec(terminalText); + } + } + } + } + catch (SocketException ex) + { + String message = ex.getMessage(); + + // A "socket closed" exception is normal here. It's caused by the user + // clicking the disconnect button on the Terminal view toolbar. + + if (message != null && !message.equals("socket closed")) //$NON-NLS-1$ + { + Logger.logException(ex); + } + } + catch (Exception ex) + { + Logger.logException(ex); + } + } + + /** + * This method initializes the localOptions[] and remoteOptions[] arrays so that + * they contain references to TelnetOption objects representing our desired state + * for each option. The goal is to achieve server-side echoing, suppression of Go + * Aheads, and to send the local terminal type and size to the remote endpoint. + */ + protected void initializeOptions() + { + // First, create all the TelnetOption objects in the "undesired" state. + + for (int i = 0; i < localOptions.length; ++i) + { + localOptions[i] = new TelnetOption((byte)i, false, true, outputStream); + } + + for (int i = 0; i < localOptions.length; ++i) + { + remoteOptions[i] = new TelnetOption((byte)i, false, false, outputStream); + } + + // Next, set some of the options to the "desired" state. The options we desire + // to be enabled are as follows: + // + // TELNET Option Desired for Desired for + // Name and Code Local Endpoint Remote Endpoint + // --------------------- -------------- --------------- + // Echo (1) No Yes + // Suppress Go Ahead (3) Yes Yes + // Terminal Type (24) Yes Yes + // NAWS (31) Yes Yes + // + // All other options remain in the "undesired" state, and thus will be disabled + // (since either endpoint can force any option to be disabled by simply + // answering WILL with DONT and DO with WONT). + + localOptions[TELNET_OPTION_ECHO].setDesired(false); + remoteOptions[TELNET_OPTION_ECHO].setDesired(true); + + localOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); + remoteOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); + + localOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); + remoteOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); + + localOptions[TELNET_OPTION_NAWS].setDesired(true); + remoteOptions[TELNET_OPTION_NAWS].setDesired(true); + } + + /** + * Process TELNET protocol data contained in the first count bytes of + * rawBytes. This function preserves its state between calls, because a + * multi-byte TELNET command might be split between two (or more) calls to this + * function. The state is preserved in field telnetState. This function + * implements an FSA that recognizes TELNET option codes. TELNET option state is + * stored in instances of {@link TelnetOption}. TELNET option subnegotiation is + * delegated to instances of TelnetOption. + * + * @return The number of bytes remaining in the buffer after removing all TELNET + * protocol bytes. + */ + protected int processTelnetProtocol(int count) + { + // This is too noisy to leave on all the time. + // Logger.log("Processing " + count + " bytes of data."); + + int nextProcessedByte = 0; + + for (int byteIndex = 0; byteIndex < count; ++byteIndex) + { + // It is possible for control to flow through the below code such that + // nothing happens. This happens when array rawBytes[] contains no TELNET + // protocol data. + + byte inputByte = rawBytes[byteIndex]; + + switch (telnetState) + { + case STATE_INITIAL: + if (inputByte == TELNET_IAC) + { + telnetState = STATE_IAC_RECEIVED; + } + else + { + // It's not an IAC code, so just append it to processedBytes. + + processedBytes[nextProcessedByte++] = rawBytes[byteIndex]; + } + break; + + case STATE_IAC_RECEIVED: + switch (inputByte) + { + case TELNET_IAC: + // Two IAC bytes in a row are translated into one byte with the + // value 0xff. + + processedBytes[nextProcessedByte++] = (byte)0xff; + telnetState = STATE_INITIAL; + break; + + case TELNET_WILL: + telnetState = STATE_WILL_RECEIVED; + break; + + case TELNET_WONT: + telnetState = STATE_WONT_RECEIVED; + break; + + case TELNET_DO: + telnetState = STATE_DO_RECEIVED; + break; + + case TELNET_DONT: + telnetState = STATE_DONT_RECEIVED; + break; + + case TELNET_SB: + telnetState = STATE_SUBNEGOTIATION_STARTED; + break; + + // Commands to consume and ignore. + + // Data Mark (DM). This is sent by a TELNET server following an + // IAC sent as TCP urgent data. It should cause the client to skip + // all not yet processed non-TELNET-protocol data preceding the DM + // byte. However, Java 1.4.x has no way to inform clients of class + // Socket that urgent data is available, so we simply ignore the + // "IAC DM" command. Since the IAC is sent as TCP urgent data, the + // Socket must be put into OOB-inline mode via a call to + // setOOBInline(true), otherwise the IAC is silently dropped by + // Java and only the DM arrives (leaving the user to see a spurious + // ISO Latin-1 character). + case TELNET_DM: + + case TELNET_NOP: // No-op. + case TELNET_GA: // Go Ahead command. Meaningless on a full-duplex link. + case TELNET_IP: // Interupt Process command. Server should never send this. + case TELNET_AO: // Abort Output command. Server should never send this. + case TELNET_AYT: // Are You There command. Server should never send this. + case TELNET_EC: // Erase Character command. Server should never send this. + case TELNET_EL: // Erase Line command. Server should never send this. + telnetState = STATE_INITIAL; + break; + + default: + // Unrecognized command! This should never happen. + Logger.log("processTelnetProtocol: UNRECOGNIZED TELNET PROTOCOL COMMAND: " + //$NON-NLS-1$ + inputByte); + telnetState = STATE_INITIAL; + assert false; + break; + } + break; + + // For the next four cases, WILL and WONT commands affect the state of + // remote options, and DO and DONT commands affect the state of local + // options. + + case STATE_WILL_RECEIVED: + Logger.log("Received WILL " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[inputByte].handleWill(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_WONT_RECEIVED: + Logger.log("Received WONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[inputByte].handleWont(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_DO_RECEIVED: + Logger.log("Received DO " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[inputByte].handleDo(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_DONT_RECEIVED: + Logger.log("Received DONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[inputByte].handleDont(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_SUBNEGOTIATION_STARTED: + Logger.log("Starting subnegotiation for option " + //$NON-NLS-1$ + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ + + // First, zero out the array of received subnegotiation butes. + + for (int i = 0; i < receivedSubnegotiation.length; ++i) + receivedSubnegotiation[i] = 0; + + // Forget about any previous subnegotiation errors. + + ignoreSubnegotiation = false; + + // Then insert this input byte into the array and enter state + // STATE_RECEIVING_SUBNEGOTIATION, where we will gather the remaining + // subnegotiation bytes. + + nextSubnegotiationByteIndex = 0; + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + telnetState = STATE_RECEIVING_SUBNEGOTIATION; + break; + + case STATE_RECEIVING_SUBNEGOTIATION: + if (inputByte == TELNET_IAC) + { + // Handle double IAC bytes. From RFC 855: "if parameters + // in an option 'subnegotiation' include a byte with a value of + // 255, it is necessary to double this byte in accordance the + // general TELNET rules." + + if (nextSubnegotiationByteIndex > 0 && + receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) + { + // The last input byte we received in this subnegotiation was + // IAC, so this is a double IAC. Leave the previous IAC in the + // receivedSubnegotiation[] array and drop the current one + // (thus translating a double IAC into a single IAC). + + Logger.log("Double IAC in subnegotiation translated into single IAC."); //$NON-NLS-1$ + break; + } + + // Append the IAC byte to receivedSubnegotiation[]. If there is no + // room for the IAC byte, it overwrites the last byte, because we + // need to know when the subnegotiation ends, and that is marked by + // an "IAC SE" command. + + if (nextSubnegotiationByteIndex < receivedSubnegotiation.length) + { + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + } + else + { + receivedSubnegotiation[receivedSubnegotiation.length - 1] = inputByte; + } + break; + } + + // Handle an "IAC SE" command, which marks the end of the + // subnegotiation. An SE byte by itself might be a legitimate part of + // the subnegotiation data, so don't do anything unless the SE is + // immediately preceded by an IAC. + + if (inputByte == TELNET_SE && + receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) + { + Logger.log("Found SE code marking end of subnegotiation."); //$NON-NLS-1$ + + // We are done receiving the subnegotiation command. Now process + // it. We always use the option object stored in array + // localOptions[] to process the received subnegotiation. This is + // an arbitrary decision, but it is sufficient for handling options + // TERMINAL-TYPE and NAWS, which are the only options that we + // subnegotiate (presently). If, in the future, subnegotiations + // need to be handled by option objects stored in both + // localOptions[] and remoteOptions[], then some mechanism to + // choose the correct option object must be implemented. + // + // Also, if ignoreSubnegotiation is true, there was an error while + // receiving the subnegotiation, so we must not process the + // command, and instead just return to the initial state. + + if (!ignoreSubnegotiation) + { + // Remove the trailing IAC byte from receivedSubnegotiation[]. + + receivedSubnegotiation[nextSubnegotiationByteIndex - 1] = 0; + + int subnegotiatedOption = receivedSubnegotiation[0]; + + localOptions[subnegotiatedOption]. + handleSubnegotiation(receivedSubnegotiation, + nextSubnegotiationByteIndex); + } + else + { + Logger.log("NOT CALLING handleSubnegotiation() BECAUSE OF ERRORS!"); //$NON-NLS-1$ + } + + // Return to the initial state. + + telnetState = STATE_INITIAL; + } + + // Check whether the receivedSubnegotiation[] array is full. + + if (nextSubnegotiationByteIndex >= receivedSubnegotiation.length) + { + // This should not happen. Array receivedSubnegotiation can hold + // 128 bytes, and no TELNET option that we perform subnegotiation + // for requires that many bytes in a subnegotiation command. In + // the interest of robustness, we handle this case by ignoring all + // remaining subnegotiation bytes until we receive the IAC SE + // command that ends the subnegotiation. Also, we set + // ignoreSubnegotiation to true to prevent a call to + // handleSubnegotiation() when the IAC SE command arrives. + + Logger.log("SUBNEGOTIATION BUFFER FULL!"); //$NON-NLS-1$ + ignoreSubnegotiation = true; + } + else + { + Logger.log("Recording subnegotiation byte " + (inputByte & 0xff)); //$NON-NLS-1$ + + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + } + break; + + default: + // This should _never_ happen! If it does, it means there is a bug in + // this FSA. For robustness, we return to the initial state. + + Logger.log("INVALID TELNET STATE: " + telnetState); //$NON-NLS-1$ + telnetState = STATE_INITIAL; + assert false; + break; + } + } + + // Return the number of bytes of processed data (i.e., number of bytes of + // raw data minus TELNET control bytes). This value can be zero. + + return nextProcessedByte; + } + + /** + * This method is called whenever we receive a valid TELNET protocol command from + * the remote endpoint. When it is called for the first time for this connection, + * we negotiate all options that we desire to be enabled.

+ * + * This method does not negotiate options that we do not desire to be enabled, + * because all options are initially disabled.

+ */ + protected void telnetServerDetected() + { + if (!remoteIsTelnetServer) + { + // This block only executes once per TelnetConnection instance. + + localEcho = false; + + Logger.log("Detected TELNET server."); //$NON-NLS-1$ + + remoteIsTelnetServer = true; + + for (int i = 0; i < localOptions.length; ++i) + { + if (localOptions[i].isDesired()) + { + localOptions[i].negotiate(); + } + } + + for (int i = 0; i < remoteOptions.length; ++i) + { + if (remoteOptions[i].isDesired()) + { + remoteOptions[i].negotiate(); + } + } + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java new file mode 100644 index 00000000000..60712d6eeef --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java @@ -0,0 +1,756 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; + +/** + * This class represents a single TELNET protocol option at one endpoint of a TELNET + * connection. This class encapsulates the endpoint associated with the option (local + * or remote), the current state of the option (enabled or disabled), the desired state + * of the option, the current state of the negotiation, an OutputStream that allows + * communication with the remote endpoint, and the number of negotiations that have + * started within this connection.

+ * + * In addition to encapsulating the above state, this class performs option negotiation + * to attempt to achieve the desired option state. For some options, this class also + * performs option sub-negotiation.

+ * + * IMPORTANT: Understanding this code requires understanding the TELNET protocol and + * TELNET option processing.

+ * + * @author Fran Litterio (francis.litterio@windriver.com) + */ +class TelnetOption implements TelnetCodes +{ + /** + * This array of Strings maps an integer TELNET option code value to the symbolic + * name of the option. Array elements of the form "?" represent unassigned option + * values. + */ + protected static final String[] optionNames = + { + "BINARY", // 0 //$NON-NLS-1$ + "ECHO", // 1 //$NON-NLS-1$ + "RECONNECTION", // 2 //$NON-NLS-1$ + "SUPPRESS GO AHEAD", // 3 //$NON-NLS-1$ + "MSG SIZE NEGOTIATION", // 4 //$NON-NLS-1$ + "STATUS", // 5 //$NON-NLS-1$ + "TIMING MARK", // 6 //$NON-NLS-1$ + "REMOTE CTRL TRANS+ECHO", // 7 //$NON-NLS-1$ + "OUTPUT LINE WIDTH", // 8 //$NON-NLS-1$ + "OUTPUT PAGE SIZE", // 9 //$NON-NLS-1$ + "OUTPUT CR DISPOSITION", // 10 //$NON-NLS-1$ + "OUTPUT HORIZ TABSTOPS", // 11 //$NON-NLS-1$ + "OUTPUT HORIZ TAB DISPOSITION", // 12 //$NON-NLS-1$ + "OUTPUT FORMFEED DISPOSITION", // 13 //$NON-NLS-1$ + "OUTPUT VERTICAL TABSTOPS", // 14 //$NON-NLS-1$ + "OUTPUT VT DISPOSITION", // 15 //$NON-NLS-1$ + "OUTPUT LF DISPOSITION", // 16 //$NON-NLS-1$ + "EXTENDED ASCII", // 17 //$NON-NLS-1$ + "LOGOUT", // 18 //$NON-NLS-1$ + "BYTE MACRO", // 19 //$NON-NLS-1$ + "DATA ENTRY TERMINAL", // 20 //$NON-NLS-1$ + "SUPDUP", // 21 //$NON-NLS-1$ + "SUPDUP OUTPUT", // 22 //$NON-NLS-1$ + "SEND LOCATION", // 23 //$NON-NLS-1$ + "TERMINAL TYPE", // 24 //$NON-NLS-1$ + "END OF RECORD", // 25 //$NON-NLS-1$ + "TACACS USER IDENTIFICATION", // 26 //$NON-NLS-1$ + "OUTPUT MARKING", // 27 //$NON-NLS-1$ + "TERMINAL LOCATION NUMBER", // 28 //$NON-NLS-1$ + "3270 REGIME", // 29 //$NON-NLS-1$ + "X.3 PAD", // 30 //$NON-NLS-1$ + "NEGOTIATE ABOUT WINDOW SIZE", // 31 //$NON-NLS-1$ + "TERMINAL SPEED", // 32 //$NON-NLS-1$ + "REMOTE FLOW CONTROL", // 33 //$NON-NLS-1$ + "LINEMODE", // 34 //$NON-NLS-1$ + "X DISPLAY LOCATION", // 35 //$NON-NLS-1$ + "ENVIRONMENT OPTION", // 36 //$NON-NLS-1$ + "AUTHENTICATION OPTION", // 37 //$NON-NLS-1$ + "ENCRYPTION OPTION", // 38 //$NON-NLS-1$ + "NEW ENVIRONMENT OPTION", // 39 //$NON-NLS-1$ + "TN3270E", // 40 //$NON-NLS-1$ + "XAUTH", // 41 //$NON-NLS-1$ + "CHARSET", // 42 //$NON-NLS-1$ + "REMOTE SERIAL PORT", // 43 //$NON-NLS-1$ + "COM PORT CONTROL OPTION", // 44 //$NON-NLS-1$ + "SUPPRESS LOCAL ECHO", // 45 //$NON-NLS-1$ + "START TLS", // 46 //$NON-NLS-1$ + "KERMIT", // 47 //$NON-NLS-1$ + "SEND URL", // 48 //$NON-NLS-1$ + "FORWARD X", // 49 //$NON-NLS-1$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 50 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", // ... 137 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + "TELOPT PRAGMA LOGON", // 138 //$NON-NLS-1$ + "TELOPT SSPI LOGON", // 139 //$NON-NLS-1$ + "TELOPT PRAGMA HEARTBEAT", // 140 //$NON-NLS-1$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 141 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", // ... 254 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + "EXTENDED OPTIONS LIST" // 255 //$NON-NLS-1$ + }; + + /** + * Negotiation state: Negotiation not yet started for this option.

+ * + * This constant and the others having similar names represent the states of a + * finite state automaton (FSA) that tracks the negotiation state of this option. + * The initial state is NEGOTIATION_NOT_STARTED. The state machine is as follows + * (with transitions labelled with letters in parentheses):

+ * + *

+     *     NEGOTIATION_NOT_STARTED -----> {@link #NEGOTIATION_IN_PROGRESS}
+     *                         |    (A)      |        ^
+     *                      (C)|          (B)|        |(D)
+     *                         |             V        |
+     *                         +--------> {@link #NEGOTIATION_DONE}
+     * 

+ * + * Once the FSA leaves state NEGOTIATION_NOT_STARTED, it never returns to that + * state. Transition A happens when the local endpoint sends an option command + * before receiving a command for the same option from the remote endpoint.

+ * + * Transition B happens when the local endpoint receives a reply to an option + * command sent earlier by the local endpoint. Receipt of that reply terminates + * the negotiation.

+ * + * Transition D happens after negotiation is done and "something changes" (see the + * RFCs for the definition of "something changes"). Either endpoint can + * re-negotiate an option after a previous negotiation, but only if some external + * influence (such as the user or the OS) causes it to do so. Re-negotiation must + * start more than {@link #NEGOTIATION_IGNORE_DURATION} milliseconds after the FSA + * enters state NEGOTIATION_DONE or it will be ignored. This is how this client + * prevents negotiation loops.

+ * + * Transition C happens when the local endpoint receives an option command from the + * remote endpoint before sending a command for the same option. In that case, the + * local endpoint replies immediately with an option command and the negotitation + * terminates.

+ * + * Some TELNET servers (e.g., the Solaris server), after sending WILL and receiving + * DONT, will reply with a superfluous WONT. Any such superfluous option command + * received from the remote endpoint while the option's FSA is in state + * {@link #NEGOTIATION_DONE} will be ignored by the local endpoint. + */ + protected static final int NEGOTIATION_NOT_STARTED = 0; + + /** Negotiation state: Negotiation is in progress for this option. */ + protected static final int NEGOTIATION_IN_PROGRESS = 1; + + /** Negotiation state: Negotiation has terminated for this option. */ + protected static final int NEGOTIATION_DONE = 2; + + /** + * The number of milliseconds following the end of negotiation of this option + * before which the remote endpoint can re-negotiate the option. Any option + * command received from the remote endpoint before this time passes is ignored. + * This is used to prevent option negotiation loops. + * + * @see #ignoreNegotiation() + * @see #negotiationCompletionTime + */ + protected static final int NEGOTIATION_IGNORE_DURATION = 30000; + + /** + * This field holds the current negotiation state for this option. + */ + protected int negotiationState = NEGOTIATION_NOT_STARTED; + + /** + * This field holds the time when negotiation of this option most recently + * terminated (i.e., entered state {@link #NEGOTIATION_DONE}). This is used to + * determine whether an option command received from the remote endpoint after + * negotiation has terminated for this option is to be ignored or interpreted as + * the start of a new negotiation. + * + * @see #NEGOTIATION_IGNORE_DURATION + */ + protected Date negotiationCompletionTime = new Date(0); + + /** + * Holds the total number of negotiations that have completed for this option. + */ + protected int negotiationCount = 0; + + /** + * Holds the integer code representing the option. + */ + protected byte option = 0; + + /** + * Holds the OutputStream object that allows data to be sent to the remote endpoint + * of the TELNET connection. + */ + protected OutputStream outputStream; + + /** + * True if this option is for the local endpoint, false for the remote endpoint. + */ + protected boolean local = true; + + /** + * This field is true if the option is enabled, false if it is disabled. All + * options are initially disabled until they are negotiated to be enabled.

+ */ + protected boolean enabled = false; + + /** + * This field is true if the client desires the option to be enabled, false if the + * client desires the option to be disabled. This field does not represent the + * remote's endpoints desire (as expressed via WILL and WONT commands) -- it + * represnet the local endpoint's desire.

+ * + * @see #setDesired(boolean) + */ + protected boolean desired = false; + + /** + * Constructor.

+ * + * @param option The integer code of this option. + * @param desired Whether we desire this option to be enabled. + * @param local Whether this option is for the local or remote endpoint. + * @param outputStream A stream used to negotiate with the remote endpoint. + */ + TelnetOption(byte option, boolean desired, boolean local, OutputStream outputStream) + { + this.option = option; + this.desired = desired; + this.local = local; + this.outputStream = outputStream; + } + + /** + * @return Returns a String containing the name of the TELNET option specified in + * parameter option. + */ + public String optionName() + { + return optionNames[option]; + } + + /** + * Returns true if this option is enabled, false if it is disabled.

+ * + * @return Returns true if this option is enabled, false if it is disabled. + */ + public boolean isEnabled() + { + return enabled; + } + + /** + * Enables this option if newValue is true, otherwise disables this + * option.

+ * + * @param newValue True if this option is to be enabled, false otherwise. + */ + public void setEnabled(boolean newValue) + { + Logger.log("Enabling " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + optionName()); + enabled = newValue; + } + + /** + * Returns true if the local endpoint desires this option to be enabled, false if + * not. It is not an error for the value returned by this method to differ from + * the value returned by isEnabled(). The value returned by this method can change + * over time, reflecting the local endpoint's changing desire regarding the + * option.

+ * + * NOTE: Even if this option represents a remote endpoint option, the return value + * of this method represents the local endpint's desire regarding the remote + * option.

+ * + * @return Returns true if the local endpoint desires this option to be enabled, + * false if not. + */ + public boolean isDesired() + { + return desired; + } + + /** + * Sets our desired value for this option. Note that the option can be desired + * when enabled is false, and the option can be undesired when + * enabled is true, though the latter state should not persist, since either + * endpoint can disable any option at any time.

+ * + * @param newValue True if we desire this option to be enabled, false if + * we desire this option to be disabled. + */ + public void setDesired(boolean newValue) + { + if (newValue) + Logger.log("Setting " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + optionName() + " as desired."); //$NON-NLS-1$ + + desired = newValue; + } + + /** + * Call this method to request that negotiation begin for this option. This method + * does nothing if negotiation for this option has already started or is already + * complete. If negotiation has not yet started for this option and the local + * endpoint desires this option to be enabled, then we send a WILL or DO command to + * the remote endpoint. + */ + public void negotiate() + { + if (negotiationState == NEGOTIATION_NOT_STARTED && desired) + { + if (local) + { + Logger.log("Starting negotiation for local option " + optionName()); //$NON-NLS-1$ + sendWill(); + } + else + { + Logger.log("Starting negotiation for remote option " + optionName()); //$NON-NLS-1$ + sendDo(); + } + + negotiationState = NEGOTIATION_IN_PROGRESS; + } + } + + /** + * This method is called whenever we receive a WILL command from the remote + * endpoint. + */ + public void handleWill() + { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) + { + Logger.log("Ignoring superfluous WILL command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) + { + if (desired) + { + // We sent DO and server replied with WILL. Enable the option, and end + // this negotiation. + + enabled = true; + Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // This should never happen! We sent DONT and the server replied with + // WILL. Bad server. No soup for you. Disable the option, and end + // this negotiation. + + Logger.log("Server answered DONT with WILL!"); //$NON-NLS-1$ + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + else + { + if (desired) + { + // Server sent WILL, so we reply with DO. Enable the option, and end + // this negotiation. + + sendDo(); + enabled = true; + Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // Server sent WILL, so we reply with DONT. Disable the option, and + // end this negotiation. + + sendDont(); + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + } + + /** + * Handles a WONT command sent by the remote endpoint for this option. The value + * of desired doesn't matter in this method, because the remote endpoint is + * forcing the option to be disabled. + */ + public void handleWont() + { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) + { + Logger.log("Ignoring superfluous WONT command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) + { + // We sent DO or DONT and server replied with WONT. Disable the + // option, and end this negotiation. + + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // Server sent WONT, so we reply with DONT. Disable the option, and + // end this negotiation. + + sendDont(); + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + + /** + * Handles a DO command sent by the remote endpoint for this option. + */ + public void handleDo() + { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) + { + Logger.log("Ignoring superfluous DO command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) + { + if (desired) + { + // We sent WILL and server replied with DO. Enable the option, and end + // this negotiation. + + enabled = true; + Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // We sent WONT and server replied with DO. This should never happen! + // Bad server. No soup for you. Disable the option, and end this + // negotiation. + + Logger.log("Server answered WONT with DO!"); //$NON-NLS-1$ + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + else + { + if (desired) + { + // Server sent DO, so we reply with WILL. Enable the option, and end + // this negotiation. + + sendWill(); + enabled = true; + Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // Server sent DO, so we reply with WONT. Disable the option, and end + // this negotiation. + + sendWont(); + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + } + + /** + * Handles a DONT command sent by the remote endpoint for this option. The value + * of desired doesn't matter in this method, because the remote endpoint is + * forcing the option to be disabled. + */ + public void handleDont() + { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) + { + Logger.log("Ignoring superfluous DONT command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) + { + // We sent WILL or WONT and server replied with DONT. Disable the + // option, and end this negotiation. + + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + else + { + // Server sent DONT, so we reply with WONT. Disable the option, and end + // this negotiation. + + sendWont(); + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + + /** + * This method handles a subnegotiation command received from the remote endpoint. + * Currently, the only subnegotiation we handle is when the remote endpoint + * commands us to send our terminal type (which is "ansi"). + * + * @param subnegotiationData An array of bytes containing a TELNET + * subnegotiation command received from the + * remote endpoint. + * @param count The number of bytes in array + * subnegotiationData to examine. + */ + public void handleSubnegotiation(byte[] subnegotiationData, int count) + { + switch (option) + { + case TELNET_OPTION_TERMINAL_TYPE: + if (subnegotiationData[1] != TELNET_SEND) + { + // This should never happen! + Logger.log("Invalid TERMINAL-TYPE subnegotiation command from remote endpoint: " + //$NON-NLS-1$ + (subnegotiationData[1] & 0xff)); + break; + } + + // Tell the remote endpoint our terminal type is "ansi" using this sequence + // of TELNET protocol bytes: + // + // IAC SB TERMINAL-TYPE IS a n s i IAC SE + + byte[] terminalTypeData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_TERMINAL_TYPE, + TELNET_IS, (byte)'a', (byte)'n', (byte)'s', (byte)'i', + TELNET_IAC, TELNET_SE }; + + try + { + outputStream.write(terminalTypeData); + } + catch (IOException ex) + { + Logger.log("IOException sending TERMINAL-TYPE subnegotiation!"); //$NON-NLS-1$ + Logger.logException(ex); + } + break; + + default: + // This should never happen! + Logger.log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ + assert false; + break; + } + } + + /** + * This method sends a subnegotiation command to the remote endpoint. + * + * @param subnegotiationData An array of Objects holding data to be used + * when generating the outbound subnegotiation + * command. + */ + public void sendSubnegotiation(Object[] subnegotiationData) + { + switch (option) + { + case TELNET_OPTION_NAWS: + // Get the width and height of the view and send it to the remote + // endpoint using this sequence of TELNET protocol bytes: + // + // IAC SB NAWS + // IAC SE + + byte[] NAWSData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_NAWS, + 0, 0, 0, 0, TELNET_IAC, TELNET_SE }; + int width = ((Integer)subnegotiationData[0]).intValue(); + int height = ((Integer)subnegotiationData[1]).intValue(); + + NAWSData[3] = (byte)((width >>> 8) & 0xff); // High order byte of width. + NAWSData[4] = (byte)(width & 0xff); // Low order byte of width. + NAWSData[5] = (byte)((height >>> 8) & 0xff); // High order byte of height. + NAWSData[6] = (byte)(height & 0xff); // Low order byte of height. + + Logger.log("sending terminal size to remote endpoint: width = " + width + //$NON-NLS-1$ + ", height = " + height + "."); //$NON-NLS-1$ //$NON-NLS-2$ + + // This final local variable is a hack to get around the fact that inner + // classes cannot reference a non-final local variable in a lexically + // enclosing scope. + + final byte[] NAWSDataFinal = NAWSData; + + // Send the NAWS data in a new thread. The current thread is the display + // thread, and calls to write() can block, but blocking the display thread + // is _bad_ (it hangs the GUI). + + new Thread() + { + public void run() + { + try + { + outputStream.write(NAWSDataFinal); + } + catch (IOException ex) + { + Logger.log("IOException sending NAWS subnegotiation!"); //$NON-NLS-1$ + Logger.logException(ex); + } + } + }.start(); + break; + + default: + // This should never happen! + Logger.log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ + assert false; + break; + } + } + + + /** + * This method returns true if there has not yet been any negotiation of this + * option. + * + * @return Returns true if there has not yet been any negotiation of this option. + */ + protected boolean notYetNegotiated() + { + return negotiationState == NEGOTIATION_NOT_STARTED; + } + + /** + * This method terminates the current negotiation and records the time at which the + * negotiation terminated. + */ + protected void endNegotiation() + { + Logger.log("Ending negotiation #" + negotiationCount + " for " + //$NON-NLS-1$ //$NON-NLS-2$ + (local ? "local" : "remote") + " option " + optionName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + negotiationState = NEGOTIATION_DONE; + negotiationCompletionTime.setTime(System.currentTimeMillis()); + ++negotiationCount; + } + + /** + * This method determines whether or not to ignore what appears to be a new + * negotiation initiated by the remote endpoint. This is needed because some + * TELNET servers send superfluous option commands that a naive client might + * interpret as the start of a new negotiation. If the superfluous command is not + * ignored, an option negotiation loop can result (which is bad). For details + * about the superfluous commands sent by some servers, see the documentation for + * {@link #NEGOTIATION_NOT_STARTED}.

+ * + * The current implementation of this method returns true if the new negotiation + * starts within NEGOTIATION_IGNORE_DURATION seconds of the end of the previous + * negotiation of this option.

+ * + * @return Returns true if the new negotiation should be ignored, false if not. + */ + protected boolean ignoreNegotiation() + { + return (System.currentTimeMillis() - negotiationCompletionTime.getTime()) > + NEGOTIATION_IGNORE_DURATION; + } + + /** + * Sends a DO command to the remote endpoint for this option. + */ + protected void sendDo() + { + Logger.log("Sending DO " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_DO); + } + + /** + * Sends a DONT command to the remote endpoint for this option. + */ + protected void sendDont() + { + Logger.log("Sending DONT " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_DONT); + } + + /** + * Sends a WILL command to the remote endpoint for this option. + */ + protected void sendWill() + { + Logger.log("Sending WILL " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_WILL); + } + + /** + * Sends a WONT command to the remote endpoint for this option. + */ + protected void sendWont() + { + Logger.log("Sending WONT " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_WONT); + } + + /** + * This method sends a WILL/WONT/DO/DONT command to the remote endpoint for this + * option. + */ + protected void sendCommand(byte command) + { + byte[] data = { TELNET_IAC, 0, 0 }; + + data[1] = command; + data[2] = option; + + try + { + outputStream.write(data); + } + catch (IOException ex) + { + Logger.log("IOException sending command " + command); //$NON-NLS-1$ + Logger.logException(ex); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java new file mode 100644 index 00000000000..e1b786d4867 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java @@ -0,0 +1,119 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; + +public class TerminalAction extends Action + implements TerminalMsg, TerminalConsts +{ + /** + * + */ + protected TerminalTarget m_Target; + protected String m_strMsg; + + /** + * + */ + public TerminalAction(TerminalTarget target, + String strMsg, + String strId) + { + super(""); //$NON-NLS-1$ + + m_Target = target; + m_strMsg = strMsg; + + setId(strId); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Action interface + // + + /** + * + */ + public void run() + { + m_Target.execute(m_strMsg,this); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + protected void setupAction(String strText, + String strToolTip, + String strImage, + String strEnabledImage, + String strDisabledImage, + boolean bEnabled) + { + TerminalPlugin plugin; + ImageRegistry imageRegistry; + + plugin = TerminalPlugin.getDefault(); + imageRegistry = plugin.getImageRegistry(); + setupAction(strText, + strToolTip, + strImage, + strEnabledImage, + strDisabledImage, + bEnabled, + imageRegistry); + } + + /** + * + */ + protected void setupAction(String strText, + String strToolTip, + String strImage, + String strEnabledImage, + String strDisabledImage, + boolean bEnabled, + ImageRegistry imageRegistry) + { + ImageDescriptor imageDescriptor; + + setText(strText); + setToolTipText(strToolTip); + setEnabled(bEnabled); + + imageDescriptor = imageRegistry.getDescriptor(strEnabledImage); + if (imageDescriptor != null) + { + setImageDescriptor(imageDescriptor); + } + + imageDescriptor = imageRegistry.getDescriptor(strDisabledImage); + if (imageDescriptor != null) + { + setDisabledImageDescriptor(imageDescriptor); + } + + imageDescriptor = imageRegistry.getDescriptor(strImage); + if (imageDescriptor != null) + { + setHoverImageDescriptor(imageDescriptor); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java new file mode 100644 index 00000000000..889715198e7 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java @@ -0,0 +1,34 @@ + +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal; + +public class TerminalActionClearAll extends TerminalAction +{ + protected TerminalActionClearAll(TerminalTarget target) + { + super(target, + ON_EDIT_CLEARALL, + TerminalActionClearAll.class.getName()); + + setupAction(TERMINAL_TEXT_CLEARALL, + TERMINAL_TEXT_CLEARALL, + null, + null, + null, + false); + } +} + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java new file mode 100644 index 00000000000..078338e1c34 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal; + +public class TerminalActionConnect extends TerminalAction +{ + protected TerminalActionConnect(TerminalTarget target) + { + super(target, + ON_TERMINAL_CONNECT, + TerminalActionConnect.class.getName()); + + setupAction(TERMINAL_TEXT_CONNECT, + TERMINAL_TEXT_CONNECT, + TERMINAL_IMAGE_CLCL_CONNECT, + TERMINAL_IMAGE_ELCL_CONNECT, + TERMINAL_IMAGE_DLCL_CONNECT, + true); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java new file mode 100644 index 00000000000..47c900f8a11 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.internal.WorkbenchImages; + +public class TerminalActionCopy extends TerminalAction +{ + protected TerminalActionCopy(TerminalTarget target) + { + super(target, + ON_EDIT_COPY, + TerminalActionCopy.class.getName()); + + ImageRegistry imageRegistry; + + imageRegistry = WorkbenchImages.getImageRegistry(); + setupAction(TERMINAL_TEXT_COPY, + TERMINAL_TEXT_COPY, + ISharedImages.IMG_TOOL_COPY, + ISharedImages.IMG_TOOL_COPY, + ISharedImages.IMG_TOOL_COPY_DISABLED, + true, + imageRegistry); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java new file mode 100644 index 00000000000..2a06c87748d --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.internal.WorkbenchImages; + +public class TerminalActionCut extends TerminalAction +{ + protected TerminalActionCut(TerminalTarget target) + { + super(target, + ON_EDIT_CUT, + TerminalActionCut.class.getName()); + + ImageRegistry imageRegistry; + + imageRegistry = WorkbenchImages.getImageRegistry(); + setupAction(TERMINAL_TEXT_CUT, + TERMINAL_TEXT_CUT, + ISharedImages.IMG_TOOL_CUT, + ISharedImages.IMG_TOOL_CUT, + ISharedImages.IMG_TOOL_CUT_DISABLED, + true, + imageRegistry); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java new file mode 100644 index 00000000000..e1f294da96e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +public class TerminalActionDisconnect extends TerminalAction +{ + /** + * + */ + protected TerminalActionDisconnect(TerminalTarget target) + { + super(target, + ON_TERMINAL_DISCONNECT, + TerminalActionDisconnect.class.getName()); + + setupAction(TERMINAL_TEXT_DISCONNECT, + TERMINAL_TEXT_DISCONNECT, + TERMINAL_IMAGE_CLCL_DISCONNECT, + TERMINAL_IMAGE_ELCL_DISCONNECT, + TERMINAL_IMAGE_DLCL_DISCONNECT, + false); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java new file mode 100644 index 00000000000..80bfdccadb6 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +/** + * UNDER CONSTRUCTION + * + * @author Fran Litterio + */ +public class TerminalActionNewTerminal extends TerminalAction +{ + /** + * UNDER CONSTRUCTION + */ + protected TerminalActionNewTerminal(TerminalTarget target) + { + super(target, ON_TERMINAL_NEW_TERMINAL, TerminalActionNewTerminal.class.getName()); + + setupAction(TERMINAL_TEXT_NEW_TERMINAL, + TERMINAL_TEXT_NEW_TERMINAL, + TERMINAL_IMAGE_NEW_TERMINAL, + TERMINAL_IMAGE_NEW_TERMINAL, + TERMINAL_IMAGE_NEW_TERMINAL, + true); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java new file mode 100644 index 00000000000..6d14e5612dd --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java @@ -0,0 +1,38 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.internal.WorkbenchImages; + +public class TerminalActionPaste extends TerminalAction +{ + protected TerminalActionPaste(TerminalTarget target) + { + super(target, + ON_EDIT_PASTE, + TerminalActionPaste.class.getName()); + + ImageRegistry imageRegistry; + + imageRegistry = WorkbenchImages.getImageRegistry(); + setupAction(TERMINAL_TEXT_PASTE, + TERMINAL_TEXT_PASTE, + ISharedImages.IMG_TOOL_PASTE, + ISharedImages.IMG_TOOL_PASTE_DISABLED, + ISharedImages.IMG_TOOL_PASTE, + false, + imageRegistry); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java new file mode 100644 index 00000000000..19903bda345 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +public class TerminalActionSelectAll extends TerminalAction +{ + protected TerminalActionSelectAll(TerminalTarget target) + { + super(target, + ON_EDIT_SELECTALL, + TerminalActionSelectAll.class.getName()); + + setupAction(TERMINAL_TEXT_SELECTALL, + TERMINAL_TEXT_SELECTALL, + null, + null, + null, + false); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java new file mode 100644 index 00000000000..b0389b62cb1 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +public class TerminalActionSettings extends TerminalAction +{ + protected TerminalActionSettings(TerminalTarget target) + { + super(target, + ON_TERMINAL_SETTINGS, + TerminalActionSettings.class.getName()); + + setupAction(TERMINAL_TEXT_SETTINGS_ELLIPSE, + TERMINAL_TEXT_SETTINGS, + TERMINAL_IMAGE_CLCL_SETTINGS, + TERMINAL_IMAGE_ELCL_SETTINGS, + TERMINAL_IMAGE_DLCL_SETTINGS, + true); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java new file mode 100644 index 00000000000..f8968d42572 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java @@ -0,0 +1,114 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +public interface TerminalConsts +{ + public static final String TERMINAL_CONNTYPE_SERIAL = "Serial"; //$NON-NLS-1$ + public static final String TERMINAL_CONNTYPE_NETWORK = "Network"; //$NON-NLS-1$ + + public final static String TERMINAL_IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ + public final static String TERMINAL_IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ + + public static final String TERMINAL_IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ + + public static final String TERMINAL_IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ + + public static final String TERMINAL_IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ + public static final String TERMINAL_IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + + public static final String TERMINAL_PROP_TITLE = Messages.getString("TerminalConsts.Terminal_7"); //$NON-NLS-1$ + public static final String TERMINAL_PROP_NAMENET = "net"; //$NON-NLS-1$ + public static final String TERMINAL_PROP_NAMETGTCONST = "tgtcons"; //$NON-NLS-1$ + public static final String TERMINAL_PROP_NAMETELNET = "telnet"; //$NON-NLS-1$ + public static final String TERMINAL_PROP_VALUENET = "1233"; //$NON-NLS-1$ + public static final String TERMINAL_PROP_VALUETGTCONST = "1232"; //$NON-NLS-1$ + public static final String TERMINAL_PROP_VALUETELNET = "23"; //$NON-NLS-1$ + + public static final String TERMINAL_PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ + public static final String TERMINAL_PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ + public static final String TERMINAL_PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ + public static final String TERMINAL_PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ + + public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + + public static final String TERMINAL_TEXT_NEW_TERMINAL = Messages.getString("TerminalConsts.New_terminal"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_CONNECT = Messages.getString("TerminalConsts.Connect_2"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_DISCONNECT = Messages.getString("TerminalConsts.Disconnect_3"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_SETTINGS_ELLIPSE = Messages.getString("TerminalConsts.Settings..._4"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_COPY = Messages.getString("TerminalConsts.Copy_5"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_CUT = Messages.getString("TerminalConsts.0"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_PASTE = Messages.getString("TerminalConsts.Paste_6"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_SELECTALL = Messages.getString("TerminalConsts.Select_All_7"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_CLEARALL = Messages.getString("TerminalConsts.Clear_All_8"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_TERMINALSETTINGS = Messages.getString("TerminalConsts.Terminal_Settings_1"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_CONNECTIONTYPE = Messages.getString("TerminalConsts.Connection_Type_2"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_SETTINGS = Messages.getString("TerminalConsts.Settings_3"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_PORT = Messages.getString("TerminalConsts.Port_4"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_BAUDRATE = Messages.getString("TerminalConsts.Baud_Rate_5"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_DATABITS = Messages.getString("TerminalConsts.Data_Bits_6"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_STOPBITS = Messages.getString("TerminalConsts.Stop_Bits_7"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_PARITY = Messages.getString("TerminalConsts.Parity_8"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_FLOWCONTROL = Messages.getString("TerminalConsts.1"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_HOST = Messages.getString("TerminalConsts.Host_11"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_LIMITOUTPUT = Messages.getString("TerminalConsts.Limit_terminal_output_16"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_BUFFERLINES = Messages.getString("TerminalConsts.Terminal_buffer_lines__17"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_SERIALTIMEOUT = Messages.getString("TerminalConsts.Serial_timeout_(seconds)__18"); //$NON-NLS-1$ + public static final String TERMINAL_TEXT_NETWORKTIMEOUT = Messages.getString("TerminalConsts.Network_timeout_(seconds)__19"); //$NON-NLS-1$ + + public static final String TERMINAL_MSG_ERROR_1 = Messages.getString("TerminalConsts.Terminal_Error_12"); //$NON-NLS-1$ + public static final String TERMINAL_MSG_ERROR_2 = Messages.getString("TerminalConsts.Socket_Error_13"); //$NON-NLS-1$ + public static final String TERMINAL_MSG_ERROR_3 = Messages.getString("TerminalConsts.IO_Error_14"); //$NON-NLS-1$ + public static final String TERMINAL_MSG_ERROR_4 = Messages.getString("TerminalConsts.Serial_port___{0}___is_currently_in_use_!_nDo_you_want_to_close_the_port__15"); //$NON-NLS-1$ + public static final String TERMINAL_MSG_ERROR_5 = Messages.getString("TerminalConsts.Error_16"); //$NON-NLS-1$ + public static final String TERMINAL_MSG_ERROR_6 = Messages.getString("TerminalConsts.Emulator_is_not_supported._17"); //$NON-NLS-1$ + + public static final String TERMINAL_FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + + public static final String TERMINAL_TRACE_DEBUG_LOG = "org.eclipse.tm.terminal/debug/log"; //$NON-NLS-1$ + public static final String TERMINAL_TRACE_DEBUG_LOG_ERROR = "org.eclipse.tm.terminal/debug/log/error"; //$NON-NLS-1$ + public static final String TERMINAL_TRACE_DEBUG_LOG_INFO = "org.eclipse.tm.terminal/debug/log/info"; //$NON-NLS-1$ + public static final String TERMINAL_TRACE_DEBUG_LOG_CHAR = "org.eclipse.tm.terminal/debug/log/char"; //$NON-NLS-1$ + public static final String TERMINAL_TRACE_DEBUG_LOG_BUFFER_SIZE = "org.eclipse.tm.terminal/debug/log/buffer/size"; //$NON-NLS-1$ + + public static final boolean TERMINAL_DEFAULT_LIMITOUTPUT = true; + public static final int TERMINAL_DEFAULT_BUFFERLINES = 1000; + public static final int TERMINAL_DEFAULT_TIMEOUT_SERIAL = 5; + public static final int TERMINAL_DEFAULT_TIMEOUT_NETWORK = 5; + + public static final int TERMINAL_ID_OK = 0; + public static final int TERMINAL_ID_CANCEL = 1; + public static final int TERMINAL_ID_CONNECT = 2; + + public static final int TERMINAL_KEY_ESCAPE = 27; + public static final int TERMINAL_KEY_H = 104; + public static final int TERMINAL_KEY_J = 106; + public static final int TERMINAL_KEY_K = 107; + public static final int TERMINAL_KEY_L = 108; + public static final int TERMINAL_KEY_CR = 13; +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java new file mode 100644 index 00000000000..0423376d1f1 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java @@ -0,0 +1,1573 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketException; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; +import java.net.ConnectException; +import java.text.MessageFormat; + +import javax.comm.CommPortIdentifier; +import javax.comm.CommPortOwnershipListener; +import javax.comm.PortInUseException; +import javax.comm.SerialPort; +import javax.comm.SerialPortEvent; +import javax.comm.SerialPortEventListener; + +import org.eclipse.core.runtime.Preferences; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.text.ConfigurableLineTracker; +import org.eclipse.jface.text.Document; +import org.eclipse.jface.text.ITextSelection; +import org.eclipse.jface.text.TextViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.custom.VerifyKeyListener; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.VerifyEvent; +import org.eclipse.swt.events.VerifyListener; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.keys.IBindingService; + +/** + * UNDER CONSTRUCTION + * + * This class was originally written to use nested classes, which unfortunately makes + * this source file larger and more complex than it needs to be. In particular, the + * methods in the nested classes directly access the fields of the enclosing class. + * One day we should pull the nested classes out into their own source files (but still + * in this package). + * + * @author Chris Thew + */ +class TerminalCtrl implements TerminalTarget, TerminalConsts +{ + /** + * UNDER CONSTRUCTION + */ + protected final static String[] LINE_DELIMITERS = { "\n" }; //$NON-NLS-1$ + + /** + * This field holds a reference to a TerminalText object that performs all ANSI + * text processing on data received from the remote host and controls how text is + * displayed using the view's StyledText widget. + */ + protected TerminalText m_TerminalText; + + protected Display m_Display; + protected StyledText m_ctlText; + protected TextViewer m_Viewer; + protected Composite m_wndParent; + protected CommPortIdentifier m_SerialPortIdentifier; + protected SerialPort m_SerialPort; + protected Socket m_Socket; + protected InputStream m_InputStream; + protected OutputStream m_OutputStream; + protected Clipboard m_Clipboard; + protected TerminalSerialPortHandler m_SerialPortHandler; + protected VerifyListener m_VerifyHandler; + protected TerminalModifyListener m_ModifyListener; + protected KeyListener m_KeyHandler; + protected TerminalSettings m_TerminalSettings; + protected TerminalTarget m_Target; + protected ViewPart m_ViewPart; + protected String m_strMsg = ""; //$NON-NLS-1$ + protected boolean m_bConnecting = false; + protected boolean m_bConnected = false; + protected boolean m_bOpened = false; + protected boolean m_bPortInUse = false; + protected boolean m_bCaretReset = false; + protected TelnetConnection m_telnetConnection; + protected VerifyKeyListener m_VerifyKeyListener; + protected FocusListener m_FocusListener; + + /** + * UNDER CONSTRUCTION + */ + public TerminalCtrl(TerminalTarget target, Composite wndParent) + throws Exception + { + super(); + + m_Target = target; + m_ViewPart = (ViewPart)target; + m_wndParent = wndParent; + + try + { + m_TerminalText = new TerminalText(this); + } + catch (Exception ex) + { + Logger.logException(ex); + + throw ex; + } + + setupTerminal(); + } + + /** + * UNDER CONSTRUCTION + */ + public void execute(String strMsg, Object data) + { + if (strMsg.equals(ON_TERMINAL_CONNECT)) + { + onTerminalConnect(data); + } + else if (strMsg.equals(ON_TERMINAL_CONNECTING)) + { + onTerminalConnecting(data); + } + else if (strMsg.equals(ON_TERMINAL_DISCONNECT)) + { + onTerminalDisconnect(data); + } + else if (strMsg.equals(ON_TERMINAL_STATUS)) + { + onTerminalStatus(data); + } + } + + /** + * UNDER CONSTRUCTION + */ + protected void onTerminalConnect(Object data) + { + m_Target.execute(ON_TERMINAL_CONNECT, data); + } + + /** + * UNDER CONSTRUCTION + */ + protected void onTerminalConnecting(Object data) + { + m_Target.execute(ON_TERMINAL_CONNECTING, data); + } + + /** + * UNDER CONSTRUCTION + */ + protected void onTerminalDisconnect(Object data) + { + m_Target.execute(ON_TERMINAL_DISCONNECT, data); + } + + /** + * UNDER CONSTRUCTION + */ + protected void onTerminalStatus(Object data) + { + m_Target.execute(ON_TERMINAL_STATUS, data); + } + + /** + * UNDER CONSTRUCTION + */ + public void copy() + { + m_ctlText.copy(); + } + + /** + * UNDER CONSTRUCTION + */ + public void paste() + { + TextTransfer textTransfer; + String strText; + + textTransfer = TextTransfer.getInstance(); + strText = (String)m_Clipboard.getContents(textTransfer); + + if (strText == null) + return; + + for (int i=0;i tags are present in the plugin.xml file + // for the Terminal view. Do not delete those tags. + + switch (event.keyCode) + { + case 0x1000001: // Up arrow. + sendString("\u001b[A"); //$NON-NLS-1$ + break; + + case 0x1000002: // Down arrow. + sendString("\u001b[B"); //$NON-NLS-1$ + break; + + case 0x1000003: // Left arrow. + sendString("\u001b[D"); //$NON-NLS-1$ + break; + + case 0x1000004: // Right arrow. + sendString("\u001b[C"); //$NON-NLS-1$ + break; + + case 0x1000005: // PgUp key. + sendString("\u001b[I"); //$NON-NLS-1$ + break; + + case 0x1000006: // PgDn key. + sendString("\u001b[G"); //$NON-NLS-1$ + break; + + case 0x1000007: // Home key. + sendString("\u001b[H"); //$NON-NLS-1$ + break; + + case 0x1000008: // End key. + sendString("\u001b[F"); //$NON-NLS-1$ + break; + + case 0x100000a: // F1 key. + sendString("\u001b[M"); //$NON-NLS-1$ + break; + + case 0x100000b: // F2 key. + sendString("\u001b[N"); //$NON-NLS-1$ + break; + + case 0x100000c: // F3 key. + sendString("\u001b[O"); //$NON-NLS-1$ + break; + + case 0x100000d: // F4 key. + sendString("\u001b[P"); //$NON-NLS-1$ + break; + + case 0x100000e: // F5 key. + sendString("\u001b[Q"); //$NON-NLS-1$ + break; + + case 0x100000f: // F6 key. + sendString("\u001b[R"); //$NON-NLS-1$ + break; + + case 0x1000010: // F7 key. + sendString("\u001b[S"); //$NON-NLS-1$ + break; + + case 0x1000011: // F8 key. + sendString("\u001b[T"); //$NON-NLS-1$ + break; + + case 0x1000012: // F9 key. + sendString("\u001b[U"); //$NON-NLS-1$ + break; + + case 0x1000013: // F10 key. + sendString("\u001b[V"); //$NON-NLS-1$ + break; + + case 0x1000014: // F11 key. + sendString("\u001b[W"); //$NON-NLS-1$ + break; + + case 0x1000015: // F12 key. + sendString("\u001b[X"); //$NON-NLS-1$ + break; + + default: + // Ignore other special keys. Control flows through this case when + // the user presses SHIFT, CONTROL, ALT, and any other key not + // handled by the above cases. + break; + } + + // It's ok to return here, because we never locally echo special keys. + + return; + } + + // To fix SPR 110341, we consider the Alt key to be pressed only when the + // Ctrl key is _not_ also pressed. This works around a bug in SWT where, + // on European keyboards, the AltGr key being pressed appears to us as Ctrl + // + Alt being pressed simultaneously. + + Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ + + boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && + ((event.stateMask & SWT.CTRL) == 0)); + + if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 && character == ' ') + { + // Send a NUL character -- many terminal emulators send NUL when + // Ctrl-Space is pressed. This is used to set the mark in Emacs. + + character='\u0000'; + } + + sendChar(character, altKeyPressed); + + // Special case: When we are in a TCP connection and echoing characters + // locally, send a LF after sending a CR. + // ISSUE: Is this absolutely required? + + if (character == '\r' && + m_telnetConnection != null && + m_telnetConnection.isConnected() && + m_telnetConnection.localEcho()) + { + sendChar('\n', false); + } + + // Now decide if we should locally echo the character we just sent. We do + // _not_ locally echo the character if any of these conditions are true: + // + // o This is a serial connection. + // + // o This is a TCP connection (i.e., m_telnetConnection is not null) and + // the remote endpoint is not a TELNET server. + // + // o The ALT (or META) key is pressed. + // + // o The character is any of the first 32 ISO Latin-1 characters except + // Control-I or Control-M. + // + // o The character is the DELETE character. + + if (m_telnetConnection == null || + m_telnetConnection.isConnected() == false || + m_telnetConnection.localEcho() == false || + altKeyPressed || + (character >= '\u0001' && character < '\t') || + (character > '\t' && character < '\r') || + (character > '\r' && character <= '\u001f') || + character == '\u007f') + { + // No local echoing. + return; + } + + // Locally echo the character. + + StringBuffer charBuffer = new StringBuffer(); + charBuffer.append(character); + + // If the character is a carriage return, we locally echo it as a CR + LF + // combination. + + if (character == '\r') + charBuffer.append('\n'); + + m_TerminalText.setNewText(charBuffer); + m_Display.syncExec(m_TerminalText); + } + } + + /** + * UNDER CONSTRUCTION + */ + protected class TerminalSerialPortHandler implements SerialPortEventListener, + CommPortOwnershipListener + { + protected byte[] bytes = new byte[2048]; + + /** + * UNDER CONSTRUCTION + */ + protected TerminalSerialPortHandler() + { + super(); + } + + // Message handlers + + /** + * UNDER CONSTRUCTION + */ + protected void onSerialDataAvailable(Object data) + { + Display display; + StringBuffer buffer; + String strBuffer; + int nBytes; + + display = m_ctlText.getDisplay(); + + try + { + while (m_InputStream != null && m_InputStream.available() > 0) + { + nBytes = m_InputStream.read(bytes); + strBuffer = new String(bytes, 0, nBytes); + buffer = new StringBuffer(strBuffer); + + m_TerminalText.setNewText(buffer); + + // Do _not_ use asyncExec() here. Class TerminalText requires that + // its run() and setNewText() methods be called in strictly + // alternating order. If we were to call asyncExec() here, this + // loop might race around and call setNewText() twice in a row, + // which would lose data. + + display.syncExec(m_TerminalText); + } + } + catch (IOException ex) + { + displayTextInTerminal(ex.getMessage()); + } + catch (Exception exception) + { + Logger.logException(exception); + } + } + + /** + * UNDER CONSTRUCTION + */ + protected void onSerialOwnershipRequested(Object data) + { + TerminalSerialOwnershipRequestedWorker ownershipRequestedWorker; + Display display; + + if (m_bPortInUse) + { + m_bPortInUse = false; + return; + } + + display = m_ctlText.getDisplay(); + ownershipRequestedWorker = new TerminalSerialOwnershipRequestedWorker(); + display.asyncExec(ownershipRequestedWorker); + } + + // SerialPortEventListener interface + + /** + * UNDER CONSTRUCTION + */ + public void serialEvent(SerialPortEvent event) + { + switch (event.getEventType()) + { + case SerialPortEvent.DATA_AVAILABLE: + onSerialDataAvailable(null); + break; + } + } + + // CommPortOwnershipListener interface + + /** + * UNDER CONSTRUCTION + */ + public void ownershipChange(int nType) + { + switch (nType) + { + case CommPortOwnershipListener.PORT_OWNERSHIP_REQUESTED: + onSerialOwnershipRequested(null); + break; + } + } + } + + /** + * UNDER CONSTRUCTION + */ + protected class TerminalDocument extends Document + { + /** + * UNDER CONSTRUCTION + */ + protected TerminalDocument() + { + super(); + + setupDocument(); + } + + // Operations + + /** + * UNDER CONSTRUCTION + */ + protected void setupDocument() + { + ConfigurableLineTracker lineTracker; + + lineTracker = new ConfigurableLineTracker(LINE_DELIMITERS); + setLineTracker(lineTracker); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java new file mode 100644 index 00000000000..158832aeb24 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +public interface TerminalMsg +{ + public static final String ON_TERMINAL_FOCUS = "OnTerminalFocus"; //$NON-NLS-1$ + public static final String ON_TERMINAL_NEW_TERMINAL = "OnTerminalNew"; //$NON-NLS-1$ + public static final String ON_TERMINAL_CONNECT = "OnTerminalConnect"; //$NON-NLS-1$ + public static final String ON_TERMINAL_CONNECTING = "OnTerminalConnecting"; //$NON-NLS-1$ + public static final String ON_TERMINAL_DISCONNECT = "OnTerminalDisconnect"; //$NON-NLS-1$ + public static final String ON_TERMINAL_SETTINGS = "OnTerminalSettings"; //$NON-NLS-1$ + public static final String ON_TERMINAL_STATUS = "OnTerminalStatus"; //$NON-NLS-1$ + public static final String ON_TERMINAL_DATAAVAILABLE = "OnTerminalDataAvailable"; //$NON-NLS-1$ + public static final String ON_TERMINAL_FONTCHANGED = "OnTerminalFontChanged"; //$NON-NLS-1$ + public static final String ON_EDIT_COPY = "OnEditCopy"; //$NON-NLS-1$ + public static final String ON_EDIT_CUT = "OnEditCut"; //$NON-NLS-1$ + public static final String ON_EDIT_PASTE = "OnEditPaste"; //$NON-NLS-1$ + public static final String ON_EDIT_CLEARALL = "OnEditClearAll"; //$NON-NLS-1$ + public static final String ON_EDIT_SELECTALL = "OnEditSelectAll"; //$NON-NLS-1$ + public static final String ON_UPDATE_TERMINAL_CONNECT = "OnUpdateTerminalConnect"; //$NON-NLS-1$ + public static final String ON_UPDATE_TERMINAL_DISCONNECT = "OnUpdateTerminalDisconnect"; //$NON-NLS-1$ + public static final String ON_UPDATE_TERMINAL_SETTINGS = "OnUpdateTerminalSettings"; //$NON-NLS-1$ + public static final String ON_UPDATE_EDIT_COPY = "OnUpdateEditCopy"; //$NON-NLS-1$ + public static final String ON_UPDATE_EDIT_CUT = "OnUpdateEditCut"; //$NON-NLS-1$ + public static final String ON_UPDATE_EDIT_PASTE = "OnUpdateEditPaste"; //$NON-NLS-1$ + public static final String ON_UPDATE_EDIT_CLEARALL = "OnUpdateEditClearAll"; //$NON-NLS-1$ + public static final String ON_UPDATE_EDIT_SELECTALL = "OnUpdateEditSelectAll"; //$NON-NLS-1$ + public static final String ON_CONNTYPE_SELECTED = "OnConnTypeSelected"; //$NON-NLS-1$ + public static final String ON_LIMITOUTPUT_SELECTED = "OnLimitOutputSelected"; //$NON-NLS-1$ + public static final String ON_OK = "OnOK"; //$NON-NLS-1$ + public static final String ON_CANCEL = "OnCancel"; //$NON-NLS-1$ + public static final String ON_HELP = "OnHelp"; //$NON-NLS-1$ +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java new file mode 100644 index 00000000000..47392cacf26 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java @@ -0,0 +1,104 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.util.Collection; +import java.util.HashMap; +import java.util.Set; +import java.util.Vector; + + +public class TerminalNetworkPortMap extends HashMap + implements TerminalConsts +{ + static final long serialVersionUID = 0; + + public TerminalNetworkPortMap() + { + super(); + + setupMap(); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + public String getDefaultNetworkPort() + { + return (String) get(TERMINAL_PROP_NAMETELNET); + } + + /** + * + */ + public String findPortName(String strPort) + { + Collection values; + Vector portTable; + Vector nameTable; + String strPortName; + int nIndex; + + values = values(); + portTable = new Vector(values); + nIndex = portTable.indexOf(strPort); + nameTable = getNameTable(); + + if (nIndex == -1) + return strPort; + + strPortName = (String) nameTable.get(nIndex); + return strPortName; + } + + /** + * + */ + public String findPort(String strPortName) + { + String strPort; + + strPort = (String) get(strPortName); + if (strPort == null) + return strPortName; + + return strPort; + } + + /** + * + */ + public Vector getNameTable() + { + Set keySet; + Vector nameTable; + + keySet = keySet(); + nameTable = new Vector(keySet); + + return nameTable; + } + + /** + * + */ + protected void setupMap() + { + put(TERMINAL_PROP_NAMETGTCONST, TERMINAL_PROP_VALUETGTCONST); + put(TERMINAL_PROP_NAMETELNET, TERMINAL_PROP_VALUETELNET); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java new file mode 100644 index 00000000000..c7489fa4032 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java @@ -0,0 +1,294 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Iterator; +import java.util.MissingResourceException; +import java.util.ResourceBundle; + +import org.eclipse.core.resources.IWorkspace; +import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +public class TerminalPlugin extends AbstractUIPlugin + implements TerminalConsts +{ + protected static TerminalPlugin m_Default; + + protected TerminalProperties m_Properties; + protected ResourceBundle m_ResourceBundle; + + /** + * The constructor. + */ + public TerminalPlugin() + { + super(); + + m_Default = this; + + setupPlugin(); + } + + public void start(BundleContext context) throws Exception + { + super.start(context); + } + + public void stop(BundleContext context) throws Exception + { + super.stop(context); + } + + // AbstractUIPlugin interface + + /** + * + */ + protected void initializeImageRegistry(ImageRegistry imageRegistry) + { + HashMap map; + + map = new HashMap(); + + try + { + // Local toolbars + map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_LOCALTOOL, map); + + map.clear(); + + // Enabled local toolbars + map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_ELCL, map); + + map.clear(); + + // Disabled local toolbars + map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(TERMINAL_IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_DLCL, map); + + map.clear(); + } + catch(MalformedURLException malformedURLException) + { + malformedURLException.printStackTrace(); + } + } + + /** + * + */ + protected void initializeDefaultPreferences(IPreferenceStore store) + { + store.setDefault(TERMINAL_PREF_LIMITOUTPUT, TERMINAL_DEFAULT_LIMITOUTPUT); + store.setDefault(TERMINAL_PREF_BUFFERLINES, TERMINAL_DEFAULT_BUFFERLINES); + store.setDefault(TERMINAL_PREF_TIMEOUT_SERIAL, TERMINAL_DEFAULT_TIMEOUT_SERIAL); + store.setDefault(TERMINAL_PREF_TIMEOUT_NETWORK, TERMINAL_DEFAULT_TIMEOUT_NETWORK); + } + + // Operations + + /** + * Returns the shared instance. + */ + public static TerminalPlugin getDefault() + { + return m_Default; + } + + /** + * Returns the workspace instance. + */ + public static IWorkspace getWorkspace() + { + return ResourcesPlugin.getWorkspace(); + } + + /** + * Returns the string from the plugin's resource bundle, or 'key' if not found. + */ + public static String getResourceString(String strKey) + { + ResourceBundle resourceBundle; + + resourceBundle = m_Default.getResourceBundle(); + + try + { + return resourceBundle.getString(strKey); + } + catch(MissingResourceException missingResourceException) + { + return strKey; + } + } + + /** + * + */ + public static boolean isLogInfoEnabled() + { + return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG_INFO); + } + + /** + * + */ + public static boolean isLogErrorEnabled() + { + return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG_ERROR); + } + + /** + * + */ + public static boolean isLogEnabled() + { + return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG); + } + + /** + * + */ + public static boolean isOptionEnabled(String strOption) + { + String strEnabled; + Boolean boolEnabled; + boolean bEnabled; + + strEnabled = Platform.getDebugOption(strOption); + if (strEnabled == null) + return false; + + boolEnabled = new Boolean(strEnabled); + bEnabled = boolEnabled.booleanValue(); + + return bEnabled; + } + + /** + * + */ + public TerminalProperties getTerminalProperties() + { + return m_Properties; + } + + /** + * Returns the plugin's resource bundle, + */ + public ResourceBundle getResourceBundle() + { + return m_ResourceBundle; + } + + /** + * + */ + protected void loadImageRegistry(ImageRegistry imageRegistry, + String strDir, + HashMap map) + throws MalformedURLException + { + URL url; + ImageDescriptor imageDescriptor; + Iterator keys; + String strKey; + String strFile; + + keys = map.keySet().iterator(); + + while(keys.hasNext()) + { + strKey = (String) keys.next(); + strFile = (String) map.get(strKey); + + if (strFile != null) + { + url = TerminalPlugin.getDefault().getBundle().getEntry(TERMINAL_IMAGE_DIR_ROOT + strDir + strFile); + imageDescriptor = ImageDescriptor.createFromURL(url); + imageRegistry.put(strKey,imageDescriptor); + } + } + } + + /** + * + */ + protected void setupPlugin() + { + setupData(); + setupLog(); + setupResources(); + } + + /** + * + */ + protected void setupData() + { + m_Properties = new TerminalProperties(); + } + + /** + * + */ + protected void setupLog() + { + } + + /** + * + */ + protected void setupResources() + { + Package pkg; + String strPkg; + String strBundle; + + pkg = TerminalPlugin.class.getPackage(); + strPkg = pkg.getName(); + strBundle = strPkg + ".PluginResources"; //$NON-NLS-1$ + + try + { + m_ResourceBundle = ResourceBundle.getBundle(strBundle); + } + catch(MissingResourceException missingResourceException) + { + m_ResourceBundle = null; + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java new file mode 100644 index 00000000000..4071b47f6d5 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java @@ -0,0 +1,265 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.IntegerFieldEditor; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class TerminalPreferencePage extends FieldEditorPreferencePage + implements IWorkbenchPreferencePage, + TerminalTarget, + TerminalConsts +{ + /** + * + */ + protected TerminalBooleanFieldEditor m_editorLimitOutput; + protected IntegerFieldEditor m_editorBufferSize; + protected IntegerFieldEditor m_editorSerialTimeout; + protected IntegerFieldEditor m_editorNetworkTimeout; + + /** + * + */ + public TerminalPreferencePage() + { + super(GRID); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // TerminalTarget interface + // + + /** + * + */ + public void execute(String strMsg,Object data) + { + if (strMsg.equals(ON_LIMITOUTPUT_SELECTED)) + { + onLimitOutputSelected(data); + } + else + { + } + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Message handlers + // + + /** + * + */ + protected void onLimitOutputSelected(Object data) + { + Button ctlButton; + Text ctlText; + Label ctlLabel; + boolean bEnabled; + + ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlText = m_editorBufferSize.getTextControl(getFieldEditorParent()); + ctlLabel = m_editorBufferSize.getLabelControl(getFieldEditorParent()); + bEnabled = ctlButton.getSelection(); + + ctlText.setEnabled(bEnabled); + ctlLabel.setEnabled(bEnabled); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // FieldEditorPreferencePage interface + // + + /** + * + */ + protected void createFieldEditors() + { + setupPage(); + } + + /** + * + */ + protected void initialize() + { + super.initialize(); + + execute(ON_LIMITOUTPUT_SELECTED,null); + } + + /** + * + */ + protected void performDefaults() + { + super.performDefaults(); + + execute(ON_LIMITOUTPUT_SELECTED,null); + } + + /** + * + */ + public void init(IWorkbench workbench) + { + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + protected void setupPage() + { + setupData(); + setupEditors(); + setupListeners(); + } + + /** + * + */ + protected void setupData() + { + TerminalPlugin plugin; + IPreferenceStore preferenceStore; + + plugin = TerminalPlugin.getDefault(); + preferenceStore = plugin.getPreferenceStore(); + setPreferenceStore(preferenceStore); + } + + /** + * + */ + protected void setupEditors() + { + m_editorLimitOutput = new TerminalBooleanFieldEditor(TERMINAL_PREF_LIMITOUTPUT, + TERMINAL_TEXT_LIMITOUTPUT, + getFieldEditorParent()); + m_editorBufferSize = new IntegerFieldEditor(TERMINAL_PREF_BUFFERLINES, + TERMINAL_TEXT_BUFFERLINES, + getFieldEditorParent()); + m_editorSerialTimeout = new IntegerFieldEditor(TERMINAL_PREF_TIMEOUT_SERIAL, + TERMINAL_TEXT_SERIALTIMEOUT, + getFieldEditorParent()); + m_editorNetworkTimeout = new IntegerFieldEditor(TERMINAL_PREF_TIMEOUT_NETWORK, + TERMINAL_TEXT_NETWORKTIMEOUT, + getFieldEditorParent()); + + m_editorBufferSize.setValidRange(0,Integer.MAX_VALUE); + m_editorSerialTimeout.setValidRange(0,Integer.MAX_VALUE); + m_editorNetworkTimeout.setValidRange(0,Integer.MAX_VALUE); + + addField(m_editorLimitOutput); + addField(m_editorBufferSize); + addField(m_editorSerialTimeout); + addField(m_editorNetworkTimeout); + } + + /** + * + */ + protected void setupListeners() + { + TerminalSelectionHandler selectionHandler; + Button ctlButton; + + selectionHandler = new TerminalSelectionHandler(); + ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlButton.addSelectionListener(selectionHandler); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Inner classes + // + + /** + * + */ + public class TerminalBooleanFieldEditor extends BooleanFieldEditor + { + /** + * + */ + public TerminalBooleanFieldEditor(String strName, + String strLabel, + Composite ctlParent) + { + super(strName,strLabel,ctlParent); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // BooleanFieldEditor interface + // + + /** + * + */ + public Button getChangeControl(Composite parent) + { + return super.getChangeControl(parent); + } + } + + + /** + * + */ + protected class TerminalSelectionHandler extends SelectionAdapter + { + /** + * + */ + protected TerminalSelectionHandler() + { + super(); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // SelectionAdapter interface + // + + /** + * + */ + public void widgetSelected(SelectionEvent event) + { + Object source; + Button ctlButton; + + source = event.getSource(); + ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); + + if (source == ctlButton) + { + execute(ON_LIMITOUTPUT_SELECTED,null); + } + } + + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java new file mode 100644 index 00000000000..54435d95ff0 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java @@ -0,0 +1,278 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.util.Collections; +import java.util.Enumeration; +import java.util.Vector; + +import javax.comm.CommPortIdentifier; + +public class TerminalProperties implements TerminalConsts +{ + protected TerminalNetworkPortMap m_NetworkPortMap; + protected Vector m_ConnTypeTable; + protected Vector m_SerialPortTable; + protected Vector m_BaudRateTable; + protected Vector m_DataBitsTable; + protected Vector m_StopBitsTable; + protected Vector m_ParityTable; + protected Vector m_FlowControlTable; + protected String m_strDefaultConnType; + protected String m_strDefaultSerialPort; + protected String m_strDefaultBaudRate; + protected String m_strDefaultDataBits; + protected String m_strDefaultStopBits; + protected String m_strDefaultParity; + protected String m_strDefaultFlowControl; + protected String m_strDefaultHost; + protected String m_strDefaultNetworkPort; + + /** + * + */ + public TerminalProperties() + { + super(); + + setupProperties(); + } + + //////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + public Vector getConnTypeTable() + { + return m_ConnTypeTable; + } + + /** + * + */ + public Vector getSerialPortTable() + { + return m_SerialPortTable; + } + + /** + * + */ + public Vector getBaudRateTable() + { + return m_BaudRateTable; + } + + /** + * + */ + public Vector getDataBitsTable() + { + return m_DataBitsTable; + } + + /** + * + */ + public Vector getStopBitsTable() + { + return m_StopBitsTable; + } + + /** + * + */ + public Vector getParityTable() + { + return m_ParityTable; + } + + /** + * + */ + public Vector getFlowControlTable() + { + return m_FlowControlTable; + } + + /** + * + */ + public TerminalNetworkPortMap getNetworkPortMap() + { + return m_NetworkPortMap; + } + + /** + * + */ + public String getDefaultConnType() + { + return m_strDefaultConnType; + } + + /** + * + */ + public String getDefaultSerialPort() + { + return m_strDefaultSerialPort; + } + + /** + * + */ + public String getDefaultBaudRate() + { + return m_strDefaultBaudRate; + } + + /** + * + */ + public String getDefaultDataBits() + { + return m_strDefaultDataBits; + } + + /** + * + */ + public String getDefaultStopBits() + { + return m_strDefaultStopBits; + } + + /** + * + */ + public String getDefaultParity() + { + return m_strDefaultParity; + } + + /** + * + */ + public String getDefaultFlowControl() + { + return m_strDefaultFlowControl; + } + + /** + * + */ + public String getDefaultHost() + { + return m_strDefaultHost; + } + + /** + * + */ + public String getDefaultNetworkPort() + { + return m_strDefaultNetworkPort; + } + + /** + * + */ + protected void setupProperties() + { + Enumeration portIdEnum; + CommPortIdentifier identifier; + String strName; + int nPortType; + + portIdEnum = CommPortIdentifier.getPortIdentifiers(); + m_NetworkPortMap = new TerminalNetworkPortMap(); + m_ConnTypeTable = new Vector(); + m_SerialPortTable = new Vector(); + m_BaudRateTable = new Vector(); + m_DataBitsTable = new Vector(); + m_StopBitsTable = new Vector(); + m_ParityTable = new Vector(); + m_FlowControlTable = new Vector(); + m_strDefaultConnType = ""; //$NON-NLS-1$ + m_strDefaultSerialPort = ""; //$NON-NLS-1$ + m_strDefaultBaudRate = ""; //$NON-NLS-1$ + m_strDefaultDataBits = ""; //$NON-NLS-1$ + m_strDefaultStopBits = ""; //$NON-NLS-1$ + m_strDefaultParity = ""; //$NON-NLS-1$ + m_strDefaultFlowControl = ""; //$NON-NLS-1$ + m_strDefaultHost = ""; //$NON-NLS-1$ + m_strDefaultNetworkPort = ""; //$NON-NLS-1$ + + m_ConnTypeTable.add(TERMINAL_CONNTYPE_SERIAL); + m_ConnTypeTable.add(TERMINAL_CONNTYPE_NETWORK); + + m_BaudRateTable.add("300"); //$NON-NLS-1$ + m_BaudRateTable.add("1200"); //$NON-NLS-1$ + m_BaudRateTable.add("2400"); //$NON-NLS-1$ + m_BaudRateTable.add("4800"); //$NON-NLS-1$ + m_BaudRateTable.add("9600"); //$NON-NLS-1$ + m_BaudRateTable.add("19200"); //$NON-NLS-1$ + m_BaudRateTable.add("38400"); //$NON-NLS-1$ + m_BaudRateTable.add("57600"); //$NON-NLS-1$ + m_BaudRateTable.add("115200"); //$NON-NLS-1$ + + m_DataBitsTable.add("5"); //$NON-NLS-1$ + m_DataBitsTable.add("6"); //$NON-NLS-1$ + m_DataBitsTable.add("7"); //$NON-NLS-1$ + m_DataBitsTable.add("8"); //$NON-NLS-1$ + + m_StopBitsTable.add("1"); //$NON-NLS-1$ + m_StopBitsTable.add("1_5"); //$NON-NLS-1$ + m_StopBitsTable.add("2"); //$NON-NLS-1$ + + m_ParityTable.add("None"); //$NON-NLS-1$ + m_ParityTable.add("Even"); //$NON-NLS-1$ + m_ParityTable.add("Odd"); //$NON-NLS-1$ + m_ParityTable.add("Mark"); //$NON-NLS-1$ + m_ParityTable.add("Space"); //$NON-NLS-1$ + + m_FlowControlTable.add("None"); //$NON-NLS-1$ + m_FlowControlTable.add("RTS/CTS"); //$NON-NLS-1$ + m_FlowControlTable.add("Xon/Xoff"); //$NON-NLS-1$ + + m_strDefaultNetworkPort = m_NetworkPortMap.getDefaultNetworkPort(); + m_strDefaultConnType = (String) m_ConnTypeTable.get(0); + m_strDefaultBaudRate = (String) m_BaudRateTable.get(4); + m_strDefaultDataBits = (String) m_DataBitsTable.get(3); + m_strDefaultStopBits = (String) m_StopBitsTable.get(0); + m_strDefaultParity = (String) m_ParityTable.get(0); + m_strDefaultFlowControl = (String) m_FlowControlTable.get(0); + m_strDefaultHost = ""; //$NON-NLS-1$ + + while(portIdEnum.hasMoreElements()) + { + identifier = (CommPortIdentifier)portIdEnum.nextElement(); + strName = identifier.getName(); + nPortType = identifier.getPortType(); + + if (nPortType == CommPortIdentifier.PORT_SERIAL) + m_SerialPortTable.addElement(strName); + } + + Collections.sort(m_SerialPortTable); + + if (!m_SerialPortTable.isEmpty()) + { + m_strDefaultSerialPort = (String) m_SerialPortTable.get(0); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java new file mode 100644 index 00000000000..516ec202843 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java @@ -0,0 +1,425 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import javax.comm.SerialPort; + +import org.eclipse.jface.dialogs.IDialogSettings; + +public class TerminalSettings + implements TerminalConsts +{ + protected String m_strConnType; + protected String m_strSerialPort; + protected String m_strBaudRate; + protected String m_strDataBits; + protected String m_strStopBits; + protected String m_strParity; + protected String m_strFlowControl; + protected String m_strHost; + protected String m_strNetworkPort; + + /** + * + */ + public TerminalSettings(String terminalPartName) + { + importSettings(terminalPartName); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + public String getConnType() + { + return m_strConnType; + } + + /** + * + */ + public void setConnType(String strConnType) + { + m_strConnType = strConnType; + } + + /** + * + */ + public String getSerialPort() + { + return m_strSerialPort; + } + + /** + * + */ + public void setSerialPort(String strSerialPort) + { + m_strSerialPort = strSerialPort; + } + + /** + * + */ + public String getBaudRate() + { + return m_strBaudRate; + } + + /** + * + */ + public int getBaudRateValue() + { + int nBaudRate; + + try + { + nBaudRate = Integer.parseInt(m_strBaudRate); + } + catch(NumberFormatException numberFormatException) + { + nBaudRate = 9600; + } + + return nBaudRate; + } + + /** + * + */ + public void setBaudRate(String strBaudRate) + { + m_strBaudRate = strBaudRate; + } + + /** + * + */ + public String getDataBits() + { + return m_strDataBits; + } + + /** + * + */ + public int getDataBitsValue() + { + if (m_strDataBits.equals("5")) //$NON-NLS-1$ + { + return SerialPort.DATABITS_5; + } + else if (m_strDataBits.equals("6")) //$NON-NLS-1$ + { + return SerialPort.DATABITS_6; + } + else if (m_strDataBits.equals("7")) //$NON-NLS-1$ + { + return SerialPort.DATABITS_7; + } + else // 8 + { + return SerialPort.DATABITS_8; + } + } + + /** + * + */ + public void setDataBits(String strDataBits) + { + m_strDataBits = strDataBits; + } + + /** + * + */ + public String getStopBits() + { + return m_strStopBits; + } + + /** + * + */ + public int getStopBitsValue() + { + if (m_strStopBits.equals("1_5")) //$NON-NLS-1$ + { + return SerialPort.STOPBITS_1_5; + } + else if (m_strStopBits.equals("2")) //$NON-NLS-1$ + { + return SerialPort.STOPBITS_2; + } + else // 1 + { + return SerialPort.STOPBITS_1; + } + } + + /** + * + */ + public void setStopBits(String strStopBits) + { + m_strStopBits = strStopBits; + } + + /** + * + */ + public String getParity() + { + return m_strParity; + } + + /** + * + */ + public int getParityValue() + { + if (m_strParity.equals("Even")) //$NON-NLS-1$ + { + return SerialPort.PARITY_EVEN; + } + else if (m_strParity.equals("Odd")) //$NON-NLS-1$ + { + return SerialPort.PARITY_ODD; + } + else if (m_strParity.equals("Mark")) //$NON-NLS-1$ + { + return SerialPort.PARITY_MARK; + } + else if (m_strParity.equals("Space")) //$NON-NLS-1$ + { + return SerialPort.PARITY_SPACE; + } + else // None + { + return SerialPort.PARITY_NONE; + } + } + + /** + * + */ + public void setParity(String strParity) + { + m_strParity = strParity; + } + + /** + * + */ + public String getFlowControl() + { + return m_strFlowControl; + } + + /** + * + */ + public int getFlowControlValue() + { + if (m_strFlowControl.equals("RTS/CTS")) //$NON-NLS-1$ + { + return SerialPort.FLOWCONTROL_RTSCTS_IN; + } + else if (m_strFlowControl.equals("Xon/Xoff")) //$NON-NLS-1$ + { + return SerialPort.FLOWCONTROL_XONXOFF_IN; + } + else // None + { + return SerialPort.FLOWCONTROL_NONE; + } + } + + /** + * + */ + public void setFlowControl(String strFlow) + { + m_strFlowControl = strFlow; + } + + /** + * + */ + public String getHost() + { + return m_strHost; + } + + /** + * + */ + public void setHost(String strHost) + { + m_strHost = strHost; + } + + /** + * + */ + public String getNetworkPort() + { + return m_strNetworkPort; + } + + /** + * + */ + public int getNetworkPortValue() + { + int nNetworkPort; + + try + { + nNetworkPort = Integer.parseInt(m_strNetworkPort); + } + catch(NumberFormatException numberFormatException) + { + nNetworkPort = 1313; + } + + return nNetworkPort; + } + + /** + * + */ + public void setNetworkPort(String strNetworkPort) + { + m_strNetworkPort = strNetworkPort; + } + + /** + * + */ + public void importSettings(String terminalPartName) + { + TerminalPlugin plugin; + TerminalProperties properties; + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + m_strConnType = importSetting(terminalPartName, "ConnType", //$NON-NLS-1$ + properties.getDefaultConnType()); + m_strSerialPort = importSetting(terminalPartName, "SerialPort", //$NON-NLS-1$ + properties.getDefaultSerialPort()); + m_strBaudRate = importSetting(terminalPartName, "BaudRate", //$NON-NLS-1$ + properties.getDefaultBaudRate()); + m_strDataBits = importSetting(terminalPartName, "DataBits", //$NON-NLS-1$ + properties.getDefaultDataBits()); + m_strStopBits = importSetting(terminalPartName, "StopBits", //$NON-NLS-1$ + properties.getDefaultStopBits()); + m_strParity = importSetting(terminalPartName, "Parity", //$NON-NLS-1$ + properties.getDefaultParity()); + m_strFlowControl = importSetting(terminalPartName, "FlowControl", //$NON-NLS-1$ + properties.getDefaultFlowControl()); + m_strHost = importSetting(terminalPartName, "Host", //$NON-NLS-1$ + properties.getDefaultHost()); + m_strNetworkPort = importSetting(terminalPartName, "NetworkPort", //$NON-NLS-1$ + properties.getDefaultNetworkPort()); + } + + /** + * + */ + public void exportSettings(String terminalPartName) + { + TerminalPlugin plugin; + TerminalProperties properties; + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + + exportSetting(terminalPartName, "ConnType", m_strConnType, //$NON-NLS-1$ + properties.getDefaultConnType()); + exportSetting(terminalPartName, "SerialPort", m_strSerialPort, //$NON-NLS-1$ + properties.getDefaultSerialPort()); + exportSetting(terminalPartName, "BaudRate", m_strBaudRate, //$NON-NLS-1$ + properties.getDefaultBaudRate()); + exportSetting(terminalPartName, "DataBits", m_strDataBits, //$NON-NLS-1$ + properties.getDefaultDataBits()); + exportSetting(terminalPartName, "StopBits", m_strStopBits, //$NON-NLS-1$ + properties.getDefaultStopBits()); + exportSetting(terminalPartName, "Parity", m_strParity, //$NON-NLS-1$ + properties.getDefaultParity()); + exportSetting(terminalPartName, "FlowControl", m_strFlowControl, //$NON-NLS-1$ + properties.getDefaultFlowControl()); + exportSetting(terminalPartName, "Host", m_strHost, //$NON-NLS-1$ + properties.getDefaultHost()); + exportSetting(terminalPartName, "NetworkPort", m_strNetworkPort, //$NON-NLS-1$ + properties.getDefaultNetworkPort()); + } + + /** + * + */ + protected String importSetting(String terminalPartName, String strName, String strDefault) + { + TerminalPlugin plugin; + IDialogSettings settings; + String strPrefix; + String strKey; + String strValue; + + plugin = TerminalPlugin.getDefault(); + settings = plugin.getDialogSettings(); + strPrefix = TerminalSettings.class.getName() + "."; //$NON-NLS-1$ + strKey = strPrefix + terminalPartName + "." + strName; //$NON-NLS-1$ + strValue = settings.get(strKey); + + if ((strValue == null) || + (strValue.equals(""))) //$NON-NLS-1$ + return strDefault; + + return strValue; + } + + /** + * + */ + protected void exportSetting(String terminalPartName, String strName, String strValue, + String strDefault) + { + TerminalPlugin plugin; + IDialogSettings settings; + String strPrefix; + String strKey; + + plugin = TerminalPlugin.getDefault(); + settings = plugin.getDialogSettings(); + strPrefix = TerminalSettings.class.getName() + "."; //$NON-NLS-1$ + strKey = strPrefix + terminalPartName + "." + strName; //$NON-NLS-1$ + + if ((strValue == null) || + (strValue.equals(""))) //$NON-NLS-1$ + { + settings.put(strKey,strDefault); + } + else + { + settings.put(strKey,strValue); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java new file mode 100644 index 00000000000..88d00c2ea9e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java @@ -0,0 +1,911 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import java.util.Collections; +import java.util.Enumeration; +import java.util.Vector; + +import javax.comm.CommPortIdentifier; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; + + +public class TerminalSettingsDlg extends org.eclipse.jface.dialogs.Dialog + implements TerminalTarget, + TerminalConsts +{ + protected static final String m_strHelpID = "hid_db_terminal"; //$NON-NLS-1$ + + protected Combo m_ctlConnTypeCombo; + protected Combo m_ctlSerialPortCombo; + protected Combo m_ctlBaudRateCombo; + protected Combo m_ctlDataBitsCombo; + protected Combo m_ctlStopBitsCombo; + protected Combo m_ctlParityCombo; + protected Combo m_ctlFlowControlCombo; + protected Text m_ctlHostText; + protected Combo m_ctlNetworkPortCombo; + protected Group m_wndSettingsGroup; + protected Composite m_wndSettingsPanel; + protected TerminalSettings m_TerminalSettings; + protected String m_strConnType; + protected int m_nStatus; + + /** + * + */ + public TerminalSettingsDlg(Shell wndParent) + { + super(wndParent); + + m_nStatus = TERMINAL_ID_CANCEL; + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // TerminalTarget interface + // + + /** + * + */ + public void execute(String strMsg,Object data) + { + if (strMsg.equals(ON_CONNTYPE_SELECTED)) + { + onConnTypeSelected(data); + } + else if (strMsg.equals(ON_OK)) + { + onOk(data); + } + else if (strMsg.equals(ON_CANCEL)) + { + onCancel(data); + } + else if (strMsg.equals(ON_HELP)) + { + onHelp(data); + } + else + { + } + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Message handlers + // + + /** + * + */ + protected void onConnTypeSelected(Object data) + { + String strConnType; + + strConnType = m_ctlConnTypeCombo.getText(); + if (m_strConnType.equals(strConnType)) + return; + + m_strConnType = strConnType; + + if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) + { + setupSerialPanel(); + } + else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) + { + setupNetworkPanel(); + } + else + { + setupConnTypeNotSupportedPanel(); + } + } + + /** + * + */ + protected void onOk(Object data) + { + if (!validateSettings()) + return; + + saveSettings(); + m_nStatus = TERMINAL_ID_CONNECT; + } + + /** + * + */ + protected void onCancel(Object data) + { + m_nStatus = TERMINAL_ID_CANCEL; + } + + /** + * + */ + protected void onHelp(Object data) + { + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Dialog interface + // + + /** + * + */ + protected void okPressed() + { + execute(ON_OK,null); + super.okPressed(); + } + + /** + * + */ + protected void cancelPressed() + { + execute(ON_CANCEL,null); + super.cancelPressed(); + + } + + /** + * + */ + public int open() + { + int nShellStyle; + + nShellStyle = getShellStyle(); + nShellStyle = nShellStyle|SWT.RESIZE; + setShellStyle(nShellStyle); + + return super.open(); + } + + /** + * + */ + protected void configureShell(Shell newShell) + { + super.configureShell(newShell); + + newShell.setText(TERMINAL_TEXT_TERMINALSETTINGS); + } + + /** + * + */ + protected Control createDialogArea(Composite parent) + { + Composite ctlComposite; + + ctlComposite = (Composite)super.createDialogArea(parent); + createDialog(ctlComposite); + + return ctlComposite; + } + + /** + * + */ + protected void initializeBounds() + { + setConnType(TERMINAL_CONNTYPE_SERIAL); + execute(ON_CONNTYPE_SELECTED,null); + super.initializeBounds(); + setConnType(m_TerminalSettings.getConnType()); + execute(ON_CONNTYPE_SELECTED,null); + } + + //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // Operations + // + + /** + * + */ + public void loadSettings(TerminalSettings terminalSettings) + { + m_TerminalSettings = terminalSettings; + } + + /** + * + */ + public void saveSettings() + { + String strConnType; + + strConnType = getConnType(); + + if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) + { + m_TerminalSettings.setConnType(getConnType()); + m_TerminalSettings.setSerialPort(getSerialPort()); + m_TerminalSettings.setBaudRate(getBaudRate()); + m_TerminalSettings.setDataBits(getDataBits()); + m_TerminalSettings.setStopBits(getStopBits()); + m_TerminalSettings.setParity(getParity()); + m_TerminalSettings.setFlowControl(getFlowControl()); + } + else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) + { + m_TerminalSettings.setConnType(getConnType()); + m_TerminalSettings.setHost(getHost()); + m_TerminalSettings.setNetworkPort(getNetworkPort()); + } + } + + /** + * + */ + public int getStatus() + { + return m_nStatus; + } + + /** + * + */ + protected void setConnType(String strConnType) + { + int nIndex; + + nIndex = m_ctlConnTypeCombo.indexOf(strConnType); + if (nIndex == -1) + return; + + m_ctlConnTypeCombo.select(nIndex); + } + + /** + * + */ + protected void setSerialPort(String strSerialPort) + { + int nIndex; + + nIndex = m_ctlSerialPortCombo.indexOf(strSerialPort); + if (nIndex == -1) + return; + + m_ctlSerialPortCombo.select(nIndex); + } + + /** + * + */ + protected void setBaudRate(String strBaudRate) + { + int nIndex; + + nIndex = m_ctlBaudRateCombo.indexOf(strBaudRate); + if (nIndex == -1) + return; + + m_ctlBaudRateCombo.select(nIndex); + } + + /** + * + */ + protected void setDataBits(String strDataBits) + { + int nIndex; + + nIndex = m_ctlDataBitsCombo.indexOf(strDataBits); + if (nIndex == -1) + return; + + m_ctlDataBitsCombo.select(nIndex); + } + + /** + * + */ + protected void setStopBits(String strStopBits) + { + int nIndex; + + nIndex = m_ctlStopBitsCombo.indexOf(strStopBits); + if (nIndex == -1) + return; + + m_ctlStopBitsCombo.select(nIndex); + } + + /** + * + */ + protected void setParity(String strParity) + { + int nIndex; + + nIndex = m_ctlParityCombo.indexOf(strParity); + if (nIndex == -1) + return; + + m_ctlParityCombo.select(nIndex); + } + + /** + * + */ + protected void setFlowIn(String strFlowIn) + { + int nIndex; + + nIndex = m_ctlFlowControlCombo.indexOf(strFlowIn); + if (nIndex == -1) + return; + + m_ctlFlowControlCombo.select(nIndex); + } + + /** + * + */ + protected void setHost(String strHost) + { + m_ctlHostText.setText(strHost); + } + + /** + * + */ + protected void setNetworkPort(String strNetworkPort) + { + TerminalPlugin plugin; + TerminalProperties properties; + TerminalNetworkPortMap networkPortMap; + String strPortName; + int nIndex; + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + networkPortMap = properties.getNetworkPortMap(); + strPortName = networkPortMap.findPortName(strNetworkPort); + nIndex = m_ctlNetworkPortCombo.indexOf(strPortName); + + if (nIndex == -1) + { + m_ctlNetworkPortCombo.setText(strNetworkPort); + } + else + { + m_ctlNetworkPortCombo.select(nIndex); + } + } + + /** + * + */ + protected String getConnType() + { + int nIndex; + + nIndex = m_ctlConnTypeCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlConnTypeCombo.getItem(nIndex); + } + + /** + * + */ + protected String getSerialPort() + { + int nIndex; + + nIndex = m_ctlSerialPortCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlSerialPortCombo.getItem(nIndex); + } + + /** + * + */ + protected String getBaudRate() + { + int nIndex; + + nIndex = m_ctlBaudRateCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlBaudRateCombo.getItem(nIndex); + } + + /** + * + */ + protected String getDataBits() + { + int nIndex; + + nIndex = m_ctlDataBitsCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlDataBitsCombo.getItem(nIndex); + } + + /** + * + */ + protected String getStopBits() + { + int nIndex; + + nIndex = m_ctlStopBitsCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlStopBitsCombo.getItem(nIndex); + } + + /** + * + */ + protected String getParity() + { + int nIndex; + + nIndex = m_ctlParityCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlParityCombo.getItem(nIndex); + } + + /** + * + */ + protected String getFlowControl() + { + int nIndex; + + nIndex = m_ctlFlowControlCombo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return m_ctlFlowControlCombo.getItem(nIndex); + } + + /** + * + */ + protected String getHost() + { + return m_ctlHostText.getText(); + } + + /** + * + */ + protected String getNetworkPort() + { + TerminalPlugin plugin; + TerminalProperties properties; + TerminalNetworkPortMap networkPortMap; + String strPortName; + String strPort; + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + networkPortMap = properties.getNetworkPortMap(); + strPortName = m_ctlNetworkPortCombo.getText(); + strPort = networkPortMap.findPort(strPortName); + + return strPort; + } + + /** + * + */ + protected boolean validateSettings() + { + return true; + } + + /** + * + */ + protected void createDialog(Composite ctlComposite) + { + setupData(); + setupPanel(ctlComposite); + setupListeners(); + } + + /** + * + */ + protected void setupData() + { + m_strConnType = ""; //$NON-NLS-1$ + } + + /** + * + */ + protected void setupPanel(Composite wndParent) + { + setupConnTypePanel(wndParent); + setupSettingsGroup(wndParent); + } + + /** + * + */ + protected void setupConnTypePanel(Composite wndParent) + { + Group wndGroup; + GridLayout gridLayout; + GridData gridData; + + wndGroup = new Group(wndParent,SWT.NONE); + gridLayout = new GridLayout(1,true); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(gridData); + wndGroup.setText(TERMINAL_TEXT_CONNECTIONTYPE + ":"); //$NON-NLS-1$ + + m_ctlConnTypeCombo = new Combo(wndGroup,SWT.DROP_DOWN|SWT.READ_ONLY); + gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.widthHint = 200; + m_ctlConnTypeCombo.setLayoutData(gridData); + + // Load controls + m_ctlConnTypeCombo.add(TERMINAL_CONNTYPE_SERIAL); + m_ctlConnTypeCombo.add(TERMINAL_CONNTYPE_NETWORK); + } + + /** + * + */ + protected void setupSettingsGroup(Composite parent) + { + m_wndSettingsGroup = new Group(parent,SWT.NONE); + GridLayout gridLayout = new GridLayout(); + GridData gridData = new GridData(GridData.FILL_BOTH); + + m_wndSettingsGroup.setText(TERMINAL_TEXT_SETTINGS + ":"); //$NON-NLS-1$ + m_wndSettingsGroup.setLayout(gridLayout); + m_wndSettingsGroup.setLayoutData(gridData); + } + + /** + * + */ + protected void setupSerialPanel() + { + TerminalPlugin plugin; + TerminalProperties properties; + Label ctlLabel; + GridLayout gridLayout; + GridData gridData; + Vector table; + + if (m_wndSettingsPanel != null) + { + m_wndSettingsPanel.setVisible(false); + m_wndSettingsPanel.dispose(); + } + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); + gridLayout = new GridLayout(2,false); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + m_wndSettingsPanel.setLayout(gridLayout); + m_wndSettingsPanel.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_PORT + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlSerialPortCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlSerialPortCombo.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_BAUDRATE + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlBaudRateCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlBaudRateCombo.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_DATABITS + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlDataBitsCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlDataBitsCombo.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_STOPBITS + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlStopBitsCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlStopBitsCombo.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_PARITY + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlParityCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlParityCombo.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_FLOWCONTROL + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlFlowControlCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); + m_ctlFlowControlCombo.setLayoutData(gridData); + + // Load controls + table = properties.getSerialPortTable(); + loadCombo(m_ctlSerialPortCombo,table); + + table = properties.getBaudRateTable(); + loadCombo(m_ctlBaudRateCombo,table); + + table = properties.getDataBitsTable(); + loadCombo(m_ctlDataBitsCombo,table); + + table = properties.getStopBitsTable(); + loadCombo(m_ctlStopBitsCombo,table); + + table = properties.getParityTable(); + loadCombo(m_ctlParityCombo,table); + + table = properties.getFlowControlTable(); + loadCombo(m_ctlFlowControlCombo,table); + + setSerialPort(m_TerminalSettings.getSerialPort()); + setBaudRate(m_TerminalSettings.getBaudRate()); + setDataBits(m_TerminalSettings.getDataBits()); + setStopBits(m_TerminalSettings.getStopBits()); + setParity(m_TerminalSettings.getParity()); + setFlowIn(m_TerminalSettings.getFlowControl()); + + m_wndSettingsGroup.layout(true); + } + + /** + * + */ + protected void setupNetworkPanel() + { + TerminalPlugin plugin; + TerminalProperties properties; + TerminalNetworkPortMap networkPortMap; + Label ctlLabel; + GridLayout gridLayout; + GridData gridData; + Vector table; + + if (m_wndSettingsPanel != null) + { + m_wndSettingsPanel.setVisible(false); + m_wndSettingsPanel.dispose(); + } + + plugin = TerminalPlugin.getDefault(); + properties = plugin.getTerminalProperties(); + m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); + gridLayout = new GridLayout(2,false); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + m_wndSettingsPanel.setLayout(gridLayout); + m_wndSettingsPanel.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_HOST + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlHostText = new Text(m_wndSettingsPanel,SWT.BORDER); + m_ctlHostText.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); + ctlLabel.setText(TERMINAL_TEXT_PORT + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + m_ctlNetworkPortCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN); + + m_ctlNetworkPortCombo.setLayoutData(gridData); + + networkPortMap = properties.getNetworkPortMap(); + table = networkPortMap.getNameTable(); + Collections.sort(table); + loadCombo(m_ctlNetworkPortCombo,table); + + setHost(m_TerminalSettings.getHost()); + setNetworkPort(m_TerminalSettings.getNetworkPort()); + + m_wndSettingsGroup.layout(true); + } + + /** + * + */ + protected void setupConnTypeNotSupportedPanel() + { + MessageDialog dlgError; + Shell parentShell; + Image imgTitle; + String labels[]; + String strTitle; + String strMessage; + int nImage; + int nIndex; + + if (m_wndSettingsPanel != null) + { + m_wndSettingsPanel.setVisible(false); + m_wndSettingsPanel.dispose(); + } + + m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); + parentShell = getShell(); + strTitle = TERMINAL_MSG_ERROR_5; + imgTitle = null; + strMessage = TERMINAL_MSG_ERROR_6; + nImage = SWT.ICON_ERROR; + labels = new String[]{"OK"}; //$NON-NLS-1$ + nIndex = 0; + dlgError = new MessageDialog(parentShell, + strTitle, + imgTitle, + strMessage, + nImage, + labels, + nIndex); + + m_wndSettingsGroup.layout(true); + dlgError.open(); + } + + /** + * + */ + protected void setupListeners() + { + TerminalSettingsSelectionHandler selectionHandler; + + selectionHandler = new TerminalSettingsSelectionHandler(); + m_ctlConnTypeCombo.addSelectionListener(selectionHandler); + } + + /** + * + */ + protected void loadCombo(Combo ctlCombo,Vector table) + { + String strData; + + for(int i=0;i + * + * @author Fran Litterio + * @author Chris Thew + */ +class TerminalText extends Thread implements ControlListener +{ + /** This is a character processing state: Initial state. */ + protected static final int ANSISTATE_INITIAL = 0; + + /** This is a character processing state: We've seen an escape character. */ + protected static final int ANSISTATE_ESCAPE = 1; + + /** + * This is a character processing state: We've seen a '[' after an escape + * character. Expecting a parameter character or a command character next. + */ + protected static final int ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND = 2; + + /** + * This is a character processing state: We've seen a ']' after an escape + * character. We are now expecting an operating system command that reprograms an + * intelligent terminal. + */ + protected static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; + + /** + * This field holds the current state of the Finite State Automaton (FSA) that + * recognizes ANSI escape sequences. + * + * @see #processNewText() + */ + protected int ansiState = ANSISTATE_INITIAL; + + /** + * This field holds a reference to the {@link TerminalCtrl} object that + * instantiates this class. + */ + protected TerminalCtrl terminal; + + /** + * This field holds a reference to the StyledText widget that is used to display + * text to the user. + */ + protected StyledText text; + + /** + * This field holds the characters received from the remote host before they are + * displayed to the user. Method {@link #processNewText()} scans this text + * looking for ANSI control characters and escape sequences. + */ + protected StringBuffer newText; + + /** + * This field holds the index of the current character while the text stored in + * field {@link #newText} is being processed. + */ + protected int characterIndex = 0; + + /** + * This field holds the width of a character (in pixels) for the font used to + * display text. + */ + protected int characterPixelWidth = 0; + + /** + * This field holds the width of the terminal screen in columns. + */ + protected int widthInColumns = 0; + + /** + * This field holds the height of the terminal screen in visible lines. The + * StyledText widget can contain more lines than are visible. + */ + protected int heightInLines = 0; + + /** + * This field holds the number of the column in which the cursor is logically + * positioned. The leftmost column on the screen is column 0, and column numbers + * increase to the right. The maximum value of this field is {@link + * #widthInColumns} - 1. We track the cursor column using this field to avoid + * having to recompute it repeatly using StyledText method calls.

+ * + * The StyledText widget that displays text has a vertical bar (called the "caret") + * that appears _between_ character cells, but ANSI terminals have the concept of a + * cursor that appears _in_ a character cell, so we need a convention for which + * character cell the cursor logically occupies when the caret is physically + * between two cells. The convention used in this class is that the cursor is + * logically in column N when the caret is physically positioned immediately to the + * _left_ of column N.

+ * + * When cursorColumn is N, the next character output to the terminal appears in + * column N. When a character is output to the rightmost column on a given line + * (column widthInColumns - 1), the cursor moves to column 0 on the next line after + * the character is drawn (this is how line wrapping is implemented). If the + * cursor is in the bottommost line when line wrapping occurs, the topmost visible + * line is scrolled off the top edge of the screen.

+ */ + protected int cursorColumn = 0; + + /** + * This field holds the caret offset when we last moved it or wrote text to the + * terminal. The reason we need to remember this value is because, unlike with a + * normal terminal emulator, the user can move the caret by clicking anywhere in + * the terminal view. In a normal terminal emulator, the cursor only moves as the + * result of character output (i.e., escape sequences or normal characters). We + * use the value stored in this field to restore the position of the caret + * immediately before processing each chunk of output from the remote endpoint. + */ + protected int caretOffset = 0; + + /** + * This field hold the saved absolute line number of the cursor when processing the + * "ESC 7" and "ESC 8" command sequences. + */ + protected int savedCursorLine = 0; + + /** + * This field hold the saved column number of the cursor when processing the "ESC + * 7" and "ESC 8" command sequences. + */ + protected int savedCursorColumn = 0; + + /** + * This field holds an array of StringBuffer objects, each of which is one + * parameter from the current ANSI escape sequence. For example, when parsing the + * escape sequence "\e[20;10H", this array holds the strings "20" and "10". + */ + protected StringBuffer[] ansiParameters = new StringBuffer[16]; + + /** + * This field holds the OS-specific command found in an escape sequence of the form + * "\e]...\u0007". + */ + protected StringBuffer ansiOsCommand = new StringBuffer(128); + + /** + * This field holds the index of the next unused element of the array stored in + * field {@link #ansiParameters}. + */ + protected int nextAnsiParameter = 0; + + /** + * This field holds the Color object representing the current foreground color as + * set by the ANSI escape sequence "\e[m". + */ + protected Color currentForegroundColor; + + /** + * This field holds the Color object representing the current background color as + * set by the ANSI escape sequence "\e[m". + */ + protected Color currentBackgroundColor; + + /** + * This field holds an integer representing the current font style as set by the + * ANSI escape sequence "\e[m". + */ + protected int currentFontStyle = SWT.NORMAL; + + /** + * This field is true if we are currently outputing text in reverse video mode, + * false otherwise. + */ + protected boolean reverseVideo = false; + + /** + * This field holds the time (in milliseconds) of the previous call to method + * {@link #SetNewText()}. + */ + static long LastNewOutputTime = 0; + + /** + * Color object representing the color black. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color BLACK = new Color(Display.getCurrent(), 0, 0, 0); + + /** + * Color object representing the color red. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color RED = new Color(Display.getCurrent(), 255, 0, 0); + + /** + * Color object representing the color green. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color GREEN = new Color(Display.getCurrent(), 0, 255, 0); + + /** + * Color object representing the color yellow. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color YELLOW = new Color(Display.getCurrent(), 255, 255, 0); + + /** + * Color object representing the color blue. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color BLUE = new Color(Display.getCurrent(), 0, 0, 255); + + /** + * Color object representing the color magenta. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in method + * {@link #dispose()}. + */ + protected final Color MAGENTA = new Color(Display.getCurrent(), 255, 0, 255); + + /** + * Color object representing the color cyan. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color CYAN = new Color(Display.getCurrent(), 0, 255, 255); + + /** + * Color object representing the color white. The Color class requires us to call + * dispose() on this object when we no longer need it. We do that in method {@link + * #dispose()}. + */ + protected final Color WHITE = new Color(Display.getCurrent(), 255, 255, 255); + + /** + * The constructor. + */ + public TerminalText(TerminalCtrl terminal) + { + super(); + + Logger.log("entered"); //$NON-NLS-1$ + + this.terminal = terminal; + + for (int i = 0; i < ansiParameters.length; ++i) + { + ansiParameters[i] = new StringBuffer(); + } + } + + /** + * This method performs clean up when this TerminalText object is no longer + * needed. After calling this method, no other method on this object should be + * called. + */ + public void dispose() + { + Logger.log("entered"); //$NON-NLS-1$ + + // Call dispose() on the Color objects we created. + + BLACK.dispose(); + RED.dispose(); + GREEN.dispose(); + YELLOW.dispose(); + BLUE.dispose(); + MAGENTA.dispose(); + CYAN.dispose(); + WHITE.dispose(); + } + + /** + * This method is required by interface ControlListener. It allows us to know when + * the StyledText widget is moved. + */ + public void controlMoved(ControlEvent event) + { + Logger.log("entered"); //$NON-NLS-1$ + // Empty. + } + + /** + * This method is required by interface ControlListener. It allows us to know when + * the StyledText widget is resized. This method must be synchronized to prevent + * it from executing at the same time as run(), which displays new text. We can't + * have the fields that represent the dimensions of the terminal changing while we + * are rendering text. + */ + public synchronized void controlResized(ControlEvent event) + { + Logger.log("entered"); //$NON-NLS-1$ + adjustTerminalDimensions(); + } + + /** + * This method sets field {@link #newText} to a new value. This method must + * not execute at the same time as methods {@link #run()} and {@link + * #clearTerminal()}.

+ * + * IMPORTANT: This method must be called in strict alternation with method + * {@link #run()}.

+ * + * @param newBuffer The new buffer containing characters received from the + * remote host. + */ + public synchronized void setNewText(StringBuffer newBuffer) + { + Logger.log("new text: '" + newBuffer + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + newText = newBuffer; + + // When continuous output is being processed by the Terminal view code, it + // consumes nearly 100% of the CPU. This fixes that. If this method is called + // too frequently, we explicitly sleep for a short time so that the thread + // executing this function (which is the thread reading from the socket or + // serial port) doesn't consume 100% of the CPU. Without this code, the + // Workbench GUI is practically hung when there is continuous output in the + // Terminal view. + + long CurrentTime = System.currentTimeMillis(); + + if (CurrentTime - LastNewOutputTime < 250 && newBuffer.length() > 10) + { + try + { + Thread.sleep(50); + } + catch (InterruptedException ex) + { + // Ignore. + } + } + + LastNewOutputTime = CurrentTime; + } + + /** + * This method erases all text from the Terminal view. This method is called when + * the user chooses "Clear all" from the Terminal view context menu, so we need to + * serialize this method with methods {@link #run()} and {@link + * #setNewText(StringBuffer)}. + */ + public synchronized void clearTerminal() + { + Logger.log("entered"); //$NON-NLS-1$ + text.setText(""); //$NON-NLS-1$ + cursorColumn = 0; + } + + /** + * This method is called when the user changes the Terminal view's font. We + * attempt to recompute the pixel width of the new font's characters and fix the + * terminal's dimensions. This method must be synchronized to prevent it from + * executing at the same time as run(), which displays new text. We can't have the + * fields that represent the dimensions of the terminal changing while we are + * rendering text. + */ + public synchronized void fontChanged() + { + Logger.log("entered"); //$NON-NLS-1$ + + characterPixelWidth = 0; + + if (text != null) + adjustTerminalDimensions(); + } + + /** + * This method executes in the Display thread to process data received from the + * remote host by classes {@link TelnetConnection} and {@link + * TerminalSerialPortHandler}. This method must not execute at the same time as + * methods {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}.

+ * + * IMPORTANT: This method must be called in strict alternation with method + * {@link #setNewText(StringBuffer)}.

+ */ + public synchronized void run() + { + Logger.log("entered"); //$NON-NLS-1$ + + try + { + if (text == null) + { + // We defer initialization of these fields until execution reaches + // here, because the StyledText widget doesn't exist when this class is + // first instantiated. + + text = terminal.getTextWidget(); + + // Register this class instance as a ControlListener so we can learn + // when the StyledText widget is resized. + + text.addControlListener(this); + + currentForegroundColor = text.getForeground(); + currentBackgroundColor = text.getBackground(); + currentFontStyle = SWT.NORMAL; + reverseVideo = false; + } + + // This method can be called just after the user closes the view, so we + // make sure not to cause a widget-disposed exception. + + if (text != null && text.isDisposed()) + return; + + // If the status bar is showing "OPENED", change it to "CONNECTED". + + if (terminal.isOpened()) + { + terminal.setOpened(false); + terminal.execute(TerminalMsg.ON_TERMINAL_STATUS, null); + } + + // Find the width and height of the terminal, and resize it to display an + // integral number of lines and columns. + + adjustTerminalDimensions(); + + // Restore the caret offset, process and display the new text, then save + // the caret offset. See the documentation for field caretOffset for + // details. + + // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? + + text.setCaretOffset(caretOffset); + + processNewText(); + + caretOffset = text.getCaretOffset(); + } + catch (Exception ex) + { + Logger.logException(ex); + } + } + + /** + * This method scans the newly received text, processing ANSI control characters + * and escape sequences and displaying normal text. + */ + protected void processNewText() + { + Logger.log("entered"); //$NON-NLS-1$ + + // Stop the StyledText widget from redrawing while we manipulate its contents. + // This helps display performance. + + text.setRedraw(false); + + // Scan the newly received text. + + characterIndex = 0; + + while (characterIndex < newText.length()) + { + char character = newText.charAt(characterIndex); + + switch (ansiState) + { + case ANSISTATE_INITIAL: + switch (character) + { + case '\u0000': + break; // NUL character. Ignore it. + + case '\u0007': + processBEL(); // BEL (Ctrl-G) + break; + + case '\b': + processBackspace(); // Backspace + break; + + case '\t': + processTab(); // Tab. + break; + + case '\n': + processNewline(); // Newline (Ctrl-J) + break; + + case '\r': + processCarriageReturn(); // Carriage Return (Ctrl-M) + break; + + case '\u001b': + ansiState = ANSISTATE_ESCAPE; // Escape. + break; + + default: + processNonControlCharacters(); + break; + } + break; + + case ANSISTATE_ESCAPE: + // We've seen an escape character. Here, we process the character + // immediately following the escape. + + switch (character) + { + case '[': + ansiState = ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND; + nextAnsiParameter = 0; + + // Erase the parameter strings in preparation for optional + // parameter characters. + + for (int i = 0; i < ansiParameters.length; ++i) + { + ansiParameters[i].delete(0, ansiParameters[i].length()); + } + break; + + case ']': + ansiState = ANSISTATE_EXPECTING_OS_COMMAND; + ansiOsCommand.delete(0, ansiOsCommand.length()); + break; + + case '7': + // Save cursor position and character attributes + + ansiState = ANSISTATE_INITIAL; + savedCursorLine = absoluteCursorLine(); + savedCursorColumn = cursorColumn; + break; + + case '8': + // Restore cursor and attributes to previously saved position + + ansiState = ANSISTATE_INITIAL; + moveCursor(savedCursorLine, savedCursorColumn); + break; + + default: + Logger.log("Unsupported escape sequence: escape '" + character + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + ansiState = ANSISTATE_INITIAL; + break; + } + break; + + case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: + // Parameters can appear after the '[' in an escape sequence, but they + // are optional. + + if (character == '@' || + (character >= 'A' && character <= 'Z') || + (character >= 'a' && character <= 'z')) + { + ansiState = ANSISTATE_INITIAL; + processAnsiCommandCharacter(character); + } + else + { + processAnsiParameterCharacter(character); + } + break; + + case ANSISTATE_EXPECTING_OS_COMMAND: + // A BEL (\u0007) character marks the end of the OSC sequence. + + if (character == '\u0007') + { + ansiState = ANSISTATE_INITIAL; + processAnsiOsCommand(); + } + else + { + ansiOsCommand.append(character); + } + break; + + default: + // This should never happen! If it does happen, it means there is a + // bug in the FSA. For robustness, we return to the initial state. + + Logger.log("INVALID ANSI FSA STATE: " + ansiState); //$NON-NLS-1$ + ansiState = ANSISTATE_INITIAL; + assert false; + break; + } + + ++characterIndex; + } + + // Allow the StyledText widget to redraw itself. + + text.setRedraw(true); + } + + /** + * This method is called when we have parsed an OS Command escape sequence. The + * only one we support is "\e]0;...\u0007", which sets the terminal title. + */ + protected void processAnsiOsCommand() + { + if (ansiOsCommand.charAt(0) != '0' || ansiOsCommand.charAt(1) != ';') + { + Logger.log("Ignoring unsupported ANSI OSC sequence: '" + ansiOsCommand + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + return; + } + + terminal.execute(TerminalMsg.ON_TERMINAL_STATUS, ansiOsCommand.substring(2)); + } + + /** + * This method dispatches control to various processing methods based on the + * command character found in the most recently received ANSI escape sequence. + * This method only handles command characters that follow the ANSI standard + * Control Sequence Introducer (CSI), which is "\e[...", where "..." is an optional + * ';'-separated sequence of numeric parameters.

+ */ + protected void processAnsiCommandCharacter(char ansiCommandCharacter) + { + // If the width or height of the terminal is ridiculously small (one line or + // column or less), don't even try to process the escape sequence. This avoids + // throwing an exception (SPR 107450). The display will be messed up, but what + // did you user expect by making the terminal so small? + + if (heightInLines <= 1 || widthInColumns <= 1) + return; + + switch (ansiCommandCharacter) + { + case '@': + // Insert character(s). + processAnsiCommand_atsign(); + break; + + case 'A': + // Move cursor up N lines (default 1). + processAnsiCommand_A(); + break; + + case 'B': + // Move cursor down N lines (default 1). + processAnsiCommand_B(); + break; + + case 'C': + // Move cursor forward N columns (default 1). + processAnsiCommand_C(); + break; + + case 'D': + // Move cursor backward N columns (default 1). + processAnsiCommand_D(); + break; + + case 'E': + // Move cursor to first column of Nth next line (default 1). + processAnsiCommand_E(); + break; + + case 'F': + // Move cursor to first column of Nth previous line (default 1). + processAnsiCommand_F(); + break; + + case 'G': + // Move to column N of current line (default 1). + processAnsiCommand_G(); + break; + + case 'H': + // Set cursor Position. + processAnsiCommand_H(); + break; + + case 'J': + // Erase part or all of display. Cursor does not move. + processAnsiCommand_J(); + break; + + case 'K': + // Erase in line (cursor does not move). + processAnsiCommand_K(); + break; + + case 'L': + // Insert line(s) (current line moves down). + processAnsiCommand_L(); + break; + + case 'M': + // Delete line(s). + processAnsiCommand_M(); + break; + + case 'm': + // Set Graphics Rendition (SGR). + processAnsiCommand_m(); + break; + + case 'n': + // Device Status Report (DSR). + processAnsiCommand_n(); + break; + + case 'P': + // Delete character(s). + processAnsiCommand_P(); + break; + + case 'S': + // Scroll up. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'T': + // Scroll down. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'X': + // Erase character. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'Z': + // Cursor back tab. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + default: + Logger.log("Ignoring unsupported ANSI command character: '" + //$NON-NLS-1$ + ansiCommandCharacter + "'"); //$NON-NLS-1$ + break; + } + } + + /** + * This method makes room for N characters on the current line at the cursor + * position. Text under the cursor moves right without wrapping at the end of hte + * line. + */ + protected void processAnsiCommand_atsign() + { + int charactersToInsert = getAnsiParameter(0); + int caretOffset = text.getCaretOffset(); + + text.replaceTextRange(caretOffset, 0, generateString(' ', charactersToInsert)); + + // If the current line extends past the right edge of the screen, delete the + // characters beyond the rightmost visible column. + + int currentLineAbsolute = absoluteCursorLine(); + int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); + int currentLineEndOffset; + + if (currentLineAbsolute == text.getLineCount() - 1) + { + // The cursor is on the bottommost line of text. + + currentLineEndOffset = text.getCharCount(); + } + else + { + // The cursor is not on the bottommost line of text. + + currentLineEndOffset = text.getOffsetAtLine(currentLineAbsolute + 1) - 1; + } + + if (currentLineEndOffset - currentLineStartOffset > widthInColumns) + { + int charactersToDelete = + currentLineEndOffset - currentLineStartOffset - widthInColumns; + + text.replaceTextRange(currentLineStartOffset + widthInColumns, + charactersToDelete, ""); //$NON-NLS-1$ + } + + // Is this necessary? + + text.setCaretOffset(caretOffset); + } + + /** + * This method moves the cursor up by the number of lines specified by the escape + * sequence parameter (default 1). + */ + protected void processAnsiCommand_A() + { + moveCursorUp(getAnsiParameter(0)); + } + + /** + * This method moves the cursor down by the number of lines specified by the escape + * sequence parameter (default 1). + */ + protected void processAnsiCommand_B() + { + moveCursorDown(getAnsiParameter(0)); + } + + /** + * This method moves the cursor forward by the number of columns specified by the + * escape sequence parameter (default 1). + */ + protected void processAnsiCommand_C() + { + moveCursorForward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor backward by the number of columns specified by the + * escape sequence parameter (default 1). + */ + protected void processAnsiCommand_D() + { + moveCursorBackward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor to the first column of the Nth next line, where N + * is specified by the ANSI parameter (default 1). + */ + protected void processAnsiCommand_E() + { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() + linesToMove, 0); + } + + /** + * This method moves the cursor to the first column of the Nth previous line, where + * N is specified by the ANSI parameter (default 1). + */ + protected void processAnsiCommand_F() + { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() - linesToMove, 0); + } + + /** + * This method moves the cursor within the current line to the column specified by + * the ANSI parameter (default is column 1). + */ + protected void processAnsiCommand_G() + { + int targetColumn = 1; + + if (ansiParameters[0].length() > 0) + targetColumn = getAnsiParameter(0) - 1; + + moveCursor(relativeCursorLine(), targetColumn); + } + + /** + * This method sets the cursor to a position specified by the escape sequence + * parameters (default is the upper left corner of the screen). + */ + protected void processAnsiCommand_H() + { + moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); + } + + /** + * This method deletes some (or all) of the text on the screen without moving the + * cursor. + */ + protected void processAnsiCommand_J() + { + int ansiParameter; + + if (ansiParameters[0].length() == 0) + ansiParameter = 0; + else + ansiParameter = getAnsiParameter(0); + + switch (ansiParameter) + { + case 0: + // Erase from current position to end of screen (inclusive). + + int caretOffset = text.getCaretOffset(); + + text.replaceTextRange(caretOffset, + text.getCharCount() - caretOffset, + generateString('\n', heightInLines - relativeCursorLine() - 1)); + + // The above call moves the caret to the end of the text, so restore its + // position. + + text.setCaretOffset(caretOffset); + break; + + case 1: + // Erase from beginning to current position (inclusive). + + int currentRelativeLineNumber = relativeCursorLine(); + int topmostScreenLineStartOffset = text.getOffsetAtLine(absoluteLine(0)); + + text.replaceTextRange(topmostScreenLineStartOffset, + text.getCaretOffset() - topmostScreenLineStartOffset, + generateString('\n', currentRelativeLineNumber) + + generateString(' ', cursorColumn)); + + text.setCaretOffset(topmostScreenLineStartOffset + currentRelativeLineNumber + + cursorColumn); + break; + + case 2: + // Erase entire display. + + int currentLineNumber = relativeCursorLine(); + topmostScreenLineStartOffset = text.getOffsetAtLine(absoluteLine(0)); + + text.replaceTextRange(topmostScreenLineStartOffset, + text.getCharCount() - topmostScreenLineStartOffset, + generateString('\n', heightInLines - 1)); + + moveCursor(currentLineNumber, cursorColumn); + break; + + default: + Logger.log("Unexpected J-command parameter: " + ansiParameter); //$NON-NLS-1$ + assert false; + break; + } + } + + /** + * This method deletes some (or all) of the text in the current line without moving + * the cursor. + */ + protected void processAnsiCommand_K() + { + int ansiParameter = getAnsiParameter(0); + int originalCaretOffset = text.getCaretOffset(); + + switch (ansiParameter) + { + case 0: + // Erase from beginning to current position (inclusive). + + int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); + + text.replaceTextRange(currentLineStartOffset, + cursorColumn, + generateString(' ', cursorColumn)); + break; + + case 1: + // Erase from current position to end (inclusive). + + int caretOffset = text.getCaretOffset(); + + if (absoluteCursorLine() == text.getLineCount() - 1) + { + text.replaceTextRange(caretOffset, text.getCharCount() - caretOffset, ""); //$NON-NLS-1$ + } + else + { + int nextLineStartOffset = text.getOffsetAtLine(absoluteCursorLine() + 1); + + text.replaceTextRange(caretOffset, nextLineStartOffset - caretOffset - 1, ""); //$NON-NLS-1$ + } + break; + + case 2: + // Erase entire line. + + currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); + + if (absoluteCursorLine() == text.getLineCount() - 1) + { + // The cursor is on the bottommost line of text. Replace its contents + // with enough spaces to leave the cursor in the current column. + + text.replaceTextRange(currentLineStartOffset, + text.getCharCount() - currentLineStartOffset, + generateString(' ', cursorColumn)); + } + else + { + // The cursor is not on the bottommost line of text. Replace the + // current line's contents with enough spaces to leave the cursor in + // the current column. + + int nextLineStartOffset = text.getOffsetAtLine(absoluteCursorLine() + 1); + + text.replaceTextRange(currentLineStartOffset, + nextLineStartOffset - currentLineStartOffset - 1, + generateString(' ', cursorColumn)); + } + break; + + default: + Logger.log("Unexpected K-command parameter: " + ansiParameter); //$NON-NLS-1$ + assert false; + break; + } + + // There is some undocumented strangeness with method + // StyledText.replaceTextRange() that requires us to manually reposition the + // caret after calling that method. If we don't do this, the caret sometimes + // moves to the very end of the text when deleting text within a line. + + text.setCaretOffset(originalCaretOffset); + } + + /** + * Insert one or more blank lines. The current line of text moves down. Text that + * falls off the bottom of the screen is deleted. + */ + protected void processAnsiCommand_L() + { + int linesToInsert = getAnsiParameter(0); + + int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); + + // Compute how many of the bottommost lines of text to delete. This is + // necessary if those lines are being pushed off the bottom of the screen by + // the insertion of the blank lines. + + int totalLines = text.getLineCount(); + int linesToDelete = -1; + + if (heightInLines <= totalLines) + { + // There are more lines of text than are displayed, so delete as many lines + // at the end as we insert in the middle. + + linesToDelete = linesToInsert; + } + else + { + // There are fewer lines of text than the size of the terminal window, so + // compute how many lines will be pushed off the end of the screen by the + // insertion. NOTE: It is possible that we may not have to delete any + // lines at all, which will leave linesToDelete set to -1. + + if (totalLines + linesToInsert > heightInLines) + { + linesToDelete = (totalLines + linesToInsert) - heightInLines; + } + } + + if (linesToDelete != -1) + { + // Delete the bottomost linesToInsert lines plus the newline on the line + // immediately above the first line to be deleted. + + int firstLineToDeleteStartOffset = text.getOffsetAtLine(totalLines - linesToDelete); + + text.replaceTextRange(firstLineToDeleteStartOffset - 1, + text.getCharCount() - firstLineToDeleteStartOffset + 1, + ""); //$NON-NLS-1$ + } + + // Insert the new blank lines, leaving the cursor on the topmost of the new + // blank lines. + + int totalCharacters = text.getCharCount(); + + if (currentLineStartOffset > totalCharacters) + { + // We are inserting the blank lines at the very end of the text, so + // currentLineStartOffset is now out of range. It will be be in range + // again after these newlines are appended. + + text.replaceTextRange(totalCharacters, 0, generateString('\n', linesToInsert)); + } + else + { + // We are inserting the blank lines in the middle of the text, so + // currentLineStartOffset is not out of range. + + text.replaceTextRange(currentLineStartOffset, 0, generateString('\n', linesToInsert)); + } + + text.setCaretOffset(currentLineStartOffset); + } + + /** + * Delete one or more lines of text. Any lines below the deleted lines move up, + * which we implmement by appending newlines to the end of the text. + */ + protected void processAnsiCommand_M() + { + int totalLines = text.getLineCount(); + int linesToDelete = getAnsiParameter(0); + int currentLineAbsolute = absoluteCursorLine(); + int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); + + // Compute the offset of the character after the lines to be deleted. This + // might be the end of the text. + + if (linesToDelete >= totalLines - currentLineAbsolute) + { + // We are deleting all the lines to the bottom of the text. Replace them + // with blank lines. + + text.replaceTextRange(currentLineStartOffset, + text.getCharCount() - currentLineStartOffset, + generateString('\n', totalLines - currentLineAbsolute - 1)); + } + else + { + // Delete the next linesToDelete lines. + + int firstUndeletedLineStartOffset = + text.getOffsetAtLine(currentLineAbsolute + linesToDelete); + + text.replaceTextRange(currentLineStartOffset, + firstUndeletedLineStartOffset - currentLineStartOffset, + ""); //$NON-NLS-1$ + + // Add an equal number of blank lines to the end of the text. + + text.replaceTextRange(text.getCharCount(), 0, generateString('\n', linesToDelete)); + } + + text.setCaretOffset(currentLineStartOffset); + } + + /** + * This method sets a new graphics rendition mode, such as foreground/background + * color, bold/normal text, and reverse video. + */ + protected void processAnsiCommand_m() + { + if (ansiParameters[0].length() == 0) + { + // This a special case: when no ANSI parameter is specified, act like a + // single parameter equal to 0 was specified. + + ansiParameters[0].append('0'); + } + + // There are a non-zero number of ANSI parameters. Process each one in order. + + int totalParameters = ansiParameters.length; + int parameterIndex = 0; + + while (parameterIndex < totalParameters && ansiParameters[parameterIndex].length() > 0) + { + int ansiParameter = getAnsiParameter(parameterIndex); + + switch (ansiParameter) + { + case 0: + // Reset all graphics modes. + currentForegroundColor = text.getForeground(); + currentBackgroundColor = text.getBackground(); + currentFontStyle = SWT.NORMAL; + reverseVideo = false; + break; + + case 1: + currentFontStyle = SWT.BOLD; // Turn on bold. + break; + + case 7: + reverseVideo = true; // Reverse video. + break; + + case 10: // Set primary font. Ignored. + break; + + case 22: + currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes only. + break; + + case 27: + reverseVideo = false; // Cancel reverse video attribute only. + break; + + case 30: + currentForegroundColor = BLACK; // Foreground is black. + break; + + case 31: + currentForegroundColor = RED; // Foreground is red. + break; + + case 32: + currentForegroundColor = GREEN; // Foreground is green. + break; + + case 33: + currentForegroundColor = YELLOW; // Foreground is yellow. + break; + + case 34: + currentForegroundColor = BLUE; // Foreground is blue. + break; + + case 35: + currentForegroundColor = MAGENTA; // Foreground is magenta. + break; + + case 36: + currentForegroundColor = CYAN; // Foreground is cyan. + break; + + case 37: + currentForegroundColor = text.getForeground(); // Foreground is white. + break; + + case 40: + currentBackgroundColor = text.getBackground(); // Background is black. + break; + + case 41: + currentBackgroundColor = RED; // Background is red. + break; + + case 42: + currentBackgroundColor = GREEN; // Background is green. + break; + + case 43: + currentBackgroundColor = YELLOW; // Background is yellow. + break; + + case 44: + currentBackgroundColor = BLUE; // Background is blue. + break; + + case 45: + currentBackgroundColor = MAGENTA; // Background is magenta. + break; + + case 46: + currentBackgroundColor = CYAN; // Background is cyan. + break; + + case 47: + currentBackgroundColor = WHITE; // Background is white. + break; + + default: + Logger.log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + + ++ parameterIndex; + } + } + + /** + * This method responds to an ANSI Device Status Report (DSR) command from the + * remote endpoint requesting the cursor position. Requests for other kinds of + * status are ignored. + */ + protected void processAnsiCommand_n() + { + // Do nothing if the numeric parameter was not 6 (which means report cursor + // position). + + if (getAnsiParameter(0) != 6) + return; + + // Send the ANSI cursor position (which is 1-based) to the remote endpoint. + + String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ + (cursorColumn + 1) + "R"; //$NON-NLS-1$ + + OutputStreamWriter streamWriter = + new OutputStreamWriter(terminal.getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ + + try + { + streamWriter.write(positionReport, 0, positionReport.length()); + streamWriter.flush(); + } + catch (IOException ex) + { + Logger.log("Caught IOException!"); //$NON-NLS-1$ + assert false; + } + } + + /** + * Deletes one or more characters starting at the current cursor position. + * Characters on the same line and to the right of the deleted characters move + * left. If there are no characters on the current line at or to the right of the + * cursor column, no text is deleted. + */ + protected void processAnsiCommand_P() + { + int currentLineEndOffset; + int currentLineAbsolute = absoluteCursorLine(); + + if (currentLineAbsolute == text.getLineCount() - 1) + { + // The cursor is on the bottommost line of text. + + currentLineEndOffset = text.getCharCount(); + } + else + { + // The cursor is not on the bottommost line of text. + + currentLineEndOffset = text.getOffsetAtLine(currentLineAbsolute + 1) - 1; + } + + int caretOffset = text.getCaretOffset(); + int remainingCharactersOnLine = currentLineEndOffset - caretOffset; + + if (remainingCharactersOnLine > 0) + { + // There are characters that can be deleted. + + int charactersToDelete = getAnsiParameter(0); + + if (charactersToDelete > remainingCharactersOnLine) + charactersToDelete = remainingCharactersOnLine; + + text.replaceTextRange(caretOffset, charactersToDelete, ""); //$NON-NLS-1$ + text.setCaretOffset(caretOffset); + } + } + + /** + * This method returns one of the numeric ANSI parameters received in the most + * recent escape sequence. + * + * @return The parameterIndexth numeric ANSI parameter or -1 if the index + * is out of range. + */ + protected int getAnsiParameter(int parameterIndex) + { + if (parameterIndex < 0 || parameterIndex >= ansiParameters.length) + { + // This should never happen. + assert false; + return -1; + } + + String parameter = ansiParameters[parameterIndex].toString(); + + if (parameter.length() == 0) + return 1; + + int parameterValue = 1; + + // Don't trust the remote endpoint to send well formed numeric parameters. + + try + { + parameterValue = Integer.parseInt(parameter); + } + catch (NumberFormatException ex) + { + parameterValue = 1; + } + + return parameterValue; + } + + /** + * This method processes a single parameter character in an ANSI escape sequence. + * Paramters are the (optional) characters between the leading "\e[" and the + * command character in an escape sequence (e.g., in the escape sequence + * "\e[20;10H", the paramter characters are "20;10"). Parameters are integers + * separated by one or more ';'s. + */ + protected void processAnsiParameterCharacter(char ch) + { + if (ch == ';') + { + ++nextAnsiParameter; + } + else + { + if (nextAnsiParameter < ansiParameters.length) + ansiParameters[nextAnsiParameter].append(ch); + } + } + + /** + * This method processes a contiguous sequence of non-control characters. This is + * a performance optimization, so that we don't have to insert or append each + * non-control character individually to the StyledText widget. A non-control + * character is any character that passes the condition in the below while loop. + */ + protected void processNonControlCharacters() + { + int firstNonControlCharacterIndex = characterIndex; + int newTextLength = newText.length(); + char character = newText.charAt(characterIndex); + + // Identify a contiguous sequence of non-control characters, starting at + // firstNonControlCharacterIndex in newText. + + while (character != '\u0000' && character != '\b' && character != '\t' && + character != '\u0007' && character != '\n' && character != '\r' && + character != '\u001b') + { + ++characterIndex; + + if (characterIndex >= newTextLength) + break; + + character = newText.charAt(characterIndex); + } + + // Move characterIndex back by one character because it gets incremented at the + // bottom of the loop in processNewText(). + + --characterIndex; + + int preDisplayCaretOffset = text.getCaretOffset(); + + // Now insert the sequence of non-control characters in the StyledText widget + // at the location of the cursor. + + displayNewText(firstNonControlCharacterIndex, characterIndex); + + // If any one of the current font style, foreground color or background color + // differs from the defaults, apply the current style to the newly displayed + // text. Since this method is only called for a contiguous sequence of + // non-control characters, the current style applies to the entire sequence of + // characters. + + if (!currentForegroundColor.equals(text.getForeground()) || + !currentBackgroundColor.equals(text.getBackground()) || + currentFontStyle != SWT.NORMAL || + reverseVideo == true) + { + StyleRange style = + new StyleRange(preDisplayCaretOffset, + text.getCaretOffset() - preDisplayCaretOffset, + reverseVideo ? currentBackgroundColor : currentForegroundColor, + reverseVideo ? currentForegroundColor : currentBackgroundColor, + currentFontStyle); + + text.setStyleRange(style); + } + } + + /** + * This method displays a subset of the newly-received text in the Terminal view, + * wrapping text at the right edge of the screen and overwriting text when the + * cursor is not at the very end of the screen's text.

+ * + * There are never any ANSI control characters or escape sequences in the text + * being displayed by this method (this includes newlines, carriage returns, and + * tabs).

+ * + * @param first The index (within newText) of the first character to + * display. + * @param last The index (within newText) of the last character to + * display. + */ + protected void displayNewText(int first, int last) + { + if (text.getCaretOffset() == text.getCharCount()) + { + // The cursor is at the very end of the terminal's text, so we append the + // new text to the StyledText widget. + + displayNewTextByAppending(first, last); + } + else + { + // The cursor is not at the end of the screen's text, so we have to + // overwrite existing text. + + displayNewTextByOverwriting(first, last); + } + } + + /** + * This method displays new text by appending it to the end of the existing text, + * wrapping text that extends past the right edge of the screen.

+ * + * There are never any ANSI control characters or escape sequences in the text + * being displayed by this method (this includes newlines, carriage returns, and + * tabs).

+ * + * @param first The index (within newText) of the first character to + * display. + * @param last The index (within newText) of the last character to + * display. + */ + protected void displayNewTextByAppending(int first, int last) + { + int numCharsToOutput = last - first + 1; + int availableSpaceOnLine = widthInColumns - cursorColumn; + + if (numCharsToOutput >= availableSpaceOnLine) + { + // We need to wrap the text, because it's longer than the available + // space on the current line. First, appends as many characters as + // will fit in the space remaining on the current line. + // + // NOTE: We don't line wrap the text in this method the same way we line + // wrap the text in method displayNewTextByOverwriting(), but this is by far + // the most common case, and it has to run the fastest. + + text.append(newText.substring(first, first + availableSpaceOnLine)); + first += availableSpaceOnLine; + + processCarriageReturn(); + processNewline(); + + while (first <= last) + { + availableSpaceOnLine = widthInColumns; + + if (availableSpaceOnLine > last - first + 1) + { + text.append(newText.substring(first, last + 1)); + cursorColumn = last - first + 1; + break; + } + else + { + text.append(newText.substring(first, first + availableSpaceOnLine)); + first += availableSpaceOnLine; + + processCarriageReturn(); + processNewline(); + } + } + } + else + { + // We don't need to wrap the text. + + text.append(newText.substring(first, last + 1)); + cursorColumn += last - first + 1; + } + } + + /** + * This method displays new text by overwriting existing text, wrapping text that + * extends past the right edge of the screen.

+ * + * There are never any ANSI control characters or escape sequences in the text + * being displayed by this method (this includes newlines, carriage returns, and + * tabs).

+ * + * @param first The index (within newText) of the first character to + * display. + * @param last The index (within newText) of the last character to + * display. + */ + protected void displayNewTextByOverwriting(int first, int last) + { + // First, break new text into segments, based on where it needs to line wrap, + // so that each segment contains text that will appear on a separate line. + + List textSegments = new ArrayList(100); + + int availableSpaceOnLine = widthInColumns - cursorColumn; + + while (first <= last) + { + String segment; + + if (last - first + 1 > availableSpaceOnLine) + segment = newText.substring(first, first + availableSpaceOnLine); + else + segment = newText.substring(first, last + 1); + + textSegments.add(segment); + + first += availableSpaceOnLine; + availableSpaceOnLine = widthInColumns; + } + + // Next, for each segment, if the cursor is at the end of the text, append the + // segment along with a newline character. If the cursor is not at the end of + // the text, replace the next N characters starting at the cursor position with + // the segment, where N is the minimum of the length of the segment or the + // length of the rest of the current line. + + Iterator iter = textSegments.iterator(); + + while (iter.hasNext()) + { + String segment = (String)iter.next(); + int caretOffset = text.getCaretOffset(); + + if (caretOffset == text.getCharCount()) + { + // The cursor is at the end of the text, so just append the current + // segement along with a newline. + + text.append(segment); + + // If there is another segment to display, move the cursor to a new + // line. + + if (iter.hasNext()) + { + processCarriageReturn(); + processNewline(); + } + } + else + { + // The cursor is not at the end of the text, so replace some or all of + // the text following the cursor on the current line with the current + // segment. + + int numCharactersAfterCursorOnLine; + + if (absoluteCursorLine() == text.getLineCount() - 1) + { + // The cursor is on the last line of text. + numCharactersAfterCursorOnLine = text.getCharCount() - caretOffset; + } + else + { + // The cursor is not on the last line of text. + numCharactersAfterCursorOnLine = + text.getOffsetAtLine(absoluteCursorLine() + 1) - caretOffset - 1; + } + + int segmentLength = segment.length(); + int numCharactersToReplace; + + if (segmentLength < numCharactersAfterCursorOnLine) + numCharactersToReplace = segmentLength; + else + numCharactersToReplace = numCharactersAfterCursorOnLine; + + text.replaceTextRange(caretOffset, numCharactersToReplace, segment); + text.setCaretOffset(caretOffset + segmentLength); + cursorColumn += segmentLength; + + // If there is another segment, move the cursor to the start of the + // next line. + + if (iter.hasNext()) + { + cursorColumn = 0; + text.setCaretOffset(caretOffset + segmentLength + 1); + } + else + { + // We just inserted the last segment. If the current line is full, + // wrap the cursor onto a new line. + + if (cursorColumn == widthInColumns) + { + processCarriageReturn(); + processNewline(); + } + } + } + } + } + + /** + * Process a BEL (Ctrl-G) character. + */ + protected void processBEL() + { + // ISSUE: Is there a better way to make a sound? This is not guaranteed to + // work on all platforms. + + java.awt.Toolkit.getDefaultToolkit().beep(); + } + + /** + * Process a backspace (Ctrl-H) character. + */ + protected void processBackspace() + { + moveCursorBackward(1); + } + + /** + * Process a tab (Ctrl-I) character. We don't insert a tab character into the + * StyledText widget. Instead, we move the cursor forward to the next tab stop, + * without altering any of the text. Tab stops are every 8 columns. The cursor + * will never move past the rightmost column. + */ + protected void processTab() + { + moveCursorForward(8 - (cursorColumn % 8)); + } + + /** + * Process a newline (Control-J) character. A newline (NL) character just moves + * the cursor to the same column on the next line, creating new lines when the + * cursor reaches the bottom edge of the terminal. This is counter-intuitive, + * especially to UNIX programmers who are taught that writing a single NL to a + * terminal is sufficient to move the cursor to the first column of the next line, + * as if a carriage return (CR) and a NL were written.

+ * + * UNIX terminals typically display a NL character as a CR followed by a NL because + * the terminal device typically has the ONLCR attribute bit set (see the + * termios(4) man page for details), which causes the terminal device driver to + * translate NL to CR + NL on output. The terminal itself (i.e., a hardware + * terminal or a terminal emulator, like xterm or this code) _always_ interprets a + * CR to mean "move the cursor to the beginning of the current line" and a NL to + * mean "move the cursor to the same column on the next line".

+ */ + protected void processNewline() + { + int totalLines = text.getLineCount(); + int currentLineAbsolute = absoluteCursorLine(); + + if (currentLineAbsolute < totalLines - 1) + { + // The cursor is not on the bottommost line of text, so we move the cursor + // to the same column on the next line. + + // TODO: If we can verify that the next character is a carriage return, we + // can optimize out the insertion of spaces that moveCursorDown() will do. + + moveCursorDown(1); + } + else if (currentLineAbsolute == totalLines - 1) + { + // The cursor is on the bottommost line of text, so we append a newline + // character to the end of the terminal's text (creating a new line on the + // screen) and insert cursorColumn spaces. + + text.append("\n"); //$NON-NLS-1$ + text.append(generateString(' ', cursorColumn)); + text.setCaretOffset(text.getCharCount()); + + // We may have scrolled a line off the top of the screen, so check if we + // need to delete some of the the oldest lines in the scroll buffer. + + deleteTopmostLines(); + } + else + { + // This should _never_ happen. If it does happen, it is a bug in this + // algorithm. + + Logger.log("SHOULD NOT BE REACHED!"); //$NON-NLS-1$ + assert false; + } + } + + /** + * Process a Carriage Return (Ctrl-M). + */ + protected void processCarriageReturn() + { + // Move the cursor to the beginning of the current line. + + text.setCaretOffset(text.getOffsetAtLine(text.getLineAtOffset(text.getCaretOffset()))); + cursorColumn = 0; + } + + /** + * This method computes the width of the terminal in columns and its height in + * lines, then adjusts the width and height of the view's StyledText widget so that + * it displays an integral number of lines and columns of text. The adjustment is + * always to shrink the widget vertically or horizontally, because if the control + * were to grow, it would be clipped by the edges of the view window (i.e., the + * view window does not become larger to accommodate its contents becoming + * larger).

+ * + * This method must be called immediately before each time text is written to the + * terminal so that we can properly line wrap text. Because it is called so + * frequently, it must be fast when there is no resizing to be done.

+ */ + protected void adjustTerminalDimensions() + { + // Compute how many pixels we need to shrink the StyledText control vertically + // to make it display an integral number of lines of text. + + int linePixelHeight = text.getLineHeight(); + Point textWindowDimensions = text.getSize(); + int verticalPixelsToShrink = textWindowDimensions.y % linePixelHeight; + + // Compute the current height of the terminal in lines. + + heightInLines = textWindowDimensions.y / linePixelHeight; + + // Compute how many pixels we need to shrink the StyledText control to make + // it display an integral number of columns of text. We can only do this if we + // know the pixel width of a character in the font used by the StyledText + // widget. + + int horizontalPixelsToShrink = 0; + + if (characterPixelWidth == 0) + computeCharacterPixelWidth(); + + if (characterPixelWidth != 0) + { + horizontalPixelsToShrink = textWindowDimensions.x % characterPixelWidth; + + // The width of the StyledText widget that text.getSize() returns includes + // the space occupied by the vertical scrollbar, so we have to fudge this + // calculation (by subtracting 3 columns) to account for the presence of + // the scrollbar. Ugh. + + widthInColumns = textWindowDimensions.x / characterPixelWidth - 3; + } + + // If necessary, resize the text widget. + + if (verticalPixelsToShrink > 0 || horizontalPixelsToShrink > 0) + { + // Remove this class instance from being a ControlListener on the + // StyledText widget, because we are about to resize and move the widget, + // and we don't want this method to be recursively invoked. + + text.removeControlListener(this); + + // Shrink the StyledText control so that it displays an integral number + // of lines of text and an integral number of columns of text. + + textWindowDimensions.y -= verticalPixelsToShrink; + textWindowDimensions.x -= horizontalPixelsToShrink; + text.setSize(textWindowDimensions); + + // Move the StyledText control down by the same number of pixels that + // we just shrank it vertically and right by the same number of pixels that + // we just shrank it horizontally. This makes the padding appear to the + // left and top of the widget, which is more visually appealing. This is + // only necessary because there is no way to programmatically shrink the + // view itself. + + Point textLocation = text.getLocation(); + textLocation.y += verticalPixelsToShrink; + textLocation.x += horizontalPixelsToShrink; + text.setLocation(textLocation); + + // Restore this class instance as the ControlListener on the StyledText + // widget so we know when the user resizes the Terminal view. + + text.addControlListener(this); + + // Make sure the exposed portion of the Composite canvas behind the + // StyledText control matches the background color of the StyledText + // control. + + Color textBackground = text.getBackground(); + text.getParent().setBackground(textBackground); + + // Scroll the StyledText widget to the bottommost position. + + text.setSelectionRange(text.getCharCount(), 0); + text.showSelection(); + + // Tell the parent object to redraw itself. This erases any partial + // line of text that might be left visible where the parent object is + // now exposed. This call only happens if the size needed to be changed, + // so it should not cause any flicker. + + text.getParent().redraw(); + } + + // If we are in a TELNET connection and we know the dimensions of the terminal, + // we give the size information to the TELNET connection object so it can + // communicate it to the TELNET server. If we are in a serial connection, + // there is nothing we can do to tell the remote host about the size of the + // terminal. + + TelnetConnection telnetConnection = terminal.getTelnetConnection(); + + if (telnetConnection != null && telnetConnection.isConnected() && + telnetConnection.isRemoteTelnetServer() && + widthInColumns != 0 && heightInLines != 0) + { + telnetConnection.setTerminalSize(widthInColumns, heightInLines); + } + } + + /** + * This method computes the the pixel width of a character in the current font. + * The Font object representing the font in the Terminal view doesn't provide the + * pixel width of the characters (even for a fixed width font). Instead, we get + * the pixel coordinates of the upper left corner of the bounding boxes for two + * adjacent characters on the same line and subtract the X coordinate of one from + * the X coordinate of the other. Simple, no? + */ + protected void computeCharacterPixelWidth() + { + // We can't assume there is any text in the terminal, so make sure there's at + // least two characters. + + text.replaceTextRange(0, 0, " "); //$NON-NLS-1$ + + Point firstCharLocation = text.getLocationAtOffset(0); + Point secondCharLocation = text.getLocationAtOffset(1); + + characterPixelWidth = secondCharLocation.x - firstCharLocation.x; + + text.replaceTextRange(0, 3, ""); //$NON-NLS-1$ + } + + /** + * This method deletes as many of the topmost lines of text as needed to keep the + * total number of lines of text in the Terminal view less than or equal to the + * limit configured in the preferences. If no limit is configured, this method + * does nothing. + */ + protected void deleteTopmostLines() + { + Preferences preferences = TerminalPlugin.getDefault().getPluginPreferences(); + boolean bLimitOutput = preferences.getBoolean(TerminalConsts.TERMINAL_PREF_LIMITOUTPUT); + + if (!bLimitOutput) + return; + + // Compute the number of lines to delete, but don't do anything if there are + // fewer lines in the terminal than the height of the terminal in lines. + + int totalLineCount = text.getLineCount(); + + if (totalLineCount <= heightInLines) + return; + + int bufferLineLimit = preferences.getInt(TerminalConsts.TERMINAL_PREF_BUFFERLINES); + + // Don't allow the user to set the buffer line limit to less than the height of + // the terminal in lines. + + if (bufferLineLimit <= heightInLines) + bufferLineLimit = heightInLines + 1; + + int linesToDelete = totalLineCount - bufferLineLimit; + + // Delete the lines. A small optimization here: don't do anything unless + // there's at least 5 lines to delete. + + if (linesToDelete >= 5) + text.replaceTextRange(0, text.getOffsetAtLine(linesToDelete), ""); //$NON-NLS-1$ + } + + /** + * This method returns the absolute line number of the line containing the + * cursor. The very first line of text (even if it is scrolled off the screen) is + * absolute line number 0. + * + * @return The absolute line number of the line containing the cursor. + */ + protected int absoluteCursorLine() + { + return text.getLineAtOffset(text.getCaretOffset()); + } + + /** + * This method returns the relative line number of the line comtaining the cursor. + * The returned line number is relative to the topmost visible line, which has + * relative line number 0. + * + * @return The relative line number of the line containing the cursor. + */ + protected int relativeCursorLine() + { + int totalLines = text.getLineCount(); + + if (totalLines <= heightInLines) + return text.getLineAtOffset(text.getCaretOffset()); + + return absoluteCursorLine() - totalLines + heightInLines; + } + + /** + * This method converts a visible line number (i.e., line 0 is the topmost visible + * line if the terminal is scrolled all the way down, and line number heightInLines + * - 1 is the bottommost visible line if the terminal is scrolled all the way down) + * to a line number as known to the StyledText widget. + */ + protected int absoluteLine(int visibleLineNumber) + { + int totalLines = text.getLineCount(); + + if (totalLines <= heightInLines) + return visibleLineNumber; + + return totalLines - heightInLines + visibleLineNumber; + } + + /** + * This method returns a String containing count ch characters. + * + * @return A String containing count ch characters. + */ + protected String generateString(char ch, int count) + { + char[] chars = new char[count]; + + for (int i = 0; i < chars.length; ++i) + chars[i] = ch; + + return new String(chars); + } + + /** + * This method moves the cursor to the specified line and column. Parameter + * targetLine is the line number of a screen line, so it has a minimum value + * of 0 (the topmost screen line) and a maximum value of heightInLines - 1 (the + * bottommost screen line). A line does not have to contain any text to move the + * cursor to any column in that line. + */ + protected void moveCursor(int targetLine, int targetColumn) + { + // Don't allow out of range target line and column values. + + if (targetLine < 0) targetLine = 0; + if (targetLine >= heightInLines) targetLine = heightInLines - 1; + + if (targetColumn < 0) targetColumn = 0; + if (targetColumn >= widthInColumns) targetColumn = widthInColumns - 1; + + // First, find out if we need to append newlines to the end of the text. This + // is necessary if there are fewer total lines of text than visible screen + // lines and the target line is below the bottommost line of text. + + int totalLines = text.getLineCount(); + + if (totalLines < heightInLines && targetLine >= totalLines) + text.append(generateString('\n', heightInLines - totalLines)); + + // Next, compute the offset of the start of the target line. + + int targetLineStartOffset = text.getOffsetAtLine(absoluteLine(targetLine)); + + // Next, find how many characters are in the target line. Be careful not to + // index off the end of the StyledText widget. + + int nextLineNumber = absoluteLine(targetLine + 1); + int targetLineLength; + + if (nextLineNumber >= totalLines) + { + // The target line is the bottommost line of text. + + targetLineLength = text.getCharCount() - targetLineStartOffset; + } + else + { + // The target line is not the bottommost line of text, so compute its + // length by subtracting the start offset of the target line from the start + // offset of the following line. + + targetLineLength = text.getOffsetAtLine(nextLineNumber) - targetLineStartOffset - 1; + } + + // Find out if we can just move the cursor without having to insert spaces at + // the end of the target line. + + if (targetColumn >= targetLineLength) + { + // The target line is not long enough to just move the cursor, so we have + // to append spaces to it before positioning the cursor. + + int spacesToAppend = targetColumn - targetLineLength; + + text.replaceTextRange(targetLineStartOffset + targetLineLength, 0, + generateString(' ', spacesToAppend)); + } + + // Now position the cursor. + + text.setCaretOffset(targetLineStartOffset + targetColumn); + + cursorColumn = targetColumn; + } + + /** + * This method moves the cursor down lines lines, but won't move the cursor + * past the bottom of the screen. This method does not cause any scrolling. + */ + protected void moveCursorDown(int lines) + { + moveCursor(relativeCursorLine() + lines, cursorColumn); + } + + /** + * This method moves the cursor up lines lines, but won't move the cursor + * past the top of the screen. This method does not cause any scrolling. + */ + protected void moveCursorUp(int lines) + { + moveCursor(relativeCursorLine() - lines, cursorColumn); + } + + /** + * This method moves the cursor forward columns columns, but won't move the + * cursor past the right edge of the screen, nor will it move the cursor onto the + * next line. This method does not cause any scrolling. + */ + protected void moveCursorForward(int columnsToMove) + { + moveCursor(relativeCursorLine(), cursorColumn + columnsToMove); + } + + /** + * This method moves the cursor backward columnsToMove columns, but won't + * move the cursor past the left edge of the screen, nor will it move the cursor + * onto the previous line. This method does not cause any scrolling. + */ + protected void moveCursorBackward(int columnsToMove) + { + // We don't call moveCursor() here, because this is optimized for backward + // cursor motion on a single line. + + if (columnsToMove > cursorColumn) + columnsToMove = cursorColumn; + + text.setCaretOffset(text.getCaretOffset() - columnsToMove); + + cursorColumn -= columnsToMove; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java new file mode 100644 index 00000000000..b5117f7f294 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java @@ -0,0 +1,1047 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal; + +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.FontRegistry; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.text.ITextSelection; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.RetargetAction; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; +import org.eclipse.ui.internal.WorkbenchWindow; +import org.eclipse.ui.part.ViewPart; + +public class TerminalView extends ViewPart implements TerminalTarget, TerminalConsts +{ + protected static final String m_SecondaryTerminalCountMutex = ""; //$NON-NLS-1$ + protected static int m_SecondaryTerminalCount = 0; + + protected TerminalCtrl m_ctlTerminal; + protected TerminalAction m_actionTerminalNewTerminal; + protected TerminalAction m_actionTerminalConnect; + protected TerminalAction m_actionTerminalDisconnect; + protected TerminalAction m_actionTerminalSettings; + protected TerminalAction m_actionEditCopy; + protected TerminalAction m_actionEditCut; + protected TerminalAction m_actionEditPaste; + protected TerminalAction m_actionEditClearAll; + protected TerminalAction m_actionEditSelectAll; + protected TerminalMenuHandlerEdit m_MenuHandlerEdit; + protected TerminalPropertyChangeHandler m_PropertyChangeHandler; + protected TerminalSettings m_TerminalSettings; + protected boolean m_bMenuAboutToShow; + /** Remember the item with which we contributed the shortcutt to unregister them again! */ + private IContextActivation fRememberedContextActivation; + + /** + * + */ + public TerminalView() + { + Logger.log("==============================================================="); //$NON-NLS-1$ + setupView(); + } + + // TerminalTarget interface + + /** + * + */ + public void execute(String strMsg,Object data) + { + if (strMsg.equals(ON_TERMINAL_FOCUS)) + { + onTerminalFocus(data); + } + else if (strMsg.equals(ON_TERMINAL_NEW_TERMINAL)) + { + onTerminalNewTerminal(data); + } + else if (strMsg.equals(ON_TERMINAL_CONNECT)) + { + onTerminalConnect(data); + } + else if (strMsg.equals(ON_UPDATE_TERMINAL_CONNECT)) + { + onUpdateTerminalConnect(data); + } + else if (strMsg.equals(ON_TERMINAL_CONNECTING)) + { + onTerminalConnecting(data); + } + else if (strMsg.equals(ON_TERMINAL_DISCONNECT)) + { + onTerminalDisconnect(data); + } + else if (strMsg.equals(ON_UPDATE_TERMINAL_DISCONNECT)) + { + onUpdateTerminalDisconnect(data); + } + else if (strMsg.equals(ON_TERMINAL_SETTINGS)) + { + onTerminalSettings(data); + } + else if (strMsg.equals(ON_UPDATE_TERMINAL_SETTINGS)) + { + onUpdateTerminalSettings(data); + } + else if (strMsg.equals(ON_TERMINAL_STATUS)) + { + onTerminalStatus(data); + } + else if (strMsg.equals(ON_TERMINAL_FONTCHANGED)) + { + onTerminalFontChanged(data); + } + else if (strMsg.equals(ON_EDIT_COPY)) + { + onEditCopy(data); + } + else if (strMsg.equals(ON_UPDATE_EDIT_COPY)) + { + onUpdateEditCopy(data); + } + else if (strMsg.equals(ON_EDIT_CUT)) + { + onEditCut(data); + } + else if (strMsg.equals(ON_UPDATE_EDIT_CUT)) + { + onUpdateEditCut(data); + } + else if (strMsg.equals(ON_EDIT_PASTE)) + { + onEditPaste(data); + } + else if (strMsg.equals(ON_UPDATE_EDIT_PASTE)) + { + onUpdateEditPaste(data); + } + else if (strMsg.equals(ON_EDIT_CLEARALL)) + { + onEditClearAll(data); + } + else if (strMsg.equals(ON_UPDATE_EDIT_CLEARALL)) + { + onUpdateEditClearAll(data); + } + else if (strMsg.equals(ON_EDIT_SELECTALL)) + { + onEditSelectAll(data); + } + else if (strMsg.equals(ON_UPDATE_EDIT_SELECTALL)) + { + onUpdateEditSelectAll(data); + } + else + { + } + } + + // Message handlers + + /** + * + */ + protected void onTerminalFocus(Object data) + { + m_ctlTerminal.setFocus(); + } + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + protected void onTerminalNewTerminal(Object data) + { + Logger.log("creating new Terminal instance."); //$NON-NLS-1$ + + try + { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesireable. Therefore, we append the current time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. + + getSite().getPage().showView("org.eclipse.tm.terminal.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + } + catch (PartInitException ex) + { + Logger.logException(ex); + } + } + + /** + * + */ + protected void onTerminalConnect(Object data) + { + if (m_ctlTerminal.isConnected()) + return; + + m_ctlTerminal.connectTerminal(m_TerminalSettings); + + execute(ON_UPDATE_TERMINAL_CONNECT,null); + execute(ON_UPDATE_TERMINAL_DISCONNECT,null); + execute(ON_UPDATE_TERMINAL_SETTINGS,null); + } + + /** + * + */ + protected void onTerminalConnecting(Object data) + { + execute(ON_UPDATE_TERMINAL_CONNECT,null); + execute(ON_UPDATE_TERMINAL_DISCONNECT,null); + execute(ON_UPDATE_TERMINAL_SETTINGS,null); + } + + /** + * + */ + protected void onUpdateTerminalConnect(Object data) + { + boolean bEnabled; + + bEnabled = ((!m_ctlTerminal.isConnecting()) && + (!m_ctlTerminal.isConnected())); + + m_actionTerminalConnect.setEnabled(bEnabled); + } + + /** + * + */ + protected void onTerminalDisconnect(Object data) + { + if ((!m_ctlTerminal.isConnecting()) && + (!m_ctlTerminal.isConnected())) + { + execute(ON_TERMINAL_STATUS, null); + execute(ON_UPDATE_TERMINAL_CONNECT, null); + execute(ON_UPDATE_TERMINAL_DISCONNECT, null); + execute(ON_UPDATE_TERMINAL_SETTINGS, null); + return; + } + + m_ctlTerminal.disconnectTerminal(); + + execute(ON_UPDATE_TERMINAL_CONNECT,null); + execute(ON_UPDATE_TERMINAL_DISCONNECT,null); + execute(ON_UPDATE_TERMINAL_SETTINGS,null); + } + + /** + * + */ + protected void onUpdateTerminalDisconnect(Object data) + { + boolean bEnabled; + + bEnabled = ((m_ctlTerminal.isConnecting()) || + (m_ctlTerminal.isConnected())); + + m_actionTerminalDisconnect.setEnabled(bEnabled); + } + + /** + * + */ + protected void onTerminalSettings(Object data) + { + TerminalSettingsDlg dlgTerminalSettings; + int nStatus; + + // When the settings dialog is opened, load the Terminal settings from the + // persistent settings. + + m_TerminalSettings.importSettings(getPartName()); + + dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell()); + dlgTerminalSettings.loadSettings(m_TerminalSettings); + + Logger.log("opening Settings dialog."); //$NON-NLS-1$ + + nStatus = dlgTerminalSettings.open(); + + if (nStatus == TerminalConsts.TERMINAL_ID_CANCEL) + { + Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ + return; + } + + Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ + + // When the settings dialog is closed, we persist the Terminal settings. + + m_TerminalSettings.exportSettings(getPartName()); + + execute(ON_TERMINAL_CONNECT,null); + } + + /** + * + */ + protected void onUpdateTerminalSettings(Object data) + { + boolean bEnabled; + + bEnabled = ((!m_ctlTerminal.isConnecting()) && + (!m_ctlTerminal.isConnected())); + + m_actionTerminalSettings.setEnabled(bEnabled); + } + + /** + * + */ + protected void onTerminalStatus(Object data) + { + String strConnType; + String strConnected; + String strSerialPort; + String strBaudRate; + String strDataBits; + String strStopBits; + String strParity; + String strFlowControl; + String strHost; + String strNetworkPort; + String strText; + String strTitle; + + if (m_ctlTerminal.isDisposed()) + return; + + if (data != null) + { + // When parameter 'data' is not null, it is a String containing text to + // display in the view's content description line. This is used by class + // TerminalText when it processes an ANSI OSC escape sequence that commands + // the terminal to display text in its title bar. + + strTitle = (String)data; + } + else + { + // When parameter 'data' is null, we construct a descriptive string to + // display in the content description line. + + if (m_ctlTerminal.isConnecting()) + { + strConnected = "CONNECTING..."; //$NON-NLS-1$ + } + else if (m_ctlTerminal.isOpened()) + { + strConnected = "OPENED"; //$NON-NLS-1$ + } + else if (m_ctlTerminal.isConnected()) + { + strConnected = "CONNECTED"; //$NON-NLS-1$ + } + else + { + strConnected = "CLOSED"; //$NON-NLS-1$ + } + + strConnType = m_TerminalSettings.getConnType(); + if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) + { + strSerialPort = m_TerminalSettings.getSerialPort(); + strBaudRate = m_TerminalSettings.getBaudRate(); + strDataBits = m_TerminalSettings.getDataBits(); + strStopBits = m_TerminalSettings.getStopBits(); + strParity = m_TerminalSettings.getParity(); + strFlowControl = m_TerminalSettings.getFlowControl(); + strText = " (" + //$NON-NLS-1$ + strSerialPort + + ", " + //$NON-NLS-1$ + strBaudRate + + ", " + //$NON-NLS-1$ + strDataBits + + ", " + //$NON-NLS-1$ + strStopBits + + ", " + //$NON-NLS-1$ + strParity + + ", " + //$NON-NLS-1$ + strFlowControl + + " - " + //$NON-NLS-1$ + strConnected + + ")"; //$NON-NLS-1$ + } + else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) + { + strHost = m_TerminalSettings.getHost(); + strNetworkPort = m_TerminalSettings.getNetworkPort(); + strText = " (" + //$NON-NLS-1$ + strHost + + ":" + //$NON-NLS-1$ + strNetworkPort + + " - " + //$NON-NLS-1$ + strConnected + + ")"; //$NON-NLS-1$ + } + else + { + strText = ""; //$NON-NLS-1$ + } + + strTitle = TERMINAL_PROP_TITLE + strText; + } + + setContentDescription(strTitle); + getViewSite().getActionBars().getStatusLineManager().setMessage(strTitle); + } + + /** + * + */ + protected void onTerminalFontChanged(Object data) + { + StyledText ctlText; + Font font; + + ctlText = m_ctlTerminal.getTextWidget(); + font = JFaceResources.getFont(TERMINAL_FONT_DEFINITION); + ctlText.setFont(font); + + // Tell the TerminalCtrl singleton that the font has changed. + + m_ctlTerminal.onFontChanged(); + } + + /** + * + */ + protected void onEditCopy(Object data) + { + ITextSelection selection; + String strText; + boolean bEnabled; + + selection = m_ctlTerminal.getSelection(); + strText = selection.getText(); + bEnabled = !strText.equals(""); //$NON-NLS-1$ + + if (bEnabled) + { + m_ctlTerminal.copy(); + } + else + { + m_ctlTerminal.sendKey('\u0003'); + } + } + + /** + * + */ + protected void onUpdateEditCopy(Object data) + { + ITextSelection selection; + String strText; + boolean bEnabled; + + if (m_bMenuAboutToShow) + { + selection = m_ctlTerminal.getSelection(); + strText = selection.getText(); + bEnabled = !strText.equals(""); //$NON-NLS-1$ + } + else + { + bEnabled = true; + } + + m_actionEditCopy.setEnabled(bEnabled); + } + + /** + * + */ + protected void onEditCut(Object data) + { + m_ctlTerminal.sendKey('\u0018'); + } + + /** + * + */ + protected void onUpdateEditCut(Object data) + { + boolean bEnabled; + + bEnabled = !m_bMenuAboutToShow; + m_actionEditCut.setEnabled(bEnabled); + } + + /** + * + */ + protected void onEditPaste(Object data) + { + m_ctlTerminal.paste(); + } + + /** + * + */ + protected void onUpdateEditPaste(Object data) + { + Clipboard clipboard; + TextTransfer textTransfer; + String strText; + boolean bConnected; + boolean bEnabled; + + clipboard = m_ctlTerminal.getClipboard(); + textTransfer = TextTransfer.getInstance(); + strText = (String)clipboard.getContents(textTransfer); + bConnected = m_ctlTerminal.isConnected(); + + bEnabled = ((strText != null) && + (!strText.equals("")) && //$NON-NLS-1$ + (bConnected)); + + m_actionEditPaste.setEnabled(bEnabled); + } + + /** + * + */ + protected void onEditClearAll(Object data) + { + m_ctlTerminal.clearTerminal(); + } + + /** + * + */ + protected void onUpdateEditClearAll(Object data) + { + boolean bEnabled; + + bEnabled = !m_ctlTerminal.isEmpty(); + m_actionEditClearAll.setEnabled(bEnabled); + } + + /** + * + */ + protected void onEditSelectAll(Object data) + { + m_ctlTerminal.selectAll(); + } + + /** + * + */ + protected void onUpdateEditSelectAll(Object data) + { + boolean bEnabled; + + bEnabled = !m_ctlTerminal.isEmpty(); + m_actionEditSelectAll.setEnabled(bEnabled); + } + + // ViewPart interface + + /** + * + */ + public void createPartControl(Composite wndParent) + { + // Bind plugin.xml key bindings to this plugin. Overrides global Ctrl-W key + // sequence. + + /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ + IContextService ctxtService = (IContextService)getSite().getService(IContextService.class); + fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalPreferencePage"); //$NON-NLS-1$ + + setupControls(wndParent); + setupActions(); + setupMenus(); + setupToolBars(); + setupLocalMenus(); + setupLocalToolBars(); + setupContextMenus(); + setupListeners(wndParent); + + synchronized (m_SecondaryTerminalCountMutex) + { + setPartName(TERMINAL_PROP_TITLE + " " + m_SecondaryTerminalCount++); //$NON-NLS-1$ + } + + execute(ON_TERMINAL_STATUS,null); + } + + /** + * + */ + public void dispose() + { + Logger.log("entered."); //$NON-NLS-1$ + + setPartName("Terminal"); //$NON-NLS-1$ + + TerminalPlugin plugin; + FontRegistry fontRegistry; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + Menu menu; + + /** The context (for short cuts) was set above, now unset it again */ + if (fRememberedContextActivation != null) { + IContextService ctxService = (IContextService)getSite().getService(IContextService.class); + ctxService.deactivateContext(fRememberedContextActivation); + fRememberedContextActivation = null; + } + + fontRegistry = JFaceResources.getFontRegistry(); + plugin = TerminalPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + menu = menuMgr.getMenu(); + + fontRegistry.removeListener(m_PropertyChangeHandler); + menuMgr.removeMenuListener(m_MenuHandlerEdit); + + if (menu != null) + menu.removeMenuListener(m_MenuHandlerEdit); + + m_ctlTerminal.disposeTerminal(); + } + + /** + * Passing the focus request to the viewer's control. + */ + public void setFocus() + { + execute(ON_TERMINAL_FOCUS,null); + } + + // Operations + + /** + * + */ + protected void setupView() + { + m_TerminalSettings = new TerminalSettings(getPartName()); + m_bMenuAboutToShow = false; + } + + /** + * This method creates the top-level control for the Terminal view. + */ + protected void setupControls(Composite wndParent) + { + try + { + m_ctlTerminal = new TerminalCtrl(this, wndParent); + } + catch (Exception ex) + { + Logger.logException(ex); + } + } + + /** + * + */ + protected void setupActions() + { + IViewSite viewSite; + IActionBars actionBars; + + viewSite = getViewSite(); + actionBars = viewSite.getActionBars(); + m_actionTerminalNewTerminal = new TerminalActionNewTerminal(this); + m_actionTerminalConnect = new TerminalActionConnect(this); + m_actionTerminalDisconnect = new TerminalActionDisconnect(this); + m_actionTerminalSettings = new TerminalActionSettings(this); + m_actionEditCopy = new TerminalActionCopy(this); + m_actionEditCut = new TerminalActionCut(this); + m_actionEditPaste = new TerminalActionPaste(this); + m_actionEditClearAll = new TerminalActionClearAll(this); + m_actionEditSelectAll = new TerminalActionSelectAll(this); + + actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), + m_actionEditCopy); + + actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), + m_actionEditCut); + + actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), + m_actionEditPaste); + + actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), + m_actionEditSelectAll); + } + + /** + * + */ + protected void setupMenus() + { + TerminalPlugin plugin; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + Menu menu; + + m_MenuHandlerEdit = new TerminalMenuHandlerEdit(); + plugin = TerminalPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager)menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + menu = menuMgr.getMenu(); + + menuMgr.addMenuListener(m_MenuHandlerEdit); + menu.addMenuListener(m_MenuHandlerEdit); + } + + /** + * + */ + protected void setupToolBars() + { + } + + /** + * + */ + protected void setupLocalMenus() + { + } + + /** + * + */ + protected void setupLocalToolBars() + { + IViewSite viewSite; + IActionBars actionBars; + IToolBarManager toolBarMgr; + + viewSite = getViewSite(); + actionBars = viewSite.getActionBars(); + toolBarMgr = actionBars.getToolBarManager(); + + toolBarMgr.add(m_actionTerminalNewTerminal); + toolBarMgr.add(m_actionTerminalConnect); + toolBarMgr.add(m_actionTerminalDisconnect); + toolBarMgr.add(m_actionTerminalSettings); + } + + /** + * + */ + protected void setupContextMenus() + { + StyledText ctlText; + MenuManager menuMgr; + Menu menu; + TerminalContextMenuHandler contextMenuHandler; + + ctlText = m_ctlTerminal.getTextWidget(); + menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ + menu = menuMgr.createContextMenu(ctlText); + contextMenuHandler = new TerminalContextMenuHandler(); + + ctlText.setMenu(menu); + menuMgr.setRemoveAllWhenShown(true); + menuMgr.addMenuListener(contextMenuHandler); + menu.addMenuListener(contextMenuHandler); + } + + /** + * + */ + protected void loadContextMenus(IMenuManager menuMgr) + { + menuMgr.add(m_actionEditCopy); + menuMgr.add(m_actionEditPaste); + menuMgr.add(new Separator()); + menuMgr.add(m_actionEditClearAll); + menuMgr.add(m_actionEditSelectAll); + + // Other plug-ins can contribute there actions here + menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ + } + + /** + * + */ + protected void setupListeners(Composite wndParent) + { + getViewSite().getPage().addPartListener(new IPartListener() { + public void partClosed(IWorkbenchPart part) + { + if (part instanceof TerminalView) + part.dispose(); + } + + public void partActivated(IWorkbenchPart part) { } + public void partBroughtToTop(IWorkbenchPart part) { } + public void partDeactivated(IWorkbenchPart part) { } + public void partOpened(IWorkbenchPart part) { } + }); + + FontRegistry fontRegistry = JFaceResources.getFontRegistry(); + m_PropertyChangeHandler = new TerminalPropertyChangeHandler(); + fontRegistry.addListener(m_PropertyChangeHandler); + } + + // Inner classes + + /** + * + */ + protected class TerminalMenuHandlerEdit + implements MenuListener, + IMenuListener + { + /** + * + */ + protected String m_strActionDefinitionIdCopy; + protected String m_strActionDefinitionIdPaste; + protected String m_strActionDefinitionIdSelectAll; + + protected int m_nAcceleratorCopy; + protected int m_nAcceleratorPaste; + protected int m_nAcceleratorSelectAll; + + /** + * + */ + protected TerminalMenuHandlerEdit() + { + super(); + + m_strActionDefinitionIdCopy = ""; //$NON-NLS-1$ + m_strActionDefinitionIdPaste = ""; //$NON-NLS-1$ + m_strActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ + + m_nAcceleratorCopy = 0; + m_nAcceleratorPaste = 0; + m_nAcceleratorSelectAll = 0; + } + + // IMenuListener interface + + /** + * + */ + public void menuAboutToShow(IMenuManager menuMgr) + { + ActionContributionItem item; + RetargetAction action; + + m_bMenuAboutToShow = true; + execute(ON_UPDATE_EDIT_COPY,null); + execute(ON_UPDATE_EDIT_CUT,null); + execute(ON_UPDATE_EDIT_PASTE,null); + execute(ON_UPDATE_EDIT_SELECTALL,null); + + item = (ActionContributionItem)menuMgr.find(ActionFactory.COPY.getId()); + action = (RetargetAction) item.getAction(); + m_strActionDefinitionIdCopy = action.getActionDefinitionId(); + m_nAcceleratorCopy = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem)menuMgr.find(ActionFactory.PASTE.getId()); + action = (RetargetAction) item.getAction(); + m_strActionDefinitionIdPaste = action.getActionDefinitionId(); + m_nAcceleratorPaste = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem)menuMgr.find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + m_strActionDefinitionIdSelectAll = action.getActionDefinitionId(); + m_nAcceleratorSelectAll = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + } + + // MenuListener interface + + /** + * + */ + public void menuShown(MenuEvent event) + { + } + + /** + * + */ + public void menuHidden(MenuEvent event) + { + TerminalPlugin plugin; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + ActionContributionItem item; + RetargetAction action; + + m_bMenuAboutToShow = false; + execute(ON_UPDATE_EDIT_COPY,null); + execute(ON_UPDATE_EDIT_CUT,null); + + plugin = TerminalPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(m_strActionDefinitionIdCopy); + action.setAccelerator(m_nAcceleratorCopy); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(m_strActionDefinitionIdPaste); + action.setAccelerator(m_nAcceleratorPaste); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(m_strActionDefinitionIdSelectAll); + action.setAccelerator(m_nAcceleratorSelectAll); + action.enableAccelerator(true); + item.update(); + } + } + + /** + * + */ + protected class TerminalContextMenuHandler + implements MenuListener, IMenuListener + { + /** + * + */ + protected TerminalContextMenuHandler() + { + super(); + } + + // MenuListener interface + + /** + * + */ + public void menuHidden(MenuEvent event) + { + m_bMenuAboutToShow = false; + execute(ON_UPDATE_EDIT_COPY,null); + } + + public void menuShown(MenuEvent e) + { + } + + // IMenuListener interface + + /** + * + */ + public void menuAboutToShow(IMenuManager menuMgr) + { + m_bMenuAboutToShow = true; + execute(ON_UPDATE_EDIT_COPY,null); + execute(ON_UPDATE_EDIT_PASTE,null); + execute(ON_UPDATE_EDIT_CLEARALL,null); + execute(ON_UPDATE_EDIT_SELECTALL,null); + + loadContextMenus(menuMgr); + } + } + + /** + * + */ + protected class TerminalPropertyChangeHandler implements IPropertyChangeListener + { + /** + * + */ + protected TerminalPropertyChangeHandler() + { + super(); + } + + // IPropertyChangeListener interface + + public void propertyChange(PropertyChangeEvent event) + { + String strProperty; + + strProperty = event.getProperty(); + if (strProperty.equals(TERMINAL_FONT_DEFINITION)) + { + execute(ON_TERMINAL_FONTCHANGED,event); + } + else + { + } + } + } +} From d15a751a4b0473a33f9714436bc5baa5a08c2523 Mon Sep 17 00:00:00 2001 From: Ted Williams Date: Wed, 4 Oct 2006 23:51:35 +0000 Subject: [PATCH 002/843] I accidentally added .classpath to my .cvsignore. Oops. (If anyone knows a method for removing items from the .cvsignore file without manually editing the file, please share.) --- org.eclipse.tm.terminal/.classpath | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 org.eclipse.tm.terminal/.classpath diff --git a/org.eclipse.tm.terminal/.classpath b/org.eclipse.tm.terminal/.classpath new file mode 100644 index 00000000000..899ab4bb39a --- /dev/null +++ b/org.eclipse.tm.terminal/.classpath @@ -0,0 +1,7 @@ + + + + + + + From a691e9b6510161d0273e93309e7ee9ac6760eebf Mon Sep 17 00:00:00 2001 From: Ted Williams Date: Mon, 9 Oct 2006 16:55:40 +0000 Subject: [PATCH 003/843] legal notice --- .../src/org/eclipse/tm/terminal/Messages.properties | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties index 32475e6c669..3ee6b35cdbf 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties @@ -1,3 +1,14 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### TerminalConsts.Terminal_7=Terminal TerminalConsts.Limit_terminal_output_16=Limit terminal output TerminalConsts.Terminal_buffer_lines__17=Terminal buffer lines: From 9c21c6da6832324ebd3950c036addee6626ac72d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 15 Nov 2006 11:39:08 +0000 Subject: [PATCH 004/843] test check in --- .../src/org/eclipse/tm/terminal/Messages.properties | 1 - 1 file changed, 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties index 3ee6b35cdbf..3b1b327ac5e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties @@ -7,7 +7,6 @@ # # Contributors: # Wind River Systems, Inc. - initial implementation -# ############################################################################### TerminalConsts.Terminal_7=Terminal TerminalConsts.Limit_terminal_output_16=Limit terminal output From 9eb580a8f2da1ccfaba7e57f2b880f752fd37ea3 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 03:08:19 +0000 Subject: [PATCH 005/843] bug 165177: split the plugin into the terminal view and connection contributions --- org.eclipse.tm.terminal-feature/.project | 17 + .../build.properties | 1 + org.eclipse.tm.terminal-feature/feature.xml | 32 + .../.project | 17 + .../build.properties | 1 + .../feature.xml | 32 + org.eclipse.tm.terminal.serial/.classpath | 8 + org.eclipse.tm.terminal.serial/.project | 34 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../META-INF/MANIFEST.MF | 14 + org.eclipse.tm.terminal.serial/README.txt | 4 + .../build.properties | 16 + .../plugin.properties | 6 + org.eclipse.tm.terminal.serial/plugin.xml | 9 + .../internal/serial/ISerialSettings.java | 28 + .../internal/serial/SerialConnectWorker.java | 64 + .../internal/serial/SerialConnector.java | 197 ++ .../internal/serial/SerialMessages.java | 30 + .../internal/serial/SerialMessages.properties | 21 + .../internal/serial/SerialPortHandler.java | 107 + .../internal/serial/SerialProperties.java | 159 ++ .../internal/serial/SerialSettings.java | 196 ++ .../internal/serial/SerialSettingsPage.java | 137 ++ org.eclipse.tm.terminal.view-feature/.project | 17 + .../build.properties | 1 + .../feature.xml | 33 + org.eclipse.tm.terminal.view/.classpath | 7 + org.eclipse.tm.terminal.view/.project | 34 + .../.settings/org.eclipse.jdt.core.prefs | 7 + .../.settings/org.eclipse.jdt.ui.prefs | 3 + .../META-INF/MANIFEST.MF | 13 + org.eclipse.tm.terminal.view/build.properties | 17 + .../icons/clcl16/connect_co.gif | Bin .../icons/clcl16/disconnect_co.gif | Bin .../icons/clcl16/newterminal.gif | Bin .../icons/clcl16/properties_tsk.gif | Bin .../icons/cview16/terminal_view.gif | Bin .../icons/dlcl16/connect_co.gif | Bin .../icons/dlcl16/disconnect_co.gif | Bin .../icons/dlcl16/newterminal.gif | Bin .../icons/dlcl16/properties_tsk.gif | Bin .../icons/elcl16/connect_co.gif | Bin .../icons/elcl16/disconnect_co.gif | Bin .../icons/elcl16/newterminal.gif | Bin .../icons/elcl16/properties_tsk.gif | Bin .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 17 + org.eclipse.tm.terminal.view/plugin.xml | 128 + .../internal/actions/ActionMessages.java | 31 + .../actions/ActionMessages.properties | 21 + .../internal/actions/TerminalAction.java | 67 + .../actions}/TerminalActionClearAll.java | 15 +- .../actions}/TerminalActionConnect.java | 21 +- .../internal/actions}/TerminalActionCopy.java | 13 +- .../internal/actions}/TerminalActionCut.java | 13 +- .../actions}/TerminalActionDisconnect.java | 21 +- .../actions}/TerminalActionNewTerminal.java | 22 +- .../actions}/TerminalActionPaste.java | 13 +- .../actions}/TerminalActionSelectAll.java | 14 +- .../actions}/TerminalActionSettings.java | 21 +- .../terminal/internal/view/ITerminalView.java | 31 + .../terminal/internal/view/ImageConsts.java | 40 + .../tm/terminal/internal/view/PageBook.java | 113 + .../view/SettingStorePrefixDecorator.java | 35 + .../terminal/internal/view/SettingsStore.java | 46 + .../internal/view/TerminalPreferencePage.java | 150 ++ .../internal/view/TerminalSettingsDlg.java | 143 ++ .../terminal/internal/view/TerminalView.java | 657 +++++ .../internal/view/TerminalViewPlugin.java | 140 ++ .../terminal/internal/view/ViewMessages.java | 35 + .../internal/view/ViewMessages.properties | 27 + .../eclipse/tm/terminal/view/Activator.java | 61 + org.eclipse.tm.terminal/.classpath | 2 +- org.eclipse.tm.terminal/.project | 6 + .../.settings/org.eclipse.jdt.core.prefs | 52 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 12 +- org.eclipse.tm.terminal/README.txt | 0 org.eclipse.tm.terminal/build.properties | 14 + org.eclipse.tm.terminal/plugin.properties | 11 - org.eclipse.tm.terminal/plugin.xml | 127 +- .../schema/terminalConnector.exsd | 105 + .../eclipse/tm/terminal/ISettingsPage.java | 47 + .../eclipse/tm/terminal/ISettingsStore.java | 40 + .../tm/terminal/ITerminalConnector.java | 98 + .../eclipse/tm/terminal/ITerminalControl.java | 65 + .../src/org/eclipse/tm/terminal/Logger.java | 154 +- .../src/org/eclipse/tm/terminal/Messages.java | 40 - .../eclipse/tm/terminal/Messages.properties | 43 - .../eclipse/tm/terminal/TelnetConnection.java | 796 ------ .../org/eclipse/tm/terminal/TelnetOption.java | 756 ------ .../eclipse/tm/terminal/TerminalAction.java | 119 - .../terminal/TerminalConnectorExtension.java | 48 + .../eclipse/tm/terminal/TerminalConsts.java | 114 - .../org/eclipse/tm/terminal/TerminalCtrl.java | 1573 ------------ .../org/eclipse/tm/terminal/TerminalMsg.java | 44 - .../tm/terminal/TerminalNetworkPortMap.java | 104 - .../eclipse/tm/terminal/TerminalPlugin.java | 294 --- .../tm/terminal/TerminalPreferencePage.java | 265 -- .../tm/terminal/TerminalProperties.java | 278 --- .../eclipse/tm/terminal/TerminalSettings.java | 425 ---- .../tm/terminal/TerminalSettingsDlg.java | 911 ------- .../eclipse/tm/terminal/TerminalState.java | 45 + .../org/eclipse/tm/terminal/TerminalText.java | 2145 ----------------- .../org/eclipse/tm/terminal/TerminalView.java | 1047 -------- .../terminal/control/ITerminalListener.java | 33 + .../control/ITerminalViewControl.java | 46 + .../control/TerminalViewControlFactory.java | 22 + .../control/ITerminalControlForText.java | 36 + .../internal/control/TerminalControl.java | 807 +++++++ .../control/TerminalMessages.java} | 15 +- .../control/TerminalMessages.properties | 14 + .../internal/control/TerminalPlugin.java | 54 + .../internal/control/TerminalText.java | 2081 ++++++++++++++++ .../internal/telnet/ITelnetSettings.java | 12 + .../internal/telnet/NetworkPortMap.java | 53 + .../{ => internal/telnet}/TelnetCodes.java | 2 +- .../internal/telnet/TelnetConnectWorker.java | 69 + .../internal/telnet/TelnetConnection.java | 684 ++++++ .../internal/telnet/TelnetConnector.java | 144 ++ .../internal/telnet/TelnetMessages.java | 27 + .../internal/telnet/TelnetMessages.properties | 16 + .../internal/telnet/TelnetOption.java | 698 ++++++ .../internal/telnet/TelnetProperties.java | 41 + .../internal/telnet/TelnetSettings.java | 89 + .../internal/telnet/TelnetSettingsPage.java | 132 + 125 files changed, 8780 insertions(+), 9239 deletions(-) create mode 100644 org.eclipse.tm.terminal-feature/.project create mode 100644 org.eclipse.tm.terminal-feature/build.properties create mode 100644 org.eclipse.tm.terminal-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.serial-feature/.project create mode 100644 org.eclipse.tm.terminal.serial-feature/build.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.serial/.classpath create mode 100644 org.eclipse.tm.terminal.serial/.project create mode 100644 org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.serial/README.txt create mode 100644 org.eclipse.tm.terminal.serial/build.properties create mode 100644 org.eclipse.tm.terminal.serial/plugin.properties create mode 100644 org.eclipse.tm.terminal.serial/plugin.xml create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java create mode 100644 org.eclipse.tm.terminal.view-feature/.project create mode 100644 org.eclipse.tm.terminal.view-feature/build.properties create mode 100644 org.eclipse.tm.terminal.view-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.view/.classpath create mode 100644 org.eclipse.tm.terminal.view/.project create mode 100644 org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs create mode 100644 org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.view/build.properties rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/clcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/clcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/clcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/clcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/cview16/terminal_view.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/dlcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/dlcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/dlcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/dlcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/elcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/elcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/elcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/elcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.view}/icons/eview16/terminal_view.gif (100%) create mode 100644 org.eclipse.tm.terminal.view/plugin.properties create mode 100644 org.eclipse.tm.terminal.view/plugin.xml create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionClearAll.java (72%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionConnect.java (58%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionCopy.java (79%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionCut.java (80%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionDisconnect.java (58%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionNewTerminal.java (56%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionPaste.java (79%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionSelectAll.java (72%) rename {org.eclipse.tm.terminal/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions}/TerminalActionSettings.java (57%) create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java create mode 100644 org.eclipse.tm.terminal/README.txt create mode 100644 org.eclipse.tm.terminal/build.properties create mode 100644 org.eclipse.tm.terminal/schema/terminalConnector.exsd create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalState.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalText.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java rename org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/{TerminalTarget.java => internal/control/TerminalMessages.java} (62%) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java rename org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/{ => internal/telnet}/TelnetCodes.java (98%) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java diff --git a/org.eclipse.tm.terminal-feature/.project b/org.eclipse.tm.terminal-feature/.project new file mode 100644 index 00000000000..c93208eb484 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal-feature/build.properties b/org.eclipse.tm.terminal-feature/build.properties new file mode 100644 index 00000000000..64f93a9f0b7 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml new file mode 100644 index 00000000000..fc71c20598a --- /dev/null +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -0,0 +1,32 @@ + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.serial-feature/.project b/org.eclipse.tm.terminal.serial-feature/.project new file mode 100644 index 00000000000..44409931fb6 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.serial-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.serial-feature/build.properties b/org.eclipse.tm.terminal.serial-feature/build.properties new file mode 100644 index 00000000000..64f93a9f0b7 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml new file mode 100644 index 00000000000..a64b5e45479 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -0,0 +1,32 @@ + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath new file mode 100644 index 00000000000..3183e6f648e --- /dev/null +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/org.eclipse.tm.terminal.serial/.project b/org.eclipse.tm.terminal.serial/.project new file mode 100644 index 00000000000..e16739b9d97 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.serial + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sourceforge.metrics.builder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sourceforge.metrics.nature + + diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..64e6553c55e --- /dev/null +++ b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Wed Nov 29 05:39:06 CET 2006 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..d12a2a04efe --- /dev/null +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -0,0 +1,14 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true +Bundle-Version: 0.9.0 +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal +Eclipse-LazyStart: false +Bundle-Vendor: %providerName +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-ClassPath: ., + comm.jar diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt new file mode 100644 index 00000000000..50b8553076d --- /dev/null +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -0,0 +1,4 @@ +Important note: + +In order to compile this plugin, comm has to be installed into +the java installation... \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties new file mode 100644 index 00000000000..8e2b821203b --- /dev/null +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -0,0 +1,16 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + comm.jar +src.includes = .classpath,\ + .project,\ + .settings/,\ + META-INF/,\ + README.txt,\ + build.properties,\ + plugin.properties,\ + plugin.xml,\ + src/,\ + comm.jar diff --git a/org.eclipse.tm.terminal.serial/plugin.properties b/org.eclipse.tm.terminal.serial/plugin.properties new file mode 100644 index 00000000000..4caacf9e857 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/plugin.properties @@ -0,0 +1,6 @@ +########################################################################## +# Copyright 2004 Wind River Systems, Inc. All rights reserved. +########################################################################## + +pluginName = Serial Terminal +providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml new file mode 100644 index 00000000000..29127ce2604 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java new file mode 100644 index 00000000000..cfb2ec28682 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java @@ -0,0 +1,28 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.serial; + +import org.eclipse.tm.terminal.ISettingsStore; + +public interface ISerialSettings { + + String getSerialPort(); + int getBaudRate(); + int getDataBits(); + int getStopBits(); + int getParity(); + int getFlowControl(); + int getTimeout(); + String getStatusString(String strConnected); + void load(ISettingsStore store); + void save(ISettingsStore store); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java new file mode 100644 index 00000000000..d561fd396a2 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.serial; + +import javax.comm.CommPortIdentifier; +import javax.comm.PortInUseException; +import javax.comm.SerialPort; + +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.TerminalState; + +public class SerialConnectWorker extends Thread { + private final ITerminalControl fControl; + private final SerialConnector fConn; + + /** + * UNDER CONSTRUCTION + * @param conn TODO + * @param control TODO + */ + public SerialConnectWorker(SerialConnector conn, ITerminalControl control) { + super(); + fControl = control; + fConn = conn; + fControl.setState(TerminalState.CONNECTING); + } + public void run() { + + try { + fControl.setState(TerminalState.OPENED); + String strID = getClass().getPackage().getName(); + ISerialSettings s=fConn.getSerialSettings(); + + fConn.setSerialPortHandler(new SerialPortHandler(fConn,fControl)); + fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(s.getSerialPort())); + int timeoutInMs = s.getTimeout() * 1000; + + SerialPort serialPort=(SerialPort) fConn.getSerialPortIdentifier().open(strID,timeoutInMs); + serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); + serialPort.setFlowControlMode(s.getFlowControl()); + serialPort.addEventListener(fConn.getSerialPortHandler()); + serialPort.notifyOnDataAvailable(true); + fConn.getSerialPortIdentifier().addPortOwnershipListener(fConn.getSerialPortHandler()); + fConn.setSerialPort(serialPort); + fControl.setState(TerminalState.CONNECTED); + } catch (PortInUseException portInUseException) { + fConn.setPortInUse(true); + fControl.setState(TerminalState.CLOSED); + fControl.setMsg("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ + + } catch (Exception exception) { + fControl.setState(TerminalState.CLOSED); + } + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java new file mode 100644 index 00000000000..028ae2f17af --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java @@ -0,0 +1,197 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.serial; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import javax.comm.CommPortIdentifier; +import javax.comm.SerialPort; + +import org.eclipse.tm.terminal.ISettingsPage; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +public class SerialConnector implements ITerminalConnector { + private OutputStream fOutputStream; + private InputStream fInputStream; + private ITerminalControl fControl; + private SerialPort fSerialPort; + private CommPortIdentifier fSerialPortIdentifier; + private SerialPortHandler fTerminalSerialPortHandler; + private boolean fIsPortInUse; + private final SerialSettings fSettings; + public SerialConnector() { + SerialSettings settins=null; + try { + settins=new SerialSettings(); + } catch (NoClassDefFoundError e) { + // the comm library is not installed + e.printStackTrace(); + } + fSettings=settins; + } + public String getId() { + return getClass().getName(); + } + public boolean isInstalled() { + // check if serial is installed + try { + return SerialPort.class!=null; + } catch (Throwable e) { + return false; + } + } + public SerialConnector(SerialSettings settings) { + fSettings=settings; + } + public void connect(ITerminalControl control) { + Logger.log("entered."); //$NON-NLS-1$ + fControl=control; + SerialConnectWorker worker = new SerialConnectWorker(this, control); + worker.start(); + } + public void disconnect() { + Logger.log("entered."); //$NON-NLS-1$ + + // Fix for SPR 112422. When output is being received from the serial port, the + // below call to removePortOwnershipListener() attempts to lock the serial port + // object, but that object is already locked by another Terminal view thread + // waiting for the SWT display thread to process a syncExec() call. Since this + // method is called on the display thread, the display thread is waiting to + // lock the serial port object and the thread holding the serial port object + // lock is waiting for the display thread to process a syncExec() call, so the + // two threads end up deadlocked, which hangs the Workbench GUI. + // + // The solution is to spawn a short-lived worker thread that calls + // removePortOwnershipListener(), thus preventing the display thread from + // deadlocking with the other Terminal view thread. + + new Thread("Terminal View Serial Port Disconnect Worker") //$NON-NLS-1$ + { + public void run() { + + if (getSerialPortIdentifier() != null) { + getSerialPortIdentifier() + .removePortOwnershipListener(getSerialPortHandler()); + } + + if (getSerialPort() != null) { + getSerialPort().removeEventListener(); + Logger.log("Calling close() on serial port ..."); //$NON-NLS-1$ + getSerialPort().close(); + } + + if (getInputStream() != null) { + try { + getInputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + if (getOutputStream() != null) { + try { + getOutputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + setSerialPortIdentifier(null); + cleanSerialPort(); + setSerialPortHandler(null); + } + + }.start(); + fControl.setState(TerminalState.CLOSED); + } + public InputStream getInputStream() { + return fInputStream; + } + public OutputStream getOutputStream() { + return fOutputStream; + } + private void setInputStream(InputStream inputStream) { + fInputStream = inputStream; + } + private void setOutputStream(OutputStream outputStream) { + fOutputStream = outputStream; + } + public boolean isLocalEcho() { + return false; + } + public void setTerminalSize(int newWidth, int newHeight) { + // TODO + } + + protected SerialPort getSerialPort() { + return fSerialPort; + } + + /** + * sets the socket to null + */ + void cleanSerialPort() { + fSerialPort=null; + setInputStream(null); + setOutputStream(null); + } + + protected void setSerialPort(SerialPort serialPort) throws IOException { + cleanSerialPort(); + if(serialPort!=null) { + fSerialPort = serialPort; + setOutputStream(serialPort.getOutputStream()); + setInputStream(serialPort.getInputStream()); + } + } + protected CommPortIdentifier getSerialPortIdentifier() { + return fSerialPortIdentifier; + } + protected void setSerialPortIdentifier(CommPortIdentifier serialPortIdentifier) { + fSerialPortIdentifier = serialPortIdentifier; + } + void setSerialPortHandler(SerialPortHandler serialPortHandler) { + fTerminalSerialPortHandler=serialPortHandler; + } + SerialPortHandler getSerialPortHandler() { + return fTerminalSerialPortHandler; + } + public boolean isPortInUse() { + return fIsPortInUse; + } + public void setPortInUse(boolean b) { + fIsPortInUse=true; + + } + public ISerialSettings getSerialSettings() { + return fSettings; + } + public ISettingsPage makeSettingsPage() { + return new SerialSettingsPage(fSettings); + } + public String getStatusString(String strConnected) { + return fSettings.getStatusString(strConnected); + } + public void load(ISettingsStore store) { + fSettings.load(store); + } + public void save(ISettingsStore store) { + fSettings.save(store); + } + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java new file mode 100644 index 00000000000..77e83c3d748 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.serial; + +import org.eclipse.osgi.util.NLS; +public class SerialMessages extends NLS { + static { + NLS.initializeMessages(SerialMessages.class.getName(), SerialMessages.class); + } + public static String CONNTYPE_SERIAL; + public static String PROP_TITLE; + public static String PORT; + public static String BAUDRATE; + public static String DATABITS; + public static String STOPBITS; + public static String PARITY; + public static String FLOWCONTROL; + public static String PORT_IN_USE; + public static String TIMEOUT; + +} diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties new file mode 100644 index 00000000000..2708d803517 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties @@ -0,0 +1,21 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +PORT_IN_USE = Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? +CONNTYPE_SERIAL = Serial +PROP_TITLE = Terminal +PORT = Port +BAUDRATE = Baud Rate +DATABITS = Data Bits +STOPBITS = Stop Bits +PARITY = Parity +FLOWCONTROL = Flow Control +TIMEOUT = Timeout (sec) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java new file mode 100644 index 00000000000..c4b4a98cde6 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.serial; + +import java.io.IOException; +import java.text.MessageFormat; + +import javax.comm.CommPortOwnershipListener; +import javax.comm.SerialPortEvent; +import javax.comm.SerialPortEventListener; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +/** + * UNDER CONSTRUCTION + */ +public class SerialPortHandler implements + SerialPortEventListener, CommPortOwnershipListener { + /** + * + */ + private final ITerminalControl fControl; + private final SerialConnector fConn; + protected byte[] bytes = new byte[2048]; + + /** + * UNDER CONSTRUCTION + * @param control TODO + */ + public SerialPortHandler(SerialConnector conn,ITerminalControl control) { + super(); + fControl = control; + fConn=conn; + } + + // Message handlers + + /** + * UNDER CONSTRUCTION + */ + public void onSerialDataAvailable(Object data) { + try { + while (fConn.getInputStream() != null && fConn.getInputStream().available() > 0) { + int nBytes = fConn.getInputStream().read(bytes); + fControl.writeToTerminal(new String(bytes, 0, nBytes)); + } + } catch (IOException ex) { + fControl.displayTextInTerminal(ex.getMessage()); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + public void onSerialOwnershipRequested(Object data) { + if (fConn.isPortInUse()) { + fConn.setPortInUse(false); + return; + } + + Display.getDefault().asyncExec(new Runnable() { + public void run() { + String[] args = new String[] { fConn.getSerialSettings().getSerialPort() }; + String strMsg = MessageFormat.format(SerialMessages.PORT_IN_USE, args); + + if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) + return; + fControl.setState(TerminalState.CONNECTING); + } + + }); + } + + // SerialPortEventListener interface + public void serialEvent(SerialPortEvent event) { + switch (event.getEventType()) { + case SerialPortEvent.DATA_AVAILABLE: + onSerialDataAvailable(null); + break; + } + } + + // CommPortOwnershipListener interface + + /** + * UNDER CONSTRUCTION + */ + public void ownershipChange(int nType) { + switch (nType) { + case CommPortOwnershipListener.PORT_OWNERSHIP_REQUESTED: + onSerialOwnershipRequested(null); + break; + } + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java new file mode 100644 index 00000000000..63d80c4b3ab --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java @@ -0,0 +1,159 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.serial; + +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.Vector; + +import javax.comm.CommPortIdentifier; + +public class SerialProperties { + protected List fSerialPortTable; + protected List fBaudRateTable; + protected List fDataBitsTable; + protected List fStopBitsTable; + protected List fParityTable; + protected List fFlowControlTable; + protected String fDefaultConnType; + protected String fDefaultSerialPort; + protected String fDefaultBaudRate; + protected String fDefaultDataBits; + protected String fDefaultStopBits; + protected String fDefaultParity; + protected String fDefaultFlowControl; + + public SerialProperties() { + setupProperties(); + } + public List getSerialPortTable() { + return fSerialPortTable; + } + + public List getBaudRateTable() { + return fBaudRateTable; + } + + public List getDataBitsTable() { + return fDataBitsTable; + } + + public List getStopBitsTable() { + return fStopBitsTable; + } + + public List getParityTable() { + return fParityTable; + } + + public List getFlowControlTable() { + return fFlowControlTable; + } + public String getDefaultConnType() { + return fDefaultConnType; + } + + public String getDefaultSerialPort() { + return fDefaultSerialPort; + } + + public String getDefaultBaudRate() { + return fDefaultBaudRate; + } + + public String getDefaultDataBits() { + return fDefaultDataBits; + } + + public String getDefaultStopBits() { + return fDefaultStopBits; + } + + public String getDefaultParity() { + return fDefaultParity; + } + + public String getDefaultFlowControl() { + return fDefaultFlowControl; + } + public String getDefaultTimeout() { + return "5"; + } + protected void setupProperties() { + fSerialPortTable = new Vector(); + fBaudRateTable = new Vector(); + fDataBitsTable = new Vector(); + fStopBitsTable = new Vector(); + fParityTable = new Vector(); + fFlowControlTable = new Vector(); + fDefaultConnType = ""; //$NON-NLS-1$ + fDefaultSerialPort = ""; //$NON-NLS-1$ + fDefaultBaudRate = ""; //$NON-NLS-1$ + fDefaultDataBits = ""; //$NON-NLS-1$ + fDefaultStopBits = ""; //$NON-NLS-1$ + fDefaultParity = ""; //$NON-NLS-1$ + fDefaultFlowControl = ""; //$NON-NLS-1$ + + fBaudRateTable.add("300"); //$NON-NLS-1$ + fBaudRateTable.add("1200"); //$NON-NLS-1$ + fBaudRateTable.add("2400"); //$NON-NLS-1$ + fBaudRateTable.add("4800"); //$NON-NLS-1$ + fBaudRateTable.add("9600"); //$NON-NLS-1$ + fBaudRateTable.add("19200"); //$NON-NLS-1$ + fBaudRateTable.add("38400"); //$NON-NLS-1$ + fBaudRateTable.add("57600"); //$NON-NLS-1$ + fBaudRateTable.add("115200"); //$NON-NLS-1$ + + fDataBitsTable.add("5"); //$NON-NLS-1$ + fDataBitsTable.add("6"); //$NON-NLS-1$ + fDataBitsTable.add("7"); //$NON-NLS-1$ + fDataBitsTable.add("8"); //$NON-NLS-1$ + + fStopBitsTable.add("1"); //$NON-NLS-1$ + fStopBitsTable.add("1_5"); //$NON-NLS-1$ + fStopBitsTable.add("2"); //$NON-NLS-1$ + + fParityTable.add("None"); //$NON-NLS-1$ + fParityTable.add("Even"); //$NON-NLS-1$ + fParityTable.add("Odd"); //$NON-NLS-1$ + fParityTable.add("Mark"); //$NON-NLS-1$ + fParityTable.add("Space"); //$NON-NLS-1$ + + fFlowControlTable.add("None"); //$NON-NLS-1$ + fFlowControlTable.add("RTS/CTS"); //$NON-NLS-1$ + fFlowControlTable.add("Xon/Xoff"); //$NON-NLS-1$ + + fDefaultBaudRate = (String) fBaudRateTable.get(4); + fDefaultDataBits = (String) fDataBitsTable.get(3); + fDefaultStopBits = (String) fStopBitsTable.get(0); + fDefaultParity = (String) fParityTable.get(0); + fDefaultFlowControl = (String) fFlowControlTable.get(0); + + Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers();; + while (portIdEnum.hasMoreElements()) { + CommPortIdentifier identifier = (CommPortIdentifier) portIdEnum.nextElement(); + String strName = identifier.getName(); + int nPortType = identifier.getPortType(); + + if (nPortType == CommPortIdentifier.PORT_SERIAL) + fSerialPortTable.add(strName); + } + + Collections.sort(fSerialPortTable); + + if (!fSerialPortTable.isEmpty()) { + fDefaultSerialPort = (String) fSerialPortTable.get(0); + } + } +} diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java new file mode 100644 index 00000000000..dc61203e140 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java @@ -0,0 +1,196 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.serial; + +import javax.comm.SerialPort; + +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; + +public class SerialSettings implements ISerialSettings { + protected String fSerialPort; + protected String fBaudRate; + protected String fDataBits; + protected String fStopBits; + protected String fParity; + protected String fFlowControl; + protected String fTimeout; + final private SerialProperties fProperties=new SerialProperties(); + + public String getSerialPort() { + return fSerialPort; + } + + public void setSerialPort(String strSerialPort) { + fSerialPort = strSerialPort; + } + + public String getBaudRateString() { + return fBaudRate; + } + + public int getBaudRate() { + int nBaudRate; + + try { + nBaudRate = Integer.parseInt(fBaudRate); + } catch (NumberFormatException numberFormatException) { + nBaudRate = 9600; + } + + return nBaudRate; + } + + public void setBaudRate(String strBaudRate) { + fBaudRate = strBaudRate; + } + + public String getDataBitsString() { + return fDataBits; + } + + public int getDataBits() { + if (fDataBits.equals("5")) { //$NON-NLS-1$ + return SerialPort.DATABITS_5; + } else if (fDataBits.equals("6")) { //$NON-NLS-1$ + return SerialPort.DATABITS_6; + } else if (fDataBits.equals("7")) { //$NON-NLS-1$ + return SerialPort.DATABITS_7; + } else { + return SerialPort.DATABITS_8; + } + } + + public void setDataBits(String strDataBits) { + fDataBits = strDataBits; + } + + public String getStopBitsString() { + return fStopBits; + } + + public int getStopBits() { + if (fStopBits.equals("1_5")) { //$NON-NLS-1$ + return SerialPort.STOPBITS_1_5; + } else if (fStopBits.equals("2")) { //$NON-NLS-1$ + return SerialPort.STOPBITS_2; + } else { // 1 + return SerialPort.STOPBITS_1; + } + } + + public void setStopBits(String strStopBits) { + fStopBits = strStopBits; + } + + public String getParityString() { + return fParity; + } + + public int getParity() { + if (fParity.equals("Even")) //$NON-NLS-1$ + { + return SerialPort.PARITY_EVEN; + } else if (fParity.equals("Odd")) //$NON-NLS-1$ + { + return SerialPort.PARITY_ODD; + } else if (fParity.equals("Mark")) //$NON-NLS-1$ + { + return SerialPort.PARITY_MARK; + } else if (fParity.equals("Space")) //$NON-NLS-1$ + { + return SerialPort.PARITY_SPACE; + } else // None + { + return SerialPort.PARITY_NONE; + } + } + + public void setParity(String strParity) { + fParity = strParity; + } + + public String getFlowControlString() { + return fFlowControl; + } + + public int getFlowControl() { + if (fFlowControl.equals("RTS/CTS")) //$NON-NLS-1$ + { + return SerialPort.FLOWCONTROL_RTSCTS_IN; + } else if (fFlowControl.equals("Xon/Xoff")) //$NON-NLS-1$ + { + return SerialPort.FLOWCONTROL_XONXOFF_IN; + } else // None + { + return SerialPort.FLOWCONTROL_NONE; + } + } + + public void setFlowControl(String strFlow) { + fFlowControl = strFlow; + } + + public String getStatusString(String strConnected) { + return " (" + //$NON-NLS-1$ + getSerialPort() + ", " + //$NON-NLS-1$ + getBaudRateString() + ", " + //$NON-NLS-1$ + getDataBitsString() + ", " + //$NON-NLS-1$ + getStopBitsString() + ", " + //$NON-NLS-1$ + getParityString() + ", " + //$NON-NLS-1$ + getFlowControlString() + " - " + //$NON-NLS-1$ + strConnected + ")"; //$NON-NLS-1$ + } + + public ITerminalConnector makeConnector() { + return new SerialConnector(this); + } + + public void load(ISettingsStore store) { + fSerialPort = store.get("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ + fBaudRate = store.get("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ + fDataBits = store.get("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ + fStopBits = store.get("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ + fParity = store.get("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ + fFlowControl = store.get("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ + fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); + } + + public void save(ISettingsStore store) { + store.put("SerialPort", fSerialPort); //$NON-NLS-1$ + store.put("BaudRate", fBaudRate); //$NON-NLS-1$ + store.put("DataBits", fDataBits); //$NON-NLS-1$ + store.put("StopBits", fStopBits); //$NON-NLS-1$ + store.put("Parity", fParity); //$NON-NLS-1$ + store.put("FlowControl", fFlowControl); //$NON-NLS-1$ + } + + public SerialProperties getProperties() { + return fProperties; + } + + public int getTimeout() { + try { + return Integer.parseInt(fTimeout); + } catch (NumberFormatException numberFormatException) { + return 10; + } + } + public String getTimeoutString() { + return fTimeout; + } + + public void setTimeout(String timeout) { + fTimeout = timeout; + } +} diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java new file mode 100644 index 00000000000..01504d9a5fc --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java @@ -0,0 +1,137 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.serial; + +import java.util.Iterator; +import java.util.List; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +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.swt.widgets.Text; +import org.eclipse.tm.terminal.ISettingsPage; + +public class SerialSettingsPage implements ISettingsPage { + private Combo fSerialPortCombo; + private Combo fBaudRateCombo; + private Combo fDataBitsCombo; + private Combo fStopBitsCombo; + private Combo fParityCombo; + private Combo fFlowControlCombo; + private Text fTimeout; + private final SerialSettings fTerminalSettings; + + public SerialSettingsPage(SerialSettings settings) { + fTerminalSettings=settings; + } + public void saveSettings() { + fTerminalSettings.setSerialPort(getComboValue(fSerialPortCombo)); + fTerminalSettings.setBaudRate(getComboValue(fBaudRateCombo)); + fTerminalSettings.setDataBits(getComboValue(fDataBitsCombo)); + fTerminalSettings.setStopBits(getComboValue(fStopBitsCombo)); + fTerminalSettings.setParity(getComboValue(fParityCombo)); + fTerminalSettings.setFlowControl(getComboValue(fFlowControlCombo)); + fTerminalSettings.setTimeout(fTimeout.getText()); + } + public void loadSettings() { + // Load controls + SerialProperties properties = fTerminalSettings.getProperties(); + List list; + + list = properties.getSerialPortTable(); + loadCombo(fSerialPortCombo, list); + + list = properties.getBaudRateTable(); + loadCombo(fBaudRateCombo, list); + + list = properties.getDataBitsTable(); + loadCombo(fDataBitsCombo, list); + + list = properties.getStopBitsTable(); + loadCombo(fStopBitsCombo, list); + + list = properties.getParityTable(); + loadCombo(fParityCombo, list); + + list = properties.getFlowControlTable(); + loadCombo(fFlowControlCombo, list); + + setCombo(fSerialPortCombo,fTerminalSettings.getSerialPort()); + setCombo(fBaudRateCombo,fTerminalSettings.getBaudRateString()); + setCombo(fDataBitsCombo,fTerminalSettings.getDataBitsString()); + setCombo(fStopBitsCombo,fTerminalSettings.getStopBitsString()); + setCombo(fParityCombo,fTerminalSettings.getParityString()); + setCombo(fFlowControlCombo,fTerminalSettings.getFlowControlString()); + fTimeout.setText(fTerminalSettings.getTimeoutString()); + } + private void setCombo(Combo combo,String value) { + if(value==null) + return; + int nIndex = combo.indexOf(value); + if (nIndex == -1) + return; + + combo.select(nIndex); + + } + private String getComboValue(Combo combo) { + int nIndex = combo.getSelectionIndex(); + if (nIndex == -1) + return ""; //$NON-NLS-1$ + + return combo.getItem(nIndex); + + } + public boolean validateSettings() { + return true; + } + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + + composite.setLayout(gridLayout); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":"); + fBaudRateCombo=addLabeledCombo(composite, SerialMessages.BAUDRATE + ":"); //$NON-NLS-1$ + fDataBitsCombo=addLabeledCombo(composite, SerialMessages.DATABITS + ":"); //$NON-NLS-1$ + fStopBitsCombo=addLabeledCombo(composite, SerialMessages.STOPBITS + ":"); //$NON-NLS-1$ + fParityCombo=addLabeledCombo(composite, SerialMessages.PARITY + ":"); //$NON-NLS-1$ + fFlowControlCombo=addLabeledCombo(composite, SerialMessages.FLOWCONTROL + ":"); //$NON-NLS-1$ + + new Label(composite, SWT.RIGHT).setText(SerialMessages.TIMEOUT + ":"); //$NON-NLS-1$ + fTimeout = new Text(composite, SWT.BORDER); + fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + loadSettings(); + } + + private Combo addLabeledCombo(Composite composite, String label) { + new Label(composite, SWT.RIGHT).setText(label); + Combo combo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); + combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + return combo; + } + private void loadCombo(Combo ctlCombo, List table) { + for (Iterator iter = table.iterator(); iter.hasNext();) { + String label = (String) iter.next(); + ctlCombo.add(label); + } + } + + public String getName() { + return SerialMessages.CONNTYPE_SERIAL; + } +} diff --git a/org.eclipse.tm.terminal.view-feature/.project b/org.eclipse.tm.terminal.view-feature/.project new file mode 100644 index 00000000000..57ff3d8e631 --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.view-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.view-feature/build.properties b/org.eclipse.tm.terminal.view-feature/build.properties new file mode 100644 index 00000000000..64f93a9f0b7 --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml new file mode 100644 index 00000000000..bae89b9b85b --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -0,0 +1,33 @@ + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.view/.classpath b/org.eclipse.tm.terminal.view/.classpath new file mode 100644 index 00000000000..ce73933404a --- /dev/null +++ b/org.eclipse.tm.terminal.view/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.eclipse.tm.terminal.view/.project b/org.eclipse.tm.terminal.view/.project new file mode 100644 index 00000000000..8e57f57b452 --- /dev/null +++ b/org.eclipse.tm.terminal.view/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.view + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sourceforge.metrics.builder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sourceforge.metrics.nature + + diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..b2cf7ff9c9c --- /dev/null +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Thu Nov 30 06:15:17 CET 2006 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..9a20fca52a4 --- /dev/null +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Mon Jul 31 14:55:17 CEST 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..6a94941e046 --- /dev/null +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true +Bundle-Version: 0.9.0 +Bundle-Activator: org.eclipse.tm.terminal.internal.view.TerminalViewPlugin +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal +Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-Vendor: %providerName diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties new file mode 100644 index 00000000000..64a3723302a --- /dev/null +++ b/org.eclipse.tm.terminal.view/build.properties @@ -0,0 +1,17 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + icons/,\ + .settings/,\ + plugin.properties +src.includes = .classpath,\ + .project,\ + .settings/,\ + META-INF/,\ + build.properties,\ + icons/,\ + plugin.properties,\ + plugin.xml,\ + src/ diff --git a/org.eclipse.tm.terminal/icons/clcl16/connect_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/clcl16/connect_co.gif rename to org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal/icons/clcl16/disconnect_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/clcl16/disconnect_co.gif rename to org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal/icons/clcl16/newterminal.gif b/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/clcl16/newterminal.gif rename to org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal/icons/clcl16/properties_tsk.gif b/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/clcl16/properties_tsk.gif rename to org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal/icons/cview16/terminal_view.gif b/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/cview16/terminal_view.gif rename to org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif diff --git a/org.eclipse.tm.terminal/icons/dlcl16/connect_co.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/dlcl16/connect_co.gif rename to org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal/icons/dlcl16/disconnect_co.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/dlcl16/disconnect_co.gif rename to org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal/icons/dlcl16/newterminal.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/dlcl16/newterminal.gif rename to org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal/icons/dlcl16/properties_tsk.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/dlcl16/properties_tsk.gif rename to org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal/icons/elcl16/connect_co.gif b/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/elcl16/connect_co.gif rename to org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal/icons/elcl16/disconnect_co.gif b/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/elcl16/disconnect_co.gif rename to org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal/icons/elcl16/newterminal.gif b/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/elcl16/newterminal.gif rename to org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal/icons/elcl16/properties_tsk.gif b/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/elcl16/properties_tsk.gif rename to org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal/icons/eview16/terminal_view.gif b/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/eview16/terminal_view.gif rename to org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties new file mode 100644 index 00000000000..4c668735b62 --- /dev/null +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -0,0 +1,17 @@ +########################################################################## +# Copyright 2004 Wind River Systems, Inc. All rights reserved. +########################################################################## + +pluginName = Terminal View +providerName = Eclipse.org +terminal.views.category.name = Terminal +terminal.views.view.name = Terminal +terminal.views.view.font.description = The font for the terminal console. +terminal.views.view.font.label = Terminal Console Font + +terminal.view.context.name=Terminal view context +terminal.view.context.description=control-q override + +terminal.view.insertion.description=Terminal view insertion +terminal.view.insertion.name=Terminal view insert +terminal.view.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml new file mode 100644 index 00000000000..ca523016721 --- /dev/null +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -0,0 +1,128 @@ + + + + + + + + + + + + + + + + + + + + + + + + + %terminal.views.view.font.description + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java new file mode 100644 index 00000000000..193de4170a5 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.osgi.util.NLS; + +public class ActionMessages extends NLS { + static { + NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); + } + public static String NEW_TERMINAL; + public static String CONNECT; + public static String DISCONNECT; + public static String SETTINGS_ELLIPSE; + public static String COPY; + public static String CUT; + public static String PASTE; + public static String SELECTALL; + public static String CLEARALL; + public static String SETTINGS; + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties new file mode 100644 index 00000000000..faad8ee0e33 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties @@ -0,0 +1,21 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +NEW_TERMINAL = New Terminal +CONNECT = Connect +DISCONNECT = Disconnect +SETTINGS_ELLIPSE = Settings... +COPY = Copy +CUT = Cut +PASTE = Paste +SELECTALL = Select All +CLEARALL = Clear All +SETTINGS = Settings diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java new file mode 100644 index 00000000000..cd8fe30110f --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.internal.view.ITerminalView; +import org.eclipse.tm.terminal.internal.view.TerminalViewPlugin; + +abstract public class TerminalAction extends Action { + protected final ITerminalView fTarget; + public TerminalAction(ITerminalView target, String strId) { + super(""); //$NON-NLS-1$ + + fTarget = target; + + setId(strId); + } + abstract public void run(); + protected void setupAction(String strText, String strToolTip, + String strImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled) { + TerminalViewPlugin plugin; + ImageRegistry imageRegistry; + + plugin = TerminalViewPlugin.getDefault(); + imageRegistry = plugin.getImageRegistry(); + setupAction(strText, strToolTip, strImage, strEnabledImage, + strDisabledImage, bEnabled, imageRegistry); + } + protected void setupAction(String strText, String strToolTip, + String strImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled, ImageRegistry imageRegistry) { + ImageDescriptor imageDescriptor; + + setText(strText); + setToolTipText(strToolTip); + setEnabled(bEnabled); + + imageDescriptor = imageRegistry.getDescriptor(strEnabledImage); + if (imageDescriptor != null) { + setImageDescriptor(imageDescriptor); + } + + imageDescriptor = imageRegistry.getDescriptor(strDisabledImage); + if (imageDescriptor != null) { + setDisabledImageDescriptor(imageDescriptor); + } + + imageDescriptor = imageRegistry.getDescriptor(strImage); + if (imageDescriptor != null) { + setHoverImageDescriptor(imageDescriptor); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java similarity index 72% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java index 889715198e7..508e9791b8c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionClearAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java @@ -12,23 +12,28 @@ *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; public class TerminalActionClearAll extends TerminalAction { - protected TerminalActionClearAll(TerminalTarget target) + public TerminalActionClearAll(ITerminalView target) { super(target, - ON_EDIT_CLEARALL, TerminalActionClearAll.class.getName()); - setupAction(TERMINAL_TEXT_CLEARALL, - TERMINAL_TEXT_CLEARALL, + setupAction(ActionMessages.CLEARALL, + ActionMessages.CLEARALL, null, null, null, false); } + + public void run() { + fTarget.onEditClearAll(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java similarity index 58% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java index 078338e1c34..a892612a673 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionConnect.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java @@ -11,21 +11,26 @@ *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; +import org.eclipse.tm.terminal.internal.view.ImageConsts; public class TerminalActionConnect extends TerminalAction { - protected TerminalActionConnect(TerminalTarget target) + public TerminalActionConnect(ITerminalView target) { super(target, - ON_TERMINAL_CONNECT, TerminalActionConnect.class.getName()); - setupAction(TERMINAL_TEXT_CONNECT, - TERMINAL_TEXT_CONNECT, - TERMINAL_IMAGE_CLCL_CONNECT, - TERMINAL_IMAGE_ELCL_CONNECT, - TERMINAL_IMAGE_DLCL_CONNECT, + setupAction(ActionMessages.CONNECT, + ActionMessages.CONNECT, + ImageConsts.IMAGE_CLCL_CONNECT, + ImageConsts.IMAGE_ELCL_CONNECT, + ImageConsts.IMAGE_DLCL_CONNECT, true); } + public void run() { + fTarget.onTerminalConnect(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java similarity index 79% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java index 47c900f8a11..90122aa6ef7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCopy.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java @@ -10,29 +10,32 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.internal.WorkbenchImages; public class TerminalActionCopy extends TerminalAction { - protected TerminalActionCopy(TerminalTarget target) + public TerminalActionCopy(ITerminalView target) { super(target, - ON_EDIT_COPY, TerminalActionCopy.class.getName()); ImageRegistry imageRegistry; imageRegistry = WorkbenchImages.getImageRegistry(); - setupAction(TERMINAL_TEXT_COPY, - TERMINAL_TEXT_COPY, + setupAction(ActionMessages.COPY, + ActionMessages.COPY, ISharedImages.IMG_TOOL_COPY, ISharedImages.IMG_TOOL_COPY, ISharedImages.IMG_TOOL_COPY_DISABLED, true, imageRegistry); } + public void run() { + fTarget.onEditCopy(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java similarity index 80% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java index 2a06c87748d..997b0675a0c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionCut.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java @@ -10,29 +10,32 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.internal.WorkbenchImages; public class TerminalActionCut extends TerminalAction { - protected TerminalActionCut(TerminalTarget target) + public TerminalActionCut(ITerminalView target) { super(target, - ON_EDIT_CUT, TerminalActionCut.class.getName()); ImageRegistry imageRegistry; imageRegistry = WorkbenchImages.getImageRegistry(); - setupAction(TERMINAL_TEXT_CUT, - TERMINAL_TEXT_CUT, + setupAction(ActionMessages.CUT, + ActionMessages.CUT, ISharedImages.IMG_TOOL_CUT, ISharedImages.IMG_TOOL_CUT, ISharedImages.IMG_TOOL_CUT_DISABLED, true, imageRegistry); } + public void run() { + fTarget.onEditCut(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java similarity index 58% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java index e1f294da96e..d717a988b39 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionDisconnect.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java @@ -10,24 +10,29 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; +import org.eclipse.tm.terminal.internal.view.ImageConsts; public class TerminalActionDisconnect extends TerminalAction { /** * */ - protected TerminalActionDisconnect(TerminalTarget target) + public TerminalActionDisconnect(ITerminalView target) { super(target, - ON_TERMINAL_DISCONNECT, TerminalActionDisconnect.class.getName()); - setupAction(TERMINAL_TEXT_DISCONNECT, - TERMINAL_TEXT_DISCONNECT, - TERMINAL_IMAGE_CLCL_DISCONNECT, - TERMINAL_IMAGE_ELCL_DISCONNECT, - TERMINAL_IMAGE_DLCL_DISCONNECT, + setupAction(ActionMessages.DISCONNECT, + ActionMessages.DISCONNECT, + ImageConsts.IMAGE_CLCL_DISCONNECT, + ImageConsts.IMAGE_ELCL_DISCONNECT, + ImageConsts.IMAGE_DLCL_DISCONNECT, false); } + public void run() { + fTarget.onTerminalDisconnect(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java similarity index 56% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java index 80bfdccadb6..a0c0a49322c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionNewTerminal.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java @@ -10,7 +10,10 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; +import org.eclipse.tm.terminal.internal.view.ImageConsts; /** * UNDER CONSTRUCTION @@ -22,15 +25,18 @@ public class TerminalActionNewTerminal extends TerminalAction /** * UNDER CONSTRUCTION */ - protected TerminalActionNewTerminal(TerminalTarget target) + public TerminalActionNewTerminal(ITerminalView target) { - super(target, ON_TERMINAL_NEW_TERMINAL, TerminalActionNewTerminal.class.getName()); + super(target, TerminalActionNewTerminal.class.getName()); - setupAction(TERMINAL_TEXT_NEW_TERMINAL, - TERMINAL_TEXT_NEW_TERMINAL, - TERMINAL_IMAGE_NEW_TERMINAL, - TERMINAL_IMAGE_NEW_TERMINAL, - TERMINAL_IMAGE_NEW_TERMINAL, + setupAction(ActionMessages.NEW_TERMINAL, + ActionMessages.NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, true); } + public void run() { + fTarget.onTerminalNewTerminal(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java similarity index 79% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java index 6d14e5612dd..b6b3de56b2e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionPaste.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java @@ -10,29 +10,32 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.internal.WorkbenchImages; public class TerminalActionPaste extends TerminalAction { - protected TerminalActionPaste(TerminalTarget target) + public TerminalActionPaste(ITerminalView target) { super(target, - ON_EDIT_PASTE, TerminalActionPaste.class.getName()); ImageRegistry imageRegistry; imageRegistry = WorkbenchImages.getImageRegistry(); - setupAction(TERMINAL_TEXT_PASTE, - TERMINAL_TEXT_PASTE, + setupAction(ActionMessages.PASTE, + ActionMessages.PASTE, ISharedImages.IMG_TOOL_PASTE, ISharedImages.IMG_TOOL_PASTE_DISABLED, ISharedImages.IMG_TOOL_PASTE, false, imageRegistry); } + public void run() { + fTarget.onEditPaste(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java similarity index 72% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java index 19903bda345..4c0d62e9cc5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSelectAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java @@ -10,21 +10,25 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; public class TerminalActionSelectAll extends TerminalAction { - protected TerminalActionSelectAll(TerminalTarget target) + public TerminalActionSelectAll(ITerminalView target) { super(target, - ON_EDIT_SELECTALL, TerminalActionSelectAll.class.getName()); - setupAction(TERMINAL_TEXT_SELECTALL, - TERMINAL_TEXT_SELECTALL, + setupAction(ActionMessages.SELECTALL, + ActionMessages.SELECTALL, null, null, null, false); } + public void run() { + fTarget.onEditSelectAll(); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java similarity index 57% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java rename to org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java index b0389b62cb1..a86f09e334a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalActionSettings.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java @@ -10,21 +10,26 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.actions; + +import org.eclipse.tm.terminal.internal.view.ITerminalView; +import org.eclipse.tm.terminal.internal.view.ImageConsts; public class TerminalActionSettings extends TerminalAction { - protected TerminalActionSettings(TerminalTarget target) + public TerminalActionSettings(ITerminalView target) { super(target, - ON_TERMINAL_SETTINGS, TerminalActionSettings.class.getName()); - setupAction(TERMINAL_TEXT_SETTINGS_ELLIPSE, - TERMINAL_TEXT_SETTINGS, - TERMINAL_IMAGE_CLCL_SETTINGS, - TERMINAL_IMAGE_ELCL_SETTINGS, - TERMINAL_IMAGE_DLCL_SETTINGS, + setupAction(ActionMessages.SETTINGS_ELLIPSE, + ActionMessages.SETTINGS, + ImageConsts.IMAGE_CLCL_SETTINGS, + ImageConsts.IMAGE_ELCL_SETTINGS, + ImageConsts.IMAGE_DLCL_SETTINGS, true); } + public void run() { + fTarget.onTerminalSettings(); + } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java new file mode 100644 index 00000000000..cdbf0603d90 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +public interface ITerminalView { + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + public void onTerminalNewTerminal(); + public void onTerminalConnect(); + public void onTerminalDisconnect(); + public void onTerminalSettings(); + public void onTerminalFontChanged(); + public void onEditCopy(); + public void onEditCut(); + public void onEditPaste(); + public void onEditClearAll(); + public void onEditSelectAll(); +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java new file mode 100644 index 00000000000..c531dcb83dc --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +public interface ImageConsts +{ + public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + public final static String IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ + public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ + public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ + + public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ + + public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ + + public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java new file mode 100644 index 00000000000..96b4f41d7cd --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java @@ -0,0 +1,113 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Layout; + +/** + * A pagebook is a composite control where only a single control is visible + * at a time. It is similar to a notebook, but without tabs. + *

+ * This class may be instantiated; it is not intended to be subclassed. + *

+ * + */ +public class PageBook extends Composite { + private Point minimumPageSize = new Point(0, 0); + /** + * Layout for the page container. + * + */ + private class PageLayout extends Layout { + public Point computeSize(Composite composite, int wHint, int hHint, boolean force) { + if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) + return new Point(wHint, hHint); + int x = minimumPageSize.x; + int y = minimumPageSize.y; + Control[] children = composite.getChildren(); + for (int i = 0; i < children.length; i++) { + Point size = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, force); + x = Math.max(x, size.x); + y = Math.max(y, size.y); + } + + if (wHint != SWT.DEFAULT) + x = wHint; + if (hHint != SWT.DEFAULT) + y = hHint; + return new Point(x, y); + } + + public void layout(Composite composite, boolean force) { + Rectangle rect = composite.getClientArea(); + Control[] children = composite.getChildren(); + for (int i = 0; i < children.length; i++) { + children[i].setSize(rect.width, rect.height); + } + } + } + /** + * Creates a new empty pagebook. + * + * @param parent the parent composite + * @param style the SWT style bits (use {@link SWT#NONE}) + */ + public PageBook(Composite parent, int style) { + super(parent, style); + setLayout(new PageLayout()); + } + /** + * The current control; null if none. + */ + private Control currentPage = null; + + /** + * Shows the given page. This method has no effect if the given page is not + * contained in this pagebook. + * + * @param page the page to show + */ + public void showPage(Control page) { + + if (page == currentPage) + return; + if (page.getParent() != this) + return; + + currentPage = page; + + // show new page + if (page != null) { + if (!page.isDisposed()) { + page.setVisible(true); + layout(true); + // if (fRequestFocusOnShowPage) + // page.setFocus(); + } + } + + // hide old *after* new page has been made visible in order to avoid flashing + // we have to hide all other pages, because they might be visible + // by some other means... + Control[] pages=getChildren(); + for (int i = 0; i < pages.length; i++) { + if(pages[i]!=page && !pages[i].isDisposed()) { + pages[i].setVisible(false); + } + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java new file mode 100644 index 00000000000..e305e0a4ea8 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.tm.terminal.ISettingsStore; + +public class SettingStorePrefixDecorator implements ISettingsStore { + private final String fPrefix; + private final ISettingsStore fStore; + SettingStorePrefixDecorator(ISettingsStore store,String prefix) { + fPrefix=prefix; + fStore=store; + } + public String get(String key) { + return fStore.get(fPrefix+key); + } + + public String get(String key, String defaultValue) { + return fStore.get(fPrefix+key,defaultValue); + } + + public void put(String key, String value) { + fStore.put(fPrefix+key,value); + } + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java new file mode 100644 index 00000000000..ee715a4a54e --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.tm.terminal.ISettingsStore; + +/** + * + * A {@link IDialogSettings} based {@link ISettingsStore}. + * + * @author Michael Scharf + */ +class SettingsStore implements ISettingsStore { + final private IDialogSettings fDialogSettings; + final private String fPrefix; + public SettingsStore(String terminalPartName) { + fDialogSettings=TerminalViewPlugin.getDefault().getDialogSettings(); + fPrefix=getClass().getName() + "." + terminalPartName + "."; //$NON-NLS-1$ //$NON-NLS-2$; + } + + public String get(String key) { + return get(key,null); + } + public String get(String key, String defaultValue) { + String value = fDialogSettings.get(fPrefix + key); + + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; + + return value; + } + + public void put(String key, String strValue) { + fDialogSettings.put(fPrefix + key , strValue); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java new file mode 100644 index 00000000000..dddcdb38f82 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java @@ -0,0 +1,150 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.IntegerFieldEditor; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class TerminalPreferencePage extends FieldEditorPreferencePage implements + IWorkbenchPreferencePage { + public static final String PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ + public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ + public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ + public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ + public static final boolean DEFAULT_LIMITOUTPUT = true; + public static final int DEFAULT_BUFFERLINES = 1000; + public static final int DEFAULT_TIMEOUT_SERIAL = 5; + public static final int DEFAULT_TIMEOUT_NETWORK = 5; + + + protected TerminalBooleanFieldEditor fEditorLimitOutput; + + protected IntegerFieldEditor fEditorBufferSize; + + protected IntegerFieldEditor fEditorSerialTimeout; + + protected IntegerFieldEditor fEditorNetworkTimeout; + public TerminalPreferencePage() { + super(GRID); + } + public void onLimitOutputSelected() { + Button ctlButton; + Text ctlText; + Label ctlLabel; + boolean bEnabled; + + ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent()); + ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent()); + bEnabled = ctlButton.getSelection(); + + ctlText.setEnabled(bEnabled); + ctlLabel.setEnabled(bEnabled); + } + protected void createFieldEditors() { + setupPage(); + } + protected void initialize() { + super.initialize(); + + onLimitOutputSelected(); + } + protected void performDefaults() { + super.performDefaults(); + + onLimitOutputSelected(); + } + public void init(IWorkbench workbench) { + // do nothing + } + protected void setupPage() { + setupData(); + setupEditors(); + setupListeners(); + } + protected void setupData() { + TerminalViewPlugin plugin; + IPreferenceStore preferenceStore; + + plugin = TerminalViewPlugin.getDefault(); + preferenceStore = plugin.getPreferenceStore(); + setPreferenceStore(preferenceStore); + } + protected void setupEditors() { + fEditorLimitOutput = new TerminalBooleanFieldEditor( + PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT, + getFieldEditorParent()); + fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, + ViewMessages.BUFFERLINES, getFieldEditorParent()); + fEditorSerialTimeout = new IntegerFieldEditor( + PREF_TIMEOUT_SERIAL, ViewMessages.SERIALTIMEOUT, + getFieldEditorParent()); + fEditorNetworkTimeout = new IntegerFieldEditor( + PREF_TIMEOUT_NETWORK, ViewMessages.NETWORKTIMEOUT, + getFieldEditorParent()); + + fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); + fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); + fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); + + addField(fEditorLimitOutput); + addField(fEditorBufferSize); + addField(fEditorSerialTimeout); + addField(fEditorNetworkTimeout); + } + protected void setupListeners() { + TerminalSelectionHandler selectionHandler; + Button ctlButton; + + selectionHandler = new TerminalSelectionHandler(); + ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlButton.addSelectionListener(selectionHandler); + } + public class TerminalBooleanFieldEditor extends BooleanFieldEditor { + public TerminalBooleanFieldEditor(String strName, String strLabel, + Composite ctlParent) { + super(strName, strLabel, ctlParent); + } + public Button getChangeControl(Composite parent) { + return super.getChangeControl(parent); + } + } + protected class TerminalSelectionHandler extends SelectionAdapter { + protected TerminalSelectionHandler() { + super(); + } + public void widgetSelected(SelectionEvent event) { + Object source; + Button ctlButton; + + source = event.getSource(); + ctlButton = fEditorLimitOutput + .getChangeControl(getFieldEditorParent()); + + if (source == ctlButton) { + onLimitOutputSelected(); + } + } + + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java new file mode 100644 index 00000000000..608c0c7cce7 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.terminal.ISettingsPage; +import org.eclipse.tm.terminal.ITerminalConnector; + +class TerminalSettingsDlg extends Dialog { + private Combo fCtlConnTypeCombo; + private final ITerminalConnector[] fConnectors; + private final ISettingsPage[] fPages; + private int fSelectedConnector; + private PageBook fPageBook; + + public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { + super(shell); + fConnectors=connectors; + fPages=new ISettingsPage[fConnectors.length]; + for (int i = 0; i < fConnectors.length; i++) { + fPages[i]=fConnectors[i].makeSettingsPage(); + if(fConnectors[i]==connector) + fSelectedConnector=i; + } + } + protected void okPressed() { + if (!validateSettings()) + return; + if(fSelectedConnector>=0) { + fPages[fSelectedConnector].saveSettings(); + } + super.okPressed(); + } + protected void cancelPressed() { + fSelectedConnector=-1; + super.cancelPressed(); + } + public int open() { + setShellStyle(getShellStyle() | SWT.RESIZE); + return super.open(); + } + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + + newShell.setText(ViewMessages.TERMINALSETTINGS); + } + protected Control createDialogArea(Composite parent) { + Composite ctlComposite = (Composite) super.createDialogArea(parent); + setupPanel(ctlComposite); + setupListeners(); + initFields(); + + return ctlComposite; + } + private void initFields() { + // Load controls + for (int i = 0; i < fPages.length; i++) { + String name=fPages[i].getName(); + fCtlConnTypeCombo.add(name); + if(fSelectedConnector==i) { + fCtlConnTypeCombo.select(i); + selectPage(i); + } + } + } + private boolean validateSettings() { + if(fSelectedConnector<0) + return true; + return fPages[fSelectedConnector].validateSettings(); + } + private void setupPanel(Composite wndParent) { + setupConnTypePanel(wndParent); + setupSettingsGroup(wndParent); + } + private void setupConnTypePanel(Composite wndParent) { + Group wndGroup; + GridLayout gridLayout; + GridData gridData; + + wndGroup = new Group(wndParent, SWT.NONE); + gridLayout = new GridLayout(1, true); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(gridData); + wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ + + fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); + gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.widthHint = 200; + fCtlConnTypeCombo.setLayoutData(gridData); + } + private void setupSettingsGroup(Composite parent) { + Group group = new Group(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(); + GridData gridData = new GridData(GridData.FILL_BOTH); + + group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ + group.setLayout(gridLayout); + group.setLayoutData(gridData); + fPageBook=new PageBook(group,SWT.NONE); + for (int i = 0; i < fPages.length; i++) { + fPages[i].createControl(fPageBook); + } + } + private void setupListeners() { + fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + selectPage(fCtlConnTypeCombo.getSelectionIndex()); + } + }); + } + public ITerminalConnector getConnector() { + if(fSelectedConnector>=0) + return fConnectors[fSelectedConnector]; + return null; + } + private void selectPage(int index) { + fSelectedConnector=index; + Control[] pages=fPageBook.getChildren(); + fPageBook.showPage(pages[fSelectedConnector]); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java new file mode 100644 index 00000000000..38cfea804a0 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -0,0 +1,657 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.core.runtime.Preferences; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.FontRegistry; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalConnectorExtension; +import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.tm.terminal.internal.actions.TerminalAction; +import org.eclipse.tm.terminal.internal.actions.TerminalActionClearAll; +import org.eclipse.tm.terminal.internal.actions.TerminalActionConnect; +import org.eclipse.tm.terminal.internal.actions.TerminalActionCopy; +import org.eclipse.tm.terminal.internal.actions.TerminalActionCut; +import org.eclipse.tm.terminal.internal.actions.TerminalActionDisconnect; +import org.eclipse.tm.terminal.internal.actions.TerminalActionNewTerminal; +import org.eclipse.tm.terminal.internal.actions.TerminalActionPaste; +import org.eclipse.tm.terminal.internal.actions.TerminalActionSelectAll; +import org.eclipse.tm.terminal.internal.actions.TerminalActionSettings; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.RetargetAction; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; +import org.eclipse.ui.internal.WorkbenchWindow; +import org.eclipse.ui.part.ViewPart; +import org.eclipse.tm.terminal.control.ITerminalListener; +import org.eclipse.tm.terminal.control.ITerminalViewControl; +import org.eclipse.tm.terminal.control.TerminalViewControlFactory; + +public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + protected static final String fSecondaryTerminalCountMutex = ""; //$NON-NLS-1$ + + protected static int fSecondaryTerminalCount = 0; + + protected ITerminalViewControl fCtlTerminal; + + protected TerminalAction fActionTerminalNewTerminal; + + protected TerminalAction fActionTerminalConnect; + + protected TerminalAction fActionTerminalDisconnect; + + protected TerminalAction fActionTerminalSettings; + + protected TerminalAction fActionEditCopy; + + protected TerminalAction fActionEditCut; + + protected TerminalAction fActionEditPaste; + + protected TerminalAction fActionEditClearAll; + + protected TerminalAction fActionEditSelectAll; + + protected TerminalMenuHandlerEdit fMenuHandlerEdit; + + protected TerminalPropertyChangeHandler fPropertyChangeHandler; + + protected boolean fMenuAboutToShow; + + private ISettingsStore fStore; + + /** Remember the item with which we contributed the shortcut to unregister them again! */ + private IContextActivation fRememberedContextActivation; + + public TerminalView() { + Logger + .log("==============================================================="); //$NON-NLS-1$ + } + + private void XXXXX() { + Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); + boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); + int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); + + } + // TerminalTarget interface + public void setState(final TerminalState state) { + Runnable runnable=new Runnable() { + public void run() { + updateStatus(); + onTerminalStatus(); + } + }; + if(Thread.currentThread()==Display.getDefault().getThread()) + runnable.run(); + else + Display.getDefault().syncExec(runnable); + } + + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + public void onTerminalNewTerminal() { + Logger.log("creating new Terminal instance."); //$NON-NLS-1$ + + try { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesireable. Therefore, we append the current time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. + + getSite().getPage().showView( + "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + } catch (PartInitException ex) { + Logger.logException(ex); + } + } + + public void onTerminalConnect() { + if (isConnected()) + return; + if(fCtlTerminal.getTerminalConnection()==null) + setConnector(showSettingsDialog()); + fCtlTerminal.connectTerminal(); + } + + public void updateStatus() { + updateTerminalConnect(); + updateTerminalDisconnect(); + updateTerminalSettings(); + } + + public void updateTerminalConnect() { + boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + + fActionTerminalConnect.setEnabled(bEnabled); + } + + private boolean isConnecting() { + return fCtlTerminal.getState()==TerminalState.CONNECTING; + } + private boolean isConnected() { + return fCtlTerminal.getState()==TerminalState.CONNECTED; + } + public void onTerminalDisconnect() { + fCtlTerminal.disconnectTerminal(); + } + + public void updateTerminalDisconnect() { + boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); + fActionTerminalDisconnect.setEnabled(bEnabled); + } + + public void onTerminalSettings() { + setConnector(showSettingsDialog()); + + onTerminalConnect(); + } + + private ITerminalConnector showSettingsDialog() { + // When the settings dialog is opened, load the Terminal settings from the + // persistent settings. + + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnection()); + + Logger.log("opening Settings dialog."); //$NON-NLS-1$ + + if (dlgTerminalSettings.open() == Window.CANCEL) { + Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ + return null; + } + + Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ + + // When the settings dialog is closed, we persist the Terminal settings. + + saveSettings(); + return dlgTerminalSettings.getConnector(); + } + + private void setConnector(ITerminalConnector connector) { + fCtlTerminal.setConnector(connector); + } + + public void updateTerminalSettings() { + boolean bEnabled; + + bEnabled = ((!isConnecting()) && (!fCtlTerminal + .isConnected())); + + fActionTerminalSettings.setEnabled(bEnabled); + } + + public void setTerminalTitle(String strTitle) { + if (fCtlTerminal.isDisposed()) + return; + + if (strTitle != null) { + // When parameter 'data' is not null, it is a String containing text to + // display in the view's content description line. This is used by class + // TerminalText when it processes an ANSI OSC escape sequence that commands + // the terminal to display text in its title bar. + } else { + // When parameter 'data' is null, we construct a descriptive string to + // display in the content description line. + String strConnected = getStateDisplayName(fCtlTerminal.getState()); + String status=""; //$NON-NLS-1$ + status=fCtlTerminal.getStatusString(strConnected); + strTitle = ViewMessages.PROP_TITLE + status; + } + + setContentDescription(strTitle); + getViewSite().getActionBars().getStatusLineManager().setMessage( + strTitle); + } + public void onTerminalStatus() { + setTerminalTitle(null); + } + + private String getStateDisplayName(TerminalState state) { + if(state==TerminalState.CONNECTED) { + return ViewMessages.STATE_CONNECTED; + } else if(state==TerminalState.CONNECTING) { + return ViewMessages.STATE_CONNECTING; + } else if(state==TerminalState.OPENED) { + return ViewMessages.STATE_OPENED; + } else if(state==TerminalState.CLOSED) { + return ViewMessages.STATE_CLOSED; + } else { + throw new IllegalStateException(state.toString()); + } + } + + public void onTerminalFontChanged() { + fCtlTerminal.getCtlText().setFont(JFaceResources.getFont(FONT_DEFINITION)); + + // Tell the TerminalControl singleton that the font has changed. + + fCtlTerminal.onFontChanged(); + } + + public void onEditCopy() { + String selection=fCtlTerminal.getSelection(); + + if (!selection.equals("")) {//$NON-NLS-1$ + fCtlTerminal.copy(); + } else { + fCtlTerminal.sendKey('\u0003'); + } + } + + public void updateEditCopy() { + boolean bEnabled=true; + + if (fMenuAboutToShow) { + bEnabled = fCtlTerminal.getSelection().length()>0; + } + + fActionEditCopy.setEnabled(bEnabled); + } + + public void onEditCut() { + fCtlTerminal.sendKey('\u0018'); + } + + public void updateEditCut() { + boolean bEnabled; + + bEnabled = !fMenuAboutToShow; + fActionEditCut.setEnabled(bEnabled); + } + + public void onEditPaste() { + fCtlTerminal.paste(); + } + + public void updateEditPaste() { + String strText = (String) fCtlTerminal.getClipboard().getContents(TextTransfer.getInstance()); + + boolean bEnabled = ((strText != null) && (!strText.equals("")) && (isConnected()));//$NON-NLS-1$ + + fActionEditPaste.setEnabled(bEnabled); + } + + public void onEditClearAll() { + fCtlTerminal.clearTerminal(); + } + + public void updateEditClearAll() { + fActionEditClearAll.setEnabled(!fCtlTerminal.isEmpty()); + } + + public void onEditSelectAll() { + fCtlTerminal.selectAll(); + } + + public void updateEditSelectAll() { + fActionEditSelectAll.setEnabled(!fCtlTerminal.isEmpty()); + } + + // ViewPart interface + + public void createPartControl(Composite wndParent) { + // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key + // sequence. + + /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ + IContextService ctxtService = (IContextService) getSite().getService(IContextService.class); + fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalPreferencePage"); //$NON-NLS-1$ + + synchronized (fSecondaryTerminalCountMutex) { + setPartName(ViewMessages.PROP_TITLE + " " + fSecondaryTerminalCount++); //$NON-NLS-1$ + } + + setupControls(wndParent); + setupActions(); + setupMenus(); + setupLocalToolBars(); + setupContextMenus(); + setupListeners(wndParent); + + onTerminalStatus(); + } + + public void dispose() { + Logger.log("entered."); //$NON-NLS-1$ + + setPartName("Terminal"); //$NON-NLS-1$ + + TerminalViewPlugin plugin; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + Menu menu; + + /** The context (for short cuts) was set above, now unset it again */ + if (fRememberedContextActivation != null) { + IContextService ctxService = (IContextService) getSite() + .getService(IContextService.class); + ctxService.deactivateContext(fRememberedContextActivation); + fRememberedContextActivation = null; + } + + JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); + plugin = TerminalViewPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench + .getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager) menuMgr + .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + menu = menuMgr.getMenu(); + + menuMgr.removeMenuListener(fMenuHandlerEdit); + + if (menu != null) + menu.removeMenuListener(fMenuHandlerEdit); + + fCtlTerminal.disposeTerminal(); + } + + /** + * Passing the focus request to the viewer's control. + */ + public void setFocus() { + fCtlTerminal.setFocus(); + } + + /** + * This method creates the top-level control for the Terminal view. + */ + protected void setupControls(Composite wndParent) { + ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); + fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); + String connectionType=getStore().get("ConnectionType"); //$NON-NLS-1$ + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(connectors[i])); + if(connectors[i].getId().equals(connectionType)) + fCtlTerminal.setConnector(connectors[i]); + } + } + private void saveSettings() { + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + for (int i = 0; i < connectors.length; i++) { + connectors[i].save(getStore(connectors[i])); + } + if(fCtlTerminal.getTerminalConnection()!=null) { + getStore().put("ConnectionType",fCtlTerminal.getTerminalConnection().getId()); //$NON-NLS-1$ + } + } + + private ISettingsStore getStore() { + if(fStore==null) + fStore=new SettingsStore(getPartName()); + return fStore; + } + + private ISettingsStore getStore(ITerminalConnector connector) { + return new SettingStorePrefixDecorator(getStore(),connector.getClass().getName()+"."); //$NON-NLS-1$ + } + + protected void setupActions() { + fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); + fActionTerminalConnect = new TerminalActionConnect(this); + fActionTerminalDisconnect = new TerminalActionDisconnect(this); + fActionTerminalSettings = new TerminalActionSettings(this); + fActionEditCopy = new TerminalActionCopy(this); + fActionEditCut = new TerminalActionCut(this); + fActionEditPaste = new TerminalActionPaste(this); + fActionEditClearAll = new TerminalActionClearAll(this); + fActionEditSelectAll = new TerminalActionSelectAll(this); + + IActionBars actionBars = getViewSite().getActionBars(); + actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), fActionEditCopy); + + actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), fActionEditCut); + + actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), fActionEditPaste); + + actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), fActionEditSelectAll); + } + + protected void setupMenus() { + TerminalViewPlugin plugin; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + Menu menu; + + fMenuHandlerEdit = new TerminalMenuHandlerEdit(); + plugin = TerminalViewPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench + .getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager) menuMgr + .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + menu = menuMgr.getMenu(); + + menuMgr.addMenuListener(fMenuHandlerEdit); + menu.addMenuListener(fMenuHandlerEdit); + } + + protected void setupLocalToolBars() { + IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); + + toolBarMgr.add(fActionTerminalNewTerminal); + toolBarMgr.add(fActionTerminalConnect); + toolBarMgr.add(fActionTerminalDisconnect); + toolBarMgr.add(fActionTerminalSettings); + } + + protected void setupContextMenus() { + StyledText ctlText; + MenuManager menuMgr; + Menu menu; + TerminalContextMenuHandler contextMenuHandler; + + ctlText = fCtlTerminal.getCtlText(); + menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ + menu = menuMgr.createContextMenu(ctlText); + contextMenuHandler = new TerminalContextMenuHandler(); + + ctlText.setMenu(menu); + menuMgr.setRemoveAllWhenShown(true); + menuMgr.addMenuListener(contextMenuHandler); + menu.addMenuListener(contextMenuHandler); + } + + protected void loadContextMenus(IMenuManager menuMgr) { + menuMgr.add(fActionEditCopy); + menuMgr.add(fActionEditPaste); + menuMgr.add(new Separator()); + menuMgr.add(fActionEditClearAll); + menuMgr.add(fActionEditSelectAll); + + // Other plug-ins can contribute there actions here + menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ + } + + protected void setupListeners(Composite wndParent) { + fPropertyChangeHandler = new TerminalPropertyChangeHandler(); + JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); + } + + // Inner classes + + protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { + protected String fActionDefinitionIdCopy; + + protected String fActionDefinitionIdPaste; + + protected String fActionDefinitionIdSelectAll; + + protected int fAcceleratorCopy; + + protected int fAcceleratorPaste; + + protected int fAcceleratorSelectAll; + + protected TerminalMenuHandlerEdit() { + super(); + + fActionDefinitionIdCopy = ""; //$NON-NLS-1$ + fActionDefinitionIdPaste = ""; //$NON-NLS-1$ + fActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ + + fAcceleratorCopy = 0; + fAcceleratorPaste = 0; + fAcceleratorSelectAll = 0; + } + public void menuAboutToShow(IMenuManager menuMgr) { + + fMenuAboutToShow = true; + updateEditCopy(); + updateEditCut(); + updateEditPaste(); + updateEditSelectAll(); + + ActionContributionItem item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); + RetargetAction action = (RetargetAction) item.getAction(); + fActionDefinitionIdCopy = action.getActionDefinitionId(); + fAcceleratorCopy = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); + action = (RetargetAction) item.getAction(); + fActionDefinitionIdPaste = action.getActionDefinitionId(); + fAcceleratorPaste = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + fActionDefinitionIdSelectAll = action.getActionDefinitionId(); + fAcceleratorSelectAll = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + } + public void menuShown(MenuEvent event) { + // do nothing + } + public void menuHidden(MenuEvent event) { + TerminalViewPlugin plugin; + IWorkbench workbench; + WorkbenchWindow workbenchWindow; + MenuManager menuMgr; + ActionContributionItem item; + RetargetAction action; + + fMenuAboutToShow = false; + updateEditCopy(); + updateEditCut(); + + plugin = TerminalViewPlugin.getDefault(); + workbench = plugin.getWorkbench(); + workbenchWindow = (WorkbenchWindow) workbench + .getActiveWorkbenchWindow(); + menuMgr = workbenchWindow.getMenuManager(); + menuMgr = (MenuManager) menuMgr + .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY + .getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdCopy); + action.setAccelerator(fAcceleratorCopy); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE + .getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdPaste); + action.setAccelerator(fAcceleratorPaste); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr + .find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdSelectAll); + action.setAccelerator(fAcceleratorSelectAll); + action.enableAccelerator(true); + item.update(); + } + } + + protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { + public void menuHidden(MenuEvent event) { + fMenuAboutToShow = false; + updateEditCopy(); + } + + public void menuShown(MenuEvent e) { + // + } + public void menuAboutToShow(IMenuManager menuMgr) { + fMenuAboutToShow = true; + updateEditCopy(); + updateEditCut(); + updateEditPaste(); + updateEditClearAll(); + + loadContextMenus(menuMgr); + } + } + + protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { + public void propertyChange(PropertyChangeEvent event) { + if (event.getProperty().equals(FONT_DEFINITION)) { + onTerminalFontChanged(); + } + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java new file mode 100644 index 00000000000..2a300c72ca6 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java @@ -0,0 +1,140 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.view; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Iterator; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +public class TerminalViewPlugin extends AbstractUIPlugin { + protected static TerminalViewPlugin fDefault; + public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + + /** + * The constructor. + */ + public TerminalViewPlugin() { + fDefault = this; + } + protected void initializeImageRegistry(ImageRegistry imageRegistry) { + HashMap map; + + map = new HashMap(); + + try { + // Local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); + + map.clear(); + + // Enabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); + + map.clear(); + + // Disabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); + + map.clear(); + } catch (MalformedURLException malformedURLException) { + malformedURLException.printStackTrace(); + } + } + protected void initializeDefaultPreferences(IPreferenceStore store) { + store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, + TerminalPreferencePage.DEFAULT_LIMITOUTPUT); + store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, + TerminalPreferencePage.DEFAULT_BUFFERLINES); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, + TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, + TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); + } + /** + * Returns the shared instance. + */ + public static TerminalViewPlugin getDefault() { + return fDefault; + } + + public static boolean isLogInfoEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_INFO); + } + public static boolean isLogErrorEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_ERROR); + } + public static boolean isLogEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG); + } + + public static boolean isOptionEnabled(String strOption) { + String strEnabled; + Boolean boolEnabled; + boolean bEnabled; + + strEnabled = Platform.getDebugOption(strOption); + if (strEnabled == null) + return false; + + boolEnabled = new Boolean(strEnabled); + bEnabled = boolEnabled.booleanValue(); + + return bEnabled; + } + protected void loadImageRegistry(ImageRegistry imageRegistry, + String strDir, HashMap map) throws MalformedURLException { + URL url; + ImageDescriptor imageDescriptor; + Iterator keys; + String strKey; + String strFile; + + keys = map.keySet().iterator(); + + while (keys.hasNext()) { + strKey = (String) keys.next(); + strFile = (String) map.get(strKey); + + if (strFile != null) { + url = TerminalViewPlugin.getDefault().getBundle().getEntry( + ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); + imageDescriptor = ImageDescriptor.createFromURL(url); + imageRegistry.put(strKey, imageDescriptor); + } + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java new file mode 100644 index 00000000000..425c31539d6 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.osgi.util.NLS; +public class ViewMessages extends NLS { + static { + NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); + } + public static String PROP_TITLE; + public static String SETTINGS; + + public static String TERMINALSETTINGS; + public static String CONNECTIONTYPE; + + public static String LIMITOUTPUT; + public static String BUFFERLINES; + public static String SERIALTIMEOUT; + public static String NETWORKTIMEOUT; + + public static String STATE_CONNECTED; + public static String STATE_CONNECTING; + public static String STATE_OPENED; + public static String STATE_CLOSED; + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties new file mode 100644 index 00000000000..5d9d0c549ed --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties @@ -0,0 +1,27 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +PROP_TITLE = Terminal +SETTINGS = Settings + + +TERMINALSETTINGS = Terminal Settings +CONNECTIONTYPE = Connection Type + +LIMITOUTPUT = Limit terminal output +BUFFERLINES = Terminal buffer lines: +SERIALTIMEOUT = Serial timeout (seconds): +NETWORKTIMEOUT = Network timeout (seconds): + +STATE_CONNECTED = CONNECTED +STATE_CONNECTING = CONNECTING... +STATE_OPENED = OPENED +STATE_CLOSED = CLOSED diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java new file mode 100644 index 00000000000..f93c2d7e379 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.view; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.internal.view"; + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/org.eclipse.tm.terminal/.classpath b/org.eclipse.tm.terminal/.classpath index 899ab4bb39a..52165ecfb58 100644 --- a/org.eclipse.tm.terminal/.classpath +++ b/org.eclipse.tm.terminal/.classpath @@ -1,7 +1,7 @@ - + diff --git a/org.eclipse.tm.terminal/.project b/org.eclipse.tm.terminal/.project index 621a3a690cf..fa6a642ade2 100644 --- a/org.eclipse.tm.terminal/.project +++ b/org.eclipse.tm.terminal/.project @@ -20,9 +20,15 @@ + + net.sourceforge.metrics.builder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + net.sourceforge.metrics.nature diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index 175992f9e31..78cc64039c4 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,58 @@ -#Mon Jul 31 14:55:18 CEST 2006 +#Thu Nov 30 18:38:38 CET 2006 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=ignore +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 3e3cd8e261f..2cdddadf319 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,17 +2,15 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 2.6.0 -Bundle-Activator: org.eclipse.tm.terminal.TerminalPlugin +Bundle-Version: 2.7.0 +Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, - org.eclipse.ui.ide, - org.eclipse.ui.views, - org.eclipse.ui.workbench.texteditor, - org.eclipse.ui.editors, - org.eclipse.core.resources, org.eclipse.ui, org.eclipse.jface.text Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-ClassPath: . +Export-Package: org.eclipse.tm.terminal, + org.eclipse.tm.terminal.control diff --git a/org.eclipse.tm.terminal/README.txt b/org.eclipse.tm.terminal/README.txt new file mode 100644 index 00000000000..e69de29bb2d diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties new file mode 100644 index 00000000000..6ade83c7191 --- /dev/null +++ b/org.eclipse.tm.terminal/build.properties @@ -0,0 +1,14 @@ +bin.includes = .,\ + src/,\ + META-INF/,\ + plugin.xml,\ + .classpath,\ + .project,\ + build.properties,\ + plugin.properties,\ + schema/,\ + .settings/ + +source.. = src/ +output.. = bin/ + \ No newline at end of file diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index e4f0b2c67f0..9729533eb89 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -4,14 +4,3 @@ pluginName = Terminal providerName = Eclipse.org -terminal.views.category.name = Device Debug -terminal.views.view.name = Terminal -terminal.views.view.font.description = The font for the terminal console. -terminal.views.view.font.label = Terminal Console Font - -terminal.view.context.name=Terminal view context -terminal.view.context.description=control-q override - -terminal.view.insertion.description=Terminal view insertion -terminal.view.insertion.name=Terminal view insert -terminal.view.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 28229ed8aa1..7223dede489 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,128 +1,9 @@ + - - - - + point="org.eclipse.tm.terminal.terminalConnector"> + - - - - - - - - - - - - - - - - %terminal.views.view.font.description - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd new file mode 100644 index 00000000000..c6848fc8623 --- /dev/null +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -0,0 +1,105 @@ + + + + + + + + + [Enter description of this extension point.] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [Enter the first release in which this extension point appears.] + + + + + + + + + [Enter extension point usage example here.] + + + + + + + + + [Enter API information here.] + + + + + + + + + [Enter information about supplied implementation of this extension point.] + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java new file mode 100644 index 00000000000..7a7f751f98a --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal; + +import org.eclipse.swt.widgets.Composite; + +/** + * @author Michael Scharf + * + * TODO: Michael Scharf: provide a mechanism to set an error string + * TODO: Michael Scharf: provide a long description of a wizard + * TODO: Michael Scharf: allow multiple pages to be generated + */ +public interface ISettingsPage { + /** + * Create a page to be shown in a dialog or wizard to setup the connection. + * @param parent + */ + void createControl(Composite parent); + /** + * Called before the page is shown. Loads the state from the {@link ITerminalConnector}. + */ + void loadSettings(); + /** + * Called when the OK button is pressed. + */ + void saveSettings(); + /** + * @return true if the + */ + boolean validateSettings(); + /** + * @return a name of the connection type. Used in a tab page title or drop + * down to select the connection. + */ + String getName(); + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java new file mode 100644 index 00000000000..ba6602be0a6 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal; + +/** + * A simple interface to a store to persist the state of a connection. + * + * + *

Not to be implemented. + * @author Michael Scharf + * + */ +public interface ISettingsStore { + /** + * @param key + * @return value + */ + String get(String key); + /** + * @param key + * @param defaultValue + * @return the value or the fecaault + */ + String get(String key, String defaultValue); + /** + * Save a string value + * @param key + * @param value + */ + void put(String key, String value); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java new file mode 100644 index 00000000000..9dd88afb6fd --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal; + +import java.io.InputStream; +import java.io.OutputStream; + + +/** + * Manage a single connection. Implementations of this class are contributed + * via org.eclipse.tm.terminal.terminalConnector extension point. + * + * @author Michael Scharf + * + */ +public interface ITerminalConnector { + /** + * @return an ID of this connector. Typically getClass().getName() + */ + String getId(); + /** + * @return true if the contribution is functioning (e.g. all external libraries are + * installed). This was added for the serial support, because it requires the java comm + * library, which is installed in the lib/ext directory of the + */ + boolean isInstalled(); + /** + * Connect using the current state of the settings. + * @param control Used to inform the UI about state changes and messages from the connection. + */ + void connect(ITerminalControl control); + /** + * Disconnect if connected. Else do nothing. + */ + void disconnect(); + + /** + * @return true if a local echo is needed. + * TODO:Michael Scharf: this should be handed within the connection.... + */ + boolean isLocalEcho(); + + /** + * Notify the remote site that the size of the terminal has changed. + * @param newWidth + * @param newHeight + */ + void setTerminalSize(int newWidth, int newHeight); + + /** + * @return a stream with data coming from the remote site. + */ + OutputStream getOutputStream(); + /** + * @return a stream to write to the remote site. + */ + InputStream getInputStream(); + + /** + * Load the state of this connection. Is typically called before + * {@link #connect(ITerminalControl)}. + * + * @param store a string based data store. Short keys like "foo" can be used to + * store the state of the connectio. + */ + void load(ISettingsStore store); + + /** + * When the view or dialog containing the terminal is closed, + * the state of the connection is saved into the settings store store + * @param store + */ + void save(ISettingsStore store); + + /** + * @return a new page that can be used in a dialog to setup this connection. + * + */ + ISettingsPage makeSettingsPage(); + + /** + * @param connectedLabel a String with the connected state {@link TerminalState}. + * Like "CONNECTED", "CLOSED". Can be used to build up the status string. + * @return A string that represents the state of the connection. + * TODO: Michael Scharf: + */ + String getStatusString(String connectedLabel); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java new file mode 100644 index 00000000000..434008acc6e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal; + +import org.eclipse.swt.widgets.Shell; + +/** + * Represents the terminal view as seen by a terminal connection. + * + *

Not to be implemented by clients. + * @author Michael Scharf + * + */ +public interface ITerminalControl { + + /** + * @return the current state of the connection + */ + TerminalState getState(); + /** + * @param state + */ + void setState(TerminalState state); + + /** + * A shell to show dialogs. + * @return the shell in which the terminal is shown. + * TODO: Michael Scharf: it's not clear to me what the meaning of the open state is + */ + Shell getShell(); + + /** + * Show a text in the terminal. If pots newlines at the beginning and the end. + * @param text + * TODO: Michael Scharf: Is this really needed? (use {@link #displayTextInTerminal(String)} + */ + void displayTextInTerminal(String text); + /** + * Write a string directly to the terminal. + * @param txt + */ + void writeToTerminal(String txt); + /** + * Set the title of the terminal view. + * @param title + */ + void setTerminalTitle(String title); + + /** + * Show an error message during connect. + * @param msg + * TODO: Michael Scharf: Should be replaced by a better error notification mechansim! + */ + void setMsg(String msg); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java index 1c319e18fa1..7a2a0e061c6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java @@ -16,102 +16,98 @@ import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; - /** - * A simple logger class. Every method in this class is static, so they can be called - * from both class and instance methods. To use this class, write code like this:

- * + * A simple logger class. Every method in this class is static, so they can be + * called from both class and instance methods. To use this class, write code + * like this: + *

+ * *

- *      Logger.log("something has happened");
- *      Logger.log("counter is " + counter);
+ * Logger.log("something has happened");
+ * Logger.log("counter is " + counter);
  * 
- * + * * @author Fran Litterio */ -public final class Logger -{ - /** - * UNDER CONSTRUCTION - */ +public final class Logger { + public static final String TRACE_DEBUG_LOG = "org.eclipse.tm.terminal/debug/log"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_ERROR = "org.eclipse.tm.terminal/debug/log/error"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_INFO = "org.eclipse.tm.terminal/debug/log/info"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_CHAR = "org.eclipse.tm.terminal/debug/log/char"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_BUFFER_SIZE = "org.eclipse.tm.terminal/debug/log/buffer/size"; //$NON-NLS-1$ + private static PrintStream logStream; - static - { - String logFile = null; - File logDirWindows = new File("C:\\wblogs"); //$NON-NLS-1$ - File logDirUNIX = new File("/tmp/wblogs"); //$NON-NLS-1$ + static { + String logFile = null; + File logDirWindows = new File("C:\\wblogs"); //$NON-NLS-1$ + File logDirUNIX = new File("/tmp/wblogs"); //$NON-NLS-1$ - if (logDirWindows.isDirectory()) - { - logFile = logDirWindows + "\\wbterminal.log"; //$NON-NLS-1$ - } - else if (logDirUNIX.isDirectory()) - { - logFile = logDirUNIX + "/wbterminal.log"; //$NON-NLS-1$ - } + if (logDirWindows.isDirectory()) { + logFile = logDirWindows + "\\wbterminal.log"; //$NON-NLS-1$ + } else if (logDirUNIX.isDirectory()) { + logFile = logDirUNIX + "/wbterminal.log"; //$NON-NLS-1$ + } - if (logFile != null) - { - try - { - logStream = new PrintStream(new FileOutputStream(logFile, true)); - } - catch (Exception ex) - { - logStream = System.err; - logStream.println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ - ex.printStackTrace(logStream); - } - } - } + if (logFile != null) { + try { + logStream = new PrintStream(new FileOutputStream(logFile, true)); + } catch (Exception ex) { + logStream = System.err; + logStream + .println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ + ex.printStackTrace(logStream); + } + } + } - /** - * Logs the specified message. Do not append a newline to parameter - * message. This method does that for you. - * + /** + * Logs the specified message. Do not append a newline to parameter + * message. This method does that for you. + * * @param message A String containing the message to log. - */ - public static final void log(String message) - { - if (logStream != null) - { - // Read my own stack to get the class name, method name, and line number of - // where this method was called. + */ + public static final void log(String message) { + if (logStream != null) { + // Read my own stack to get the class name, method name, and line + // number of + // where this method was called. - StackTraceElement caller = new Throwable().getStackTrace()[1]; - int lineNumber = caller.getLineNumber(); - String className = caller.getClassName(); - String methodName = caller.getMethodName(); - className = className.substring(className.lastIndexOf('.') + 1); + StackTraceElement caller = new Throwable().getStackTrace()[1]; + int lineNumber = caller.getLineNumber(); + String className = caller.getClassName(); + String methodName = caller.getMethodName(); + className = className.substring(className.lastIndexOf('.') + 1); logStream.println(className + "." + methodName + ":" + lineNumber + ": " + message); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$ - logStream.flush(); - } - } + logStream.flush(); + } + } - /** - * Writes a stack trace for an exception to both Standard Error and to the log file. - */ - public static final void logException(Exception ex) - { - // Read my own stack to get the class name, method name, and line number of - // where this method was called. + /** + * Writes a stack trace for an exception to both Standard Error and to the + * log file. + */ + public static final void logException(Exception ex) { + // Read my own stack to get the class name, method name, and line number + // of + // where this method was called. - StackTraceElement caller = new Throwable().getStackTrace()[1]; - int lineNumber = caller.getLineNumber(); - String className = caller.getClassName(); - String methodName = caller.getMethodName(); - className = className.substring(className.lastIndexOf('.') + 1); + StackTraceElement caller = new Throwable().getStackTrace()[1]; + int lineNumber = caller.getLineNumber(); + String className = caller.getClassName(); + String methodName = caller.getMethodName(); + className = className.substring(className.lastIndexOf('.') + 1); - PrintStream tmpStream = System.err; + PrintStream tmpStream = System.err; - if (logStream != null) - { - tmpStream = logStream; - } + if (logStream != null) { + tmpStream = logStream; + } - tmpStream.println(className + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ - "Caught exception: " + ex); //$NON-NLS-1$ - ex.printStackTrace(tmpStream); - } + tmpStream.println(className + + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + "Caught exception: " + ex); //$NON-NLS-1$ + ex.printStackTrace(tmpStream); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java deleted file mode 100644 index 9defcc72685..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -public class Messages -{ - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.Messages"; //$NON-NLS-1$ - - private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME); - - private Messages() - { - // Empty. - } - - public static String getString(String key) - { - try - { - return RESOURCE_BUNDLE.getString(key); - } - catch (MissingResourceException e) - { - return '!' + key + '!'; - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties deleted file mode 100644 index 3b1b327ac5e..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Messages.properties +++ /dev/null @@ -1,43 +0,0 @@ -############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Wind River Systems, Inc. - initial implementation -############################################################################### -TerminalConsts.Terminal_7=Terminal -TerminalConsts.Limit_terminal_output_16=Limit terminal output -TerminalConsts.Terminal_buffer_lines__17=Terminal buffer lines: -TerminalConsts.Serial_timeout_(seconds)__18=Serial timeout (seconds): -TerminalConsts.Network_timeout_(seconds)__19=Network timeout (seconds): -TerminalConsts.Terminal_Settings_1=Terminal Settings -TerminalConsts.Connection_Type_2=Connection Type -TerminalConsts.Settings_3=Settings -TerminalConsts.Port_4=Port -TerminalConsts.Baud_Rate_5=Baud Rate -TerminalConsts.Data_Bits_6=Data Bits -TerminalConsts.Stop_Bits_7=Stop Bits -TerminalConsts.Parity_8=Parity -TerminalConsts.Flow_Out_10=Flow Out -TerminalConsts.Host_11=Host -TerminalConsts.Terminal_Error_12=Terminal Error -TerminalConsts.Socket_Error_13=Socket Error -TerminalConsts.IO_Error_14=IO Error -TerminalConsts.Serial_port___{0}___is_currently_in_use_!_nDo_you_want_to_close_the_port__15=Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? -TerminalConsts.Error_16=Error -TerminalConsts.Emulator_is_not_supported._17=Emulator is not supported. - -TerminalConsts.New_terminal=New Terminal -TerminalConsts.Connect_2=Connect -TerminalConsts.Disconnect_3=Disconnect -TerminalConsts.Settings..._4=Settings... -TerminalConsts.Copy_5=Copy -TerminalConsts.0=Cut -TerminalConsts.1=Flow Control -TerminalConsts.Paste_6=Paste -TerminalConsts.Select_All_7=Select All -TerminalConsts.Clear_All_8=Clear All -TerminalConsts.Break_9=Break diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java deleted file mode 100644 index 745419b7cd0..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetConnection.java +++ /dev/null @@ -1,796 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - - -package org.eclipse.tm.terminal; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.Socket; -import java.net.SocketException; - -import org.eclipse.swt.widgets.Display; - - -/** - * This class encapsulates a TELNET connection to a remote server. It processes - * incoming TELNET protocol data and generates outbound TELNET protocol data. It also - * manages two sets of TelnetOption objects: one for the local endpoint and one for the - * remote endpoint.

- * - * IMPORTANT: Understanding this code requires understanding the TELNET protocol and - * TELNET option processing, as defined in the RFCs listed below.

- * - * @author Fran Litterio (francis.litterio@windriver.com) - * - * @see RFC 854 - * @see RFC 855 - * @see RFC 856 - * @see RFC 857 - * @see RFC 858 - * @see RFC 859 - * @see RFC 860 - * @see RFC 861 - * @see RFC 1091 - * @see RFC 1096 - * @see RFC 1073 - * @see RFC 1079 - * @see RFC 1143 - * @see RFC 1572 - */ -class TelnetConnection extends Thread implements TelnetCodes, TerminalMsg -{ - /** - * TELNET connection state: Initial state. - */ - protected static final int STATE_INITIAL = 0; - - /** - * TELNET connection state: Last byte processed was IAC code. - * code. - */ - protected static final int STATE_IAC_RECEIVED = 1; - - /** - * TELNET connection state: Last byte processed was WILL code. - * code. - */ - protected static final int STATE_WILL_RECEIVED = 2; - - /** - * TELNET connection state: Last byte processed was WONT code. - */ - protected static final int STATE_WONT_RECEIVED = 3; - - /** - * TELNET connection state: Last byte processed was DO code. - */ - protected static final int STATE_DO_RECEIVED = 4; - - /** - * TELNET connection state: Last byte processed was DONT code. - */ - protected static final int STATE_DONT_RECEIVED = 5; - - /** - * TELNET connection state: Last byte processed was SB. - */ - protected static final int STATE_SUBNEGOTIATION_STARTED = 6; - - /** - * TELNET connection state: Currently receiving sub-negotiation data. - */ - protected static final int STATE_RECEIVING_SUBNEGOTIATION = 7; - - /** - * Size of buffer for processing data received from remote endpoint. - */ - protected static final int BUFFER_SIZE = 2048; - - /** - * Holds raw bytes received from the remote endpoint, prior to any TELNET protocol - * processing. - */ - protected byte[] rawBytes = new byte[BUFFER_SIZE]; - - /** - * Holds incoming network data after the TELNET protocol bytes have been - * processed and removed. - */ - protected byte[] processedBytes = new byte[BUFFER_SIZE]; - - /** - * This field holds a StringBuffer containing text recently received from the - * remote endpoint (after all TELNET protocol bytes have been processed and - * removed). - */ - protected StringBuffer processedStringBuffer = new StringBuffer(BUFFER_SIZE); - - /** - * Holds the current state of the TELNET protocol processor. - */ - protected int telnetState = STATE_INITIAL; - - /** - * This field is true if the remote endpoint is a TELNET server, false if not. We - * set this to true if and only if the remote endpoint sends recognizable TELNET - * protocol data. We do not assume that the remote endpoint is a TELNET server - * just because it is listening on port 23. This allows us to successfully connect - * to a TELNET server listening on a port other than 23.

- * - * When this field first changes from false to true, we send all WILL or DO - * commands to the remote endpoint.

- * - * @see #telnetServerDetected() - */ - protected boolean remoteIsTelnetServer = false; - - /** - * An array of TelnetOption objects representing the local endpoint's TELNET - * options. The array is indexed by the numeric TELNET option code. - */ - protected TelnetOption[] localOptions = new TelnetOption[256]; - - /** - * An array of TelnetOption objects representing the remote endpoint's TELNET - * options. The array is indexed by the numeric TELNET option code. - */ - protected TelnetOption[] remoteOptions = new TelnetOption[256]; - - /** - * An array of bytes that holds the TELNET subnegotiation command most recently - * received from the remote endpoint. This array does _not_ include the leading - * IAC SB bytes, nor does it include the trailing IAC SE bytes. The first byte of - * this array is always a TELNET option code. - */ - protected byte[] receivedSubnegotiation = new byte[128]; - - /** - * This field holds the index into array {@link receivedSubnegotiation} of the next - * unused byte. This is used by method {@link #processTelnetProtocol(int)} when - * the state machine is in states {@link #STATE_SUBNEGOTIATION_STARTED} and {@link - * STATE_RECEIVING_SUBNEGOTIATION}. - */ - protected int nextSubnegotiationByteIndex = 0; - - /** - * This field is true if an error occurs while processing a subnegotiation - * command. - * - * @see #processTelnetProtocol(int) - */ - protected boolean ignoreSubnegotiation = false; - - /** - * This field holds the width of the Terminal screen in columns. - */ - protected int width = 0; - - /** - * This field holds the height of the Terminal screen in rows. - */ - protected int height = 0; - - /** - * This field holds a reference to the {@link TerminalCtrl} singleton. - */ - protected TerminalCtrl terminalControl; - - /** - * This method holds the Socket object for the TELNET connection. - */ - protected Socket socket; - - /** - * This field holds a reference to a {@link TerminalText} object, which displays - * text to the user. - */ - protected TerminalText terminalText; - - /** - * This field holds a reference to an {@link InputStream} object used to receive - * data from the remote endpoint. - */ - protected InputStream inputStream; - - /** - * This field holds a reference to an {@link OutputStream} object used to send data - * to the remote endpoint. - */ - protected OutputStream outputStream; - - /** - * This field holds the SWT Display object for the GUI. We use this to execute a - * TerminalText method on the display thread, so that it can draw text in the view. - */ - protected Display display; - - /** - * UNDER CONSTRUCTION - */ - protected boolean localEcho = true; - - /** - * This constructor just initializes some internal object state from its - * arguments. - */ - public TelnetConnection(TerminalCtrl terminalControl, Socket socket, - TerminalText terminalText) - throws IOException - { - super(); - - Logger.log("entered"); //$NON-NLS-1$ - - this.terminalControl = terminalControl; - this.socket = socket; - this.terminalText = terminalText; - - inputStream = socket.getInputStream(); - outputStream = socket.getOutputStream(); - display = terminalControl.getTextWidget().getDisplay(); - - initializeOptions(); - } - - /** - * Returns true if the TCP connection represented by this object is connected, - * false otherwise. - */ - public boolean isConnected() - { - return socket != null && socket.isConnected(); - } - - /** - * Returns true if the TCP connection represented by this object is connected and - * the remote endpoint is a TELNET server, false otherwise. - */ - public boolean isRemoteTelnetServer() - { - return remoteIsTelnetServer; - } - - /** - * This method sets the terminal width and height to the supplied values. If - * either new value differs from the corresponding old value, we initiate a NAWS - * subnegotiation to inform the remote endpoint of the new terminal size. - */ - public void setTerminalSize(int newWidth, int newHeight) - { - Logger.log("Setting new size: width = " + newWidth + ", height = " + newHeight); //$NON-NLS-1$ //$NON-NLS-2$ - - boolean sizeChanged = false; - - if (newWidth != width || newHeight != height) - sizeChanged = true; - - width = newWidth; - height = newHeight; - - if (sizeChanged && remoteIsTelnetServer && localOptions[TELNET_OPTION_NAWS].isEnabled()) - { - Integer[] sizeData = { new Integer(width), new Integer(height) }; - - localOptions[TELNET_OPTION_NAWS].sendSubnegotiation(sizeData); - } - } - - /** - * Returns true if local echoing is enabled for this TCP connection, false otherwise. - */ - public boolean localEcho() - { - return localEcho; - } - - /** - * This method runs in its own thread. It reads raw bytes from the TELNET - * connection socket, processes any TELNET protocol bytes (and removes them), and - * passes the remaining bytes to a TerminalDisplay object for display. - */ - public void run() - { - Logger.log("Entered"); //$NON-NLS-1$ - - try - { - while (socket.isConnected()) - { - int nRawBytes = inputStream.read(rawBytes); - - if (nRawBytes == -1) - { - // End of input on inputStream. - Logger.log("End of input reading from socket!"); //$NON-NLS-1$ - - // Announce to the user that the remote endpoint has closed the - // connection. - - processedStringBuffer.replace(0, processedStringBuffer.length(), - "\rConnection closed by foreign host.\r\n"); //$NON-NLS-1$ - - terminalText.setNewText(processedStringBuffer); - - // See the large comment below for an explaination of why we must - // call Display.syncExec() instead of Display.asyncExec(). - - display.syncExec(terminalText); - - // Tell the TerminalCtrl object that the connection is closed. - - terminalControl.setOpened(false); - terminalControl.setConnected(false); - - // Update the Terminal view UI to show a disconnected state. This - // ugliness involving Display.asyncExec() is forced on us by the - // bad design of class TerminalCtrl, which requires in certain - // cases (maybe all?) that TerminalCtrl.execute() is called only - // from the display thread. - - Runnable disconnectNotifier = new Thread() - { - public void run() - { - terminalControl.execute(ON_TERMINAL_DISCONNECT, null); - } - }; - - display.asyncExec(disconnectNotifier); - break; - } - else - { - Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ - new String(rawBytes, 0, nRawBytes) + "'"); //$NON-NLS-1$ - - // Process any TELNET protocol data that we receive. Don't send - // any TELNET protocol data until we are sure the remote endpoint - // is a TELNET server. - - int nProcessedBytes = processTelnetProtocol(nRawBytes); - - if (nProcessedBytes > 0) - { - String strBuffer = new String(processedBytes, 0, nProcessedBytes); - - // An earlier version of this code created a new StringBuffer - // object here, but that was unnecessary. Instead, we reuse an - // existing object (processedStringBuffer). - - processedStringBuffer.replace(0, processedStringBuffer.length(), - strBuffer); - - // Use the TerminalText object to display the text to the - // user. - - terminalText.setNewText(processedStringBuffer); - - // Now make the TerminalText object display the processesed - // bytes. Its code has to run in the display thread, so we - // call syncExec() to do that. We do _not_ call asyncExec() - // because asyncExec() does not wait for the Runnable - // (TerminalText) to finish. If we were to call asynchExec(), - // this loop might race around and call setNewText() on the - // terminalText object again before the Display thread gets to - // display the previous buffer held by that object. By - // blocking here, we avoid that race and also delay the next - // call to read(), which keeps the unread data in the kernel, - // where it belongs (i.e., we don't have to manage it). - // - // - // The original implementation of this package used asyncExec() - // and created a new TerminalText object for each trip through - // this loop. Yes, that allowed this thread to speed ahead of - // the Display thread. But that only served to make the - // Display thread queue all unexecuted TerminalText objects - // until they could be executed. That was simply buffering the - // undisplayed data in the Display thread instead of in the - // kernel, where it belongs. It also rapidly consumed JVM heap - // space with all those TerminalText objects waiting to be - // garbage collected. - // - - display.syncExec(terminalText); - } - } - } - } - catch (SocketException ex) - { - String message = ex.getMessage(); - - // A "socket closed" exception is normal here. It's caused by the user - // clicking the disconnect button on the Terminal view toolbar. - - if (message != null && !message.equals("socket closed")) //$NON-NLS-1$ - { - Logger.logException(ex); - } - } - catch (Exception ex) - { - Logger.logException(ex); - } - } - - /** - * This method initializes the localOptions[] and remoteOptions[] arrays so that - * they contain references to TelnetOption objects representing our desired state - * for each option. The goal is to achieve server-side echoing, suppression of Go - * Aheads, and to send the local terminal type and size to the remote endpoint. - */ - protected void initializeOptions() - { - // First, create all the TelnetOption objects in the "undesired" state. - - for (int i = 0; i < localOptions.length; ++i) - { - localOptions[i] = new TelnetOption((byte)i, false, true, outputStream); - } - - for (int i = 0; i < localOptions.length; ++i) - { - remoteOptions[i] = new TelnetOption((byte)i, false, false, outputStream); - } - - // Next, set some of the options to the "desired" state. The options we desire - // to be enabled are as follows: - // - // TELNET Option Desired for Desired for - // Name and Code Local Endpoint Remote Endpoint - // --------------------- -------------- --------------- - // Echo (1) No Yes - // Suppress Go Ahead (3) Yes Yes - // Terminal Type (24) Yes Yes - // NAWS (31) Yes Yes - // - // All other options remain in the "undesired" state, and thus will be disabled - // (since either endpoint can force any option to be disabled by simply - // answering WILL with DONT and DO with WONT). - - localOptions[TELNET_OPTION_ECHO].setDesired(false); - remoteOptions[TELNET_OPTION_ECHO].setDesired(true); - - localOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); - remoteOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); - - localOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); - remoteOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); - - localOptions[TELNET_OPTION_NAWS].setDesired(true); - remoteOptions[TELNET_OPTION_NAWS].setDesired(true); - } - - /** - * Process TELNET protocol data contained in the first count bytes of - * rawBytes. This function preserves its state between calls, because a - * multi-byte TELNET command might be split between two (or more) calls to this - * function. The state is preserved in field telnetState. This function - * implements an FSA that recognizes TELNET option codes. TELNET option state is - * stored in instances of {@link TelnetOption}. TELNET option subnegotiation is - * delegated to instances of TelnetOption. - * - * @return The number of bytes remaining in the buffer after removing all TELNET - * protocol bytes. - */ - protected int processTelnetProtocol(int count) - { - // This is too noisy to leave on all the time. - // Logger.log("Processing " + count + " bytes of data."); - - int nextProcessedByte = 0; - - for (int byteIndex = 0; byteIndex < count; ++byteIndex) - { - // It is possible for control to flow through the below code such that - // nothing happens. This happens when array rawBytes[] contains no TELNET - // protocol data. - - byte inputByte = rawBytes[byteIndex]; - - switch (telnetState) - { - case STATE_INITIAL: - if (inputByte == TELNET_IAC) - { - telnetState = STATE_IAC_RECEIVED; - } - else - { - // It's not an IAC code, so just append it to processedBytes. - - processedBytes[nextProcessedByte++] = rawBytes[byteIndex]; - } - break; - - case STATE_IAC_RECEIVED: - switch (inputByte) - { - case TELNET_IAC: - // Two IAC bytes in a row are translated into one byte with the - // value 0xff. - - processedBytes[nextProcessedByte++] = (byte)0xff; - telnetState = STATE_INITIAL; - break; - - case TELNET_WILL: - telnetState = STATE_WILL_RECEIVED; - break; - - case TELNET_WONT: - telnetState = STATE_WONT_RECEIVED; - break; - - case TELNET_DO: - telnetState = STATE_DO_RECEIVED; - break; - - case TELNET_DONT: - telnetState = STATE_DONT_RECEIVED; - break; - - case TELNET_SB: - telnetState = STATE_SUBNEGOTIATION_STARTED; - break; - - // Commands to consume and ignore. - - // Data Mark (DM). This is sent by a TELNET server following an - // IAC sent as TCP urgent data. It should cause the client to skip - // all not yet processed non-TELNET-protocol data preceding the DM - // byte. However, Java 1.4.x has no way to inform clients of class - // Socket that urgent data is available, so we simply ignore the - // "IAC DM" command. Since the IAC is sent as TCP urgent data, the - // Socket must be put into OOB-inline mode via a call to - // setOOBInline(true), otherwise the IAC is silently dropped by - // Java and only the DM arrives (leaving the user to see a spurious - // ISO Latin-1 character). - case TELNET_DM: - - case TELNET_NOP: // No-op. - case TELNET_GA: // Go Ahead command. Meaningless on a full-duplex link. - case TELNET_IP: // Interupt Process command. Server should never send this. - case TELNET_AO: // Abort Output command. Server should never send this. - case TELNET_AYT: // Are You There command. Server should never send this. - case TELNET_EC: // Erase Character command. Server should never send this. - case TELNET_EL: // Erase Line command. Server should never send this. - telnetState = STATE_INITIAL; - break; - - default: - // Unrecognized command! This should never happen. - Logger.log("processTelnetProtocol: UNRECOGNIZED TELNET PROTOCOL COMMAND: " + //$NON-NLS-1$ - inputByte); - telnetState = STATE_INITIAL; - assert false; - break; - } - break; - - // For the next four cases, WILL and WONT commands affect the state of - // remote options, and DO and DONT commands affect the state of local - // options. - - case STATE_WILL_RECEIVED: - Logger.log("Received WILL " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - remoteOptions[inputByte].handleWill(); - telnetState = STATE_INITIAL; - telnetServerDetected(); - break; - - case STATE_WONT_RECEIVED: - Logger.log("Received WONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - remoteOptions[inputByte].handleWont(); - telnetState = STATE_INITIAL; - telnetServerDetected(); - break; - - case STATE_DO_RECEIVED: - Logger.log("Received DO " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - localOptions[inputByte].handleDo(); - telnetState = STATE_INITIAL; - telnetServerDetected(); - break; - - case STATE_DONT_RECEIVED: - Logger.log("Received DONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - localOptions[inputByte].handleDont(); - telnetState = STATE_INITIAL; - telnetServerDetected(); - break; - - case STATE_SUBNEGOTIATION_STARTED: - Logger.log("Starting subnegotiation for option " + //$NON-NLS-1$ - localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ - - // First, zero out the array of received subnegotiation butes. - - for (int i = 0; i < receivedSubnegotiation.length; ++i) - receivedSubnegotiation[i] = 0; - - // Forget about any previous subnegotiation errors. - - ignoreSubnegotiation = false; - - // Then insert this input byte into the array and enter state - // STATE_RECEIVING_SUBNEGOTIATION, where we will gather the remaining - // subnegotiation bytes. - - nextSubnegotiationByteIndex = 0; - receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; - telnetState = STATE_RECEIVING_SUBNEGOTIATION; - break; - - case STATE_RECEIVING_SUBNEGOTIATION: - if (inputByte == TELNET_IAC) - { - // Handle double IAC bytes. From RFC 855: "if parameters - // in an option 'subnegotiation' include a byte with a value of - // 255, it is necessary to double this byte in accordance the - // general TELNET rules." - - if (nextSubnegotiationByteIndex > 0 && - receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) - { - // The last input byte we received in this subnegotiation was - // IAC, so this is a double IAC. Leave the previous IAC in the - // receivedSubnegotiation[] array and drop the current one - // (thus translating a double IAC into a single IAC). - - Logger.log("Double IAC in subnegotiation translated into single IAC."); //$NON-NLS-1$ - break; - } - - // Append the IAC byte to receivedSubnegotiation[]. If there is no - // room for the IAC byte, it overwrites the last byte, because we - // need to know when the subnegotiation ends, and that is marked by - // an "IAC SE" command. - - if (nextSubnegotiationByteIndex < receivedSubnegotiation.length) - { - receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; - } - else - { - receivedSubnegotiation[receivedSubnegotiation.length - 1] = inputByte; - } - break; - } - - // Handle an "IAC SE" command, which marks the end of the - // subnegotiation. An SE byte by itself might be a legitimate part of - // the subnegotiation data, so don't do anything unless the SE is - // immediately preceded by an IAC. - - if (inputByte == TELNET_SE && - receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) - { - Logger.log("Found SE code marking end of subnegotiation."); //$NON-NLS-1$ - - // We are done receiving the subnegotiation command. Now process - // it. We always use the option object stored in array - // localOptions[] to process the received subnegotiation. This is - // an arbitrary decision, but it is sufficient for handling options - // TERMINAL-TYPE and NAWS, which are the only options that we - // subnegotiate (presently). If, in the future, subnegotiations - // need to be handled by option objects stored in both - // localOptions[] and remoteOptions[], then some mechanism to - // choose the correct option object must be implemented. - // - // Also, if ignoreSubnegotiation is true, there was an error while - // receiving the subnegotiation, so we must not process the - // command, and instead just return to the initial state. - - if (!ignoreSubnegotiation) - { - // Remove the trailing IAC byte from receivedSubnegotiation[]. - - receivedSubnegotiation[nextSubnegotiationByteIndex - 1] = 0; - - int subnegotiatedOption = receivedSubnegotiation[0]; - - localOptions[subnegotiatedOption]. - handleSubnegotiation(receivedSubnegotiation, - nextSubnegotiationByteIndex); - } - else - { - Logger.log("NOT CALLING handleSubnegotiation() BECAUSE OF ERRORS!"); //$NON-NLS-1$ - } - - // Return to the initial state. - - telnetState = STATE_INITIAL; - } - - // Check whether the receivedSubnegotiation[] array is full. - - if (nextSubnegotiationByteIndex >= receivedSubnegotiation.length) - { - // This should not happen. Array receivedSubnegotiation can hold - // 128 bytes, and no TELNET option that we perform subnegotiation - // for requires that many bytes in a subnegotiation command. In - // the interest of robustness, we handle this case by ignoring all - // remaining subnegotiation bytes until we receive the IAC SE - // command that ends the subnegotiation. Also, we set - // ignoreSubnegotiation to true to prevent a call to - // handleSubnegotiation() when the IAC SE command arrives. - - Logger.log("SUBNEGOTIATION BUFFER FULL!"); //$NON-NLS-1$ - ignoreSubnegotiation = true; - } - else - { - Logger.log("Recording subnegotiation byte " + (inputByte & 0xff)); //$NON-NLS-1$ - - receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; - } - break; - - default: - // This should _never_ happen! If it does, it means there is a bug in - // this FSA. For robustness, we return to the initial state. - - Logger.log("INVALID TELNET STATE: " + telnetState); //$NON-NLS-1$ - telnetState = STATE_INITIAL; - assert false; - break; - } - } - - // Return the number of bytes of processed data (i.e., number of bytes of - // raw data minus TELNET control bytes). This value can be zero. - - return nextProcessedByte; - } - - /** - * This method is called whenever we receive a valid TELNET protocol command from - * the remote endpoint. When it is called for the first time for this connection, - * we negotiate all options that we desire to be enabled.

- * - * This method does not negotiate options that we do not desire to be enabled, - * because all options are initially disabled.

- */ - protected void telnetServerDetected() - { - if (!remoteIsTelnetServer) - { - // This block only executes once per TelnetConnection instance. - - localEcho = false; - - Logger.log("Detected TELNET server."); //$NON-NLS-1$ - - remoteIsTelnetServer = true; - - for (int i = 0; i < localOptions.length; ++i) - { - if (localOptions[i].isDesired()) - { - localOptions[i].negotiate(); - } - } - - for (int i = 0; i < remoteOptions.length; ++i) - { - if (remoteOptions[i].isDesired()) - { - remoteOptions[i].negotiate(); - } - } - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java deleted file mode 100644 index 60712d6eeef..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetOption.java +++ /dev/null @@ -1,756 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - - -package org.eclipse.tm.terminal; - -import java.io.IOException; -import java.io.OutputStream; -import java.util.Date; - -/** - * This class represents a single TELNET protocol option at one endpoint of a TELNET - * connection. This class encapsulates the endpoint associated with the option (local - * or remote), the current state of the option (enabled or disabled), the desired state - * of the option, the current state of the negotiation, an OutputStream that allows - * communication with the remote endpoint, and the number of negotiations that have - * started within this connection.

- * - * In addition to encapsulating the above state, this class performs option negotiation - * to attempt to achieve the desired option state. For some options, this class also - * performs option sub-negotiation.

- * - * IMPORTANT: Understanding this code requires understanding the TELNET protocol and - * TELNET option processing.

- * - * @author Fran Litterio (francis.litterio@windriver.com) - */ -class TelnetOption implements TelnetCodes -{ - /** - * This array of Strings maps an integer TELNET option code value to the symbolic - * name of the option. Array elements of the form "?" represent unassigned option - * values. - */ - protected static final String[] optionNames = - { - "BINARY", // 0 //$NON-NLS-1$ - "ECHO", // 1 //$NON-NLS-1$ - "RECONNECTION", // 2 //$NON-NLS-1$ - "SUPPRESS GO AHEAD", // 3 //$NON-NLS-1$ - "MSG SIZE NEGOTIATION", // 4 //$NON-NLS-1$ - "STATUS", // 5 //$NON-NLS-1$ - "TIMING MARK", // 6 //$NON-NLS-1$ - "REMOTE CTRL TRANS+ECHO", // 7 //$NON-NLS-1$ - "OUTPUT LINE WIDTH", // 8 //$NON-NLS-1$ - "OUTPUT PAGE SIZE", // 9 //$NON-NLS-1$ - "OUTPUT CR DISPOSITION", // 10 //$NON-NLS-1$ - "OUTPUT HORIZ TABSTOPS", // 11 //$NON-NLS-1$ - "OUTPUT HORIZ TAB DISPOSITION", // 12 //$NON-NLS-1$ - "OUTPUT FORMFEED DISPOSITION", // 13 //$NON-NLS-1$ - "OUTPUT VERTICAL TABSTOPS", // 14 //$NON-NLS-1$ - "OUTPUT VT DISPOSITION", // 15 //$NON-NLS-1$ - "OUTPUT LF DISPOSITION", // 16 //$NON-NLS-1$ - "EXTENDED ASCII", // 17 //$NON-NLS-1$ - "LOGOUT", // 18 //$NON-NLS-1$ - "BYTE MACRO", // 19 //$NON-NLS-1$ - "DATA ENTRY TERMINAL", // 20 //$NON-NLS-1$ - "SUPDUP", // 21 //$NON-NLS-1$ - "SUPDUP OUTPUT", // 22 //$NON-NLS-1$ - "SEND LOCATION", // 23 //$NON-NLS-1$ - "TERMINAL TYPE", // 24 //$NON-NLS-1$ - "END OF RECORD", // 25 //$NON-NLS-1$ - "TACACS USER IDENTIFICATION", // 26 //$NON-NLS-1$ - "OUTPUT MARKING", // 27 //$NON-NLS-1$ - "TERMINAL LOCATION NUMBER", // 28 //$NON-NLS-1$ - "3270 REGIME", // 29 //$NON-NLS-1$ - "X.3 PAD", // 30 //$NON-NLS-1$ - "NEGOTIATE ABOUT WINDOW SIZE", // 31 //$NON-NLS-1$ - "TERMINAL SPEED", // 32 //$NON-NLS-1$ - "REMOTE FLOW CONTROL", // 33 //$NON-NLS-1$ - "LINEMODE", // 34 //$NON-NLS-1$ - "X DISPLAY LOCATION", // 35 //$NON-NLS-1$ - "ENVIRONMENT OPTION", // 36 //$NON-NLS-1$ - "AUTHENTICATION OPTION", // 37 //$NON-NLS-1$ - "ENCRYPTION OPTION", // 38 //$NON-NLS-1$ - "NEW ENVIRONMENT OPTION", // 39 //$NON-NLS-1$ - "TN3270E", // 40 //$NON-NLS-1$ - "XAUTH", // 41 //$NON-NLS-1$ - "CHARSET", // 42 //$NON-NLS-1$ - "REMOTE SERIAL PORT", // 43 //$NON-NLS-1$ - "COM PORT CONTROL OPTION", // 44 //$NON-NLS-1$ - "SUPPRESS LOCAL ECHO", // 45 //$NON-NLS-1$ - "START TLS", // 46 //$NON-NLS-1$ - "KERMIT", // 47 //$NON-NLS-1$ - "SEND URL", // 48 //$NON-NLS-1$ - "FORWARD X", // 49 //$NON-NLS-1$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 50 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", // ... 137 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ - "TELOPT PRAGMA LOGON", // 138 //$NON-NLS-1$ - "TELOPT SSPI LOGON", // 139 //$NON-NLS-1$ - "TELOPT PRAGMA HEARTBEAT", // 140 //$NON-NLS-1$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 141 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ - "?", "?", "?", "?", // ... 254 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - "EXTENDED OPTIONS LIST" // 255 //$NON-NLS-1$ - }; - - /** - * Negotiation state: Negotiation not yet started for this option.

- * - * This constant and the others having similar names represent the states of a - * finite state automaton (FSA) that tracks the negotiation state of this option. - * The initial state is NEGOTIATION_NOT_STARTED. The state machine is as follows - * (with transitions labelled with letters in parentheses):

- * - *

-     *     NEGOTIATION_NOT_STARTED -----> {@link #NEGOTIATION_IN_PROGRESS}
-     *                         |    (A)      |        ^
-     *                      (C)|          (B)|        |(D)
-     *                         |             V        |
-     *                         +--------> {@link #NEGOTIATION_DONE}
-     * 

- * - * Once the FSA leaves state NEGOTIATION_NOT_STARTED, it never returns to that - * state. Transition A happens when the local endpoint sends an option command - * before receiving a command for the same option from the remote endpoint.

- * - * Transition B happens when the local endpoint receives a reply to an option - * command sent earlier by the local endpoint. Receipt of that reply terminates - * the negotiation.

- * - * Transition D happens after negotiation is done and "something changes" (see the - * RFCs for the definition of "something changes"). Either endpoint can - * re-negotiate an option after a previous negotiation, but only if some external - * influence (such as the user or the OS) causes it to do so. Re-negotiation must - * start more than {@link #NEGOTIATION_IGNORE_DURATION} milliseconds after the FSA - * enters state NEGOTIATION_DONE or it will be ignored. This is how this client - * prevents negotiation loops.

- * - * Transition C happens when the local endpoint receives an option command from the - * remote endpoint before sending a command for the same option. In that case, the - * local endpoint replies immediately with an option command and the negotitation - * terminates.

- * - * Some TELNET servers (e.g., the Solaris server), after sending WILL and receiving - * DONT, will reply with a superfluous WONT. Any such superfluous option command - * received from the remote endpoint while the option's FSA is in state - * {@link #NEGOTIATION_DONE} will be ignored by the local endpoint. - */ - protected static final int NEGOTIATION_NOT_STARTED = 0; - - /** Negotiation state: Negotiation is in progress for this option. */ - protected static final int NEGOTIATION_IN_PROGRESS = 1; - - /** Negotiation state: Negotiation has terminated for this option. */ - protected static final int NEGOTIATION_DONE = 2; - - /** - * The number of milliseconds following the end of negotiation of this option - * before which the remote endpoint can re-negotiate the option. Any option - * command received from the remote endpoint before this time passes is ignored. - * This is used to prevent option negotiation loops. - * - * @see #ignoreNegotiation() - * @see #negotiationCompletionTime - */ - protected static final int NEGOTIATION_IGNORE_DURATION = 30000; - - /** - * This field holds the current negotiation state for this option. - */ - protected int negotiationState = NEGOTIATION_NOT_STARTED; - - /** - * This field holds the time when negotiation of this option most recently - * terminated (i.e., entered state {@link #NEGOTIATION_DONE}). This is used to - * determine whether an option command received from the remote endpoint after - * negotiation has terminated for this option is to be ignored or interpreted as - * the start of a new negotiation. - * - * @see #NEGOTIATION_IGNORE_DURATION - */ - protected Date negotiationCompletionTime = new Date(0); - - /** - * Holds the total number of negotiations that have completed for this option. - */ - protected int negotiationCount = 0; - - /** - * Holds the integer code representing the option. - */ - protected byte option = 0; - - /** - * Holds the OutputStream object that allows data to be sent to the remote endpoint - * of the TELNET connection. - */ - protected OutputStream outputStream; - - /** - * True if this option is for the local endpoint, false for the remote endpoint. - */ - protected boolean local = true; - - /** - * This field is true if the option is enabled, false if it is disabled. All - * options are initially disabled until they are negotiated to be enabled.

- */ - protected boolean enabled = false; - - /** - * This field is true if the client desires the option to be enabled, false if the - * client desires the option to be disabled. This field does not represent the - * remote's endpoints desire (as expressed via WILL and WONT commands) -- it - * represnet the local endpoint's desire.

- * - * @see #setDesired(boolean) - */ - protected boolean desired = false; - - /** - * Constructor.

- * - * @param option The integer code of this option. - * @param desired Whether we desire this option to be enabled. - * @param local Whether this option is for the local or remote endpoint. - * @param outputStream A stream used to negotiate with the remote endpoint. - */ - TelnetOption(byte option, boolean desired, boolean local, OutputStream outputStream) - { - this.option = option; - this.desired = desired; - this.local = local; - this.outputStream = outputStream; - } - - /** - * @return Returns a String containing the name of the TELNET option specified in - * parameter option. - */ - public String optionName() - { - return optionNames[option]; - } - - /** - * Returns true if this option is enabled, false if it is disabled.

- * - * @return Returns true if this option is enabled, false if it is disabled. - */ - public boolean isEnabled() - { - return enabled; - } - - /** - * Enables this option if newValue is true, otherwise disables this - * option.

- * - * @param newValue True if this option is to be enabled, false otherwise. - */ - public void setEnabled(boolean newValue) - { - Logger.log("Enabling " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - optionName()); - enabled = newValue; - } - - /** - * Returns true if the local endpoint desires this option to be enabled, false if - * not. It is not an error for the value returned by this method to differ from - * the value returned by isEnabled(). The value returned by this method can change - * over time, reflecting the local endpoint's changing desire regarding the - * option.

- * - * NOTE: Even if this option represents a remote endpoint option, the return value - * of this method represents the local endpint's desire regarding the remote - * option.

- * - * @return Returns true if the local endpoint desires this option to be enabled, - * false if not. - */ - public boolean isDesired() - { - return desired; - } - - /** - * Sets our desired value for this option. Note that the option can be desired - * when enabled is false, and the option can be undesired when - * enabled is true, though the latter state should not persist, since either - * endpoint can disable any option at any time.

- * - * @param newValue True if we desire this option to be enabled, false if - * we desire this option to be disabled. - */ - public void setDesired(boolean newValue) - { - if (newValue) - Logger.log("Setting " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - optionName() + " as desired."); //$NON-NLS-1$ - - desired = newValue; - } - - /** - * Call this method to request that negotiation begin for this option. This method - * does nothing if negotiation for this option has already started or is already - * complete. If negotiation has not yet started for this option and the local - * endpoint desires this option to be enabled, then we send a WILL or DO command to - * the remote endpoint. - */ - public void negotiate() - { - if (negotiationState == NEGOTIATION_NOT_STARTED && desired) - { - if (local) - { - Logger.log("Starting negotiation for local option " + optionName()); //$NON-NLS-1$ - sendWill(); - } - else - { - Logger.log("Starting negotiation for remote option " + optionName()); //$NON-NLS-1$ - sendDo(); - } - - negotiationState = NEGOTIATION_IN_PROGRESS; - } - } - - /** - * This method is called whenever we receive a WILL command from the remote - * endpoint. - */ - public void handleWill() - { - if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) - { - Logger.log("Ignoring superfluous WILL command from remote endpoint."); //$NON-NLS-1$ - return; - } - - if (negotiationState == NEGOTIATION_IN_PROGRESS) - { - if (desired) - { - // We sent DO and server replied with WILL. Enable the option, and end - // this negotiation. - - enabled = true; - Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // This should never happen! We sent DONT and the server replied with - // WILL. Bad server. No soup for you. Disable the option, and end - // this negotiation. - - Logger.log("Server answered DONT with WILL!"); //$NON-NLS-1$ - enabled = false; - Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - else - { - if (desired) - { - // Server sent WILL, so we reply with DO. Enable the option, and end - // this negotiation. - - sendDo(); - enabled = true; - Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // Server sent WILL, so we reply with DONT. Disable the option, and - // end this negotiation. - - sendDont(); - enabled = false; - Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - } - - /** - * Handles a WONT command sent by the remote endpoint for this option. The value - * of desired doesn't matter in this method, because the remote endpoint is - * forcing the option to be disabled. - */ - public void handleWont() - { - if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) - { - Logger.log("Ignoring superfluous WONT command from remote endpoint."); //$NON-NLS-1$ - return; - } - - if (negotiationState == NEGOTIATION_IN_PROGRESS) - { - // We sent DO or DONT and server replied with WONT. Disable the - // option, and end this negotiation. - - enabled = false; - Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // Server sent WONT, so we reply with DONT. Disable the option, and - // end this negotiation. - - sendDont(); - enabled = false; - Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - - /** - * Handles a DO command sent by the remote endpoint for this option. - */ - public void handleDo() - { - if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) - { - Logger.log("Ignoring superfluous DO command from remote endpoint."); //$NON-NLS-1$ - return; - } - - if (negotiationState == NEGOTIATION_IN_PROGRESS) - { - if (desired) - { - // We sent WILL and server replied with DO. Enable the option, and end - // this negotiation. - - enabled = true; - Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // We sent WONT and server replied with DO. This should never happen! - // Bad server. No soup for you. Disable the option, and end this - // negotiation. - - Logger.log("Server answered WONT with DO!"); //$NON-NLS-1$ - enabled = false; - Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - else - { - if (desired) - { - // Server sent DO, so we reply with WILL. Enable the option, and end - // this negotiation. - - sendWill(); - enabled = true; - Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // Server sent DO, so we reply with WONT. Disable the option, and end - // this negotiation. - - sendWont(); - enabled = false; - Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - } - - /** - * Handles a DONT command sent by the remote endpoint for this option. The value - * of desired doesn't matter in this method, because the remote endpoint is - * forcing the option to be disabled. - */ - public void handleDont() - { - if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) - { - Logger.log("Ignoring superfluous DONT command from remote endpoint."); //$NON-NLS-1$ - return; - } - - if (negotiationState == NEGOTIATION_IN_PROGRESS) - { - // We sent WILL or WONT and server replied with DONT. Disable the - // option, and end this negotiation. - - enabled = false; - Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - else - { - // Server sent DONT, so we reply with WONT. Disable the option, and end - // this negotiation. - - sendWont(); - enabled = false; - Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - endNegotiation(); - } - } - - /** - * This method handles a subnegotiation command received from the remote endpoint. - * Currently, the only subnegotiation we handle is when the remote endpoint - * commands us to send our terminal type (which is "ansi"). - * - * @param subnegotiationData An array of bytes containing a TELNET - * subnegotiation command received from the - * remote endpoint. - * @param count The number of bytes in array - * subnegotiationData to examine. - */ - public void handleSubnegotiation(byte[] subnegotiationData, int count) - { - switch (option) - { - case TELNET_OPTION_TERMINAL_TYPE: - if (subnegotiationData[1] != TELNET_SEND) - { - // This should never happen! - Logger.log("Invalid TERMINAL-TYPE subnegotiation command from remote endpoint: " + //$NON-NLS-1$ - (subnegotiationData[1] & 0xff)); - break; - } - - // Tell the remote endpoint our terminal type is "ansi" using this sequence - // of TELNET protocol bytes: - // - // IAC SB TERMINAL-TYPE IS a n s i IAC SE - - byte[] terminalTypeData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_TERMINAL_TYPE, - TELNET_IS, (byte)'a', (byte)'n', (byte)'s', (byte)'i', - TELNET_IAC, TELNET_SE }; - - try - { - outputStream.write(terminalTypeData); - } - catch (IOException ex) - { - Logger.log("IOException sending TERMINAL-TYPE subnegotiation!"); //$NON-NLS-1$ - Logger.logException(ex); - } - break; - - default: - // This should never happen! - Logger.log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ - assert false; - break; - } - } - - /** - * This method sends a subnegotiation command to the remote endpoint. - * - * @param subnegotiationData An array of Objects holding data to be used - * when generating the outbound subnegotiation - * command. - */ - public void sendSubnegotiation(Object[] subnegotiationData) - { - switch (option) - { - case TELNET_OPTION_NAWS: - // Get the width and height of the view and send it to the remote - // endpoint using this sequence of TELNET protocol bytes: - // - // IAC SB NAWS - // IAC SE - - byte[] NAWSData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_NAWS, - 0, 0, 0, 0, TELNET_IAC, TELNET_SE }; - int width = ((Integer)subnegotiationData[0]).intValue(); - int height = ((Integer)subnegotiationData[1]).intValue(); - - NAWSData[3] = (byte)((width >>> 8) & 0xff); // High order byte of width. - NAWSData[4] = (byte)(width & 0xff); // Low order byte of width. - NAWSData[5] = (byte)((height >>> 8) & 0xff); // High order byte of height. - NAWSData[6] = (byte)(height & 0xff); // Low order byte of height. - - Logger.log("sending terminal size to remote endpoint: width = " + width + //$NON-NLS-1$ - ", height = " + height + "."); //$NON-NLS-1$ //$NON-NLS-2$ - - // This final local variable is a hack to get around the fact that inner - // classes cannot reference a non-final local variable in a lexically - // enclosing scope. - - final byte[] NAWSDataFinal = NAWSData; - - // Send the NAWS data in a new thread. The current thread is the display - // thread, and calls to write() can block, but blocking the display thread - // is _bad_ (it hangs the GUI). - - new Thread() - { - public void run() - { - try - { - outputStream.write(NAWSDataFinal); - } - catch (IOException ex) - { - Logger.log("IOException sending NAWS subnegotiation!"); //$NON-NLS-1$ - Logger.logException(ex); - } - } - }.start(); - break; - - default: - // This should never happen! - Logger.log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ - assert false; - break; - } - } - - - /** - * This method returns true if there has not yet been any negotiation of this - * option. - * - * @return Returns true if there has not yet been any negotiation of this option. - */ - protected boolean notYetNegotiated() - { - return negotiationState == NEGOTIATION_NOT_STARTED; - } - - /** - * This method terminates the current negotiation and records the time at which the - * negotiation terminated. - */ - protected void endNegotiation() - { - Logger.log("Ending negotiation #" + negotiationCount + " for " + //$NON-NLS-1$ //$NON-NLS-2$ - (local ? "local" : "remote") + " option " + optionName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - negotiationState = NEGOTIATION_DONE; - negotiationCompletionTime.setTime(System.currentTimeMillis()); - ++negotiationCount; - } - - /** - * This method determines whether or not to ignore what appears to be a new - * negotiation initiated by the remote endpoint. This is needed because some - * TELNET servers send superfluous option commands that a naive client might - * interpret as the start of a new negotiation. If the superfluous command is not - * ignored, an option negotiation loop can result (which is bad). For details - * about the superfluous commands sent by some servers, see the documentation for - * {@link #NEGOTIATION_NOT_STARTED}.

- * - * The current implementation of this method returns true if the new negotiation - * starts within NEGOTIATION_IGNORE_DURATION seconds of the end of the previous - * negotiation of this option.

- * - * @return Returns true if the new negotiation should be ignored, false if not. - */ - protected boolean ignoreNegotiation() - { - return (System.currentTimeMillis() - negotiationCompletionTime.getTime()) > - NEGOTIATION_IGNORE_DURATION; - } - - /** - * Sends a DO command to the remote endpoint for this option. - */ - protected void sendDo() - { - Logger.log("Sending DO " + optionName()); //$NON-NLS-1$ - sendCommand(TELNET_DO); - } - - /** - * Sends a DONT command to the remote endpoint for this option. - */ - protected void sendDont() - { - Logger.log("Sending DONT " + optionName()); //$NON-NLS-1$ - sendCommand(TELNET_DONT); - } - - /** - * Sends a WILL command to the remote endpoint for this option. - */ - protected void sendWill() - { - Logger.log("Sending WILL " + optionName()); //$NON-NLS-1$ - sendCommand(TELNET_WILL); - } - - /** - * Sends a WONT command to the remote endpoint for this option. - */ - protected void sendWont() - { - Logger.log("Sending WONT " + optionName()); //$NON-NLS-1$ - sendCommand(TELNET_WONT); - } - - /** - * This method sends a WILL/WONT/DO/DONT command to the remote endpoint for this - * option. - */ - protected void sendCommand(byte command) - { - byte[] data = { TELNET_IAC, 0, 0 }; - - data[1] = command; - data[2] = option; - - try - { - outputStream.write(data); - } - catch (IOException ex) - { - Logger.log("IOException sending command " + command); //$NON-NLS-1$ - Logger.logException(ex); - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java deleted file mode 100644 index e1b786d4867..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalAction.java +++ /dev/null @@ -1,119 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - - -package org.eclipse.tm.terminal; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; - -public class TerminalAction extends Action - implements TerminalMsg, TerminalConsts -{ - /** - * - */ - protected TerminalTarget m_Target; - protected String m_strMsg; - - /** - * - */ - public TerminalAction(TerminalTarget target, - String strMsg, - String strId) - { - super(""); //$NON-NLS-1$ - - m_Target = target; - m_strMsg = strMsg; - - setId(strId); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Action interface - // - - /** - * - */ - public void run() - { - m_Target.execute(m_strMsg,this); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - protected void setupAction(String strText, - String strToolTip, - String strImage, - String strEnabledImage, - String strDisabledImage, - boolean bEnabled) - { - TerminalPlugin plugin; - ImageRegistry imageRegistry; - - plugin = TerminalPlugin.getDefault(); - imageRegistry = plugin.getImageRegistry(); - setupAction(strText, - strToolTip, - strImage, - strEnabledImage, - strDisabledImage, - bEnabled, - imageRegistry); - } - - /** - * - */ - protected void setupAction(String strText, - String strToolTip, - String strImage, - String strEnabledImage, - String strDisabledImage, - boolean bEnabled, - ImageRegistry imageRegistry) - { - ImageDescriptor imageDescriptor; - - setText(strText); - setToolTipText(strToolTip); - setEnabled(bEnabled); - - imageDescriptor = imageRegistry.getDescriptor(strEnabledImage); - if (imageDescriptor != null) - { - setImageDescriptor(imageDescriptor); - } - - imageDescriptor = imageRegistry.getDescriptor(strDisabledImage); - if (imageDescriptor != null) - { - setDisabledImageDescriptor(imageDescriptor); - } - - imageDescriptor = imageRegistry.getDescriptor(strImage); - if (imageDescriptor != null) - { - setHoverImageDescriptor(imageDescriptor); - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java new file mode 100644 index 00000000000..d73bc2b4f12 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.RegistryFactory; + +/** + * A factory to get {@link ITerminalConnector} instances. + * + * @author Michael Scharf + * + */ +public class TerminalConnectorExtension { + /** + * @return a new list of ITerminalConnectors. + */ + public static ITerminalConnector[] getTerminalConnectors() { + IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ + List result=new ArrayList(); + for (int i = 0; i < config.length; i++) { + try { + Object obj=config[i].createExecutableExtension("class"); //$NON-NLS-1$ + if(obj instanceof ITerminalConnector) { + ITerminalConnector conn=(ITerminalConnector) obj; + if(conn.isInstalled()) + result.add(conn); + } + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + return (ITerminalConnector[]) result.toArray(new ITerminalConnector[result.size()]); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java deleted file mode 100644 index f8968d42572..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConsts.java +++ /dev/null @@ -1,114 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -public interface TerminalConsts -{ - public static final String TERMINAL_CONNTYPE_SERIAL = "Serial"; //$NON-NLS-1$ - public static final String TERMINAL_CONNTYPE_NETWORK = "Network"; //$NON-NLS-1$ - - public final static String TERMINAL_IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ - public final static String TERMINAL_IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ - - public static final String TERMINAL_IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ - - public static final String TERMINAL_IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ - - public static final String TERMINAL_IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ - public static final String TERMINAL_IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ - - public static final String TERMINAL_PROP_TITLE = Messages.getString("TerminalConsts.Terminal_7"); //$NON-NLS-1$ - public static final String TERMINAL_PROP_NAMENET = "net"; //$NON-NLS-1$ - public static final String TERMINAL_PROP_NAMETGTCONST = "tgtcons"; //$NON-NLS-1$ - public static final String TERMINAL_PROP_NAMETELNET = "telnet"; //$NON-NLS-1$ - public static final String TERMINAL_PROP_VALUENET = "1233"; //$NON-NLS-1$ - public static final String TERMINAL_PROP_VALUETGTCONST = "1232"; //$NON-NLS-1$ - public static final String TERMINAL_PROP_VALUETELNET = "23"; //$NON-NLS-1$ - - public static final String TERMINAL_PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ - public static final String TERMINAL_PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ - public static final String TERMINAL_PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ - public static final String TERMINAL_PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ - - public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ - public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ - - public static final String TERMINAL_TEXT_NEW_TERMINAL = Messages.getString("TerminalConsts.New_terminal"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_CONNECT = Messages.getString("TerminalConsts.Connect_2"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_DISCONNECT = Messages.getString("TerminalConsts.Disconnect_3"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_SETTINGS_ELLIPSE = Messages.getString("TerminalConsts.Settings..._4"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_COPY = Messages.getString("TerminalConsts.Copy_5"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_CUT = Messages.getString("TerminalConsts.0"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_PASTE = Messages.getString("TerminalConsts.Paste_6"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_SELECTALL = Messages.getString("TerminalConsts.Select_All_7"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_CLEARALL = Messages.getString("TerminalConsts.Clear_All_8"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_TERMINALSETTINGS = Messages.getString("TerminalConsts.Terminal_Settings_1"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_CONNECTIONTYPE = Messages.getString("TerminalConsts.Connection_Type_2"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_SETTINGS = Messages.getString("TerminalConsts.Settings_3"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_PORT = Messages.getString("TerminalConsts.Port_4"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_BAUDRATE = Messages.getString("TerminalConsts.Baud_Rate_5"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_DATABITS = Messages.getString("TerminalConsts.Data_Bits_6"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_STOPBITS = Messages.getString("TerminalConsts.Stop_Bits_7"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_PARITY = Messages.getString("TerminalConsts.Parity_8"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_FLOWCONTROL = Messages.getString("TerminalConsts.1"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_HOST = Messages.getString("TerminalConsts.Host_11"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_LIMITOUTPUT = Messages.getString("TerminalConsts.Limit_terminal_output_16"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_BUFFERLINES = Messages.getString("TerminalConsts.Terminal_buffer_lines__17"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_SERIALTIMEOUT = Messages.getString("TerminalConsts.Serial_timeout_(seconds)__18"); //$NON-NLS-1$ - public static final String TERMINAL_TEXT_NETWORKTIMEOUT = Messages.getString("TerminalConsts.Network_timeout_(seconds)__19"); //$NON-NLS-1$ - - public static final String TERMINAL_MSG_ERROR_1 = Messages.getString("TerminalConsts.Terminal_Error_12"); //$NON-NLS-1$ - public static final String TERMINAL_MSG_ERROR_2 = Messages.getString("TerminalConsts.Socket_Error_13"); //$NON-NLS-1$ - public static final String TERMINAL_MSG_ERROR_3 = Messages.getString("TerminalConsts.IO_Error_14"); //$NON-NLS-1$ - public static final String TERMINAL_MSG_ERROR_4 = Messages.getString("TerminalConsts.Serial_port___{0}___is_currently_in_use_!_nDo_you_want_to_close_the_port__15"); //$NON-NLS-1$ - public static final String TERMINAL_MSG_ERROR_5 = Messages.getString("TerminalConsts.Error_16"); //$NON-NLS-1$ - public static final String TERMINAL_MSG_ERROR_6 = Messages.getString("TerminalConsts.Emulator_is_not_supported._17"); //$NON-NLS-1$ - - public static final String TERMINAL_FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ - - public static final String TERMINAL_TRACE_DEBUG_LOG = "org.eclipse.tm.terminal/debug/log"; //$NON-NLS-1$ - public static final String TERMINAL_TRACE_DEBUG_LOG_ERROR = "org.eclipse.tm.terminal/debug/log/error"; //$NON-NLS-1$ - public static final String TERMINAL_TRACE_DEBUG_LOG_INFO = "org.eclipse.tm.terminal/debug/log/info"; //$NON-NLS-1$ - public static final String TERMINAL_TRACE_DEBUG_LOG_CHAR = "org.eclipse.tm.terminal/debug/log/char"; //$NON-NLS-1$ - public static final String TERMINAL_TRACE_DEBUG_LOG_BUFFER_SIZE = "org.eclipse.tm.terminal/debug/log/buffer/size"; //$NON-NLS-1$ - - public static final boolean TERMINAL_DEFAULT_LIMITOUTPUT = true; - public static final int TERMINAL_DEFAULT_BUFFERLINES = 1000; - public static final int TERMINAL_DEFAULT_TIMEOUT_SERIAL = 5; - public static final int TERMINAL_DEFAULT_TIMEOUT_NETWORK = 5; - - public static final int TERMINAL_ID_OK = 0; - public static final int TERMINAL_ID_CANCEL = 1; - public static final int TERMINAL_ID_CONNECT = 2; - - public static final int TERMINAL_KEY_ESCAPE = 27; - public static final int TERMINAL_KEY_H = 104; - public static final int TERMINAL_KEY_J = 106; - public static final int TERMINAL_KEY_K = 107; - public static final int TERMINAL_KEY_L = 108; - public static final int TERMINAL_KEY_CR = 13; -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java deleted file mode 100644 index 0423376d1f1..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalCtrl.java +++ /dev/null @@ -1,1573 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.net.InetSocketAddress; -import java.net.Socket; -import java.net.SocketException; -import java.net.SocketTimeoutException; -import java.net.UnknownHostException; -import java.net.ConnectException; -import java.text.MessageFormat; - -import javax.comm.CommPortIdentifier; -import javax.comm.CommPortOwnershipListener; -import javax.comm.PortInUseException; -import javax.comm.SerialPort; -import javax.comm.SerialPortEvent; -import javax.comm.SerialPortEventListener; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.ConfigurableLineTracker; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.jface.text.TextViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.custom.VerifyKeyListener; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.VerifyEvent; -import org.eclipse.swt.events.VerifyListener; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.contexts.IContextActivation; -import org.eclipse.ui.contexts.IContextService; -import org.eclipse.ui.part.ViewPart; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.keys.IBindingService; - -/** - * UNDER CONSTRUCTION - * - * This class was originally written to use nested classes, which unfortunately makes - * this source file larger and more complex than it needs to be. In particular, the - * methods in the nested classes directly access the fields of the enclosing class. - * One day we should pull the nested classes out into their own source files (but still - * in this package). - * - * @author Chris Thew - */ -class TerminalCtrl implements TerminalTarget, TerminalConsts -{ - /** - * UNDER CONSTRUCTION - */ - protected final static String[] LINE_DELIMITERS = { "\n" }; //$NON-NLS-1$ - - /** - * This field holds a reference to a TerminalText object that performs all ANSI - * text processing on data received from the remote host and controls how text is - * displayed using the view's StyledText widget. - */ - protected TerminalText m_TerminalText; - - protected Display m_Display; - protected StyledText m_ctlText; - protected TextViewer m_Viewer; - protected Composite m_wndParent; - protected CommPortIdentifier m_SerialPortIdentifier; - protected SerialPort m_SerialPort; - protected Socket m_Socket; - protected InputStream m_InputStream; - protected OutputStream m_OutputStream; - protected Clipboard m_Clipboard; - protected TerminalSerialPortHandler m_SerialPortHandler; - protected VerifyListener m_VerifyHandler; - protected TerminalModifyListener m_ModifyListener; - protected KeyListener m_KeyHandler; - protected TerminalSettings m_TerminalSettings; - protected TerminalTarget m_Target; - protected ViewPart m_ViewPart; - protected String m_strMsg = ""; //$NON-NLS-1$ - protected boolean m_bConnecting = false; - protected boolean m_bConnected = false; - protected boolean m_bOpened = false; - protected boolean m_bPortInUse = false; - protected boolean m_bCaretReset = false; - protected TelnetConnection m_telnetConnection; - protected VerifyKeyListener m_VerifyKeyListener; - protected FocusListener m_FocusListener; - - /** - * UNDER CONSTRUCTION - */ - public TerminalCtrl(TerminalTarget target, Composite wndParent) - throws Exception - { - super(); - - m_Target = target; - m_ViewPart = (ViewPart)target; - m_wndParent = wndParent; - - try - { - m_TerminalText = new TerminalText(this); - } - catch (Exception ex) - { - Logger.logException(ex); - - throw ex; - } - - setupTerminal(); - } - - /** - * UNDER CONSTRUCTION - */ - public void execute(String strMsg, Object data) - { - if (strMsg.equals(ON_TERMINAL_CONNECT)) - { - onTerminalConnect(data); - } - else if (strMsg.equals(ON_TERMINAL_CONNECTING)) - { - onTerminalConnecting(data); - } - else if (strMsg.equals(ON_TERMINAL_DISCONNECT)) - { - onTerminalDisconnect(data); - } - else if (strMsg.equals(ON_TERMINAL_STATUS)) - { - onTerminalStatus(data); - } - } - - /** - * UNDER CONSTRUCTION - */ - protected void onTerminalConnect(Object data) - { - m_Target.execute(ON_TERMINAL_CONNECT, data); - } - - /** - * UNDER CONSTRUCTION - */ - protected void onTerminalConnecting(Object data) - { - m_Target.execute(ON_TERMINAL_CONNECTING, data); - } - - /** - * UNDER CONSTRUCTION - */ - protected void onTerminalDisconnect(Object data) - { - m_Target.execute(ON_TERMINAL_DISCONNECT, data); - } - - /** - * UNDER CONSTRUCTION - */ - protected void onTerminalStatus(Object data) - { - m_Target.execute(ON_TERMINAL_STATUS, data); - } - - /** - * UNDER CONSTRUCTION - */ - public void copy() - { - m_ctlText.copy(); - } - - /** - * UNDER CONSTRUCTION - */ - public void paste() - { - TextTransfer textTransfer; - String strText; - - textTransfer = TextTransfer.getInstance(); - strText = (String)m_Clipboard.getContents(textTransfer); - - if (strText == null) - return; - - for (int i=0;i tags are present in the plugin.xml file - // for the Terminal view. Do not delete those tags. - - switch (event.keyCode) - { - case 0x1000001: // Up arrow. - sendString("\u001b[A"); //$NON-NLS-1$ - break; - - case 0x1000002: // Down arrow. - sendString("\u001b[B"); //$NON-NLS-1$ - break; - - case 0x1000003: // Left arrow. - sendString("\u001b[D"); //$NON-NLS-1$ - break; - - case 0x1000004: // Right arrow. - sendString("\u001b[C"); //$NON-NLS-1$ - break; - - case 0x1000005: // PgUp key. - sendString("\u001b[I"); //$NON-NLS-1$ - break; - - case 0x1000006: // PgDn key. - sendString("\u001b[G"); //$NON-NLS-1$ - break; - - case 0x1000007: // Home key. - sendString("\u001b[H"); //$NON-NLS-1$ - break; - - case 0x1000008: // End key. - sendString("\u001b[F"); //$NON-NLS-1$ - break; - - case 0x100000a: // F1 key. - sendString("\u001b[M"); //$NON-NLS-1$ - break; - - case 0x100000b: // F2 key. - sendString("\u001b[N"); //$NON-NLS-1$ - break; - - case 0x100000c: // F3 key. - sendString("\u001b[O"); //$NON-NLS-1$ - break; - - case 0x100000d: // F4 key. - sendString("\u001b[P"); //$NON-NLS-1$ - break; - - case 0x100000e: // F5 key. - sendString("\u001b[Q"); //$NON-NLS-1$ - break; - - case 0x100000f: // F6 key. - sendString("\u001b[R"); //$NON-NLS-1$ - break; - - case 0x1000010: // F7 key. - sendString("\u001b[S"); //$NON-NLS-1$ - break; - - case 0x1000011: // F8 key. - sendString("\u001b[T"); //$NON-NLS-1$ - break; - - case 0x1000012: // F9 key. - sendString("\u001b[U"); //$NON-NLS-1$ - break; - - case 0x1000013: // F10 key. - sendString("\u001b[V"); //$NON-NLS-1$ - break; - - case 0x1000014: // F11 key. - sendString("\u001b[W"); //$NON-NLS-1$ - break; - - case 0x1000015: // F12 key. - sendString("\u001b[X"); //$NON-NLS-1$ - break; - - default: - // Ignore other special keys. Control flows through this case when - // the user presses SHIFT, CONTROL, ALT, and any other key not - // handled by the above cases. - break; - } - - // It's ok to return here, because we never locally echo special keys. - - return; - } - - // To fix SPR 110341, we consider the Alt key to be pressed only when the - // Ctrl key is _not_ also pressed. This works around a bug in SWT where, - // on European keyboards, the AltGr key being pressed appears to us as Ctrl - // + Alt being pressed simultaneously. - - Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ - - boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && - ((event.stateMask & SWT.CTRL) == 0)); - - if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 && character == ' ') - { - // Send a NUL character -- many terminal emulators send NUL when - // Ctrl-Space is pressed. This is used to set the mark in Emacs. - - character='\u0000'; - } - - sendChar(character, altKeyPressed); - - // Special case: When we are in a TCP connection and echoing characters - // locally, send a LF after sending a CR. - // ISSUE: Is this absolutely required? - - if (character == '\r' && - m_telnetConnection != null && - m_telnetConnection.isConnected() && - m_telnetConnection.localEcho()) - { - sendChar('\n', false); - } - - // Now decide if we should locally echo the character we just sent. We do - // _not_ locally echo the character if any of these conditions are true: - // - // o This is a serial connection. - // - // o This is a TCP connection (i.e., m_telnetConnection is not null) and - // the remote endpoint is not a TELNET server. - // - // o The ALT (or META) key is pressed. - // - // o The character is any of the first 32 ISO Latin-1 characters except - // Control-I or Control-M. - // - // o The character is the DELETE character. - - if (m_telnetConnection == null || - m_telnetConnection.isConnected() == false || - m_telnetConnection.localEcho() == false || - altKeyPressed || - (character >= '\u0001' && character < '\t') || - (character > '\t' && character < '\r') || - (character > '\r' && character <= '\u001f') || - character == '\u007f') - { - // No local echoing. - return; - } - - // Locally echo the character. - - StringBuffer charBuffer = new StringBuffer(); - charBuffer.append(character); - - // If the character is a carriage return, we locally echo it as a CR + LF - // combination. - - if (character == '\r') - charBuffer.append('\n'); - - m_TerminalText.setNewText(charBuffer); - m_Display.syncExec(m_TerminalText); - } - } - - /** - * UNDER CONSTRUCTION - */ - protected class TerminalSerialPortHandler implements SerialPortEventListener, - CommPortOwnershipListener - { - protected byte[] bytes = new byte[2048]; - - /** - * UNDER CONSTRUCTION - */ - protected TerminalSerialPortHandler() - { - super(); - } - - // Message handlers - - /** - * UNDER CONSTRUCTION - */ - protected void onSerialDataAvailable(Object data) - { - Display display; - StringBuffer buffer; - String strBuffer; - int nBytes; - - display = m_ctlText.getDisplay(); - - try - { - while (m_InputStream != null && m_InputStream.available() > 0) - { - nBytes = m_InputStream.read(bytes); - strBuffer = new String(bytes, 0, nBytes); - buffer = new StringBuffer(strBuffer); - - m_TerminalText.setNewText(buffer); - - // Do _not_ use asyncExec() here. Class TerminalText requires that - // its run() and setNewText() methods be called in strictly - // alternating order. If we were to call asyncExec() here, this - // loop might race around and call setNewText() twice in a row, - // which would lose data. - - display.syncExec(m_TerminalText); - } - } - catch (IOException ex) - { - displayTextInTerminal(ex.getMessage()); - } - catch (Exception exception) - { - Logger.logException(exception); - } - } - - /** - * UNDER CONSTRUCTION - */ - protected void onSerialOwnershipRequested(Object data) - { - TerminalSerialOwnershipRequestedWorker ownershipRequestedWorker; - Display display; - - if (m_bPortInUse) - { - m_bPortInUse = false; - return; - } - - display = m_ctlText.getDisplay(); - ownershipRequestedWorker = new TerminalSerialOwnershipRequestedWorker(); - display.asyncExec(ownershipRequestedWorker); - } - - // SerialPortEventListener interface - - /** - * UNDER CONSTRUCTION - */ - public void serialEvent(SerialPortEvent event) - { - switch (event.getEventType()) - { - case SerialPortEvent.DATA_AVAILABLE: - onSerialDataAvailable(null); - break; - } - } - - // CommPortOwnershipListener interface - - /** - * UNDER CONSTRUCTION - */ - public void ownershipChange(int nType) - { - switch (nType) - { - case CommPortOwnershipListener.PORT_OWNERSHIP_REQUESTED: - onSerialOwnershipRequested(null); - break; - } - } - } - - /** - * UNDER CONSTRUCTION - */ - protected class TerminalDocument extends Document - { - /** - * UNDER CONSTRUCTION - */ - protected TerminalDocument() - { - super(); - - setupDocument(); - } - - // Operations - - /** - * UNDER CONSTRUCTION - */ - protected void setupDocument() - { - ConfigurableLineTracker lineTracker; - - lineTracker = new ConfigurableLineTracker(LINE_DELIMITERS); - setLineTracker(lineTracker); - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java deleted file mode 100644 index 158832aeb24..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalMsg.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -public interface TerminalMsg -{ - public static final String ON_TERMINAL_FOCUS = "OnTerminalFocus"; //$NON-NLS-1$ - public static final String ON_TERMINAL_NEW_TERMINAL = "OnTerminalNew"; //$NON-NLS-1$ - public static final String ON_TERMINAL_CONNECT = "OnTerminalConnect"; //$NON-NLS-1$ - public static final String ON_TERMINAL_CONNECTING = "OnTerminalConnecting"; //$NON-NLS-1$ - public static final String ON_TERMINAL_DISCONNECT = "OnTerminalDisconnect"; //$NON-NLS-1$ - public static final String ON_TERMINAL_SETTINGS = "OnTerminalSettings"; //$NON-NLS-1$ - public static final String ON_TERMINAL_STATUS = "OnTerminalStatus"; //$NON-NLS-1$ - public static final String ON_TERMINAL_DATAAVAILABLE = "OnTerminalDataAvailable"; //$NON-NLS-1$ - public static final String ON_TERMINAL_FONTCHANGED = "OnTerminalFontChanged"; //$NON-NLS-1$ - public static final String ON_EDIT_COPY = "OnEditCopy"; //$NON-NLS-1$ - public static final String ON_EDIT_CUT = "OnEditCut"; //$NON-NLS-1$ - public static final String ON_EDIT_PASTE = "OnEditPaste"; //$NON-NLS-1$ - public static final String ON_EDIT_CLEARALL = "OnEditClearAll"; //$NON-NLS-1$ - public static final String ON_EDIT_SELECTALL = "OnEditSelectAll"; //$NON-NLS-1$ - public static final String ON_UPDATE_TERMINAL_CONNECT = "OnUpdateTerminalConnect"; //$NON-NLS-1$ - public static final String ON_UPDATE_TERMINAL_DISCONNECT = "OnUpdateTerminalDisconnect"; //$NON-NLS-1$ - public static final String ON_UPDATE_TERMINAL_SETTINGS = "OnUpdateTerminalSettings"; //$NON-NLS-1$ - public static final String ON_UPDATE_EDIT_COPY = "OnUpdateEditCopy"; //$NON-NLS-1$ - public static final String ON_UPDATE_EDIT_CUT = "OnUpdateEditCut"; //$NON-NLS-1$ - public static final String ON_UPDATE_EDIT_PASTE = "OnUpdateEditPaste"; //$NON-NLS-1$ - public static final String ON_UPDATE_EDIT_CLEARALL = "OnUpdateEditClearAll"; //$NON-NLS-1$ - public static final String ON_UPDATE_EDIT_SELECTALL = "OnUpdateEditSelectAll"; //$NON-NLS-1$ - public static final String ON_CONNTYPE_SELECTED = "OnConnTypeSelected"; //$NON-NLS-1$ - public static final String ON_LIMITOUTPUT_SELECTED = "OnLimitOutputSelected"; //$NON-NLS-1$ - public static final String ON_OK = "OnOK"; //$NON-NLS-1$ - public static final String ON_CANCEL = "OnCancel"; //$NON-NLS-1$ - public static final String ON_HELP = "OnHelp"; //$NON-NLS-1$ -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java deleted file mode 100644 index 47392cacf26..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalNetworkPortMap.java +++ /dev/null @@ -1,104 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.util.Collection; -import java.util.HashMap; -import java.util.Set; -import java.util.Vector; - - -public class TerminalNetworkPortMap extends HashMap - implements TerminalConsts -{ - static final long serialVersionUID = 0; - - public TerminalNetworkPortMap() - { - super(); - - setupMap(); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - public String getDefaultNetworkPort() - { - return (String) get(TERMINAL_PROP_NAMETELNET); - } - - /** - * - */ - public String findPortName(String strPort) - { - Collection values; - Vector portTable; - Vector nameTable; - String strPortName; - int nIndex; - - values = values(); - portTable = new Vector(values); - nIndex = portTable.indexOf(strPort); - nameTable = getNameTable(); - - if (nIndex == -1) - return strPort; - - strPortName = (String) nameTable.get(nIndex); - return strPortName; - } - - /** - * - */ - public String findPort(String strPortName) - { - String strPort; - - strPort = (String) get(strPortName); - if (strPort == null) - return strPortName; - - return strPort; - } - - /** - * - */ - public Vector getNameTable() - { - Set keySet; - Vector nameTable; - - keySet = keySet(); - nameTable = new Vector(keySet); - - return nameTable; - } - - /** - * - */ - protected void setupMap() - { - put(TERMINAL_PROP_NAMETGTCONST, TERMINAL_PROP_VALUETGTCONST); - put(TERMINAL_PROP_NAMETELNET, TERMINAL_PROP_VALUETELNET); - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java deleted file mode 100644 index c7489fa4032..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPlugin.java +++ /dev/null @@ -1,294 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.Iterator; -import java.util.MissingResourceException; -import java.util.ResourceBundle; - -import org.eclipse.core.resources.IWorkspace; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -public class TerminalPlugin extends AbstractUIPlugin - implements TerminalConsts -{ - protected static TerminalPlugin m_Default; - - protected TerminalProperties m_Properties; - protected ResourceBundle m_ResourceBundle; - - /** - * The constructor. - */ - public TerminalPlugin() - { - super(); - - m_Default = this; - - setupPlugin(); - } - - public void start(BundleContext context) throws Exception - { - super.start(context); - } - - public void stop(BundleContext context) throws Exception - { - super.stop(context); - } - - // AbstractUIPlugin interface - - /** - * - */ - protected void initializeImageRegistry(ImageRegistry imageRegistry) - { - HashMap map; - - map = new HashMap(); - - try - { - // Local toolbars - map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_LOCALTOOL, map); - - map.clear(); - - // Enabled local toolbars - map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_ELCL, map); - - map.clear(); - - // Disabled local toolbars - map.put(TERMINAL_IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(TERMINAL_IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, TERMINAL_IMAGE_DIR_DLCL, map); - - map.clear(); - } - catch(MalformedURLException malformedURLException) - { - malformedURLException.printStackTrace(); - } - } - - /** - * - */ - protected void initializeDefaultPreferences(IPreferenceStore store) - { - store.setDefault(TERMINAL_PREF_LIMITOUTPUT, TERMINAL_DEFAULT_LIMITOUTPUT); - store.setDefault(TERMINAL_PREF_BUFFERLINES, TERMINAL_DEFAULT_BUFFERLINES); - store.setDefault(TERMINAL_PREF_TIMEOUT_SERIAL, TERMINAL_DEFAULT_TIMEOUT_SERIAL); - store.setDefault(TERMINAL_PREF_TIMEOUT_NETWORK, TERMINAL_DEFAULT_TIMEOUT_NETWORK); - } - - // Operations - - /** - * Returns the shared instance. - */ - public static TerminalPlugin getDefault() - { - return m_Default; - } - - /** - * Returns the workspace instance. - */ - public static IWorkspace getWorkspace() - { - return ResourcesPlugin.getWorkspace(); - } - - /** - * Returns the string from the plugin's resource bundle, or 'key' if not found. - */ - public static String getResourceString(String strKey) - { - ResourceBundle resourceBundle; - - resourceBundle = m_Default.getResourceBundle(); - - try - { - return resourceBundle.getString(strKey); - } - catch(MissingResourceException missingResourceException) - { - return strKey; - } - } - - /** - * - */ - public static boolean isLogInfoEnabled() - { - return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG_INFO); - } - - /** - * - */ - public static boolean isLogErrorEnabled() - { - return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG_ERROR); - } - - /** - * - */ - public static boolean isLogEnabled() - { - return isOptionEnabled(TERMINAL_TRACE_DEBUG_LOG); - } - - /** - * - */ - public static boolean isOptionEnabled(String strOption) - { - String strEnabled; - Boolean boolEnabled; - boolean bEnabled; - - strEnabled = Platform.getDebugOption(strOption); - if (strEnabled == null) - return false; - - boolEnabled = new Boolean(strEnabled); - bEnabled = boolEnabled.booleanValue(); - - return bEnabled; - } - - /** - * - */ - public TerminalProperties getTerminalProperties() - { - return m_Properties; - } - - /** - * Returns the plugin's resource bundle, - */ - public ResourceBundle getResourceBundle() - { - return m_ResourceBundle; - } - - /** - * - */ - protected void loadImageRegistry(ImageRegistry imageRegistry, - String strDir, - HashMap map) - throws MalformedURLException - { - URL url; - ImageDescriptor imageDescriptor; - Iterator keys; - String strKey; - String strFile; - - keys = map.keySet().iterator(); - - while(keys.hasNext()) - { - strKey = (String) keys.next(); - strFile = (String) map.get(strKey); - - if (strFile != null) - { - url = TerminalPlugin.getDefault().getBundle().getEntry(TERMINAL_IMAGE_DIR_ROOT + strDir + strFile); - imageDescriptor = ImageDescriptor.createFromURL(url); - imageRegistry.put(strKey,imageDescriptor); - } - } - } - - /** - * - */ - protected void setupPlugin() - { - setupData(); - setupLog(); - setupResources(); - } - - /** - * - */ - protected void setupData() - { - m_Properties = new TerminalProperties(); - } - - /** - * - */ - protected void setupLog() - { - } - - /** - * - */ - protected void setupResources() - { - Package pkg; - String strPkg; - String strBundle; - - pkg = TerminalPlugin.class.getPackage(); - strPkg = pkg.getName(); - strBundle = strPkg + ".PluginResources"; //$NON-NLS-1$ - - try - { - m_ResourceBundle = ResourceBundle.getBundle(strBundle); - } - catch(MissingResourceException missingResourceException) - { - m_ResourceBundle = null; - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java deleted file mode 100644 index 4071b47f6d5..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalPreferencePage.java +++ /dev/null @@ -1,265 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.IntegerFieldEditor; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -public class TerminalPreferencePage extends FieldEditorPreferencePage - implements IWorkbenchPreferencePage, - TerminalTarget, - TerminalConsts -{ - /** - * - */ - protected TerminalBooleanFieldEditor m_editorLimitOutput; - protected IntegerFieldEditor m_editorBufferSize; - protected IntegerFieldEditor m_editorSerialTimeout; - protected IntegerFieldEditor m_editorNetworkTimeout; - - /** - * - */ - public TerminalPreferencePage() - { - super(GRID); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // TerminalTarget interface - // - - /** - * - */ - public void execute(String strMsg,Object data) - { - if (strMsg.equals(ON_LIMITOUTPUT_SELECTED)) - { - onLimitOutputSelected(data); - } - else - { - } - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Message handlers - // - - /** - * - */ - protected void onLimitOutputSelected(Object data) - { - Button ctlButton; - Text ctlText; - Label ctlLabel; - boolean bEnabled; - - ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlText = m_editorBufferSize.getTextControl(getFieldEditorParent()); - ctlLabel = m_editorBufferSize.getLabelControl(getFieldEditorParent()); - bEnabled = ctlButton.getSelection(); - - ctlText.setEnabled(bEnabled); - ctlLabel.setEnabled(bEnabled); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // FieldEditorPreferencePage interface - // - - /** - * - */ - protected void createFieldEditors() - { - setupPage(); - } - - /** - * - */ - protected void initialize() - { - super.initialize(); - - execute(ON_LIMITOUTPUT_SELECTED,null); - } - - /** - * - */ - protected void performDefaults() - { - super.performDefaults(); - - execute(ON_LIMITOUTPUT_SELECTED,null); - } - - /** - * - */ - public void init(IWorkbench workbench) - { - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - protected void setupPage() - { - setupData(); - setupEditors(); - setupListeners(); - } - - /** - * - */ - protected void setupData() - { - TerminalPlugin plugin; - IPreferenceStore preferenceStore; - - plugin = TerminalPlugin.getDefault(); - preferenceStore = plugin.getPreferenceStore(); - setPreferenceStore(preferenceStore); - } - - /** - * - */ - protected void setupEditors() - { - m_editorLimitOutput = new TerminalBooleanFieldEditor(TERMINAL_PREF_LIMITOUTPUT, - TERMINAL_TEXT_LIMITOUTPUT, - getFieldEditorParent()); - m_editorBufferSize = new IntegerFieldEditor(TERMINAL_PREF_BUFFERLINES, - TERMINAL_TEXT_BUFFERLINES, - getFieldEditorParent()); - m_editorSerialTimeout = new IntegerFieldEditor(TERMINAL_PREF_TIMEOUT_SERIAL, - TERMINAL_TEXT_SERIALTIMEOUT, - getFieldEditorParent()); - m_editorNetworkTimeout = new IntegerFieldEditor(TERMINAL_PREF_TIMEOUT_NETWORK, - TERMINAL_TEXT_NETWORKTIMEOUT, - getFieldEditorParent()); - - m_editorBufferSize.setValidRange(0,Integer.MAX_VALUE); - m_editorSerialTimeout.setValidRange(0,Integer.MAX_VALUE); - m_editorNetworkTimeout.setValidRange(0,Integer.MAX_VALUE); - - addField(m_editorLimitOutput); - addField(m_editorBufferSize); - addField(m_editorSerialTimeout); - addField(m_editorNetworkTimeout); - } - - /** - * - */ - protected void setupListeners() - { - TerminalSelectionHandler selectionHandler; - Button ctlButton; - - selectionHandler = new TerminalSelectionHandler(); - ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlButton.addSelectionListener(selectionHandler); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Inner classes - // - - /** - * - */ - public class TerminalBooleanFieldEditor extends BooleanFieldEditor - { - /** - * - */ - public TerminalBooleanFieldEditor(String strName, - String strLabel, - Composite ctlParent) - { - super(strName,strLabel,ctlParent); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // BooleanFieldEditor interface - // - - /** - * - */ - public Button getChangeControl(Composite parent) - { - return super.getChangeControl(parent); - } - } - - - /** - * - */ - protected class TerminalSelectionHandler extends SelectionAdapter - { - /** - * - */ - protected TerminalSelectionHandler() - { - super(); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // SelectionAdapter interface - // - - /** - * - */ - public void widgetSelected(SelectionEvent event) - { - Object source; - Button ctlButton; - - source = event.getSource(); - ctlButton = m_editorLimitOutput.getChangeControl(getFieldEditorParent()); - - if (source == ctlButton) - { - execute(ON_LIMITOUTPUT_SELECTED,null); - } - } - - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java deleted file mode 100644 index 54435d95ff0..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalProperties.java +++ /dev/null @@ -1,278 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.util.Collections; -import java.util.Enumeration; -import java.util.Vector; - -import javax.comm.CommPortIdentifier; - -public class TerminalProperties implements TerminalConsts -{ - protected TerminalNetworkPortMap m_NetworkPortMap; - protected Vector m_ConnTypeTable; - protected Vector m_SerialPortTable; - protected Vector m_BaudRateTable; - protected Vector m_DataBitsTable; - protected Vector m_StopBitsTable; - protected Vector m_ParityTable; - protected Vector m_FlowControlTable; - protected String m_strDefaultConnType; - protected String m_strDefaultSerialPort; - protected String m_strDefaultBaudRate; - protected String m_strDefaultDataBits; - protected String m_strDefaultStopBits; - protected String m_strDefaultParity; - protected String m_strDefaultFlowControl; - protected String m_strDefaultHost; - protected String m_strDefaultNetworkPort; - - /** - * - */ - public TerminalProperties() - { - super(); - - setupProperties(); - } - - //////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - public Vector getConnTypeTable() - { - return m_ConnTypeTable; - } - - /** - * - */ - public Vector getSerialPortTable() - { - return m_SerialPortTable; - } - - /** - * - */ - public Vector getBaudRateTable() - { - return m_BaudRateTable; - } - - /** - * - */ - public Vector getDataBitsTable() - { - return m_DataBitsTable; - } - - /** - * - */ - public Vector getStopBitsTable() - { - return m_StopBitsTable; - } - - /** - * - */ - public Vector getParityTable() - { - return m_ParityTable; - } - - /** - * - */ - public Vector getFlowControlTable() - { - return m_FlowControlTable; - } - - /** - * - */ - public TerminalNetworkPortMap getNetworkPortMap() - { - return m_NetworkPortMap; - } - - /** - * - */ - public String getDefaultConnType() - { - return m_strDefaultConnType; - } - - /** - * - */ - public String getDefaultSerialPort() - { - return m_strDefaultSerialPort; - } - - /** - * - */ - public String getDefaultBaudRate() - { - return m_strDefaultBaudRate; - } - - /** - * - */ - public String getDefaultDataBits() - { - return m_strDefaultDataBits; - } - - /** - * - */ - public String getDefaultStopBits() - { - return m_strDefaultStopBits; - } - - /** - * - */ - public String getDefaultParity() - { - return m_strDefaultParity; - } - - /** - * - */ - public String getDefaultFlowControl() - { - return m_strDefaultFlowControl; - } - - /** - * - */ - public String getDefaultHost() - { - return m_strDefaultHost; - } - - /** - * - */ - public String getDefaultNetworkPort() - { - return m_strDefaultNetworkPort; - } - - /** - * - */ - protected void setupProperties() - { - Enumeration portIdEnum; - CommPortIdentifier identifier; - String strName; - int nPortType; - - portIdEnum = CommPortIdentifier.getPortIdentifiers(); - m_NetworkPortMap = new TerminalNetworkPortMap(); - m_ConnTypeTable = new Vector(); - m_SerialPortTable = new Vector(); - m_BaudRateTable = new Vector(); - m_DataBitsTable = new Vector(); - m_StopBitsTable = new Vector(); - m_ParityTable = new Vector(); - m_FlowControlTable = new Vector(); - m_strDefaultConnType = ""; //$NON-NLS-1$ - m_strDefaultSerialPort = ""; //$NON-NLS-1$ - m_strDefaultBaudRate = ""; //$NON-NLS-1$ - m_strDefaultDataBits = ""; //$NON-NLS-1$ - m_strDefaultStopBits = ""; //$NON-NLS-1$ - m_strDefaultParity = ""; //$NON-NLS-1$ - m_strDefaultFlowControl = ""; //$NON-NLS-1$ - m_strDefaultHost = ""; //$NON-NLS-1$ - m_strDefaultNetworkPort = ""; //$NON-NLS-1$ - - m_ConnTypeTable.add(TERMINAL_CONNTYPE_SERIAL); - m_ConnTypeTable.add(TERMINAL_CONNTYPE_NETWORK); - - m_BaudRateTable.add("300"); //$NON-NLS-1$ - m_BaudRateTable.add("1200"); //$NON-NLS-1$ - m_BaudRateTable.add("2400"); //$NON-NLS-1$ - m_BaudRateTable.add("4800"); //$NON-NLS-1$ - m_BaudRateTable.add("9600"); //$NON-NLS-1$ - m_BaudRateTable.add("19200"); //$NON-NLS-1$ - m_BaudRateTable.add("38400"); //$NON-NLS-1$ - m_BaudRateTable.add("57600"); //$NON-NLS-1$ - m_BaudRateTable.add("115200"); //$NON-NLS-1$ - - m_DataBitsTable.add("5"); //$NON-NLS-1$ - m_DataBitsTable.add("6"); //$NON-NLS-1$ - m_DataBitsTable.add("7"); //$NON-NLS-1$ - m_DataBitsTable.add("8"); //$NON-NLS-1$ - - m_StopBitsTable.add("1"); //$NON-NLS-1$ - m_StopBitsTable.add("1_5"); //$NON-NLS-1$ - m_StopBitsTable.add("2"); //$NON-NLS-1$ - - m_ParityTable.add("None"); //$NON-NLS-1$ - m_ParityTable.add("Even"); //$NON-NLS-1$ - m_ParityTable.add("Odd"); //$NON-NLS-1$ - m_ParityTable.add("Mark"); //$NON-NLS-1$ - m_ParityTable.add("Space"); //$NON-NLS-1$ - - m_FlowControlTable.add("None"); //$NON-NLS-1$ - m_FlowControlTable.add("RTS/CTS"); //$NON-NLS-1$ - m_FlowControlTable.add("Xon/Xoff"); //$NON-NLS-1$ - - m_strDefaultNetworkPort = m_NetworkPortMap.getDefaultNetworkPort(); - m_strDefaultConnType = (String) m_ConnTypeTable.get(0); - m_strDefaultBaudRate = (String) m_BaudRateTable.get(4); - m_strDefaultDataBits = (String) m_DataBitsTable.get(3); - m_strDefaultStopBits = (String) m_StopBitsTable.get(0); - m_strDefaultParity = (String) m_ParityTable.get(0); - m_strDefaultFlowControl = (String) m_FlowControlTable.get(0); - m_strDefaultHost = ""; //$NON-NLS-1$ - - while(portIdEnum.hasMoreElements()) - { - identifier = (CommPortIdentifier)portIdEnum.nextElement(); - strName = identifier.getName(); - nPortType = identifier.getPortType(); - - if (nPortType == CommPortIdentifier.PORT_SERIAL) - m_SerialPortTable.addElement(strName); - } - - Collections.sort(m_SerialPortTable); - - if (!m_SerialPortTable.isEmpty()) - { - m_strDefaultSerialPort = (String) m_SerialPortTable.get(0); - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java deleted file mode 100644 index 516ec202843..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettings.java +++ /dev/null @@ -1,425 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import javax.comm.SerialPort; - -import org.eclipse.jface.dialogs.IDialogSettings; - -public class TerminalSettings - implements TerminalConsts -{ - protected String m_strConnType; - protected String m_strSerialPort; - protected String m_strBaudRate; - protected String m_strDataBits; - protected String m_strStopBits; - protected String m_strParity; - protected String m_strFlowControl; - protected String m_strHost; - protected String m_strNetworkPort; - - /** - * - */ - public TerminalSettings(String terminalPartName) - { - importSettings(terminalPartName); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - public String getConnType() - { - return m_strConnType; - } - - /** - * - */ - public void setConnType(String strConnType) - { - m_strConnType = strConnType; - } - - /** - * - */ - public String getSerialPort() - { - return m_strSerialPort; - } - - /** - * - */ - public void setSerialPort(String strSerialPort) - { - m_strSerialPort = strSerialPort; - } - - /** - * - */ - public String getBaudRate() - { - return m_strBaudRate; - } - - /** - * - */ - public int getBaudRateValue() - { - int nBaudRate; - - try - { - nBaudRate = Integer.parseInt(m_strBaudRate); - } - catch(NumberFormatException numberFormatException) - { - nBaudRate = 9600; - } - - return nBaudRate; - } - - /** - * - */ - public void setBaudRate(String strBaudRate) - { - m_strBaudRate = strBaudRate; - } - - /** - * - */ - public String getDataBits() - { - return m_strDataBits; - } - - /** - * - */ - public int getDataBitsValue() - { - if (m_strDataBits.equals("5")) //$NON-NLS-1$ - { - return SerialPort.DATABITS_5; - } - else if (m_strDataBits.equals("6")) //$NON-NLS-1$ - { - return SerialPort.DATABITS_6; - } - else if (m_strDataBits.equals("7")) //$NON-NLS-1$ - { - return SerialPort.DATABITS_7; - } - else // 8 - { - return SerialPort.DATABITS_8; - } - } - - /** - * - */ - public void setDataBits(String strDataBits) - { - m_strDataBits = strDataBits; - } - - /** - * - */ - public String getStopBits() - { - return m_strStopBits; - } - - /** - * - */ - public int getStopBitsValue() - { - if (m_strStopBits.equals("1_5")) //$NON-NLS-1$ - { - return SerialPort.STOPBITS_1_5; - } - else if (m_strStopBits.equals("2")) //$NON-NLS-1$ - { - return SerialPort.STOPBITS_2; - } - else // 1 - { - return SerialPort.STOPBITS_1; - } - } - - /** - * - */ - public void setStopBits(String strStopBits) - { - m_strStopBits = strStopBits; - } - - /** - * - */ - public String getParity() - { - return m_strParity; - } - - /** - * - */ - public int getParityValue() - { - if (m_strParity.equals("Even")) //$NON-NLS-1$ - { - return SerialPort.PARITY_EVEN; - } - else if (m_strParity.equals("Odd")) //$NON-NLS-1$ - { - return SerialPort.PARITY_ODD; - } - else if (m_strParity.equals("Mark")) //$NON-NLS-1$ - { - return SerialPort.PARITY_MARK; - } - else if (m_strParity.equals("Space")) //$NON-NLS-1$ - { - return SerialPort.PARITY_SPACE; - } - else // None - { - return SerialPort.PARITY_NONE; - } - } - - /** - * - */ - public void setParity(String strParity) - { - m_strParity = strParity; - } - - /** - * - */ - public String getFlowControl() - { - return m_strFlowControl; - } - - /** - * - */ - public int getFlowControlValue() - { - if (m_strFlowControl.equals("RTS/CTS")) //$NON-NLS-1$ - { - return SerialPort.FLOWCONTROL_RTSCTS_IN; - } - else if (m_strFlowControl.equals("Xon/Xoff")) //$NON-NLS-1$ - { - return SerialPort.FLOWCONTROL_XONXOFF_IN; - } - else // None - { - return SerialPort.FLOWCONTROL_NONE; - } - } - - /** - * - */ - public void setFlowControl(String strFlow) - { - m_strFlowControl = strFlow; - } - - /** - * - */ - public String getHost() - { - return m_strHost; - } - - /** - * - */ - public void setHost(String strHost) - { - m_strHost = strHost; - } - - /** - * - */ - public String getNetworkPort() - { - return m_strNetworkPort; - } - - /** - * - */ - public int getNetworkPortValue() - { - int nNetworkPort; - - try - { - nNetworkPort = Integer.parseInt(m_strNetworkPort); - } - catch(NumberFormatException numberFormatException) - { - nNetworkPort = 1313; - } - - return nNetworkPort; - } - - /** - * - */ - public void setNetworkPort(String strNetworkPort) - { - m_strNetworkPort = strNetworkPort; - } - - /** - * - */ - public void importSettings(String terminalPartName) - { - TerminalPlugin plugin; - TerminalProperties properties; - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - m_strConnType = importSetting(terminalPartName, "ConnType", //$NON-NLS-1$ - properties.getDefaultConnType()); - m_strSerialPort = importSetting(terminalPartName, "SerialPort", //$NON-NLS-1$ - properties.getDefaultSerialPort()); - m_strBaudRate = importSetting(terminalPartName, "BaudRate", //$NON-NLS-1$ - properties.getDefaultBaudRate()); - m_strDataBits = importSetting(terminalPartName, "DataBits", //$NON-NLS-1$ - properties.getDefaultDataBits()); - m_strStopBits = importSetting(terminalPartName, "StopBits", //$NON-NLS-1$ - properties.getDefaultStopBits()); - m_strParity = importSetting(terminalPartName, "Parity", //$NON-NLS-1$ - properties.getDefaultParity()); - m_strFlowControl = importSetting(terminalPartName, "FlowControl", //$NON-NLS-1$ - properties.getDefaultFlowControl()); - m_strHost = importSetting(terminalPartName, "Host", //$NON-NLS-1$ - properties.getDefaultHost()); - m_strNetworkPort = importSetting(terminalPartName, "NetworkPort", //$NON-NLS-1$ - properties.getDefaultNetworkPort()); - } - - /** - * - */ - public void exportSettings(String terminalPartName) - { - TerminalPlugin plugin; - TerminalProperties properties; - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - - exportSetting(terminalPartName, "ConnType", m_strConnType, //$NON-NLS-1$ - properties.getDefaultConnType()); - exportSetting(terminalPartName, "SerialPort", m_strSerialPort, //$NON-NLS-1$ - properties.getDefaultSerialPort()); - exportSetting(terminalPartName, "BaudRate", m_strBaudRate, //$NON-NLS-1$ - properties.getDefaultBaudRate()); - exportSetting(terminalPartName, "DataBits", m_strDataBits, //$NON-NLS-1$ - properties.getDefaultDataBits()); - exportSetting(terminalPartName, "StopBits", m_strStopBits, //$NON-NLS-1$ - properties.getDefaultStopBits()); - exportSetting(terminalPartName, "Parity", m_strParity, //$NON-NLS-1$ - properties.getDefaultParity()); - exportSetting(terminalPartName, "FlowControl", m_strFlowControl, //$NON-NLS-1$ - properties.getDefaultFlowControl()); - exportSetting(terminalPartName, "Host", m_strHost, //$NON-NLS-1$ - properties.getDefaultHost()); - exportSetting(terminalPartName, "NetworkPort", m_strNetworkPort, //$NON-NLS-1$ - properties.getDefaultNetworkPort()); - } - - /** - * - */ - protected String importSetting(String terminalPartName, String strName, String strDefault) - { - TerminalPlugin plugin; - IDialogSettings settings; - String strPrefix; - String strKey; - String strValue; - - plugin = TerminalPlugin.getDefault(); - settings = plugin.getDialogSettings(); - strPrefix = TerminalSettings.class.getName() + "."; //$NON-NLS-1$ - strKey = strPrefix + terminalPartName + "." + strName; //$NON-NLS-1$ - strValue = settings.get(strKey); - - if ((strValue == null) || - (strValue.equals(""))) //$NON-NLS-1$ - return strDefault; - - return strValue; - } - - /** - * - */ - protected void exportSetting(String terminalPartName, String strName, String strValue, - String strDefault) - { - TerminalPlugin plugin; - IDialogSettings settings; - String strPrefix; - String strKey; - - plugin = TerminalPlugin.getDefault(); - settings = plugin.getDialogSettings(); - strPrefix = TerminalSettings.class.getName() + "."; //$NON-NLS-1$ - strKey = strPrefix + terminalPartName + "." + strName; //$NON-NLS-1$ - - if ((strValue == null) || - (strValue.equals(""))) //$NON-NLS-1$ - { - settings.put(strKey,strDefault); - } - else - { - settings.put(strKey,strValue); - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java deleted file mode 100644 index 88d00c2ea9e..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalSettingsDlg.java +++ /dev/null @@ -1,911 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import java.util.Collections; -import java.util.Enumeration; -import java.util.Vector; - -import javax.comm.CommPortIdentifier; - -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; - - -public class TerminalSettingsDlg extends org.eclipse.jface.dialogs.Dialog - implements TerminalTarget, - TerminalConsts -{ - protected static final String m_strHelpID = "hid_db_terminal"; //$NON-NLS-1$ - - protected Combo m_ctlConnTypeCombo; - protected Combo m_ctlSerialPortCombo; - protected Combo m_ctlBaudRateCombo; - protected Combo m_ctlDataBitsCombo; - protected Combo m_ctlStopBitsCombo; - protected Combo m_ctlParityCombo; - protected Combo m_ctlFlowControlCombo; - protected Text m_ctlHostText; - protected Combo m_ctlNetworkPortCombo; - protected Group m_wndSettingsGroup; - protected Composite m_wndSettingsPanel; - protected TerminalSettings m_TerminalSettings; - protected String m_strConnType; - protected int m_nStatus; - - /** - * - */ - public TerminalSettingsDlg(Shell wndParent) - { - super(wndParent); - - m_nStatus = TERMINAL_ID_CANCEL; - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // TerminalTarget interface - // - - /** - * - */ - public void execute(String strMsg,Object data) - { - if (strMsg.equals(ON_CONNTYPE_SELECTED)) - { - onConnTypeSelected(data); - } - else if (strMsg.equals(ON_OK)) - { - onOk(data); - } - else if (strMsg.equals(ON_CANCEL)) - { - onCancel(data); - } - else if (strMsg.equals(ON_HELP)) - { - onHelp(data); - } - else - { - } - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Message handlers - // - - /** - * - */ - protected void onConnTypeSelected(Object data) - { - String strConnType; - - strConnType = m_ctlConnTypeCombo.getText(); - if (m_strConnType.equals(strConnType)) - return; - - m_strConnType = strConnType; - - if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) - { - setupSerialPanel(); - } - else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) - { - setupNetworkPanel(); - } - else - { - setupConnTypeNotSupportedPanel(); - } - } - - /** - * - */ - protected void onOk(Object data) - { - if (!validateSettings()) - return; - - saveSettings(); - m_nStatus = TERMINAL_ID_CONNECT; - } - - /** - * - */ - protected void onCancel(Object data) - { - m_nStatus = TERMINAL_ID_CANCEL; - } - - /** - * - */ - protected void onHelp(Object data) - { - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Dialog interface - // - - /** - * - */ - protected void okPressed() - { - execute(ON_OK,null); - super.okPressed(); - } - - /** - * - */ - protected void cancelPressed() - { - execute(ON_CANCEL,null); - super.cancelPressed(); - - } - - /** - * - */ - public int open() - { - int nShellStyle; - - nShellStyle = getShellStyle(); - nShellStyle = nShellStyle|SWT.RESIZE; - setShellStyle(nShellStyle); - - return super.open(); - } - - /** - * - */ - protected void configureShell(Shell newShell) - { - super.configureShell(newShell); - - newShell.setText(TERMINAL_TEXT_TERMINALSETTINGS); - } - - /** - * - */ - protected Control createDialogArea(Composite parent) - { - Composite ctlComposite; - - ctlComposite = (Composite)super.createDialogArea(parent); - createDialog(ctlComposite); - - return ctlComposite; - } - - /** - * - */ - protected void initializeBounds() - { - setConnType(TERMINAL_CONNTYPE_SERIAL); - execute(ON_CONNTYPE_SELECTED,null); - super.initializeBounds(); - setConnType(m_TerminalSettings.getConnType()); - execute(ON_CONNTYPE_SELECTED,null); - } - - //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // Operations - // - - /** - * - */ - public void loadSettings(TerminalSettings terminalSettings) - { - m_TerminalSettings = terminalSettings; - } - - /** - * - */ - public void saveSettings() - { - String strConnType; - - strConnType = getConnType(); - - if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) - { - m_TerminalSettings.setConnType(getConnType()); - m_TerminalSettings.setSerialPort(getSerialPort()); - m_TerminalSettings.setBaudRate(getBaudRate()); - m_TerminalSettings.setDataBits(getDataBits()); - m_TerminalSettings.setStopBits(getStopBits()); - m_TerminalSettings.setParity(getParity()); - m_TerminalSettings.setFlowControl(getFlowControl()); - } - else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) - { - m_TerminalSettings.setConnType(getConnType()); - m_TerminalSettings.setHost(getHost()); - m_TerminalSettings.setNetworkPort(getNetworkPort()); - } - } - - /** - * - */ - public int getStatus() - { - return m_nStatus; - } - - /** - * - */ - protected void setConnType(String strConnType) - { - int nIndex; - - nIndex = m_ctlConnTypeCombo.indexOf(strConnType); - if (nIndex == -1) - return; - - m_ctlConnTypeCombo.select(nIndex); - } - - /** - * - */ - protected void setSerialPort(String strSerialPort) - { - int nIndex; - - nIndex = m_ctlSerialPortCombo.indexOf(strSerialPort); - if (nIndex == -1) - return; - - m_ctlSerialPortCombo.select(nIndex); - } - - /** - * - */ - protected void setBaudRate(String strBaudRate) - { - int nIndex; - - nIndex = m_ctlBaudRateCombo.indexOf(strBaudRate); - if (nIndex == -1) - return; - - m_ctlBaudRateCombo.select(nIndex); - } - - /** - * - */ - protected void setDataBits(String strDataBits) - { - int nIndex; - - nIndex = m_ctlDataBitsCombo.indexOf(strDataBits); - if (nIndex == -1) - return; - - m_ctlDataBitsCombo.select(nIndex); - } - - /** - * - */ - protected void setStopBits(String strStopBits) - { - int nIndex; - - nIndex = m_ctlStopBitsCombo.indexOf(strStopBits); - if (nIndex == -1) - return; - - m_ctlStopBitsCombo.select(nIndex); - } - - /** - * - */ - protected void setParity(String strParity) - { - int nIndex; - - nIndex = m_ctlParityCombo.indexOf(strParity); - if (nIndex == -1) - return; - - m_ctlParityCombo.select(nIndex); - } - - /** - * - */ - protected void setFlowIn(String strFlowIn) - { - int nIndex; - - nIndex = m_ctlFlowControlCombo.indexOf(strFlowIn); - if (nIndex == -1) - return; - - m_ctlFlowControlCombo.select(nIndex); - } - - /** - * - */ - protected void setHost(String strHost) - { - m_ctlHostText.setText(strHost); - } - - /** - * - */ - protected void setNetworkPort(String strNetworkPort) - { - TerminalPlugin plugin; - TerminalProperties properties; - TerminalNetworkPortMap networkPortMap; - String strPortName; - int nIndex; - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - networkPortMap = properties.getNetworkPortMap(); - strPortName = networkPortMap.findPortName(strNetworkPort); - nIndex = m_ctlNetworkPortCombo.indexOf(strPortName); - - if (nIndex == -1) - { - m_ctlNetworkPortCombo.setText(strNetworkPort); - } - else - { - m_ctlNetworkPortCombo.select(nIndex); - } - } - - /** - * - */ - protected String getConnType() - { - int nIndex; - - nIndex = m_ctlConnTypeCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlConnTypeCombo.getItem(nIndex); - } - - /** - * - */ - protected String getSerialPort() - { - int nIndex; - - nIndex = m_ctlSerialPortCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlSerialPortCombo.getItem(nIndex); - } - - /** - * - */ - protected String getBaudRate() - { - int nIndex; - - nIndex = m_ctlBaudRateCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlBaudRateCombo.getItem(nIndex); - } - - /** - * - */ - protected String getDataBits() - { - int nIndex; - - nIndex = m_ctlDataBitsCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlDataBitsCombo.getItem(nIndex); - } - - /** - * - */ - protected String getStopBits() - { - int nIndex; - - nIndex = m_ctlStopBitsCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlStopBitsCombo.getItem(nIndex); - } - - /** - * - */ - protected String getParity() - { - int nIndex; - - nIndex = m_ctlParityCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlParityCombo.getItem(nIndex); - } - - /** - * - */ - protected String getFlowControl() - { - int nIndex; - - nIndex = m_ctlFlowControlCombo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ - - return m_ctlFlowControlCombo.getItem(nIndex); - } - - /** - * - */ - protected String getHost() - { - return m_ctlHostText.getText(); - } - - /** - * - */ - protected String getNetworkPort() - { - TerminalPlugin plugin; - TerminalProperties properties; - TerminalNetworkPortMap networkPortMap; - String strPortName; - String strPort; - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - networkPortMap = properties.getNetworkPortMap(); - strPortName = m_ctlNetworkPortCombo.getText(); - strPort = networkPortMap.findPort(strPortName); - - return strPort; - } - - /** - * - */ - protected boolean validateSettings() - { - return true; - } - - /** - * - */ - protected void createDialog(Composite ctlComposite) - { - setupData(); - setupPanel(ctlComposite); - setupListeners(); - } - - /** - * - */ - protected void setupData() - { - m_strConnType = ""; //$NON-NLS-1$ - } - - /** - * - */ - protected void setupPanel(Composite wndParent) - { - setupConnTypePanel(wndParent); - setupSettingsGroup(wndParent); - } - - /** - * - */ - protected void setupConnTypePanel(Composite wndParent) - { - Group wndGroup; - GridLayout gridLayout; - GridData gridData; - - wndGroup = new Group(wndParent,SWT.NONE); - gridLayout = new GridLayout(1,true); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(gridData); - wndGroup.setText(TERMINAL_TEXT_CONNECTIONTYPE + ":"); //$NON-NLS-1$ - - m_ctlConnTypeCombo = new Combo(wndGroup,SWT.DROP_DOWN|SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.widthHint = 200; - m_ctlConnTypeCombo.setLayoutData(gridData); - - // Load controls - m_ctlConnTypeCombo.add(TERMINAL_CONNTYPE_SERIAL); - m_ctlConnTypeCombo.add(TERMINAL_CONNTYPE_NETWORK); - } - - /** - * - */ - protected void setupSettingsGroup(Composite parent) - { - m_wndSettingsGroup = new Group(parent,SWT.NONE); - GridLayout gridLayout = new GridLayout(); - GridData gridData = new GridData(GridData.FILL_BOTH); - - m_wndSettingsGroup.setText(TERMINAL_TEXT_SETTINGS + ":"); //$NON-NLS-1$ - m_wndSettingsGroup.setLayout(gridLayout); - m_wndSettingsGroup.setLayoutData(gridData); - } - - /** - * - */ - protected void setupSerialPanel() - { - TerminalPlugin plugin; - TerminalProperties properties; - Label ctlLabel; - GridLayout gridLayout; - GridData gridData; - Vector table; - - if (m_wndSettingsPanel != null) - { - m_wndSettingsPanel.setVisible(false); - m_wndSettingsPanel.dispose(); - } - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); - gridLayout = new GridLayout(2,false); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - m_wndSettingsPanel.setLayout(gridLayout); - m_wndSettingsPanel.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_PORT + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlSerialPortCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlSerialPortCombo.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_BAUDRATE + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlBaudRateCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlBaudRateCombo.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_DATABITS + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlDataBitsCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlDataBitsCombo.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_STOPBITS + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlStopBitsCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlStopBitsCombo.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_PARITY + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlParityCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlParityCombo.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_FLOWCONTROL + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlFlowControlCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN|SWT.READ_ONLY); - m_ctlFlowControlCombo.setLayoutData(gridData); - - // Load controls - table = properties.getSerialPortTable(); - loadCombo(m_ctlSerialPortCombo,table); - - table = properties.getBaudRateTable(); - loadCombo(m_ctlBaudRateCombo,table); - - table = properties.getDataBitsTable(); - loadCombo(m_ctlDataBitsCombo,table); - - table = properties.getStopBitsTable(); - loadCombo(m_ctlStopBitsCombo,table); - - table = properties.getParityTable(); - loadCombo(m_ctlParityCombo,table); - - table = properties.getFlowControlTable(); - loadCombo(m_ctlFlowControlCombo,table); - - setSerialPort(m_TerminalSettings.getSerialPort()); - setBaudRate(m_TerminalSettings.getBaudRate()); - setDataBits(m_TerminalSettings.getDataBits()); - setStopBits(m_TerminalSettings.getStopBits()); - setParity(m_TerminalSettings.getParity()); - setFlowIn(m_TerminalSettings.getFlowControl()); - - m_wndSettingsGroup.layout(true); - } - - /** - * - */ - protected void setupNetworkPanel() - { - TerminalPlugin plugin; - TerminalProperties properties; - TerminalNetworkPortMap networkPortMap; - Label ctlLabel; - GridLayout gridLayout; - GridData gridData; - Vector table; - - if (m_wndSettingsPanel != null) - { - m_wndSettingsPanel.setVisible(false); - m_wndSettingsPanel.dispose(); - } - - plugin = TerminalPlugin.getDefault(); - properties = plugin.getTerminalProperties(); - m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); - gridLayout = new GridLayout(2,false); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - m_wndSettingsPanel.setLayout(gridLayout); - m_wndSettingsPanel.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_HOST + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlHostText = new Text(m_wndSettingsPanel,SWT.BORDER); - m_ctlHostText.setLayoutData(gridData); - - // Add label - ctlLabel = new Label(m_wndSettingsPanel,SWT.RIGHT); - ctlLabel.setText(TERMINAL_TEXT_PORT + ":"); //$NON-NLS-1$ - - // Add control - gridData = new GridData(GridData.FILL_HORIZONTAL); - m_ctlNetworkPortCombo = new Combo(m_wndSettingsPanel,SWT.DROP_DOWN); - - m_ctlNetworkPortCombo.setLayoutData(gridData); - - networkPortMap = properties.getNetworkPortMap(); - table = networkPortMap.getNameTable(); - Collections.sort(table); - loadCombo(m_ctlNetworkPortCombo,table); - - setHost(m_TerminalSettings.getHost()); - setNetworkPort(m_TerminalSettings.getNetworkPort()); - - m_wndSettingsGroup.layout(true); - } - - /** - * - */ - protected void setupConnTypeNotSupportedPanel() - { - MessageDialog dlgError; - Shell parentShell; - Image imgTitle; - String labels[]; - String strTitle; - String strMessage; - int nImage; - int nIndex; - - if (m_wndSettingsPanel != null) - { - m_wndSettingsPanel.setVisible(false); - m_wndSettingsPanel.dispose(); - } - - m_wndSettingsPanel = new Composite(m_wndSettingsGroup,SWT.NONE); - parentShell = getShell(); - strTitle = TERMINAL_MSG_ERROR_5; - imgTitle = null; - strMessage = TERMINAL_MSG_ERROR_6; - nImage = SWT.ICON_ERROR; - labels = new String[]{"OK"}; //$NON-NLS-1$ - nIndex = 0; - dlgError = new MessageDialog(parentShell, - strTitle, - imgTitle, - strMessage, - nImage, - labels, - nIndex); - - m_wndSettingsGroup.layout(true); - dlgError.open(); - } - - /** - * - */ - protected void setupListeners() - { - TerminalSettingsSelectionHandler selectionHandler; - - selectionHandler = new TerminalSettingsSelectionHandler(); - m_ctlConnTypeCombo.addSelectionListener(selectionHandler); - } - - /** - * - */ - protected void loadCombo(Combo ctlCombo,Vector table) - { - String strData; - - for(int i=0;i - * - * @author Fran Litterio - * @author Chris Thew - */ -class TerminalText extends Thread implements ControlListener -{ - /** This is a character processing state: Initial state. */ - protected static final int ANSISTATE_INITIAL = 0; - - /** This is a character processing state: We've seen an escape character. */ - protected static final int ANSISTATE_ESCAPE = 1; - - /** - * This is a character processing state: We've seen a '[' after an escape - * character. Expecting a parameter character or a command character next. - */ - protected static final int ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND = 2; - - /** - * This is a character processing state: We've seen a ']' after an escape - * character. We are now expecting an operating system command that reprograms an - * intelligent terminal. - */ - protected static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; - - /** - * This field holds the current state of the Finite State Automaton (FSA) that - * recognizes ANSI escape sequences. - * - * @see #processNewText() - */ - protected int ansiState = ANSISTATE_INITIAL; - - /** - * This field holds a reference to the {@link TerminalCtrl} object that - * instantiates this class. - */ - protected TerminalCtrl terminal; - - /** - * This field holds a reference to the StyledText widget that is used to display - * text to the user. - */ - protected StyledText text; - - /** - * This field holds the characters received from the remote host before they are - * displayed to the user. Method {@link #processNewText()} scans this text - * looking for ANSI control characters and escape sequences. - */ - protected StringBuffer newText; - - /** - * This field holds the index of the current character while the text stored in - * field {@link #newText} is being processed. - */ - protected int characterIndex = 0; - - /** - * This field holds the width of a character (in pixels) for the font used to - * display text. - */ - protected int characterPixelWidth = 0; - - /** - * This field holds the width of the terminal screen in columns. - */ - protected int widthInColumns = 0; - - /** - * This field holds the height of the terminal screen in visible lines. The - * StyledText widget can contain more lines than are visible. - */ - protected int heightInLines = 0; - - /** - * This field holds the number of the column in which the cursor is logically - * positioned. The leftmost column on the screen is column 0, and column numbers - * increase to the right. The maximum value of this field is {@link - * #widthInColumns} - 1. We track the cursor column using this field to avoid - * having to recompute it repeatly using StyledText method calls.

- * - * The StyledText widget that displays text has a vertical bar (called the "caret") - * that appears _between_ character cells, but ANSI terminals have the concept of a - * cursor that appears _in_ a character cell, so we need a convention for which - * character cell the cursor logically occupies when the caret is physically - * between two cells. The convention used in this class is that the cursor is - * logically in column N when the caret is physically positioned immediately to the - * _left_ of column N.

- * - * When cursorColumn is N, the next character output to the terminal appears in - * column N. When a character is output to the rightmost column on a given line - * (column widthInColumns - 1), the cursor moves to column 0 on the next line after - * the character is drawn (this is how line wrapping is implemented). If the - * cursor is in the bottommost line when line wrapping occurs, the topmost visible - * line is scrolled off the top edge of the screen.

- */ - protected int cursorColumn = 0; - - /** - * This field holds the caret offset when we last moved it or wrote text to the - * terminal. The reason we need to remember this value is because, unlike with a - * normal terminal emulator, the user can move the caret by clicking anywhere in - * the terminal view. In a normal terminal emulator, the cursor only moves as the - * result of character output (i.e., escape sequences or normal characters). We - * use the value stored in this field to restore the position of the caret - * immediately before processing each chunk of output from the remote endpoint. - */ - protected int caretOffset = 0; - - /** - * This field hold the saved absolute line number of the cursor when processing the - * "ESC 7" and "ESC 8" command sequences. - */ - protected int savedCursorLine = 0; - - /** - * This field hold the saved column number of the cursor when processing the "ESC - * 7" and "ESC 8" command sequences. - */ - protected int savedCursorColumn = 0; - - /** - * This field holds an array of StringBuffer objects, each of which is one - * parameter from the current ANSI escape sequence. For example, when parsing the - * escape sequence "\e[20;10H", this array holds the strings "20" and "10". - */ - protected StringBuffer[] ansiParameters = new StringBuffer[16]; - - /** - * This field holds the OS-specific command found in an escape sequence of the form - * "\e]...\u0007". - */ - protected StringBuffer ansiOsCommand = new StringBuffer(128); - - /** - * This field holds the index of the next unused element of the array stored in - * field {@link #ansiParameters}. - */ - protected int nextAnsiParameter = 0; - - /** - * This field holds the Color object representing the current foreground color as - * set by the ANSI escape sequence "\e[m". - */ - protected Color currentForegroundColor; - - /** - * This field holds the Color object representing the current background color as - * set by the ANSI escape sequence "\e[m". - */ - protected Color currentBackgroundColor; - - /** - * This field holds an integer representing the current font style as set by the - * ANSI escape sequence "\e[m". - */ - protected int currentFontStyle = SWT.NORMAL; - - /** - * This field is true if we are currently outputing text in reverse video mode, - * false otherwise. - */ - protected boolean reverseVideo = false; - - /** - * This field holds the time (in milliseconds) of the previous call to method - * {@link #SetNewText()}. - */ - static long LastNewOutputTime = 0; - - /** - * Color object representing the color black. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color BLACK = new Color(Display.getCurrent(), 0, 0, 0); - - /** - * Color object representing the color red. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color RED = new Color(Display.getCurrent(), 255, 0, 0); - - /** - * Color object representing the color green. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color GREEN = new Color(Display.getCurrent(), 0, 255, 0); - - /** - * Color object representing the color yellow. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color YELLOW = new Color(Display.getCurrent(), 255, 255, 0); - - /** - * Color object representing the color blue. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color BLUE = new Color(Display.getCurrent(), 0, 0, 255); - - /** - * Color object representing the color magenta. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in method - * {@link #dispose()}. - */ - protected final Color MAGENTA = new Color(Display.getCurrent(), 255, 0, 255); - - /** - * Color object representing the color cyan. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color CYAN = new Color(Display.getCurrent(), 0, 255, 255); - - /** - * Color object representing the color white. The Color class requires us to call - * dispose() on this object when we no longer need it. We do that in method {@link - * #dispose()}. - */ - protected final Color WHITE = new Color(Display.getCurrent(), 255, 255, 255); - - /** - * The constructor. - */ - public TerminalText(TerminalCtrl terminal) - { - super(); - - Logger.log("entered"); //$NON-NLS-1$ - - this.terminal = terminal; - - for (int i = 0; i < ansiParameters.length; ++i) - { - ansiParameters[i] = new StringBuffer(); - } - } - - /** - * This method performs clean up when this TerminalText object is no longer - * needed. After calling this method, no other method on this object should be - * called. - */ - public void dispose() - { - Logger.log("entered"); //$NON-NLS-1$ - - // Call dispose() on the Color objects we created. - - BLACK.dispose(); - RED.dispose(); - GREEN.dispose(); - YELLOW.dispose(); - BLUE.dispose(); - MAGENTA.dispose(); - CYAN.dispose(); - WHITE.dispose(); - } - - /** - * This method is required by interface ControlListener. It allows us to know when - * the StyledText widget is moved. - */ - public void controlMoved(ControlEvent event) - { - Logger.log("entered"); //$NON-NLS-1$ - // Empty. - } - - /** - * This method is required by interface ControlListener. It allows us to know when - * the StyledText widget is resized. This method must be synchronized to prevent - * it from executing at the same time as run(), which displays new text. We can't - * have the fields that represent the dimensions of the terminal changing while we - * are rendering text. - */ - public synchronized void controlResized(ControlEvent event) - { - Logger.log("entered"); //$NON-NLS-1$ - adjustTerminalDimensions(); - } - - /** - * This method sets field {@link #newText} to a new value. This method must - * not execute at the same time as methods {@link #run()} and {@link - * #clearTerminal()}.

- * - * IMPORTANT: This method must be called in strict alternation with method - * {@link #run()}.

- * - * @param newBuffer The new buffer containing characters received from the - * remote host. - */ - public synchronized void setNewText(StringBuffer newBuffer) - { - Logger.log("new text: '" + newBuffer + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - newText = newBuffer; - - // When continuous output is being processed by the Terminal view code, it - // consumes nearly 100% of the CPU. This fixes that. If this method is called - // too frequently, we explicitly sleep for a short time so that the thread - // executing this function (which is the thread reading from the socket or - // serial port) doesn't consume 100% of the CPU. Without this code, the - // Workbench GUI is practically hung when there is continuous output in the - // Terminal view. - - long CurrentTime = System.currentTimeMillis(); - - if (CurrentTime - LastNewOutputTime < 250 && newBuffer.length() > 10) - { - try - { - Thread.sleep(50); - } - catch (InterruptedException ex) - { - // Ignore. - } - } - - LastNewOutputTime = CurrentTime; - } - - /** - * This method erases all text from the Terminal view. This method is called when - * the user chooses "Clear all" from the Terminal view context menu, so we need to - * serialize this method with methods {@link #run()} and {@link - * #setNewText(StringBuffer)}. - */ - public synchronized void clearTerminal() - { - Logger.log("entered"); //$NON-NLS-1$ - text.setText(""); //$NON-NLS-1$ - cursorColumn = 0; - } - - /** - * This method is called when the user changes the Terminal view's font. We - * attempt to recompute the pixel width of the new font's characters and fix the - * terminal's dimensions. This method must be synchronized to prevent it from - * executing at the same time as run(), which displays new text. We can't have the - * fields that represent the dimensions of the terminal changing while we are - * rendering text. - */ - public synchronized void fontChanged() - { - Logger.log("entered"); //$NON-NLS-1$ - - characterPixelWidth = 0; - - if (text != null) - adjustTerminalDimensions(); - } - - /** - * This method executes in the Display thread to process data received from the - * remote host by classes {@link TelnetConnection} and {@link - * TerminalSerialPortHandler}. This method must not execute at the same time as - * methods {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}.

- * - * IMPORTANT: This method must be called in strict alternation with method - * {@link #setNewText(StringBuffer)}.

- */ - public synchronized void run() - { - Logger.log("entered"); //$NON-NLS-1$ - - try - { - if (text == null) - { - // We defer initialization of these fields until execution reaches - // here, because the StyledText widget doesn't exist when this class is - // first instantiated. - - text = terminal.getTextWidget(); - - // Register this class instance as a ControlListener so we can learn - // when the StyledText widget is resized. - - text.addControlListener(this); - - currentForegroundColor = text.getForeground(); - currentBackgroundColor = text.getBackground(); - currentFontStyle = SWT.NORMAL; - reverseVideo = false; - } - - // This method can be called just after the user closes the view, so we - // make sure not to cause a widget-disposed exception. - - if (text != null && text.isDisposed()) - return; - - // If the status bar is showing "OPENED", change it to "CONNECTED". - - if (terminal.isOpened()) - { - terminal.setOpened(false); - terminal.execute(TerminalMsg.ON_TERMINAL_STATUS, null); - } - - // Find the width and height of the terminal, and resize it to display an - // integral number of lines and columns. - - adjustTerminalDimensions(); - - // Restore the caret offset, process and display the new text, then save - // the caret offset. See the documentation for field caretOffset for - // details. - - // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? - - text.setCaretOffset(caretOffset); - - processNewText(); - - caretOffset = text.getCaretOffset(); - } - catch (Exception ex) - { - Logger.logException(ex); - } - } - - /** - * This method scans the newly received text, processing ANSI control characters - * and escape sequences and displaying normal text. - */ - protected void processNewText() - { - Logger.log("entered"); //$NON-NLS-1$ - - // Stop the StyledText widget from redrawing while we manipulate its contents. - // This helps display performance. - - text.setRedraw(false); - - // Scan the newly received text. - - characterIndex = 0; - - while (characterIndex < newText.length()) - { - char character = newText.charAt(characterIndex); - - switch (ansiState) - { - case ANSISTATE_INITIAL: - switch (character) - { - case '\u0000': - break; // NUL character. Ignore it. - - case '\u0007': - processBEL(); // BEL (Ctrl-G) - break; - - case '\b': - processBackspace(); // Backspace - break; - - case '\t': - processTab(); // Tab. - break; - - case '\n': - processNewline(); // Newline (Ctrl-J) - break; - - case '\r': - processCarriageReturn(); // Carriage Return (Ctrl-M) - break; - - case '\u001b': - ansiState = ANSISTATE_ESCAPE; // Escape. - break; - - default: - processNonControlCharacters(); - break; - } - break; - - case ANSISTATE_ESCAPE: - // We've seen an escape character. Here, we process the character - // immediately following the escape. - - switch (character) - { - case '[': - ansiState = ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND; - nextAnsiParameter = 0; - - // Erase the parameter strings in preparation for optional - // parameter characters. - - for (int i = 0; i < ansiParameters.length; ++i) - { - ansiParameters[i].delete(0, ansiParameters[i].length()); - } - break; - - case ']': - ansiState = ANSISTATE_EXPECTING_OS_COMMAND; - ansiOsCommand.delete(0, ansiOsCommand.length()); - break; - - case '7': - // Save cursor position and character attributes - - ansiState = ANSISTATE_INITIAL; - savedCursorLine = absoluteCursorLine(); - savedCursorColumn = cursorColumn; - break; - - case '8': - // Restore cursor and attributes to previously saved position - - ansiState = ANSISTATE_INITIAL; - moveCursor(savedCursorLine, savedCursorColumn); - break; - - default: - Logger.log("Unsupported escape sequence: escape '" + character + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - ansiState = ANSISTATE_INITIAL; - break; - } - break; - - case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: - // Parameters can appear after the '[' in an escape sequence, but they - // are optional. - - if (character == '@' || - (character >= 'A' && character <= 'Z') || - (character >= 'a' && character <= 'z')) - { - ansiState = ANSISTATE_INITIAL; - processAnsiCommandCharacter(character); - } - else - { - processAnsiParameterCharacter(character); - } - break; - - case ANSISTATE_EXPECTING_OS_COMMAND: - // A BEL (\u0007) character marks the end of the OSC sequence. - - if (character == '\u0007') - { - ansiState = ANSISTATE_INITIAL; - processAnsiOsCommand(); - } - else - { - ansiOsCommand.append(character); - } - break; - - default: - // This should never happen! If it does happen, it means there is a - // bug in the FSA. For robustness, we return to the initial state. - - Logger.log("INVALID ANSI FSA STATE: " + ansiState); //$NON-NLS-1$ - ansiState = ANSISTATE_INITIAL; - assert false; - break; - } - - ++characterIndex; - } - - // Allow the StyledText widget to redraw itself. - - text.setRedraw(true); - } - - /** - * This method is called when we have parsed an OS Command escape sequence. The - * only one we support is "\e]0;...\u0007", which sets the terminal title. - */ - protected void processAnsiOsCommand() - { - if (ansiOsCommand.charAt(0) != '0' || ansiOsCommand.charAt(1) != ';') - { - Logger.log("Ignoring unsupported ANSI OSC sequence: '" + ansiOsCommand + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - return; - } - - terminal.execute(TerminalMsg.ON_TERMINAL_STATUS, ansiOsCommand.substring(2)); - } - - /** - * This method dispatches control to various processing methods based on the - * command character found in the most recently received ANSI escape sequence. - * This method only handles command characters that follow the ANSI standard - * Control Sequence Introducer (CSI), which is "\e[...", where "..." is an optional - * ';'-separated sequence of numeric parameters.

- */ - protected void processAnsiCommandCharacter(char ansiCommandCharacter) - { - // If the width or height of the terminal is ridiculously small (one line or - // column or less), don't even try to process the escape sequence. This avoids - // throwing an exception (SPR 107450). The display will be messed up, but what - // did you user expect by making the terminal so small? - - if (heightInLines <= 1 || widthInColumns <= 1) - return; - - switch (ansiCommandCharacter) - { - case '@': - // Insert character(s). - processAnsiCommand_atsign(); - break; - - case 'A': - // Move cursor up N lines (default 1). - processAnsiCommand_A(); - break; - - case 'B': - // Move cursor down N lines (default 1). - processAnsiCommand_B(); - break; - - case 'C': - // Move cursor forward N columns (default 1). - processAnsiCommand_C(); - break; - - case 'D': - // Move cursor backward N columns (default 1). - processAnsiCommand_D(); - break; - - case 'E': - // Move cursor to first column of Nth next line (default 1). - processAnsiCommand_E(); - break; - - case 'F': - // Move cursor to first column of Nth previous line (default 1). - processAnsiCommand_F(); - break; - - case 'G': - // Move to column N of current line (default 1). - processAnsiCommand_G(); - break; - - case 'H': - // Set cursor Position. - processAnsiCommand_H(); - break; - - case 'J': - // Erase part or all of display. Cursor does not move. - processAnsiCommand_J(); - break; - - case 'K': - // Erase in line (cursor does not move). - processAnsiCommand_K(); - break; - - case 'L': - // Insert line(s) (current line moves down). - processAnsiCommand_L(); - break; - - case 'M': - // Delete line(s). - processAnsiCommand_M(); - break; - - case 'm': - // Set Graphics Rendition (SGR). - processAnsiCommand_m(); - break; - - case 'n': - // Device Status Report (DSR). - processAnsiCommand_n(); - break; - - case 'P': - // Delete character(s). - processAnsiCommand_P(); - break; - - case 'S': - // Scroll up. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'T': - // Scroll down. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'X': - // Erase character. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'Z': - // Cursor back tab. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - default: - Logger.log("Ignoring unsupported ANSI command character: '" + //$NON-NLS-1$ - ansiCommandCharacter + "'"); //$NON-NLS-1$ - break; - } - } - - /** - * This method makes room for N characters on the current line at the cursor - * position. Text under the cursor moves right without wrapping at the end of hte - * line. - */ - protected void processAnsiCommand_atsign() - { - int charactersToInsert = getAnsiParameter(0); - int caretOffset = text.getCaretOffset(); - - text.replaceTextRange(caretOffset, 0, generateString(' ', charactersToInsert)); - - // If the current line extends past the right edge of the screen, delete the - // characters beyond the rightmost visible column. - - int currentLineAbsolute = absoluteCursorLine(); - int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); - int currentLineEndOffset; - - if (currentLineAbsolute == text.getLineCount() - 1) - { - // The cursor is on the bottommost line of text. - - currentLineEndOffset = text.getCharCount(); - } - else - { - // The cursor is not on the bottommost line of text. - - currentLineEndOffset = text.getOffsetAtLine(currentLineAbsolute + 1) - 1; - } - - if (currentLineEndOffset - currentLineStartOffset > widthInColumns) - { - int charactersToDelete = - currentLineEndOffset - currentLineStartOffset - widthInColumns; - - text.replaceTextRange(currentLineStartOffset + widthInColumns, - charactersToDelete, ""); //$NON-NLS-1$ - } - - // Is this necessary? - - text.setCaretOffset(caretOffset); - } - - /** - * This method moves the cursor up by the number of lines specified by the escape - * sequence parameter (default 1). - */ - protected void processAnsiCommand_A() - { - moveCursorUp(getAnsiParameter(0)); - } - - /** - * This method moves the cursor down by the number of lines specified by the escape - * sequence parameter (default 1). - */ - protected void processAnsiCommand_B() - { - moveCursorDown(getAnsiParameter(0)); - } - - /** - * This method moves the cursor forward by the number of columns specified by the - * escape sequence parameter (default 1). - */ - protected void processAnsiCommand_C() - { - moveCursorForward(getAnsiParameter(0)); - } - - /** - * This method moves the cursor backward by the number of columns specified by the - * escape sequence parameter (default 1). - */ - protected void processAnsiCommand_D() - { - moveCursorBackward(getAnsiParameter(0)); - } - - /** - * This method moves the cursor to the first column of the Nth next line, where N - * is specified by the ANSI parameter (default 1). - */ - protected void processAnsiCommand_E() - { - int linesToMove = getAnsiParameter(0); - - moveCursor(relativeCursorLine() + linesToMove, 0); - } - - /** - * This method moves the cursor to the first column of the Nth previous line, where - * N is specified by the ANSI parameter (default 1). - */ - protected void processAnsiCommand_F() - { - int linesToMove = getAnsiParameter(0); - - moveCursor(relativeCursorLine() - linesToMove, 0); - } - - /** - * This method moves the cursor within the current line to the column specified by - * the ANSI parameter (default is column 1). - */ - protected void processAnsiCommand_G() - { - int targetColumn = 1; - - if (ansiParameters[0].length() > 0) - targetColumn = getAnsiParameter(0) - 1; - - moveCursor(relativeCursorLine(), targetColumn); - } - - /** - * This method sets the cursor to a position specified by the escape sequence - * parameters (default is the upper left corner of the screen). - */ - protected void processAnsiCommand_H() - { - moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); - } - - /** - * This method deletes some (or all) of the text on the screen without moving the - * cursor. - */ - protected void processAnsiCommand_J() - { - int ansiParameter; - - if (ansiParameters[0].length() == 0) - ansiParameter = 0; - else - ansiParameter = getAnsiParameter(0); - - switch (ansiParameter) - { - case 0: - // Erase from current position to end of screen (inclusive). - - int caretOffset = text.getCaretOffset(); - - text.replaceTextRange(caretOffset, - text.getCharCount() - caretOffset, - generateString('\n', heightInLines - relativeCursorLine() - 1)); - - // The above call moves the caret to the end of the text, so restore its - // position. - - text.setCaretOffset(caretOffset); - break; - - case 1: - // Erase from beginning to current position (inclusive). - - int currentRelativeLineNumber = relativeCursorLine(); - int topmostScreenLineStartOffset = text.getOffsetAtLine(absoluteLine(0)); - - text.replaceTextRange(topmostScreenLineStartOffset, - text.getCaretOffset() - topmostScreenLineStartOffset, - generateString('\n', currentRelativeLineNumber) + - generateString(' ', cursorColumn)); - - text.setCaretOffset(topmostScreenLineStartOffset + currentRelativeLineNumber + - cursorColumn); - break; - - case 2: - // Erase entire display. - - int currentLineNumber = relativeCursorLine(); - topmostScreenLineStartOffset = text.getOffsetAtLine(absoluteLine(0)); - - text.replaceTextRange(topmostScreenLineStartOffset, - text.getCharCount() - topmostScreenLineStartOffset, - generateString('\n', heightInLines - 1)); - - moveCursor(currentLineNumber, cursorColumn); - break; - - default: - Logger.log("Unexpected J-command parameter: " + ansiParameter); //$NON-NLS-1$ - assert false; - break; - } - } - - /** - * This method deletes some (or all) of the text in the current line without moving - * the cursor. - */ - protected void processAnsiCommand_K() - { - int ansiParameter = getAnsiParameter(0); - int originalCaretOffset = text.getCaretOffset(); - - switch (ansiParameter) - { - case 0: - // Erase from beginning to current position (inclusive). - - int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); - - text.replaceTextRange(currentLineStartOffset, - cursorColumn, - generateString(' ', cursorColumn)); - break; - - case 1: - // Erase from current position to end (inclusive). - - int caretOffset = text.getCaretOffset(); - - if (absoluteCursorLine() == text.getLineCount() - 1) - { - text.replaceTextRange(caretOffset, text.getCharCount() - caretOffset, ""); //$NON-NLS-1$ - } - else - { - int nextLineStartOffset = text.getOffsetAtLine(absoluteCursorLine() + 1); - - text.replaceTextRange(caretOffset, nextLineStartOffset - caretOffset - 1, ""); //$NON-NLS-1$ - } - break; - - case 2: - // Erase entire line. - - currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); - - if (absoluteCursorLine() == text.getLineCount() - 1) - { - // The cursor is on the bottommost line of text. Replace its contents - // with enough spaces to leave the cursor in the current column. - - text.replaceTextRange(currentLineStartOffset, - text.getCharCount() - currentLineStartOffset, - generateString(' ', cursorColumn)); - } - else - { - // The cursor is not on the bottommost line of text. Replace the - // current line's contents with enough spaces to leave the cursor in - // the current column. - - int nextLineStartOffset = text.getOffsetAtLine(absoluteCursorLine() + 1); - - text.replaceTextRange(currentLineStartOffset, - nextLineStartOffset - currentLineStartOffset - 1, - generateString(' ', cursorColumn)); - } - break; - - default: - Logger.log("Unexpected K-command parameter: " + ansiParameter); //$NON-NLS-1$ - assert false; - break; - } - - // There is some undocumented strangeness with method - // StyledText.replaceTextRange() that requires us to manually reposition the - // caret after calling that method. If we don't do this, the caret sometimes - // moves to the very end of the text when deleting text within a line. - - text.setCaretOffset(originalCaretOffset); - } - - /** - * Insert one or more blank lines. The current line of text moves down. Text that - * falls off the bottom of the screen is deleted. - */ - protected void processAnsiCommand_L() - { - int linesToInsert = getAnsiParameter(0); - - int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); - - // Compute how many of the bottommost lines of text to delete. This is - // necessary if those lines are being pushed off the bottom of the screen by - // the insertion of the blank lines. - - int totalLines = text.getLineCount(); - int linesToDelete = -1; - - if (heightInLines <= totalLines) - { - // There are more lines of text than are displayed, so delete as many lines - // at the end as we insert in the middle. - - linesToDelete = linesToInsert; - } - else - { - // There are fewer lines of text than the size of the terminal window, so - // compute how many lines will be pushed off the end of the screen by the - // insertion. NOTE: It is possible that we may not have to delete any - // lines at all, which will leave linesToDelete set to -1. - - if (totalLines + linesToInsert > heightInLines) - { - linesToDelete = (totalLines + linesToInsert) - heightInLines; - } - } - - if (linesToDelete != -1) - { - // Delete the bottomost linesToInsert lines plus the newline on the line - // immediately above the first line to be deleted. - - int firstLineToDeleteStartOffset = text.getOffsetAtLine(totalLines - linesToDelete); - - text.replaceTextRange(firstLineToDeleteStartOffset - 1, - text.getCharCount() - firstLineToDeleteStartOffset + 1, - ""); //$NON-NLS-1$ - } - - // Insert the new blank lines, leaving the cursor on the topmost of the new - // blank lines. - - int totalCharacters = text.getCharCount(); - - if (currentLineStartOffset > totalCharacters) - { - // We are inserting the blank lines at the very end of the text, so - // currentLineStartOffset is now out of range. It will be be in range - // again after these newlines are appended. - - text.replaceTextRange(totalCharacters, 0, generateString('\n', linesToInsert)); - } - else - { - // We are inserting the blank lines in the middle of the text, so - // currentLineStartOffset is not out of range. - - text.replaceTextRange(currentLineStartOffset, 0, generateString('\n', linesToInsert)); - } - - text.setCaretOffset(currentLineStartOffset); - } - - /** - * Delete one or more lines of text. Any lines below the deleted lines move up, - * which we implmement by appending newlines to the end of the text. - */ - protected void processAnsiCommand_M() - { - int totalLines = text.getLineCount(); - int linesToDelete = getAnsiParameter(0); - int currentLineAbsolute = absoluteCursorLine(); - int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); - - // Compute the offset of the character after the lines to be deleted. This - // might be the end of the text. - - if (linesToDelete >= totalLines - currentLineAbsolute) - { - // We are deleting all the lines to the bottom of the text. Replace them - // with blank lines. - - text.replaceTextRange(currentLineStartOffset, - text.getCharCount() - currentLineStartOffset, - generateString('\n', totalLines - currentLineAbsolute - 1)); - } - else - { - // Delete the next linesToDelete lines. - - int firstUndeletedLineStartOffset = - text.getOffsetAtLine(currentLineAbsolute + linesToDelete); - - text.replaceTextRange(currentLineStartOffset, - firstUndeletedLineStartOffset - currentLineStartOffset, - ""); //$NON-NLS-1$ - - // Add an equal number of blank lines to the end of the text. - - text.replaceTextRange(text.getCharCount(), 0, generateString('\n', linesToDelete)); - } - - text.setCaretOffset(currentLineStartOffset); - } - - /** - * This method sets a new graphics rendition mode, such as foreground/background - * color, bold/normal text, and reverse video. - */ - protected void processAnsiCommand_m() - { - if (ansiParameters[0].length() == 0) - { - // This a special case: when no ANSI parameter is specified, act like a - // single parameter equal to 0 was specified. - - ansiParameters[0].append('0'); - } - - // There are a non-zero number of ANSI parameters. Process each one in order. - - int totalParameters = ansiParameters.length; - int parameterIndex = 0; - - while (parameterIndex < totalParameters && ansiParameters[parameterIndex].length() > 0) - { - int ansiParameter = getAnsiParameter(parameterIndex); - - switch (ansiParameter) - { - case 0: - // Reset all graphics modes. - currentForegroundColor = text.getForeground(); - currentBackgroundColor = text.getBackground(); - currentFontStyle = SWT.NORMAL; - reverseVideo = false; - break; - - case 1: - currentFontStyle = SWT.BOLD; // Turn on bold. - break; - - case 7: - reverseVideo = true; // Reverse video. - break; - - case 10: // Set primary font. Ignored. - break; - - case 22: - currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes only. - break; - - case 27: - reverseVideo = false; // Cancel reverse video attribute only. - break; - - case 30: - currentForegroundColor = BLACK; // Foreground is black. - break; - - case 31: - currentForegroundColor = RED; // Foreground is red. - break; - - case 32: - currentForegroundColor = GREEN; // Foreground is green. - break; - - case 33: - currentForegroundColor = YELLOW; // Foreground is yellow. - break; - - case 34: - currentForegroundColor = BLUE; // Foreground is blue. - break; - - case 35: - currentForegroundColor = MAGENTA; // Foreground is magenta. - break; - - case 36: - currentForegroundColor = CYAN; // Foreground is cyan. - break; - - case 37: - currentForegroundColor = text.getForeground(); // Foreground is white. - break; - - case 40: - currentBackgroundColor = text.getBackground(); // Background is black. - break; - - case 41: - currentBackgroundColor = RED; // Background is red. - break; - - case 42: - currentBackgroundColor = GREEN; // Background is green. - break; - - case 43: - currentBackgroundColor = YELLOW; // Background is yellow. - break; - - case 44: - currentBackgroundColor = BLUE; // Background is blue. - break; - - case 45: - currentBackgroundColor = MAGENTA; // Background is magenta. - break; - - case 46: - currentBackgroundColor = CYAN; // Background is cyan. - break; - - case 47: - currentBackgroundColor = WHITE; // Background is white. - break; - - default: - Logger.log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ - break; - } - - ++ parameterIndex; - } - } - - /** - * This method responds to an ANSI Device Status Report (DSR) command from the - * remote endpoint requesting the cursor position. Requests for other kinds of - * status are ignored. - */ - protected void processAnsiCommand_n() - { - // Do nothing if the numeric parameter was not 6 (which means report cursor - // position). - - if (getAnsiParameter(0) != 6) - return; - - // Send the ANSI cursor position (which is 1-based) to the remote endpoint. - - String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ - (cursorColumn + 1) + "R"; //$NON-NLS-1$ - - OutputStreamWriter streamWriter = - new OutputStreamWriter(terminal.getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ - - try - { - streamWriter.write(positionReport, 0, positionReport.length()); - streamWriter.flush(); - } - catch (IOException ex) - { - Logger.log("Caught IOException!"); //$NON-NLS-1$ - assert false; - } - } - - /** - * Deletes one or more characters starting at the current cursor position. - * Characters on the same line and to the right of the deleted characters move - * left. If there are no characters on the current line at or to the right of the - * cursor column, no text is deleted. - */ - protected void processAnsiCommand_P() - { - int currentLineEndOffset; - int currentLineAbsolute = absoluteCursorLine(); - - if (currentLineAbsolute == text.getLineCount() - 1) - { - // The cursor is on the bottommost line of text. - - currentLineEndOffset = text.getCharCount(); - } - else - { - // The cursor is not on the bottommost line of text. - - currentLineEndOffset = text.getOffsetAtLine(currentLineAbsolute + 1) - 1; - } - - int caretOffset = text.getCaretOffset(); - int remainingCharactersOnLine = currentLineEndOffset - caretOffset; - - if (remainingCharactersOnLine > 0) - { - // There are characters that can be deleted. - - int charactersToDelete = getAnsiParameter(0); - - if (charactersToDelete > remainingCharactersOnLine) - charactersToDelete = remainingCharactersOnLine; - - text.replaceTextRange(caretOffset, charactersToDelete, ""); //$NON-NLS-1$ - text.setCaretOffset(caretOffset); - } - } - - /** - * This method returns one of the numeric ANSI parameters received in the most - * recent escape sequence. - * - * @return The parameterIndexth numeric ANSI parameter or -1 if the index - * is out of range. - */ - protected int getAnsiParameter(int parameterIndex) - { - if (parameterIndex < 0 || parameterIndex >= ansiParameters.length) - { - // This should never happen. - assert false; - return -1; - } - - String parameter = ansiParameters[parameterIndex].toString(); - - if (parameter.length() == 0) - return 1; - - int parameterValue = 1; - - // Don't trust the remote endpoint to send well formed numeric parameters. - - try - { - parameterValue = Integer.parseInt(parameter); - } - catch (NumberFormatException ex) - { - parameterValue = 1; - } - - return parameterValue; - } - - /** - * This method processes a single parameter character in an ANSI escape sequence. - * Paramters are the (optional) characters between the leading "\e[" and the - * command character in an escape sequence (e.g., in the escape sequence - * "\e[20;10H", the paramter characters are "20;10"). Parameters are integers - * separated by one or more ';'s. - */ - protected void processAnsiParameterCharacter(char ch) - { - if (ch == ';') - { - ++nextAnsiParameter; - } - else - { - if (nextAnsiParameter < ansiParameters.length) - ansiParameters[nextAnsiParameter].append(ch); - } - } - - /** - * This method processes a contiguous sequence of non-control characters. This is - * a performance optimization, so that we don't have to insert or append each - * non-control character individually to the StyledText widget. A non-control - * character is any character that passes the condition in the below while loop. - */ - protected void processNonControlCharacters() - { - int firstNonControlCharacterIndex = characterIndex; - int newTextLength = newText.length(); - char character = newText.charAt(characterIndex); - - // Identify a contiguous sequence of non-control characters, starting at - // firstNonControlCharacterIndex in newText. - - while (character != '\u0000' && character != '\b' && character != '\t' && - character != '\u0007' && character != '\n' && character != '\r' && - character != '\u001b') - { - ++characterIndex; - - if (characterIndex >= newTextLength) - break; - - character = newText.charAt(characterIndex); - } - - // Move characterIndex back by one character because it gets incremented at the - // bottom of the loop in processNewText(). - - --characterIndex; - - int preDisplayCaretOffset = text.getCaretOffset(); - - // Now insert the sequence of non-control characters in the StyledText widget - // at the location of the cursor. - - displayNewText(firstNonControlCharacterIndex, characterIndex); - - // If any one of the current font style, foreground color or background color - // differs from the defaults, apply the current style to the newly displayed - // text. Since this method is only called for a contiguous sequence of - // non-control characters, the current style applies to the entire sequence of - // characters. - - if (!currentForegroundColor.equals(text.getForeground()) || - !currentBackgroundColor.equals(text.getBackground()) || - currentFontStyle != SWT.NORMAL || - reverseVideo == true) - { - StyleRange style = - new StyleRange(preDisplayCaretOffset, - text.getCaretOffset() - preDisplayCaretOffset, - reverseVideo ? currentBackgroundColor : currentForegroundColor, - reverseVideo ? currentForegroundColor : currentBackgroundColor, - currentFontStyle); - - text.setStyleRange(style); - } - } - - /** - * This method displays a subset of the newly-received text in the Terminal view, - * wrapping text at the right edge of the screen and overwriting text when the - * cursor is not at the very end of the screen's text.

- * - * There are never any ANSI control characters or escape sequences in the text - * being displayed by this method (this includes newlines, carriage returns, and - * tabs).

- * - * @param first The index (within newText) of the first character to - * display. - * @param last The index (within newText) of the last character to - * display. - */ - protected void displayNewText(int first, int last) - { - if (text.getCaretOffset() == text.getCharCount()) - { - // The cursor is at the very end of the terminal's text, so we append the - // new text to the StyledText widget. - - displayNewTextByAppending(first, last); - } - else - { - // The cursor is not at the end of the screen's text, so we have to - // overwrite existing text. - - displayNewTextByOverwriting(first, last); - } - } - - /** - * This method displays new text by appending it to the end of the existing text, - * wrapping text that extends past the right edge of the screen.

- * - * There are never any ANSI control characters or escape sequences in the text - * being displayed by this method (this includes newlines, carriage returns, and - * tabs).

- * - * @param first The index (within newText) of the first character to - * display. - * @param last The index (within newText) of the last character to - * display. - */ - protected void displayNewTextByAppending(int first, int last) - { - int numCharsToOutput = last - first + 1; - int availableSpaceOnLine = widthInColumns - cursorColumn; - - if (numCharsToOutput >= availableSpaceOnLine) - { - // We need to wrap the text, because it's longer than the available - // space on the current line. First, appends as many characters as - // will fit in the space remaining on the current line. - // - // NOTE: We don't line wrap the text in this method the same way we line - // wrap the text in method displayNewTextByOverwriting(), but this is by far - // the most common case, and it has to run the fastest. - - text.append(newText.substring(first, first + availableSpaceOnLine)); - first += availableSpaceOnLine; - - processCarriageReturn(); - processNewline(); - - while (first <= last) - { - availableSpaceOnLine = widthInColumns; - - if (availableSpaceOnLine > last - first + 1) - { - text.append(newText.substring(first, last + 1)); - cursorColumn = last - first + 1; - break; - } - else - { - text.append(newText.substring(first, first + availableSpaceOnLine)); - first += availableSpaceOnLine; - - processCarriageReturn(); - processNewline(); - } - } - } - else - { - // We don't need to wrap the text. - - text.append(newText.substring(first, last + 1)); - cursorColumn += last - first + 1; - } - } - - /** - * This method displays new text by overwriting existing text, wrapping text that - * extends past the right edge of the screen.

- * - * There are never any ANSI control characters or escape sequences in the text - * being displayed by this method (this includes newlines, carriage returns, and - * tabs).

- * - * @param first The index (within newText) of the first character to - * display. - * @param last The index (within newText) of the last character to - * display. - */ - protected void displayNewTextByOverwriting(int first, int last) - { - // First, break new text into segments, based on where it needs to line wrap, - // so that each segment contains text that will appear on a separate line. - - List textSegments = new ArrayList(100); - - int availableSpaceOnLine = widthInColumns - cursorColumn; - - while (first <= last) - { - String segment; - - if (last - first + 1 > availableSpaceOnLine) - segment = newText.substring(first, first + availableSpaceOnLine); - else - segment = newText.substring(first, last + 1); - - textSegments.add(segment); - - first += availableSpaceOnLine; - availableSpaceOnLine = widthInColumns; - } - - // Next, for each segment, if the cursor is at the end of the text, append the - // segment along with a newline character. If the cursor is not at the end of - // the text, replace the next N characters starting at the cursor position with - // the segment, where N is the minimum of the length of the segment or the - // length of the rest of the current line. - - Iterator iter = textSegments.iterator(); - - while (iter.hasNext()) - { - String segment = (String)iter.next(); - int caretOffset = text.getCaretOffset(); - - if (caretOffset == text.getCharCount()) - { - // The cursor is at the end of the text, so just append the current - // segement along with a newline. - - text.append(segment); - - // If there is another segment to display, move the cursor to a new - // line. - - if (iter.hasNext()) - { - processCarriageReturn(); - processNewline(); - } - } - else - { - // The cursor is not at the end of the text, so replace some or all of - // the text following the cursor on the current line with the current - // segment. - - int numCharactersAfterCursorOnLine; - - if (absoluteCursorLine() == text.getLineCount() - 1) - { - // The cursor is on the last line of text. - numCharactersAfterCursorOnLine = text.getCharCount() - caretOffset; - } - else - { - // The cursor is not on the last line of text. - numCharactersAfterCursorOnLine = - text.getOffsetAtLine(absoluteCursorLine() + 1) - caretOffset - 1; - } - - int segmentLength = segment.length(); - int numCharactersToReplace; - - if (segmentLength < numCharactersAfterCursorOnLine) - numCharactersToReplace = segmentLength; - else - numCharactersToReplace = numCharactersAfterCursorOnLine; - - text.replaceTextRange(caretOffset, numCharactersToReplace, segment); - text.setCaretOffset(caretOffset + segmentLength); - cursorColumn += segmentLength; - - // If there is another segment, move the cursor to the start of the - // next line. - - if (iter.hasNext()) - { - cursorColumn = 0; - text.setCaretOffset(caretOffset + segmentLength + 1); - } - else - { - // We just inserted the last segment. If the current line is full, - // wrap the cursor onto a new line. - - if (cursorColumn == widthInColumns) - { - processCarriageReturn(); - processNewline(); - } - } - } - } - } - - /** - * Process a BEL (Ctrl-G) character. - */ - protected void processBEL() - { - // ISSUE: Is there a better way to make a sound? This is not guaranteed to - // work on all platforms. - - java.awt.Toolkit.getDefaultToolkit().beep(); - } - - /** - * Process a backspace (Ctrl-H) character. - */ - protected void processBackspace() - { - moveCursorBackward(1); - } - - /** - * Process a tab (Ctrl-I) character. We don't insert a tab character into the - * StyledText widget. Instead, we move the cursor forward to the next tab stop, - * without altering any of the text. Tab stops are every 8 columns. The cursor - * will never move past the rightmost column. - */ - protected void processTab() - { - moveCursorForward(8 - (cursorColumn % 8)); - } - - /** - * Process a newline (Control-J) character. A newline (NL) character just moves - * the cursor to the same column on the next line, creating new lines when the - * cursor reaches the bottom edge of the terminal. This is counter-intuitive, - * especially to UNIX programmers who are taught that writing a single NL to a - * terminal is sufficient to move the cursor to the first column of the next line, - * as if a carriage return (CR) and a NL were written.

- * - * UNIX terminals typically display a NL character as a CR followed by a NL because - * the terminal device typically has the ONLCR attribute bit set (see the - * termios(4) man page for details), which causes the terminal device driver to - * translate NL to CR + NL on output. The terminal itself (i.e., a hardware - * terminal or a terminal emulator, like xterm or this code) _always_ interprets a - * CR to mean "move the cursor to the beginning of the current line" and a NL to - * mean "move the cursor to the same column on the next line".

- */ - protected void processNewline() - { - int totalLines = text.getLineCount(); - int currentLineAbsolute = absoluteCursorLine(); - - if (currentLineAbsolute < totalLines - 1) - { - // The cursor is not on the bottommost line of text, so we move the cursor - // to the same column on the next line. - - // TODO: If we can verify that the next character is a carriage return, we - // can optimize out the insertion of spaces that moveCursorDown() will do. - - moveCursorDown(1); - } - else if (currentLineAbsolute == totalLines - 1) - { - // The cursor is on the bottommost line of text, so we append a newline - // character to the end of the terminal's text (creating a new line on the - // screen) and insert cursorColumn spaces. - - text.append("\n"); //$NON-NLS-1$ - text.append(generateString(' ', cursorColumn)); - text.setCaretOffset(text.getCharCount()); - - // We may have scrolled a line off the top of the screen, so check if we - // need to delete some of the the oldest lines in the scroll buffer. - - deleteTopmostLines(); - } - else - { - // This should _never_ happen. If it does happen, it is a bug in this - // algorithm. - - Logger.log("SHOULD NOT BE REACHED!"); //$NON-NLS-1$ - assert false; - } - } - - /** - * Process a Carriage Return (Ctrl-M). - */ - protected void processCarriageReturn() - { - // Move the cursor to the beginning of the current line. - - text.setCaretOffset(text.getOffsetAtLine(text.getLineAtOffset(text.getCaretOffset()))); - cursorColumn = 0; - } - - /** - * This method computes the width of the terminal in columns and its height in - * lines, then adjusts the width and height of the view's StyledText widget so that - * it displays an integral number of lines and columns of text. The adjustment is - * always to shrink the widget vertically or horizontally, because if the control - * were to grow, it would be clipped by the edges of the view window (i.e., the - * view window does not become larger to accommodate its contents becoming - * larger).

- * - * This method must be called immediately before each time text is written to the - * terminal so that we can properly line wrap text. Because it is called so - * frequently, it must be fast when there is no resizing to be done.

- */ - protected void adjustTerminalDimensions() - { - // Compute how many pixels we need to shrink the StyledText control vertically - // to make it display an integral number of lines of text. - - int linePixelHeight = text.getLineHeight(); - Point textWindowDimensions = text.getSize(); - int verticalPixelsToShrink = textWindowDimensions.y % linePixelHeight; - - // Compute the current height of the terminal in lines. - - heightInLines = textWindowDimensions.y / linePixelHeight; - - // Compute how many pixels we need to shrink the StyledText control to make - // it display an integral number of columns of text. We can only do this if we - // know the pixel width of a character in the font used by the StyledText - // widget. - - int horizontalPixelsToShrink = 0; - - if (characterPixelWidth == 0) - computeCharacterPixelWidth(); - - if (characterPixelWidth != 0) - { - horizontalPixelsToShrink = textWindowDimensions.x % characterPixelWidth; - - // The width of the StyledText widget that text.getSize() returns includes - // the space occupied by the vertical scrollbar, so we have to fudge this - // calculation (by subtracting 3 columns) to account for the presence of - // the scrollbar. Ugh. - - widthInColumns = textWindowDimensions.x / characterPixelWidth - 3; - } - - // If necessary, resize the text widget. - - if (verticalPixelsToShrink > 0 || horizontalPixelsToShrink > 0) - { - // Remove this class instance from being a ControlListener on the - // StyledText widget, because we are about to resize and move the widget, - // and we don't want this method to be recursively invoked. - - text.removeControlListener(this); - - // Shrink the StyledText control so that it displays an integral number - // of lines of text and an integral number of columns of text. - - textWindowDimensions.y -= verticalPixelsToShrink; - textWindowDimensions.x -= horizontalPixelsToShrink; - text.setSize(textWindowDimensions); - - // Move the StyledText control down by the same number of pixels that - // we just shrank it vertically and right by the same number of pixels that - // we just shrank it horizontally. This makes the padding appear to the - // left and top of the widget, which is more visually appealing. This is - // only necessary because there is no way to programmatically shrink the - // view itself. - - Point textLocation = text.getLocation(); - textLocation.y += verticalPixelsToShrink; - textLocation.x += horizontalPixelsToShrink; - text.setLocation(textLocation); - - // Restore this class instance as the ControlListener on the StyledText - // widget so we know when the user resizes the Terminal view. - - text.addControlListener(this); - - // Make sure the exposed portion of the Composite canvas behind the - // StyledText control matches the background color of the StyledText - // control. - - Color textBackground = text.getBackground(); - text.getParent().setBackground(textBackground); - - // Scroll the StyledText widget to the bottommost position. - - text.setSelectionRange(text.getCharCount(), 0); - text.showSelection(); - - // Tell the parent object to redraw itself. This erases any partial - // line of text that might be left visible where the parent object is - // now exposed. This call only happens if the size needed to be changed, - // so it should not cause any flicker. - - text.getParent().redraw(); - } - - // If we are in a TELNET connection and we know the dimensions of the terminal, - // we give the size information to the TELNET connection object so it can - // communicate it to the TELNET server. If we are in a serial connection, - // there is nothing we can do to tell the remote host about the size of the - // terminal. - - TelnetConnection telnetConnection = terminal.getTelnetConnection(); - - if (telnetConnection != null && telnetConnection.isConnected() && - telnetConnection.isRemoteTelnetServer() && - widthInColumns != 0 && heightInLines != 0) - { - telnetConnection.setTerminalSize(widthInColumns, heightInLines); - } - } - - /** - * This method computes the the pixel width of a character in the current font. - * The Font object representing the font in the Terminal view doesn't provide the - * pixel width of the characters (even for a fixed width font). Instead, we get - * the pixel coordinates of the upper left corner of the bounding boxes for two - * adjacent characters on the same line and subtract the X coordinate of one from - * the X coordinate of the other. Simple, no? - */ - protected void computeCharacterPixelWidth() - { - // We can't assume there is any text in the terminal, so make sure there's at - // least two characters. - - text.replaceTextRange(0, 0, " "); //$NON-NLS-1$ - - Point firstCharLocation = text.getLocationAtOffset(0); - Point secondCharLocation = text.getLocationAtOffset(1); - - characterPixelWidth = secondCharLocation.x - firstCharLocation.x; - - text.replaceTextRange(0, 3, ""); //$NON-NLS-1$ - } - - /** - * This method deletes as many of the topmost lines of text as needed to keep the - * total number of lines of text in the Terminal view less than or equal to the - * limit configured in the preferences. If no limit is configured, this method - * does nothing. - */ - protected void deleteTopmostLines() - { - Preferences preferences = TerminalPlugin.getDefault().getPluginPreferences(); - boolean bLimitOutput = preferences.getBoolean(TerminalConsts.TERMINAL_PREF_LIMITOUTPUT); - - if (!bLimitOutput) - return; - - // Compute the number of lines to delete, but don't do anything if there are - // fewer lines in the terminal than the height of the terminal in lines. - - int totalLineCount = text.getLineCount(); - - if (totalLineCount <= heightInLines) - return; - - int bufferLineLimit = preferences.getInt(TerminalConsts.TERMINAL_PREF_BUFFERLINES); - - // Don't allow the user to set the buffer line limit to less than the height of - // the terminal in lines. - - if (bufferLineLimit <= heightInLines) - bufferLineLimit = heightInLines + 1; - - int linesToDelete = totalLineCount - bufferLineLimit; - - // Delete the lines. A small optimization here: don't do anything unless - // there's at least 5 lines to delete. - - if (linesToDelete >= 5) - text.replaceTextRange(0, text.getOffsetAtLine(linesToDelete), ""); //$NON-NLS-1$ - } - - /** - * This method returns the absolute line number of the line containing the - * cursor. The very first line of text (even if it is scrolled off the screen) is - * absolute line number 0. - * - * @return The absolute line number of the line containing the cursor. - */ - protected int absoluteCursorLine() - { - return text.getLineAtOffset(text.getCaretOffset()); - } - - /** - * This method returns the relative line number of the line comtaining the cursor. - * The returned line number is relative to the topmost visible line, which has - * relative line number 0. - * - * @return The relative line number of the line containing the cursor. - */ - protected int relativeCursorLine() - { - int totalLines = text.getLineCount(); - - if (totalLines <= heightInLines) - return text.getLineAtOffset(text.getCaretOffset()); - - return absoluteCursorLine() - totalLines + heightInLines; - } - - /** - * This method converts a visible line number (i.e., line 0 is the topmost visible - * line if the terminal is scrolled all the way down, and line number heightInLines - * - 1 is the bottommost visible line if the terminal is scrolled all the way down) - * to a line number as known to the StyledText widget. - */ - protected int absoluteLine(int visibleLineNumber) - { - int totalLines = text.getLineCount(); - - if (totalLines <= heightInLines) - return visibleLineNumber; - - return totalLines - heightInLines + visibleLineNumber; - } - - /** - * This method returns a String containing count ch characters. - * - * @return A String containing count ch characters. - */ - protected String generateString(char ch, int count) - { - char[] chars = new char[count]; - - for (int i = 0; i < chars.length; ++i) - chars[i] = ch; - - return new String(chars); - } - - /** - * This method moves the cursor to the specified line and column. Parameter - * targetLine is the line number of a screen line, so it has a minimum value - * of 0 (the topmost screen line) and a maximum value of heightInLines - 1 (the - * bottommost screen line). A line does not have to contain any text to move the - * cursor to any column in that line. - */ - protected void moveCursor(int targetLine, int targetColumn) - { - // Don't allow out of range target line and column values. - - if (targetLine < 0) targetLine = 0; - if (targetLine >= heightInLines) targetLine = heightInLines - 1; - - if (targetColumn < 0) targetColumn = 0; - if (targetColumn >= widthInColumns) targetColumn = widthInColumns - 1; - - // First, find out if we need to append newlines to the end of the text. This - // is necessary if there are fewer total lines of text than visible screen - // lines and the target line is below the bottommost line of text. - - int totalLines = text.getLineCount(); - - if (totalLines < heightInLines && targetLine >= totalLines) - text.append(generateString('\n', heightInLines - totalLines)); - - // Next, compute the offset of the start of the target line. - - int targetLineStartOffset = text.getOffsetAtLine(absoluteLine(targetLine)); - - // Next, find how many characters are in the target line. Be careful not to - // index off the end of the StyledText widget. - - int nextLineNumber = absoluteLine(targetLine + 1); - int targetLineLength; - - if (nextLineNumber >= totalLines) - { - // The target line is the bottommost line of text. - - targetLineLength = text.getCharCount() - targetLineStartOffset; - } - else - { - // The target line is not the bottommost line of text, so compute its - // length by subtracting the start offset of the target line from the start - // offset of the following line. - - targetLineLength = text.getOffsetAtLine(nextLineNumber) - targetLineStartOffset - 1; - } - - // Find out if we can just move the cursor without having to insert spaces at - // the end of the target line. - - if (targetColumn >= targetLineLength) - { - // The target line is not long enough to just move the cursor, so we have - // to append spaces to it before positioning the cursor. - - int spacesToAppend = targetColumn - targetLineLength; - - text.replaceTextRange(targetLineStartOffset + targetLineLength, 0, - generateString(' ', spacesToAppend)); - } - - // Now position the cursor. - - text.setCaretOffset(targetLineStartOffset + targetColumn); - - cursorColumn = targetColumn; - } - - /** - * This method moves the cursor down lines lines, but won't move the cursor - * past the bottom of the screen. This method does not cause any scrolling. - */ - protected void moveCursorDown(int lines) - { - moveCursor(relativeCursorLine() + lines, cursorColumn); - } - - /** - * This method moves the cursor up lines lines, but won't move the cursor - * past the top of the screen. This method does not cause any scrolling. - */ - protected void moveCursorUp(int lines) - { - moveCursor(relativeCursorLine() - lines, cursorColumn); - } - - /** - * This method moves the cursor forward columns columns, but won't move the - * cursor past the right edge of the screen, nor will it move the cursor onto the - * next line. This method does not cause any scrolling. - */ - protected void moveCursorForward(int columnsToMove) - { - moveCursor(relativeCursorLine(), cursorColumn + columnsToMove); - } - - /** - * This method moves the cursor backward columnsToMove columns, but won't - * move the cursor past the left edge of the screen, nor will it move the cursor - * onto the previous line. This method does not cause any scrolling. - */ - protected void moveCursorBackward(int columnsToMove) - { - // We don't call moveCursor() here, because this is optimized for backward - // cursor motion on a single line. - - if (columnsToMove > cursorColumn) - columnsToMove = cursorColumn; - - text.setCaretOffset(text.getCaretOffset() - columnsToMove); - - cursorColumn -= columnsToMove; - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java deleted file mode 100644 index b5117f7f294..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalView.java +++ /dev/null @@ -1,1047 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ - -package org.eclipse.tm.terminal; - -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.FontRegistry; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IPartListener; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchPart; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.actions.ActionFactory; -import org.eclipse.ui.actions.RetargetAction; -import org.eclipse.ui.contexts.IContextActivation; -import org.eclipse.ui.contexts.IContextService; -import org.eclipse.ui.internal.WorkbenchWindow; -import org.eclipse.ui.part.ViewPart; - -public class TerminalView extends ViewPart implements TerminalTarget, TerminalConsts -{ - protected static final String m_SecondaryTerminalCountMutex = ""; //$NON-NLS-1$ - protected static int m_SecondaryTerminalCount = 0; - - protected TerminalCtrl m_ctlTerminal; - protected TerminalAction m_actionTerminalNewTerminal; - protected TerminalAction m_actionTerminalConnect; - protected TerminalAction m_actionTerminalDisconnect; - protected TerminalAction m_actionTerminalSettings; - protected TerminalAction m_actionEditCopy; - protected TerminalAction m_actionEditCut; - protected TerminalAction m_actionEditPaste; - protected TerminalAction m_actionEditClearAll; - protected TerminalAction m_actionEditSelectAll; - protected TerminalMenuHandlerEdit m_MenuHandlerEdit; - protected TerminalPropertyChangeHandler m_PropertyChangeHandler; - protected TerminalSettings m_TerminalSettings; - protected boolean m_bMenuAboutToShow; - /** Remember the item with which we contributed the shortcutt to unregister them again! */ - private IContextActivation fRememberedContextActivation; - - /** - * - */ - public TerminalView() - { - Logger.log("==============================================================="); //$NON-NLS-1$ - setupView(); - } - - // TerminalTarget interface - - /** - * - */ - public void execute(String strMsg,Object data) - { - if (strMsg.equals(ON_TERMINAL_FOCUS)) - { - onTerminalFocus(data); - } - else if (strMsg.equals(ON_TERMINAL_NEW_TERMINAL)) - { - onTerminalNewTerminal(data); - } - else if (strMsg.equals(ON_TERMINAL_CONNECT)) - { - onTerminalConnect(data); - } - else if (strMsg.equals(ON_UPDATE_TERMINAL_CONNECT)) - { - onUpdateTerminalConnect(data); - } - else if (strMsg.equals(ON_TERMINAL_CONNECTING)) - { - onTerminalConnecting(data); - } - else if (strMsg.equals(ON_TERMINAL_DISCONNECT)) - { - onTerminalDisconnect(data); - } - else if (strMsg.equals(ON_UPDATE_TERMINAL_DISCONNECT)) - { - onUpdateTerminalDisconnect(data); - } - else if (strMsg.equals(ON_TERMINAL_SETTINGS)) - { - onTerminalSettings(data); - } - else if (strMsg.equals(ON_UPDATE_TERMINAL_SETTINGS)) - { - onUpdateTerminalSettings(data); - } - else if (strMsg.equals(ON_TERMINAL_STATUS)) - { - onTerminalStatus(data); - } - else if (strMsg.equals(ON_TERMINAL_FONTCHANGED)) - { - onTerminalFontChanged(data); - } - else if (strMsg.equals(ON_EDIT_COPY)) - { - onEditCopy(data); - } - else if (strMsg.equals(ON_UPDATE_EDIT_COPY)) - { - onUpdateEditCopy(data); - } - else if (strMsg.equals(ON_EDIT_CUT)) - { - onEditCut(data); - } - else if (strMsg.equals(ON_UPDATE_EDIT_CUT)) - { - onUpdateEditCut(data); - } - else if (strMsg.equals(ON_EDIT_PASTE)) - { - onEditPaste(data); - } - else if (strMsg.equals(ON_UPDATE_EDIT_PASTE)) - { - onUpdateEditPaste(data); - } - else if (strMsg.equals(ON_EDIT_CLEARALL)) - { - onEditClearAll(data); - } - else if (strMsg.equals(ON_UPDATE_EDIT_CLEARALL)) - { - onUpdateEditClearAll(data); - } - else if (strMsg.equals(ON_EDIT_SELECTALL)) - { - onEditSelectAll(data); - } - else if (strMsg.equals(ON_UPDATE_EDIT_SELECTALL)) - { - onUpdateEditSelectAll(data); - } - else - { - } - } - - // Message handlers - - /** - * - */ - protected void onTerminalFocus(Object data) - { - m_ctlTerminal.setFocus(); - } - - /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. - */ - protected void onTerminalNewTerminal(Object data) - { - Logger.log("creating new Terminal instance."); //$NON-NLS-1$ - - try - { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesireable. Therefore, we append the current time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. - - getSite().getPage().showView("org.eclipse.tm.terminal.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - } - catch (PartInitException ex) - { - Logger.logException(ex); - } - } - - /** - * - */ - protected void onTerminalConnect(Object data) - { - if (m_ctlTerminal.isConnected()) - return; - - m_ctlTerminal.connectTerminal(m_TerminalSettings); - - execute(ON_UPDATE_TERMINAL_CONNECT,null); - execute(ON_UPDATE_TERMINAL_DISCONNECT,null); - execute(ON_UPDATE_TERMINAL_SETTINGS,null); - } - - /** - * - */ - protected void onTerminalConnecting(Object data) - { - execute(ON_UPDATE_TERMINAL_CONNECT,null); - execute(ON_UPDATE_TERMINAL_DISCONNECT,null); - execute(ON_UPDATE_TERMINAL_SETTINGS,null); - } - - /** - * - */ - protected void onUpdateTerminalConnect(Object data) - { - boolean bEnabled; - - bEnabled = ((!m_ctlTerminal.isConnecting()) && - (!m_ctlTerminal.isConnected())); - - m_actionTerminalConnect.setEnabled(bEnabled); - } - - /** - * - */ - protected void onTerminalDisconnect(Object data) - { - if ((!m_ctlTerminal.isConnecting()) && - (!m_ctlTerminal.isConnected())) - { - execute(ON_TERMINAL_STATUS, null); - execute(ON_UPDATE_TERMINAL_CONNECT, null); - execute(ON_UPDATE_TERMINAL_DISCONNECT, null); - execute(ON_UPDATE_TERMINAL_SETTINGS, null); - return; - } - - m_ctlTerminal.disconnectTerminal(); - - execute(ON_UPDATE_TERMINAL_CONNECT,null); - execute(ON_UPDATE_TERMINAL_DISCONNECT,null); - execute(ON_UPDATE_TERMINAL_SETTINGS,null); - } - - /** - * - */ - protected void onUpdateTerminalDisconnect(Object data) - { - boolean bEnabled; - - bEnabled = ((m_ctlTerminal.isConnecting()) || - (m_ctlTerminal.isConnected())); - - m_actionTerminalDisconnect.setEnabled(bEnabled); - } - - /** - * - */ - protected void onTerminalSettings(Object data) - { - TerminalSettingsDlg dlgTerminalSettings; - int nStatus; - - // When the settings dialog is opened, load the Terminal settings from the - // persistent settings. - - m_TerminalSettings.importSettings(getPartName()); - - dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell()); - dlgTerminalSettings.loadSettings(m_TerminalSettings); - - Logger.log("opening Settings dialog."); //$NON-NLS-1$ - - nStatus = dlgTerminalSettings.open(); - - if (nStatus == TerminalConsts.TERMINAL_ID_CANCEL) - { - Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ - return; - } - - Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ - - // When the settings dialog is closed, we persist the Terminal settings. - - m_TerminalSettings.exportSettings(getPartName()); - - execute(ON_TERMINAL_CONNECT,null); - } - - /** - * - */ - protected void onUpdateTerminalSettings(Object data) - { - boolean bEnabled; - - bEnabled = ((!m_ctlTerminal.isConnecting()) && - (!m_ctlTerminal.isConnected())); - - m_actionTerminalSettings.setEnabled(bEnabled); - } - - /** - * - */ - protected void onTerminalStatus(Object data) - { - String strConnType; - String strConnected; - String strSerialPort; - String strBaudRate; - String strDataBits; - String strStopBits; - String strParity; - String strFlowControl; - String strHost; - String strNetworkPort; - String strText; - String strTitle; - - if (m_ctlTerminal.isDisposed()) - return; - - if (data != null) - { - // When parameter 'data' is not null, it is a String containing text to - // display in the view's content description line. This is used by class - // TerminalText when it processes an ANSI OSC escape sequence that commands - // the terminal to display text in its title bar. - - strTitle = (String)data; - } - else - { - // When parameter 'data' is null, we construct a descriptive string to - // display in the content description line. - - if (m_ctlTerminal.isConnecting()) - { - strConnected = "CONNECTING..."; //$NON-NLS-1$ - } - else if (m_ctlTerminal.isOpened()) - { - strConnected = "OPENED"; //$NON-NLS-1$ - } - else if (m_ctlTerminal.isConnected()) - { - strConnected = "CONNECTED"; //$NON-NLS-1$ - } - else - { - strConnected = "CLOSED"; //$NON-NLS-1$ - } - - strConnType = m_TerminalSettings.getConnType(); - if (strConnType.equals(TERMINAL_CONNTYPE_SERIAL)) - { - strSerialPort = m_TerminalSettings.getSerialPort(); - strBaudRate = m_TerminalSettings.getBaudRate(); - strDataBits = m_TerminalSettings.getDataBits(); - strStopBits = m_TerminalSettings.getStopBits(); - strParity = m_TerminalSettings.getParity(); - strFlowControl = m_TerminalSettings.getFlowControl(); - strText = " (" + //$NON-NLS-1$ - strSerialPort + - ", " + //$NON-NLS-1$ - strBaudRate + - ", " + //$NON-NLS-1$ - strDataBits + - ", " + //$NON-NLS-1$ - strStopBits + - ", " + //$NON-NLS-1$ - strParity + - ", " + //$NON-NLS-1$ - strFlowControl + - " - " + //$NON-NLS-1$ - strConnected + - ")"; //$NON-NLS-1$ - } - else if (strConnType.equals(TERMINAL_CONNTYPE_NETWORK)) - { - strHost = m_TerminalSettings.getHost(); - strNetworkPort = m_TerminalSettings.getNetworkPort(); - strText = " (" + //$NON-NLS-1$ - strHost + - ":" + //$NON-NLS-1$ - strNetworkPort + - " - " + //$NON-NLS-1$ - strConnected + - ")"; //$NON-NLS-1$ - } - else - { - strText = ""; //$NON-NLS-1$ - } - - strTitle = TERMINAL_PROP_TITLE + strText; - } - - setContentDescription(strTitle); - getViewSite().getActionBars().getStatusLineManager().setMessage(strTitle); - } - - /** - * - */ - protected void onTerminalFontChanged(Object data) - { - StyledText ctlText; - Font font; - - ctlText = m_ctlTerminal.getTextWidget(); - font = JFaceResources.getFont(TERMINAL_FONT_DEFINITION); - ctlText.setFont(font); - - // Tell the TerminalCtrl singleton that the font has changed. - - m_ctlTerminal.onFontChanged(); - } - - /** - * - */ - protected void onEditCopy(Object data) - { - ITextSelection selection; - String strText; - boolean bEnabled; - - selection = m_ctlTerminal.getSelection(); - strText = selection.getText(); - bEnabled = !strText.equals(""); //$NON-NLS-1$ - - if (bEnabled) - { - m_ctlTerminal.copy(); - } - else - { - m_ctlTerminal.sendKey('\u0003'); - } - } - - /** - * - */ - protected void onUpdateEditCopy(Object data) - { - ITextSelection selection; - String strText; - boolean bEnabled; - - if (m_bMenuAboutToShow) - { - selection = m_ctlTerminal.getSelection(); - strText = selection.getText(); - bEnabled = !strText.equals(""); //$NON-NLS-1$ - } - else - { - bEnabled = true; - } - - m_actionEditCopy.setEnabled(bEnabled); - } - - /** - * - */ - protected void onEditCut(Object data) - { - m_ctlTerminal.sendKey('\u0018'); - } - - /** - * - */ - protected void onUpdateEditCut(Object data) - { - boolean bEnabled; - - bEnabled = !m_bMenuAboutToShow; - m_actionEditCut.setEnabled(bEnabled); - } - - /** - * - */ - protected void onEditPaste(Object data) - { - m_ctlTerminal.paste(); - } - - /** - * - */ - protected void onUpdateEditPaste(Object data) - { - Clipboard clipboard; - TextTransfer textTransfer; - String strText; - boolean bConnected; - boolean bEnabled; - - clipboard = m_ctlTerminal.getClipboard(); - textTransfer = TextTransfer.getInstance(); - strText = (String)clipboard.getContents(textTransfer); - bConnected = m_ctlTerminal.isConnected(); - - bEnabled = ((strText != null) && - (!strText.equals("")) && //$NON-NLS-1$ - (bConnected)); - - m_actionEditPaste.setEnabled(bEnabled); - } - - /** - * - */ - protected void onEditClearAll(Object data) - { - m_ctlTerminal.clearTerminal(); - } - - /** - * - */ - protected void onUpdateEditClearAll(Object data) - { - boolean bEnabled; - - bEnabled = !m_ctlTerminal.isEmpty(); - m_actionEditClearAll.setEnabled(bEnabled); - } - - /** - * - */ - protected void onEditSelectAll(Object data) - { - m_ctlTerminal.selectAll(); - } - - /** - * - */ - protected void onUpdateEditSelectAll(Object data) - { - boolean bEnabled; - - bEnabled = !m_ctlTerminal.isEmpty(); - m_actionEditSelectAll.setEnabled(bEnabled); - } - - // ViewPart interface - - /** - * - */ - public void createPartControl(Composite wndParent) - { - // Bind plugin.xml key bindings to this plugin. Overrides global Ctrl-W key - // sequence. - - /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ - IContextService ctxtService = (IContextService)getSite().getService(IContextService.class); - fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalPreferencePage"); //$NON-NLS-1$ - - setupControls(wndParent); - setupActions(); - setupMenus(); - setupToolBars(); - setupLocalMenus(); - setupLocalToolBars(); - setupContextMenus(); - setupListeners(wndParent); - - synchronized (m_SecondaryTerminalCountMutex) - { - setPartName(TERMINAL_PROP_TITLE + " " + m_SecondaryTerminalCount++); //$NON-NLS-1$ - } - - execute(ON_TERMINAL_STATUS,null); - } - - /** - * - */ - public void dispose() - { - Logger.log("entered."); //$NON-NLS-1$ - - setPartName("Terminal"); //$NON-NLS-1$ - - TerminalPlugin plugin; - FontRegistry fontRegistry; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; - MenuManager menuMgr; - Menu menu; - - /** The context (for short cuts) was set above, now unset it again */ - if (fRememberedContextActivation != null) { - IContextService ctxService = (IContextService)getSite().getService(IContextService.class); - ctxService.deactivateContext(fRememberedContextActivation); - fRememberedContextActivation = null; - } - - fontRegistry = JFaceResources.getFontRegistry(); - plugin = TerminalPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - menu = menuMgr.getMenu(); - - fontRegistry.removeListener(m_PropertyChangeHandler); - menuMgr.removeMenuListener(m_MenuHandlerEdit); - - if (menu != null) - menu.removeMenuListener(m_MenuHandlerEdit); - - m_ctlTerminal.disposeTerminal(); - } - - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() - { - execute(ON_TERMINAL_FOCUS,null); - } - - // Operations - - /** - * - */ - protected void setupView() - { - m_TerminalSettings = new TerminalSettings(getPartName()); - m_bMenuAboutToShow = false; - } - - /** - * This method creates the top-level control for the Terminal view. - */ - protected void setupControls(Composite wndParent) - { - try - { - m_ctlTerminal = new TerminalCtrl(this, wndParent); - } - catch (Exception ex) - { - Logger.logException(ex); - } - } - - /** - * - */ - protected void setupActions() - { - IViewSite viewSite; - IActionBars actionBars; - - viewSite = getViewSite(); - actionBars = viewSite.getActionBars(); - m_actionTerminalNewTerminal = new TerminalActionNewTerminal(this); - m_actionTerminalConnect = new TerminalActionConnect(this); - m_actionTerminalDisconnect = new TerminalActionDisconnect(this); - m_actionTerminalSettings = new TerminalActionSettings(this); - m_actionEditCopy = new TerminalActionCopy(this); - m_actionEditCut = new TerminalActionCut(this); - m_actionEditPaste = new TerminalActionPaste(this); - m_actionEditClearAll = new TerminalActionClearAll(this); - m_actionEditSelectAll = new TerminalActionSelectAll(this); - - actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), - m_actionEditCopy); - - actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), - m_actionEditCut); - - actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), - m_actionEditPaste); - - actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), - m_actionEditSelectAll); - } - - /** - * - */ - protected void setupMenus() - { - TerminalPlugin plugin; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; - MenuManager menuMgr; - Menu menu; - - m_MenuHandlerEdit = new TerminalMenuHandlerEdit(); - plugin = TerminalPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager)menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - menu = menuMgr.getMenu(); - - menuMgr.addMenuListener(m_MenuHandlerEdit); - menu.addMenuListener(m_MenuHandlerEdit); - } - - /** - * - */ - protected void setupToolBars() - { - } - - /** - * - */ - protected void setupLocalMenus() - { - } - - /** - * - */ - protected void setupLocalToolBars() - { - IViewSite viewSite; - IActionBars actionBars; - IToolBarManager toolBarMgr; - - viewSite = getViewSite(); - actionBars = viewSite.getActionBars(); - toolBarMgr = actionBars.getToolBarManager(); - - toolBarMgr.add(m_actionTerminalNewTerminal); - toolBarMgr.add(m_actionTerminalConnect); - toolBarMgr.add(m_actionTerminalDisconnect); - toolBarMgr.add(m_actionTerminalSettings); - } - - /** - * - */ - protected void setupContextMenus() - { - StyledText ctlText; - MenuManager menuMgr; - Menu menu; - TerminalContextMenuHandler contextMenuHandler; - - ctlText = m_ctlTerminal.getTextWidget(); - menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ - menu = menuMgr.createContextMenu(ctlText); - contextMenuHandler = new TerminalContextMenuHandler(); - - ctlText.setMenu(menu); - menuMgr.setRemoveAllWhenShown(true); - menuMgr.addMenuListener(contextMenuHandler); - menu.addMenuListener(contextMenuHandler); - } - - /** - * - */ - protected void loadContextMenus(IMenuManager menuMgr) - { - menuMgr.add(m_actionEditCopy); - menuMgr.add(m_actionEditPaste); - menuMgr.add(new Separator()); - menuMgr.add(m_actionEditClearAll); - menuMgr.add(m_actionEditSelectAll); - - // Other plug-ins can contribute there actions here - menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ - } - - /** - * - */ - protected void setupListeners(Composite wndParent) - { - getViewSite().getPage().addPartListener(new IPartListener() { - public void partClosed(IWorkbenchPart part) - { - if (part instanceof TerminalView) - part.dispose(); - } - - public void partActivated(IWorkbenchPart part) { } - public void partBroughtToTop(IWorkbenchPart part) { } - public void partDeactivated(IWorkbenchPart part) { } - public void partOpened(IWorkbenchPart part) { } - }); - - FontRegistry fontRegistry = JFaceResources.getFontRegistry(); - m_PropertyChangeHandler = new TerminalPropertyChangeHandler(); - fontRegistry.addListener(m_PropertyChangeHandler); - } - - // Inner classes - - /** - * - */ - protected class TerminalMenuHandlerEdit - implements MenuListener, - IMenuListener - { - /** - * - */ - protected String m_strActionDefinitionIdCopy; - protected String m_strActionDefinitionIdPaste; - protected String m_strActionDefinitionIdSelectAll; - - protected int m_nAcceleratorCopy; - protected int m_nAcceleratorPaste; - protected int m_nAcceleratorSelectAll; - - /** - * - */ - protected TerminalMenuHandlerEdit() - { - super(); - - m_strActionDefinitionIdCopy = ""; //$NON-NLS-1$ - m_strActionDefinitionIdPaste = ""; //$NON-NLS-1$ - m_strActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ - - m_nAcceleratorCopy = 0; - m_nAcceleratorPaste = 0; - m_nAcceleratorSelectAll = 0; - } - - // IMenuListener interface - - /** - * - */ - public void menuAboutToShow(IMenuManager menuMgr) - { - ActionContributionItem item; - RetargetAction action; - - m_bMenuAboutToShow = true; - execute(ON_UPDATE_EDIT_COPY,null); - execute(ON_UPDATE_EDIT_CUT,null); - execute(ON_UPDATE_EDIT_PASTE,null); - execute(ON_UPDATE_EDIT_SELECTALL,null); - - item = (ActionContributionItem)menuMgr.find(ActionFactory.COPY.getId()); - action = (RetargetAction) item.getAction(); - m_strActionDefinitionIdCopy = action.getActionDefinitionId(); - m_nAcceleratorCopy = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem)menuMgr.find(ActionFactory.PASTE.getId()); - action = (RetargetAction) item.getAction(); - m_strActionDefinitionIdPaste = action.getActionDefinitionId(); - m_nAcceleratorPaste = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem)menuMgr.find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - m_strActionDefinitionIdSelectAll = action.getActionDefinitionId(); - m_nAcceleratorSelectAll = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - } - - // MenuListener interface - - /** - * - */ - public void menuShown(MenuEvent event) - { - } - - /** - * - */ - public void menuHidden(MenuEvent event) - { - TerminalPlugin plugin; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; - MenuManager menuMgr; - ActionContributionItem item; - RetargetAction action; - - m_bMenuAboutToShow = false; - execute(ON_UPDATE_EDIT_COPY,null); - execute(ON_UPDATE_EDIT_CUT,null); - - plugin = TerminalPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench.getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(m_strActionDefinitionIdCopy); - action.setAccelerator(m_nAcceleratorCopy); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(m_strActionDefinitionIdPaste); - action.setAccelerator(m_nAcceleratorPaste); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(m_strActionDefinitionIdSelectAll); - action.setAccelerator(m_nAcceleratorSelectAll); - action.enableAccelerator(true); - item.update(); - } - } - - /** - * - */ - protected class TerminalContextMenuHandler - implements MenuListener, IMenuListener - { - /** - * - */ - protected TerminalContextMenuHandler() - { - super(); - } - - // MenuListener interface - - /** - * - */ - public void menuHidden(MenuEvent event) - { - m_bMenuAboutToShow = false; - execute(ON_UPDATE_EDIT_COPY,null); - } - - public void menuShown(MenuEvent e) - { - } - - // IMenuListener interface - - /** - * - */ - public void menuAboutToShow(IMenuManager menuMgr) - { - m_bMenuAboutToShow = true; - execute(ON_UPDATE_EDIT_COPY,null); - execute(ON_UPDATE_EDIT_PASTE,null); - execute(ON_UPDATE_EDIT_CLEARALL,null); - execute(ON_UPDATE_EDIT_SELECTALL,null); - - loadContextMenus(menuMgr); - } - } - - /** - * - */ - protected class TerminalPropertyChangeHandler implements IPropertyChangeListener - { - /** - * - */ - protected TerminalPropertyChangeHandler() - { - super(); - } - - // IPropertyChangeListener interface - - public void propertyChange(PropertyChangeEvent event) - { - String strProperty; - - strProperty = event.getProperty(); - if (strProperty.equals(TERMINAL_FONT_DEFINITION)) - { - execute(ON_TERMINAL_FONTCHANGED,event); - } - else - { - } - } - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java new file mode 100644 index 00000000000..972c2a7068c --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java @@ -0,0 +1,33 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.control; + +import org.eclipse.tm.terminal.TerminalState; + + +/** + * Provided by a view implementation. + * @author Michael Scharf + * + */ +public interface ITerminalListener { + /** + * Called when the state of the connection has changed. + * @param state + */ + void setState(TerminalState state); + /** + * Set the title of the terminal. + * @param title + */ + void setTerminalTitle(String title); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java new file mode 100644 index 00000000000..5a8b4f6e5e8 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.control; + +import org.eclipse.swt.custom.StyledText; +import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.tm.terminal.ITerminalConnector; + +/** + * @author Michael Scharf + * + */ +public interface ITerminalViewControl { + boolean isEmpty(); + void onFontChanged(); + StyledText getCtlText(); + boolean isDisposed(); + void selectAll(); + void clearTerminal(); + void copy(); + void paste(); + String getSelection(); + TerminalState getState(); + Clipboard getClipboard(); + void disconnectTerminal(); + void disposeTerminal(); + String getStatusString(String status); + ITerminalConnector[] getConnectors(); + void setFocus(); + ITerminalConnector getTerminalConnection(); + void setConnector(ITerminalConnector connector); + void connectTerminal(); + void sendKey(char arg0); + boolean isConnected(); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java new file mode 100644 index 00000000000..808ce9e9381 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.control; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.internal.control.TerminalControl; + +public class TerminalViewControlFactory { + public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { + return new TerminalControl(target, wndParent, connectors); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java new file mode 100644 index 00000000000..36f542cd92e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.internal.control; + +import java.io.OutputStream; + +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.TerminalState; + +/** + * need a better name! + * @author Michael Scharf + * + */ +public interface ITerminalControlForText { + + TerminalState getState(); + void setState(TerminalState state); + void setTerminalTitle(String title); + + ITerminalConnector getTerminalConnection(); + + void disconnectTerminal(); + + OutputStream getOutputStream(); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java new file mode 100644 index 00000000000..99c34f68402 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java @@ -0,0 +1,807 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.control; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.SocketException; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.text.ConfigurableLineTracker; +import org.eclipse.jface.text.Document; +import org.eclipse.jface.text.ITextSelection; +import org.eclipse.jface.text.TextViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.custom.VerifyKeyListener; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.VerifyEvent; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; +import org.eclipse.ui.keys.IBindingService; +import org.eclipse.tm.terminal.control.ITerminalListener; +import org.eclipse.tm.terminal.control.ITerminalViewControl; + +/** + * + * This class was originally written to use nested classes, which unfortunately makes + * this source file larger and more complex than it needs to be. In particular, the + * methods in the nested classes directly access the fields of the enclosing class. + * One day we should pull the nested classes out into their own source files (but still + * in this package). + * + * @author Chris Thew + */ +public class TerminalControl implements ITerminalControlForText, ITerminalControl, ITerminalViewControl +{ + protected final static String[] LINE_DELIMITERS = { "\n" }; //$NON-NLS-1$ + + /** + * This field holds a reference to a TerminalText object that performs all ANSI + * text processing on data received from the remote host and controls how text is + * displayed using the view's StyledText widget. + */ + private TerminalText fTerminalText; + + private Display fDisplay; + private StyledText fCtlText; + private TextViewer fViewer; + private Composite fWndParent; + private Clipboard fClipboard; + private TerminalModifyListener fModifyListener; + private KeyListener fKeyHandler; + private ITerminalListener fTerminalListener; + private String fMsg = ""; //$NON-NLS-1$ + private VerifyKeyListener fVerifyKeyListener; + private FocusListener fFocusListener; + private ITerminalConnector fConnector; + private final ITerminalConnector[] fConnectors; + + private volatile TerminalState fState; + + public TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { + fConnectors=connectors; + fTerminalListener=target; + fWndParent = wndParent; + + setTerminalText(new TerminalText(this)); + + setupTerminal(); + } + + public ITerminalConnector[] getConnectors() { + return fConnectors; + } + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#copy() + */ + public void copy() { + getCtlText().copy(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#paste() + */ + public void paste() { + TextTransfer textTransfer = TextTransfer.getInstance(); + String strText = (String) fClipboard.getContents(textTransfer); + if (strText == null) + return; + for (int i = 0; i < strText.length(); i++) { + sendChar(strText.charAt(i), false); + } +// TODO paste in another thread.... to avoid blocking +// new Thread() { +// public void run() { +// for (int i = 0; i < strText.length(); i++) { +// sendChar(strText.charAt(i), false); +// } +// +// } +// }.start(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#selectAll() + */ + public void selectAll() { + getCtlText().selectAll(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#sendKey(char) + */ + public void sendKey(char character) { + Event event; + KeyEvent keyEvent; + + event = new Event(); + event.widget = getCtlText(); + event.character = character; + event.keyCode = 0; + event.stateMask = 0; + event.doit = true; + keyEvent = new KeyEvent(event); + + fKeyHandler.keyPressed(keyEvent); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#clearTerminal() + */ + public void clearTerminal() { + // The TerminalText object does all text manipulation. + + getTerminalText().clearTerminal(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#getClipboard() + */ + public Clipboard getClipboard() { + return fClipboard; + } + + /** + * @return non null selection + */ + public String getSelection() { + String txt= ((ITextSelection) fViewer.getSelection()).getText(); + if(txt==null) + txt=""; //$NON-NLS-1$ + return txt; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#setFocus() + */ + public void setFocus() { + getCtlText().setFocus(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#isEmpty() + */ + public boolean isEmpty() { + return (getCtlText().getCharCount() == 0); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#isDisposed() + */ + public boolean isDisposed() { + return getCtlText().isDisposed(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#isConnected() + */ + public boolean isConnected() { + return fState==TerminalState.CONNECTED; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#disposeTerminal() + */ + public void disposeTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + disconnectTerminal(); + fClipboard.dispose(); + getTerminalText().dispose(); + } + + public void connectTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + if(fConnector==null) + return; + fConnector.connect(this); + waitForConnect(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#disconnectTerminal() + */ + public void disconnectTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + + if (getState()==TerminalState.CLOSED) { + return; + } + if(fConnector!=null) { + fConnector.disconnect(); +// fConnector=null; + } + } + // TODO + private void waitForConnect() { + Logger.log("entered."); //$NON-NLS-1$ + // TODO + // Eliminate this code + while (getState()==TerminalState.CONNECTING) { + if (fDisplay.readAndDispatch()) + continue; + + fDisplay.sleep(); + } + if (!getMsg().equals("")) //$NON-NLS-1$ + { + String strTitle = TerminalMessages.TerminalError; + MessageDialog.openError( getShell(), strTitle, getMsg()); + + disconnectTerminal(); + return; + } + + getCtlText().setFocus(); + } + + protected void sendString(String string) { + try { + // Send the string after converting it to an array of bytes using the + // platform's default character encoding. + // + // TODO: Find a way to force this to use the ISO Latin-1 encoding. + + getOutputStream().write(string.getBytes()); + getOutputStream().flush(); + } catch (SocketException socketException) { + displayTextInTerminal(socketException.getMessage()); + + String strTitle = TerminalMessages.TerminalError; + String strMsg = TerminalMessages.SocketError + + "!\n" + socketException.getMessage(); //$NON-NLS-1$ + + MessageDialog.openError(getShell(), strTitle, strMsg); + Logger.logException(socketException); + + disconnectTerminal(); + } catch (IOException ioException) { + displayTextInTerminal(ioException.getMessage()); + + String strTitle = TerminalMessages.TerminalError; + String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ + + MessageDialog.openError(getShell(), strTitle, strMsg); + Logger.logException(ioException); + + disconnectTerminal(); + } + } + + public Shell getShell() { + return getCtlText().getShell(); + } + + protected void sendChar(char chKey, boolean altKeyPressed) { + try { + int byteToSend = chKey; + + if (altKeyPressed) { + // When the ALT key is pressed at the same time that a character is + // typed, translate it into an ESCAPE followed by the character. The + // alternative in this case is to set the high bit of the character + // being transmitted, but that will cause input such as ALT-f to be + // seen as the ISO Latin-1 character '�', which can be confusing to + // European users running Emacs, for whom Alt-f should move forward a + // word instead of inserting the '�' character. + // + // TODO: Make the ESCAPE-vs-highbit behavior user configurable. + + Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write('\u001b'); + getOutputStream().write(byteToSend); + } else { + Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write(byteToSend); + } + + getOutputStream().flush(); + } catch (SocketException socketException) { + Logger.logException(socketException); + + displayTextInTerminal(socketException.getMessage()); + + String strTitle = TerminalMessages.TerminalError; + String strMsg = TerminalMessages.SocketError + + "!\n" + socketException.getMessage(); //$NON-NLS-1$ + + MessageDialog.openError(getShell(), strTitle, strMsg); + Logger.logException(socketException); + + disconnectTerminal(); + } catch (IOException ioException) { + Logger.logException(ioException); + + displayTextInTerminal(ioException.getMessage()); + + String strTitle = TerminalMessages.TerminalError; + String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ + + MessageDialog.openError(getShell(), strTitle, strMsg); + Logger.logException(ioException); + + disconnectTerminal(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#setupTerminal() + */ + public void setupTerminal() { + fState=TerminalState.CLOSED; + setupControls(); + setupListeners(); + setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#onFontChanged() + */ + public void onFontChanged() { + getTerminalText().fontChanged(); + } + + protected void setupControls() { + // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it + // can't have a horizontal scroll bar (but a vertical one is ok). Also, do + // _not_ make the TextViewer read-only, because that prevents it from seeing a + // TAB character when the user presses TAB (instead, the TAB causes focus to + // switch to another Workbench control). We prevent local keyboard input from + // modifying the text in method TerminalVerifyKeyListener.verifyKey(). + + fViewer = new TextViewer(fWndParent, SWT.V_SCROLL); + setCtlText(fViewer.getTextWidget()); + + fDisplay = getCtlText().getDisplay(); + fClipboard = new Clipboard(fDisplay); + fViewer.setDocument(new TerminalDocument()); + getCtlText().setFont(JFaceResources.getTextFont()); + } + + protected void setupListeners() { + fKeyHandler = new TerminalKeyHandler(); + fModifyListener = new TerminalModifyListener(); + fVerifyKeyListener = new TerminalVerifyKeyListener(); + fFocusListener = new TerminalFocusListener(); + + getCtlText().addVerifyKeyListener(fVerifyKeyListener); + getCtlText().addKeyListener(fKeyHandler); + getCtlText().addModifyListener(fModifyListener); + getCtlText().addVerifyKeyListener(fVerifyKeyListener); + getCtlText().addFocusListener(fFocusListener); + } + + /** + * Setup all the help contexts for the controls. + */ + protected void setupHelp(Composite parent, String id) { + Control[] children = parent.getChildren(); + + for (int nIndex = 0; nIndex < children.length; nIndex++) { + if (children[nIndex] instanceof Composite) { + setupHelp((Composite) children[nIndex], id); + } + } + + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, id); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#displayTextInTerminal(java.lang.String) + */ + public void displayTextInTerminal(String text) { + writeToTerminal(text+"\r\n"); //$NON-NLS-1$ + } + + public void writeToTerminal(String txt) { + + // Do _not_ use asyncExec() here. Class TerminalText requires that + // its run() and setNewText() methods be called in strictly + // alternating order. If we were to call asyncExec() here, this + // loop might race around and call setNewText() twice in a row, + // which would lose data. + getTerminalText().setNewText(new StringBuffer(txt)); + if(Display.getDefault().getThread()==Thread.currentThread()) + getTerminalText().run(); + else + fDisplay.syncExec(getTerminalText()); + + } + + protected boolean isLogCharEnabled() { + return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); + } + protected boolean isLogBufferSizeEnabled() { + return TerminalPlugin + .isOptionEnabled(Logger.TRACE_DEBUG_LOG_BUFFER_SIZE); + } + + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#getInputStream() + */ + public InputStream getInputStream() { + if(fConnector!=null) + return fConnector.getInputStream(); + return null; + } + + public OutputStream getOutputStream() { + if(fConnector!=null) + return fConnector.getOutputStream(); + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#setMsg(java.lang.String) + */ + public void setMsg(String msg) { + fMsg = msg; + } + + public String getMsg() { + return fMsg; + } + + void setCtlText(StyledText ctlText) { + fCtlText = ctlText; + fTerminalText.setStyledText(ctlText); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#getCtlText() + */ + public StyledText getCtlText() { + return fCtlText; + } + + void setTerminalText(TerminalText terminalText) { + fTerminalText = terminalText; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.ITerminalControl#getTerminalText() + */ + public TerminalText getTerminalText() { + return fTerminalText; + } + + /** + */ + public ITerminalConnector getTerminalConnection() { + return fConnector; + } + + protected class TerminalModifyListener implements ModifyListener { + public void modifyText(ModifyEvent e) { + if (e.getSource() instanceof StyledText) { + StyledText text = (StyledText) e.getSource(); + text.setSelection(text.getText().length()); + } + } + } + + protected class TerminalFocusListener implements FocusListener { + private IContextActivation contextActivation = null; + + protected TerminalFocusListener() { + super(); + } + + public void focusGained(FocusEvent event) { + // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view + // can see every keystroke. Without this, Emacs, vi, and Bash are unusable + // in the Terminal view. + + IBindingService bindingService = (IBindingService) PlatformUI + .getWorkbench().getAdapter(IBindingService.class); + bindingService.setKeyFilterEnabled(false); + + // The above code fails to cause Eclipse to disable menu-activation + // accelerators (e.g., Alt-F for the File menu), so we set the command + // context to be the Terminal view's command context. This enables us to + // override menu-activation accelerators with no-op commands in our + // plugin.xml file, which enables the Terminal view to see absolutly _all_ + // key-presses. + + IContextService contextService = (IContextService) PlatformUI + .getWorkbench().getAdapter(IContextService.class); + contextActivation = contextService + .activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ + } + + public void focusLost(FocusEvent event) { + // Enable all keybindings. + + IBindingService bindingService = (IBindingService) PlatformUI + .getWorkbench().getAdapter(IBindingService.class); + bindingService.setKeyFilterEnabled(true); + + // Restore the command context to its previous value. + + IContextService contextService = (IContextService) PlatformUI + .getWorkbench().getAdapter(IContextService.class); + contextService.deactivateContext(contextActivation); + } + } + + protected class TerminalVerifyKeyListener implements VerifyKeyListener { + public void verifyKey(VerifyEvent event) { + // We set event.doit to false to prevent keyboard input from locally + // modifying the contents of the StyledText widget. The only text we + // display is text received from the remote endpoint. This also prevents + // the caret from moving locally when the user presses an arrow key or the + // PageUp or PageDown keys. For some reason, doing this in + // TerminalKeyHandler.keyPressed() does not work, hence the need for this + // class. + + event.doit = false; + } + } + protected class TerminalKeyHandler extends KeyAdapter { + public void keyPressed(KeyEvent event) { + if (getState()==TerminalState.CONNECTING) + return; + + // We set the event.doit to false to prevent any further processing of this + // key event. The only reason this is here is because I was seeing the F10 + // key both send an escape sequence (due to this method) and switch focus + // to the Workbench File menu (forcing the user to click in the Terminal + // view again to continue entering text). This fixes that. + + event.doit = false; + + char character = event.character; + + if (!isConnected()) { + // Pressing ENTER while not connected causes us to connect. + if (character == '\r') { + connectTerminal(); + return; + } + + // Ignore all other keyboard input when not connected. + return; + } + + // If the event character is NUL ('\u0000'), then a special key was pressed + // (e.g., PageUp, PageDown, an arrow key, a function key, Shift, Alt, + // Control, etc.). The one exception is when the user presses Control-@, + // which sends a NUL character, in which case we must send the NUL to the + // remote endpoint. This is necessary so that Emacs will work correctly, + // because Control-@ (i.e., NUL) invokes Emacs' set-mark-command when Emacs + // is running on a terminal. When the user presses Control-@, the keyCode + // is 50. + + if (character == '\u0000' && event.keyCode != 50) { + // A special key was pressed. Figure out which one it was and send the + // appropriate ANSI escape sequence. + // + // IMPORTANT: Control will not enter this method for these special keys + // unless certain tags are present in the plugin.xml file + // for the Terminal view. Do not delete those tags. + + switch (event.keyCode) { + case 0x1000001: // Up arrow. + sendString("\u001b[A"); //$NON-NLS-1$ + break; + + case 0x1000002: // Down arrow. + sendString("\u001b[B"); //$NON-NLS-1$ + break; + + case 0x1000003: // Left arrow. + sendString("\u001b[D"); //$NON-NLS-1$ + break; + + case 0x1000004: // Right arrow. + sendString("\u001b[C"); //$NON-NLS-1$ + break; + + case 0x1000005: // PgUp key. + sendString("\u001b[I"); //$NON-NLS-1$ + break; + + case 0x1000006: // PgDn key. + sendString("\u001b[G"); //$NON-NLS-1$ + break; + + case 0x1000007: // Home key. + sendString("\u001b[H"); //$NON-NLS-1$ + break; + + case 0x1000008: // End key. + sendString("\u001b[F"); //$NON-NLS-1$ + break; + + case 0x100000a: // F1 key. + sendString("\u001b[M"); //$NON-NLS-1$ + break; + + case 0x100000b: // F2 key. + sendString("\u001b[N"); //$NON-NLS-1$ + break; + + case 0x100000c: // F3 key. + sendString("\u001b[O"); //$NON-NLS-1$ + break; + + case 0x100000d: // F4 key. + sendString("\u001b[P"); //$NON-NLS-1$ + break; + + case 0x100000e: // F5 key. + sendString("\u001b[Q"); //$NON-NLS-1$ + break; + + case 0x100000f: // F6 key. + sendString("\u001b[R"); //$NON-NLS-1$ + break; + + case 0x1000010: // F7 key. + sendString("\u001b[S"); //$NON-NLS-1$ + break; + + case 0x1000011: // F8 key. + sendString("\u001b[T"); //$NON-NLS-1$ + break; + + case 0x1000012: // F9 key. + sendString("\u001b[U"); //$NON-NLS-1$ + break; + + case 0x1000013: // F10 key. + sendString("\u001b[V"); //$NON-NLS-1$ + break; + + case 0x1000014: // F11 key. + sendString("\u001b[W"); //$NON-NLS-1$ + break; + + case 0x1000015: // F12 key. + sendString("\u001b[X"); //$NON-NLS-1$ + break; + + default: + // Ignore other special keys. Control flows through this case when + // the user presses SHIFT, CONTROL, ALT, and any other key not + // handled by the above cases. + break; + } + + // It's ok to return here, because we never locally echo special keys. + + return; + } + + // To fix SPR 110341, we consider the Alt key to be pressed only when the + // Control key is _not_ also pressed. This works around a bug in SWT where, + // on European keyboards, the AltGr key being pressed appears to us as Control + // + Alt being pressed simultaneously. + + Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ + + boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && ((event.stateMask & SWT.CTRL) == 0)); + + if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 + && character == ' ') { + // Send a NUL character -- many terminal emulators send NUL when + // Control-Space is pressed. This is used to set the mark in Emacs. + + character = '\u0000'; + } + + sendChar(character, altKeyPressed); + + // Special case: When we are in a TCP connection and echoing characters + // locally, send a LF after sending a CR. + // ISSUE: Is this absolutely required? + + if (character == '\r' && getTerminalConnection() != null + && isConnected() + && getTerminalConnection().isLocalEcho()) { + sendChar('\n', false); + } + + // Now decide if we should locally echo the character we just sent. We do + // _not_ locally echo the character if any of these conditions are true: + // + // o This is a serial connection. + // + // o This is a TCP connection (i.e., m_telnetConnection is not null) and + // the remote endpoint is not a TELNET server. + // + // o The ALT (or META) key is pressed. + // + // o The character is any of the first 32 ISO Latin-1 characters except + // Control-I or Control-M. + // + // o The character is the DELETE character. + + if (getTerminalConnection() == null + || getTerminalConnection().isLocalEcho() == false || altKeyPressed + || (character >= '\u0001' && character < '\t') + || (character > '\t' && character < '\r') + || (character > '\r' && character <= '\u001f') + || character == '\u007f') { + // No local echoing. + return; + } + + // Locally echo the character. + + StringBuffer charBuffer = new StringBuffer(); + charBuffer.append(character); + + // If the character is a carriage return, we locally echo it as a CR + LF + // combination. + + if (character == '\r') + charBuffer.append('\n'); + + writeToTerminal(charBuffer.toString()); + } + + } + + protected class TerminalDocument extends Document { + protected TerminalDocument() { + setLineTracker(new ConfigurableLineTracker(LINE_DELIMITERS)); + } + } + + public void setTerminalTitle(String title) { + fTerminalListener.setTerminalTitle(title); + } + + + public TerminalState getState() { + return fState; + } + + + public void setState(TerminalState state) { + fState=state; + fTerminalListener.setState(state); + } + + public String getStatusString(String strConnected) { + if(fConnector!=null) + return fConnector.getStatusString(strConnected); + return strConnected; + } + + public void setConnector(ITerminalConnector connector) { + fConnector=connector; + + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalTarget.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java similarity index 62% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalTarget.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java index 4e6bcd9bca4..f8a1a6f16fe 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalTarget.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java @@ -9,11 +9,16 @@ * Wind River Systems, Inc. - initial implementation * *******************************************************************************/ +package org.eclipse.tm.terminal.internal.control; -package org.eclipse.tm.terminal; +import org.eclipse.osgi.util.NLS; +public class TerminalMessages extends NLS { + static { + NLS.initializeMessages(TerminalMessages.class.getName(), TerminalMessages.class); + } + + public static String TerminalError; + public static String SocketError; + public static String IOError; -public interface TerminalTarget - extends TerminalMsg -{ - public void execute(String strMsg,Object data); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties new file mode 100644 index 00000000000..ceea6affc96 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +TerminalError = Terminal Error +SocketError = Socket Error +IOError = IO Error diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java new file mode 100644 index 00000000000..6acd3c46a4c --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.control; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +public class TerminalPlugin extends AbstractUIPlugin { + protected static TerminalPlugin fDefault; + public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + + /** + * The constructor. + */ + public TerminalPlugin() { + fDefault = this; + } + /** + * Returns the shared instance. + */ + public static TerminalPlugin getDefault() { + return fDefault; + } + + public static boolean isLogInfoEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_INFO); + } + public static boolean isLogErrorEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_ERROR); + } + public static boolean isLogEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG); + } + + public static boolean isOptionEnabled(String strOption) { + String strEnabled = Platform.getDebugOption(strOption); + if (strEnabled == null) + return false; + + return new Boolean(strEnabled).booleanValue(); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java new file mode 100644 index 00000000000..e32ed244347 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -0,0 +1,2081 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.control; + +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.nio.charset.Charset; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.runtime.Preferences; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StyleRange; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.ControlListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.tm.terminal.internal.telnet.TelnetConnection; + +/** + * This class processes character data received from the remote host and + * displays it to the user using the Terminal view's StyledText widget. This + * class processes ANSI control characters, including NUL, backspace, carriage + * return, linefeed, and a subset of ANSI escape sequences sufficient to allow + * use of screen-oriented applications, such as vi, Emacs, and any GNU + * readline-enabled application (Bash, bc, ncftp, etc.). + *

+ * + * @author Fran Litterio + * @author Chris Thew + */ +public class TerminalText implements Runnable, ControlListener { + /** This is a character processing state: Initial state. */ + protected static final int ANSISTATE_INITIAL = 0; + + /** This is a character processing state: We've seen an escape character. */ + protected static final int ANSISTATE_ESCAPE = 1; + + /** + * This is a character processing state: We've seen a '[' after an escape + * character. Expecting a parameter character or a command character next. + */ + protected static final int ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND = 2; + + /** + * This is a character processing state: We've seen a ']' after an escape + * character. We are now expecting an operating system command that + * reprograms an intelligent terminal. + */ + protected static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; + + /** + * This field holds the current state of the Finite TerminalState Automaton (FSA) + * that recognizes ANSI escape sequences. + * + * @see #processNewText() + */ + protected int ansiState = ANSISTATE_INITIAL; + + /** + * This field holds a reference to the {@link TerminalControl} object that + * instantiates this class. + */ + protected ITerminalControlForText terminal; + + /** + * This field holds a reference to the StyledText widget that is used to + * display text to the user. + */ + protected StyledText text; + + /** + * This field holds the characters received from the remote host before they + * are displayed to the user. Method {@link #processNewText()} scans this + * text looking for ANSI control characters and escape sequences. + */ + protected StringBuffer newText; + + /** + * This field holds the index of the current character while the text stored + * in field {@link #newText} is being processed. + */ + protected int characterIndex = 0; + + /** + * This field holds the width of a character (in pixels) for the font used + * to display text. + */ + protected int characterPixelWidth = 0; + + /** + * This field holds the width of the terminal screen in columns. + */ + protected int widthInColumns = 0; + + /** + * This field holds the height of the terminal screen in visible lines. The + * StyledText widget can contain more lines than are visible. + */ + protected int heightInLines = 0; + + /** + * This field holds the number of the column in which the cursor is + * logically positioned. The leftmost column on the screen is column 0, and + * column numbers increase to the right. The maximum value of this field is + * {@link #widthInColumns} - 1. We track the cursor column using this field + * to avoid having to recompute it repeatly using StyledText method calls. + *

+ * + * The StyledText widget that displays text has a vertical bar (called the + * "caret") that appears _between_ character cells, but ANSI terminals have + * the concept of a cursor that appears _in_ a character cell, so we need a + * convention for which character cell the cursor logically occupies when + * the caret is physically between two cells. The convention used in this + * class is that the cursor is logically in column N when the caret is + * physically positioned immediately to the _left_ of column N. + *

+ * + * When cursorColumn is N, the next character output to the terminal appears + * in column N. When a character is output to the rightmost column on a + * given line (column widthInColumns - 1), the cursor moves to column 0 on + * the next line after the character is drawn (this is how line wrapping is + * implemented). If the cursor is in the bottommost line when line wrapping + * occurs, the topmost visible line is scrolled off the top edge of the + * screen. + *

+ */ + protected int cursorColumn = 0; + + /** + * This field holds the caret offset when we last moved it or wrote text to + * the terminal. The reason we need to remember this value is because, + * unlike with a normal terminal emulator, the user can move the caret by + * clicking anywhere in the terminal view. In a normal terminal emulator, + * the cursor only moves as the result of character output (i.e., escape + * sequences or normal characters). We use the value stored in this field to + * restore the position of the caret immediately before processing each + * chunk of output from the remote endpoint. + */ + protected int caretOffset = 0; + + /** + * This field hold the saved absolute line number of the cursor when + * processing the "ESC 7" and "ESC 8" command sequences. + */ + protected int savedCursorLine = 0; + + /** + * This field hold the saved column number of the cursor when processing the + * "ESC 7" and "ESC 8" command sequences. + */ + protected int savedCursorColumn = 0; + + /** + * This field holds an array of StringBuffer objects, each of which is one + * parameter from the current ANSI escape sequence. For example, when + * parsing the escape sequence "\e[20;10H", this array holds the strings + * "20" and "10". + */ + protected StringBuffer[] ansiParameters = new StringBuffer[16]; + + /** + * This field holds the OS-specific command found in an escape sequence of + * the form "\e]...\u0007". + */ + protected StringBuffer ansiOsCommand = new StringBuffer(128); + + /** + * This field holds the index of the next unused element of the array stored + * in field {@link #ansiParameters}. + */ + protected int nextAnsiParameter = 0; + + /** + * This field holds the Color object representing the current foreground + * color as set by the ANSI escape sequence "\e[m". + */ + protected Color currentForegroundColor; + + /** + * This field holds the Color object representing the current background + * color as set by the ANSI escape sequence "\e[m". + */ + protected Color currentBackgroundColor; + + /** + * This field holds an integer representing the current font style as set by + * the ANSI escape sequence "\e[m". + */ + protected int currentFontStyle = SWT.NORMAL; + + /** + * This field is true if we are currently outputing text in reverse video + * mode, false otherwise. + */ + protected boolean reverseVideo = false; + + /** + * This field holds the time (in milliseconds) of the previous call to + * method {@link #SetNewText()}. + */ + static long LastNewOutputTime = 0; + + /** + * Color object representing the color black. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color BLACK = new Color(Display.getCurrent(), 0, 0, 0); + + /** + * Color object representing the color red. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color RED = new Color(Display.getCurrent(), 255, 0, 0); + + /** + * Color object representing the color green. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color GREEN = new Color(Display.getCurrent(), 0, 255, 0); + + /** + * Color object representing the color yellow. The Color class requires us + * to call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color YELLOW = new Color(Display.getCurrent(), 255, 255, 0); + + /** + * Color object representing the color blue. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color BLUE = new Color(Display.getCurrent(), 0, 0, 255); + + /** + * Color object representing the color magenta. The Color class requires us + * to call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color MAGENTA = new Color(Display.getCurrent(), 255, 0, 255); + + /** + * Color object representing the color cyan. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color CYAN = new Color(Display.getCurrent(), 0, 255, 255); + + /** + * Color object representing the color white. The Color class requires us to + * call dispose() on this object when we no longer need it. We do that in + * method {@link #dispose()}. + */ + protected final Color WHITE = new Color(Display.getCurrent(), 255, 255, 255); + + protected boolean fLimitOutput; + protected int fBufferLineLimit; + /** + * The constructor. + */ + public TerminalText(ITerminalControlForText terminal) { + super(); + + Logger.log("entered"); //$NON-NLS-1$ + + this.terminal = terminal; + + for (int i = 0; i < ansiParameters.length; ++i) { + ansiParameters[i] = new StringBuffer(); + } + } + + /** + * @param ctlText Sets the styled text. + * + *

Note:This method can only be called once. + */ + public void setStyledText(StyledText ctlText) { + if(text!=null) + throw new java.lang.IllegalStateException("Text can be set only once"); //$NON-NLS-1$ + text=ctlText; + + // Register this class instance as a ControlListener so we can learn + // when the StyledText widget is resized. + + text.addControlListener(this); + + currentForegroundColor = text.getForeground(); + currentBackgroundColor = text.getBackground(); + currentFontStyle = SWT.NORMAL; + reverseVideo = false; + } + + + /** + * This method performs clean up when this TerminalText object is no longer + * needed. After calling this method, no other method on this object should + * be called. + */ + public void dispose() { + Logger.log("entered"); //$NON-NLS-1$ + + // Call dispose() on the Color objects we created. + + BLACK.dispose(); + RED.dispose(); + GREEN.dispose(); + YELLOW.dispose(); + BLUE.dispose(); + MAGENTA.dispose(); + CYAN.dispose(); + WHITE.dispose(); + } + + /** + * This method is required by interface ControlListener. It allows us to + * know when the StyledText widget is moved. + */ + public void controlMoved(ControlEvent event) { + Logger.log("entered"); //$NON-NLS-1$ + // Empty. + } + + /** + * This method is required by interface ControlListener. It allows us to + * know when the StyledText widget is resized. This method must be + * synchronized to prevent it from executing at the same time as run(), + * which displays new text. We can't have the fields that represent the + * dimensions of the terminal changing while we are rendering text. + */ + public synchronized void controlResized(ControlEvent event) { + Logger.log("entered"); //$NON-NLS-1$ + adjustTerminalDimensions(); + } + + /** + * This method sets field {@link #newText} to a new value. This method must + * not execute at the same time as methods {@link #run()} and {@link + * #clearTerminal()}. + *

+ * + * IMPORTANT: This method must be called in strict alternation with method + * {@link #run()}. + *

+ * + * @param newBuffer + * The new buffer containing characters received from the remote + * host. + */ + public synchronized void setNewText(StringBuffer newBuffer) { + Logger.log("new text: '" + newBuffer + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + newText = newBuffer; + + // When continuous output is being processed by the Terminal view code, it + // consumes nearly 100% of the CPU. This fixes that. If this method is called + // too frequently, we explicitly sleep for a short time so that the thread + // executing this function (which is the thread reading from the socket or + // serial port) doesn't consume 100% of the CPU. Without this code, the + // Workbench GUI is practically hung when there is continuous output in the + // Terminal view. + + long CurrentTime = System.currentTimeMillis(); + + if (CurrentTime - LastNewOutputTime < 250 && newBuffer.length() > 10) { + try { + Thread.sleep(50); + } catch (InterruptedException ex) { + // Ignore. + } + } + + LastNewOutputTime = CurrentTime; + } + + /** + * This method erases all text from the Terminal view. This method is called + * when the user chooses "Clear all" from the Terminal view context menu, so + * we need to serialize this method with methods {@link #run()} and {@link + * #setNewText(StringBuffer)}. + */ + public synchronized void clearTerminal() { + Logger.log("entered"); //$NON-NLS-1$ + text.setText(""); //$NON-NLS-1$ + cursorColumn = 0; + } + + /** + * This method is called when the user changes the Terminal view's font. We + * attempt to recompute the pixel width of the new font's characters and fix + * the terminal's dimensions. This method must be synchronized to prevent it + * from executing at the same time as run(), which displays new text. We + * can't have the fields that represent the dimensions of the terminal + * changing while we are rendering text. + */ + public synchronized void fontChanged() { + Logger.log("entered"); //$NON-NLS-1$ + + characterPixelWidth = 0; + + if (text != null) + adjustTerminalDimensions(); + } + + /** + * This method executes in the Display thread to process data received from + * the remote host by classes {@link TelnetConnection} and {@link + * SerialPortHandler}. This method must not execute at the same time + * as methods {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. + *

+ * + * IMPORTANT: This method must be called in strict alternation with method + * {@link #setNewText(StringBuffer)}. + *

+ */ + public synchronized void run() { + Logger.log("entered"); //$NON-NLS-1$ + + try { + // This method can be called just after the user closes the view, so we + // make sure not to cause a widget-disposed exception. + + if (text != null && text.isDisposed()) + return; + + // If the status bar is showing "OPENED", change it to "CONNECTED". + + if (terminal.getState()==TerminalState.OPENED) { + // TODO Why???? + terminal.setState(TerminalState.CONNECTED); + } + + // Find the width and height of the terminal, and resize it to display an + // integral number of lines and columns. + + adjustTerminalDimensions(); + + // Restore the caret offset, process and display the new text, then save + // the caret offset. See the documentation for field caretOffset for + // details. + + // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? + + text.setCaretOffset(caretOffset); + + processNewText(); + + caretOffset = text.getCaretOffset(); + } catch (Exception ex) { + Logger.logException(ex); + } + } + + /** + * This method scans the newly received text, processing ANSI control + * characters and escape sequences and displaying normal text. + */ + protected void processNewText() { + Logger.log("entered"); //$NON-NLS-1$ + + // Stop the StyledText widget from redrawing while we manipulate its contents. + // This helps display performance. + + text.setRedraw(false); + + // Scan the newly received text. + + characterIndex = 0; + + while (characterIndex < newText.length()) { + char character = newText.charAt(characterIndex); + + switch (ansiState) { + case ANSISTATE_INITIAL: + switch (character) { + case '\u0000': + break; // NUL character. Ignore it. + + case '\u0007': + processBEL(); // BEL (Control-G) + break; + + case '\b': + processBackspace(); // Backspace + break; + + case '\t': + processTab(); // Tab. + break; + + case '\n': + processNewline(); // Newline (Control-J) + break; + + case '\r': + processCarriageReturn(); // Carriage Return (Control-M) + break; + + case '\u001b': + ansiState = ANSISTATE_ESCAPE; // Escape. + break; + + default: + processNonControlCharacters(); + break; + } + break; + + case ANSISTATE_ESCAPE: + // We've seen an escape character. Here, we process the character + // immediately following the escape. + + switch (character) { + case '[': + ansiState = ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND; + nextAnsiParameter = 0; + + // Erase the parameter strings in preparation for optional + // parameter characters. + + for (int i = 0; i < ansiParameters.length; ++i) { + ansiParameters[i].delete(0, ansiParameters[i].length()); + } + break; + + case ']': + ansiState = ANSISTATE_EXPECTING_OS_COMMAND; + ansiOsCommand.delete(0, ansiOsCommand.length()); + break; + + case '7': + // Save cursor position and character attributes + + ansiState = ANSISTATE_INITIAL; + savedCursorLine = absoluteCursorLine(); + savedCursorColumn = cursorColumn; + break; + + case '8': + // Restore cursor and attributes to previously saved + // position + + ansiState = ANSISTATE_INITIAL; + moveCursor(savedCursorLine, savedCursorColumn); + break; + + default: + Logger + .log("Unsupported escape sequence: escape '" + character + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + ansiState = ANSISTATE_INITIAL; + break; + } + break; + + case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: + // Parameters can appear after the '[' in an escape sequence, but they + // are optional. + + if (character == '@' || (character >= 'A' && character <= 'Z') + || (character >= 'a' && character <= 'z')) { + ansiState = ANSISTATE_INITIAL; + processAnsiCommandCharacter(character); + } else { + processAnsiParameterCharacter(character); + } + break; + + case ANSISTATE_EXPECTING_OS_COMMAND: + // A BEL (\u0007) character marks the end of the OSC sequence. + + if (character == '\u0007') { + ansiState = ANSISTATE_INITIAL; + processAnsiOsCommand(); + } else { + ansiOsCommand.append(character); + } + break; + + default: + // This should never happen! If it does happen, it means there is a + // bug in the FSA. For robustness, we return to the initial + // state. + + Logger.log("INVALID ANSI FSA STATE: " + ansiState); //$NON-NLS-1$ + ansiState = ANSISTATE_INITIAL; + break; + } + + ++characterIndex; + } + + // Allow the StyledText widget to redraw itself. + + text.setRedraw(true); + } + + /** + * This method is called when we have parsed an OS Command escape sequence. + * The only one we support is "\e]0;...\u0007", which sets the terminal + * title. + */ + protected void processAnsiOsCommand() { + if (ansiOsCommand.charAt(0) != '0' || ansiOsCommand.charAt(1) != ';') { + Logger + .log("Ignoring unsupported ANSI OSC sequence: '" + ansiOsCommand + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + return; + } + terminal.setTerminalTitle(ansiOsCommand.substring(2)); + } + + /** + * This method dispatches control to various processing methods based on the + * command character found in the most recently received ANSI escape + * sequence. This method only handles command characters that follow the + * ANSI standard Control Sequence Introducer (CSI), which is "\e[...", where + * "..." is an optional ';'-separated sequence of numeric parameters. + *

+ */ + protected void processAnsiCommandCharacter(char ansiCommandCharacter) { + // If the width or height of the terminal is ridiculously small (one line or + // column or less), don't even try to process the escape sequence. This avoids + // throwing an exception (SPR 107450). The display will be messed up, but what + // did you user expect by making the terminal so small? + + if (heightInLines <= 1 || widthInColumns <= 1) + return; + + switch (ansiCommandCharacter) { + case '@': + // Insert character(s). + processAnsiCommand_atsign(); + break; + + case 'A': + // Move cursor up N lines (default 1). + processAnsiCommand_A(); + break; + + case 'B': + // Move cursor down N lines (default 1). + processAnsiCommand_B(); + break; + + case 'C': + // Move cursor forward N columns (default 1). + processAnsiCommand_C(); + break; + + case 'D': + // Move cursor backward N columns (default 1). + processAnsiCommand_D(); + break; + + case 'E': + // Move cursor to first column of Nth next line (default 1). + processAnsiCommand_E(); + break; + + case 'F': + // Move cursor to first column of Nth previous line (default 1). + processAnsiCommand_F(); + break; + + case 'G': + // Move to column N of current line (default 1). + processAnsiCommand_G(); + break; + + case 'H': + // Set cursor Position. + processAnsiCommand_H(); + break; + + case 'J': + // Erase part or all of display. Cursor does not move. + processAnsiCommand_J(); + break; + + case 'K': + // Erase in line (cursor does not move). + processAnsiCommand_K(); + break; + + case 'L': + // Insert line(s) (current line moves down). + processAnsiCommand_L(); + break; + + case 'M': + // Delete line(s). + processAnsiCommand_M(); + break; + + case 'm': + // Set Graphics Rendition (SGR). + processAnsiCommand_m(); + break; + + case 'n': + // Device Status Report (DSR). + processAnsiCommand_n(); + break; + + case 'P': + // Delete character(s). + processAnsiCommand_P(); + break; + + case 'S': + // Scroll up. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'T': + // Scroll down. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'X': + // Erase character. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'Z': + // Cursor back tab. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + default: + Logger.log("Ignoring unsupported ANSI command character: '" + //$NON-NLS-1$ + ansiCommandCharacter + "'"); //$NON-NLS-1$ + break; + } + } + + /** + * This method makes room for N characters on the current line at the cursor + * position. Text under the cursor moves right without wrapping at the end + * of hte line. + */ + protected void processAnsiCommand_atsign() { + int charactersToInsert = getAnsiParameter(0); + int caretOffset = text.getCaretOffset(); + + text.replaceTextRange(caretOffset, 0, generateString(' ', + charactersToInsert)); + + // If the current line extends past the right edge of the screen, delete the + // characters beyond the rightmost visible column. + + int currentLineAbsolute = absoluteCursorLine(); + int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); + int currentLineEndOffset; + + if (currentLineAbsolute == text.getLineCount() - 1) { + // The cursor is on the bottommost line of text. + + currentLineEndOffset = text.getCharCount(); + } else { + // The cursor is not on the bottommost line of text. + + currentLineEndOffset = text + .getOffsetAtLine(currentLineAbsolute + 1) - 1; + } + + if (currentLineEndOffset - currentLineStartOffset > widthInColumns) { + int charactersToDelete = currentLineEndOffset + - currentLineStartOffset - widthInColumns; + + text.replaceTextRange(currentLineStartOffset + widthInColumns, + charactersToDelete, ""); //$NON-NLS-1$ + } + + // Is this necessary? + + text.setCaretOffset(caretOffset); + } + + /** + * This method moves the cursor up by the number of lines specified by the + * escape sequence parameter (default 1). + */ + protected void processAnsiCommand_A() { + moveCursorUp(getAnsiParameter(0)); + } + + /** + * This method moves the cursor down by the number of lines specified by the + * escape sequence parameter (default 1). + */ + protected void processAnsiCommand_B() { + moveCursorDown(getAnsiParameter(0)); + } + + /** + * This method moves the cursor forward by the number of columns specified + * by the escape sequence parameter (default 1). + */ + protected void processAnsiCommand_C() { + moveCursorForward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor backward by the number of columns specified + * by the escape sequence parameter (default 1). + */ + protected void processAnsiCommand_D() { + moveCursorBackward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor to the first column of the Nth next line, + * where N is specified by the ANSI parameter (default 1). + */ + protected void processAnsiCommand_E() { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() + linesToMove, 0); + } + + /** + * This method moves the cursor to the first column of the Nth previous + * line, where N is specified by the ANSI parameter (default 1). + */ + protected void processAnsiCommand_F() { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() - linesToMove, 0); + } + + /** + * This method moves the cursor within the current line to the column + * specified by the ANSI parameter (default is column 1). + */ + protected void processAnsiCommand_G() { + int targetColumn = 1; + + if (ansiParameters[0].length() > 0) + targetColumn = getAnsiParameter(0) - 1; + + moveCursor(relativeCursorLine(), targetColumn); + } + + /** + * This method sets the cursor to a position specified by the escape + * sequence parameters (default is the upper left corner of the screen). + */ + protected void processAnsiCommand_H() { + moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); + } + + /** + * This method deletes some (or all) of the text on the screen without + * moving the cursor. + */ + protected void processAnsiCommand_J() { + int ansiParameter; + + if (ansiParameters[0].length() == 0) + ansiParameter = 0; + else + ansiParameter = getAnsiParameter(0); + + switch (ansiParameter) { + case 0: + // Erase from current position to end of screen (inclusive). + + int caretOffset = text.getCaretOffset(); + + text.replaceTextRange(caretOffset, text.getCharCount() + - caretOffset, generateString('\n', heightInLines + - relativeCursorLine() - 1)); + + // The above call moves the caret to the end of the text, so restore its + // position. + + text.setCaretOffset(caretOffset); + break; + + case 1: + // Erase from beginning to current position (inclusive). + + int currentRelativeLineNumber = relativeCursorLine(); + int topmostScreenLineStartOffset = text + .getOffsetAtLine(absoluteLine(0)); + + text.replaceTextRange(topmostScreenLineStartOffset, text + .getCaretOffset() + - topmostScreenLineStartOffset, generateString('\n', + currentRelativeLineNumber) + + generateString(' ', cursorColumn)); + + text.setCaretOffset(topmostScreenLineStartOffset + + currentRelativeLineNumber + cursorColumn); + break; + + case 2: + // Erase entire display. + + int currentLineNumber = relativeCursorLine(); + topmostScreenLineStartOffset = text + .getOffsetAtLine(absoluteLine(0)); + + text.replaceTextRange(topmostScreenLineStartOffset, text + .getCharCount() + - topmostScreenLineStartOffset, generateString('\n', + heightInLines - 1)); + + moveCursor(currentLineNumber, cursorColumn); + break; + + default: + Logger.log("Unexpected J-command parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + } + + /** + * This method deletes some (or all) of the text in the current line without + * moving the cursor. + */ + protected void processAnsiCommand_K() { + int ansiParameter = getAnsiParameter(0); + int originalCaretOffset = text.getCaretOffset(); + + switch (ansiParameter) { + case 0: + // Erase from beginning to current position (inclusive). + + int currentLineStartOffset = text + .getOffsetAtLine(absoluteCursorLine()); + + text.replaceTextRange(currentLineStartOffset, cursorColumn, + generateString(' ', cursorColumn)); + break; + + case 1: + // Erase from current position to end (inclusive). + + int caretOffset = text.getCaretOffset(); + + if (absoluteCursorLine() == text.getLineCount() - 1) { + text.replaceTextRange(caretOffset, text.getCharCount() + - caretOffset, ""); //$NON-NLS-1$ + } else { + int nextLineStartOffset = text + .getOffsetAtLine(absoluteCursorLine() + 1); + + text.replaceTextRange(caretOffset, nextLineStartOffset + - caretOffset - 1, ""); //$NON-NLS-1$ + } + break; + + case 2: + // Erase entire line. + + currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); + + if (absoluteCursorLine() == text.getLineCount() - 1) { + // The cursor is on the bottommost line of text. Replace its contents + // with enough spaces to leave the cursor in the current column. + + text.replaceTextRange(currentLineStartOffset, text + .getCharCount() + - currentLineStartOffset, generateString(' ', + cursorColumn)); + } else { + // The cursor is not on the bottommost line of text. Replace the + // current line's contents with enough spaces to leave the cursor in + // the current column. + + int nextLineStartOffset = text + .getOffsetAtLine(absoluteCursorLine() + 1); + + text.replaceTextRange(currentLineStartOffset, + nextLineStartOffset - currentLineStartOffset - 1, + generateString(' ', cursorColumn)); + } + break; + + default: + Logger.log("Unexpected K-command parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + + // There is some undocumented strangeness with method + // StyledText.replaceTextRange() that requires us to manually reposition the + // caret after calling that method. If we don't do this, the caret sometimes + // moves to the very end of the text when deleting text within a line. + + text.setCaretOffset(originalCaretOffset); + } + + /** + * Insert one or more blank lines. The current line of text moves down. Text + * that falls off the bottom of the screen is deleted. + */ + protected void processAnsiCommand_L() { + int linesToInsert = getAnsiParameter(0); + + int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); + + // Compute how many of the bottommost lines of text to delete. This is + // necessary if those lines are being pushed off the bottom of the screen by + // the insertion of the blank lines. + + int totalLines = text.getLineCount(); + int linesToDelete = -1; + + if (heightInLines <= totalLines) { + // There are more lines of text than are displayed, so delete as many lines + // at the end as we insert in the middle. + + linesToDelete = linesToInsert; + } else { + // There are fewer lines of text than the size of the terminal window, so + // compute how many lines will be pushed off the end of the screen by the + // insertion. NOTE: It is possible that we may not have to delete any + // lines at all, which will leave linesToDelete set to -1. + + if (totalLines + linesToInsert > heightInLines) { + linesToDelete = (totalLines + linesToInsert) - heightInLines; + } + } + + if (linesToDelete != -1) { + // Delete the bottomost linesToInsert lines plus the newline on the line + // immediately above the first line to be deleted. + + int firstLineToDeleteStartOffset = text.getOffsetAtLine(totalLines + - linesToDelete); + + text.replaceTextRange(firstLineToDeleteStartOffset - 1, text + .getCharCount() + - firstLineToDeleteStartOffset + 1, ""); //$NON-NLS-1$ + } + + // Insert the new blank lines, leaving the cursor on the topmost of the new + // blank lines. + + int totalCharacters = text.getCharCount(); + + if (currentLineStartOffset > totalCharacters) { + // We are inserting the blank lines at the very end of the text, so + // currentLineStartOffset is now out of range. It will be be in range + // again after these newlines are appended. + + text.replaceTextRange(totalCharacters, 0, generateString('\n', + linesToInsert)); + } else { + // We are inserting the blank lines in the middle of the text, so + // currentLineStartOffset is not out of range. + + text.replaceTextRange(currentLineStartOffset, 0, generateString( + '\n', linesToInsert)); + } + + text.setCaretOffset(currentLineStartOffset); + } + + /** + * Delete one or more lines of text. Any lines below the deleted lines move + * up, which we implmement by appending newlines to the end of the text. + */ + protected void processAnsiCommand_M() { + int totalLines = text.getLineCount(); + int linesToDelete = getAnsiParameter(0); + int currentLineAbsolute = absoluteCursorLine(); + int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); + + // Compute the offset of the character after the lines to be deleted. This + // might be the end of the text. + + if (linesToDelete >= totalLines - currentLineAbsolute) { + // We are deleting all the lines to the bottom of the text. Replace them + // with blank lines. + + text.replaceTextRange(currentLineStartOffset, text.getCharCount() + - currentLineStartOffset, generateString('\n', totalLines + - currentLineAbsolute - 1)); + } else { + // Delete the next linesToDelete lines. + + int firstUndeletedLineStartOffset = text + .getOffsetAtLine(currentLineAbsolute + linesToDelete); + + text.replaceTextRange(currentLineStartOffset, + firstUndeletedLineStartOffset - currentLineStartOffset, ""); //$NON-NLS-1$ + + // Add an equal number of blank lines to the end of the text. + + text.replaceTextRange(text.getCharCount(), 0, generateString('\n', + linesToDelete)); + } + + text.setCaretOffset(currentLineStartOffset); + } + + /** + * This method sets a new graphics rendition mode, such as + * foreground/background color, bold/normal text, and reverse video. + */ + protected void processAnsiCommand_m() { + if (ansiParameters[0].length() == 0) { + // This a special case: when no ANSI parameter is specified, act like a + // single parameter equal to 0 was specified. + + ansiParameters[0].append('0'); + } + + // There are a non-zero number of ANSI parameters. Process each one in + // order. + + int totalParameters = ansiParameters.length; + int parameterIndex = 0; + + while (parameterIndex < totalParameters + && ansiParameters[parameterIndex].length() > 0) { + int ansiParameter = getAnsiParameter(parameterIndex); + + switch (ansiParameter) { + case 0: + // Reset all graphics modes. + currentForegroundColor = text.getForeground(); + currentBackgroundColor = text.getBackground(); + currentFontStyle = SWT.NORMAL; + reverseVideo = false; + break; + + case 1: + currentFontStyle = SWT.BOLD; // Turn on bold. + break; + + case 7: + reverseVideo = true; // Reverse video. + break; + + case 10: // Set primary font. Ignored. + break; + + case 22: + currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes + // only. + break; + + case 27: + reverseVideo = false; // Cancel reverse video attribute only. + break; + + case 30: + currentForegroundColor = BLACK; // Foreground is black. + break; + + case 31: + currentForegroundColor = RED; // Foreground is red. + break; + + case 32: + currentForegroundColor = GREEN; // Foreground is green. + break; + + case 33: + currentForegroundColor = YELLOW; // Foreground is yellow. + break; + + case 34: + currentForegroundColor = BLUE; // Foreground is blue. + break; + + case 35: + currentForegroundColor = MAGENTA; // Foreground is magenta. + break; + + case 36: + currentForegroundColor = CYAN; // Foreground is cyan. + break; + + case 37: + currentForegroundColor = text.getForeground(); // Foreground is + // white. + break; + + case 40: + currentBackgroundColor = text.getBackground(); // Background is + // black. + break; + + case 41: + currentBackgroundColor = RED; // Background is red. + break; + + case 42: + currentBackgroundColor = GREEN; // Background is green. + break; + + case 43: + currentBackgroundColor = YELLOW; // Background is yellow. + break; + + case 44: + currentBackgroundColor = BLUE; // Background is blue. + break; + + case 45: + currentBackgroundColor = MAGENTA; // Background is magenta. + break; + + case 46: + currentBackgroundColor = CYAN; // Background is cyan. + break; + + case 47: + currentBackgroundColor = WHITE; // Background is white. + break; + + default: + Logger + .log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + + ++parameterIndex; + } + } + + /** + * This method responds to an ANSI Device Status Report (DSR) command from + * the remote endpoint requesting the cursor position. Requests for other + * kinds of status are ignored. + */ + protected void processAnsiCommand_n() { + // Do nothing if the numeric parameter was not 6 (which means report cursor + // position). + + if (getAnsiParameter(0) != 6) + return; + + // Send the ANSI cursor position (which is 1-based) to the remote endpoint. + + String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ + (cursorColumn + 1) + "R"; //$NON-NLS-1$ + + OutputStreamWriter streamWriter = new OutputStreamWriter(terminal + .getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ + + try { + streamWriter.write(positionReport, 0, positionReport.length()); + streamWriter.flush(); + } catch (IOException ex) { + Logger.log("Caught IOException!"); //$NON-NLS-1$ + } + } + + /** + * Deletes one or more characters starting at the current cursor position. + * Characters on the same line and to the right of the deleted characters + * move left. If there are no characters on the current line at or to the + * right of the cursor column, no text is deleted. + */ + protected void processAnsiCommand_P() { + int currentLineEndOffset; + int currentLineAbsolute = absoluteCursorLine(); + + if (currentLineAbsolute == text.getLineCount() - 1) { + // The cursor is on the bottommost line of text. + + currentLineEndOffset = text.getCharCount(); + } else { + // The cursor is not on the bottommost line of text. + + currentLineEndOffset = text + .getOffsetAtLine(currentLineAbsolute + 1) - 1; + } + + int caretOffset = text.getCaretOffset(); + int remainingCharactersOnLine = currentLineEndOffset - caretOffset; + + if (remainingCharactersOnLine > 0) { + // There are characters that can be deleted. + + int charactersToDelete = getAnsiParameter(0); + + if (charactersToDelete > remainingCharactersOnLine) + charactersToDelete = remainingCharactersOnLine; + + text.replaceTextRange(caretOffset, charactersToDelete, ""); //$NON-NLS-1$ + text.setCaretOffset(caretOffset); + } + } + + /** + * This method returns one of the numeric ANSI parameters received in the + * most recent escape sequence. + * + * @return The parameterIndexth numeric ANSI parameter or -1 if the + * index is out of range. + */ + protected int getAnsiParameter(int parameterIndex) { + if (parameterIndex < 0 || parameterIndex >= ansiParameters.length) { + // This should never happen. + return -1; + } + + String parameter = ansiParameters[parameterIndex].toString(); + + if (parameter.length() == 0) + return 1; + + int parameterValue = 1; + + // Don't trust the remote endpoint to send well formed numeric + // parameters. + + try { + parameterValue = Integer.parseInt(parameter); + } catch (NumberFormatException ex) { + parameterValue = 1; + } + + return parameterValue; + } + + /** + * This method processes a single parameter character in an ANSI escape + * sequence. Paramters are the (optional) characters between the leading + * "\e[" and the command character in an escape sequence (e.g., in the + * escape sequence "\e[20;10H", the paramter characters are "20;10"). + * Parameters are integers separated by one or more ';'s. + */ + protected void processAnsiParameterCharacter(char ch) { + if (ch == ';') { + ++nextAnsiParameter; + } else { + if (nextAnsiParameter < ansiParameters.length) + ansiParameters[nextAnsiParameter].append(ch); + } + } + + /** + * This method processes a contiguous sequence of non-control characters. + * This is a performance optimization, so that we don't have to insert or + * append each non-control character individually to the StyledText widget. + * A non-control character is any character that passes the condition in the + * below while loop. + */ + protected void processNonControlCharacters() { + int firstNonControlCharacterIndex = characterIndex; + int newTextLength = newText.length(); + char character = newText.charAt(characterIndex); + + // Identify a contiguous sequence of non-control characters, starting at + // firstNonControlCharacterIndex in newText. + + while (character != '\u0000' && character != '\b' && character != '\t' + && character != '\u0007' && character != '\n' + && character != '\r' && character != '\u001b') { + ++characterIndex; + + if (characterIndex >= newTextLength) + break; + + character = newText.charAt(characterIndex); + } + + // Move characterIndex back by one character because it gets incremented at the + // bottom of the loop in processNewText(). + + --characterIndex; + + int preDisplayCaretOffset = text.getCaretOffset(); + + // Now insert the sequence of non-control characters in the StyledText widget + // at the location of the cursor. + + displayNewText(firstNonControlCharacterIndex, characterIndex); + + // If any one of the current font style, foreground color or background color + // differs from the defaults, apply the current style to the newly displayed + // text. Since this method is only called for a contiguous sequence of + // non-control characters, the current style applies to the entire + // sequence of characters. + + if (!currentForegroundColor.equals(text.getForeground()) + || !currentBackgroundColor.equals(text.getBackground()) + || currentFontStyle != SWT.NORMAL || reverseVideo == true) { + StyleRange style = new StyleRange(preDisplayCaretOffset, text + .getCaretOffset() + - preDisplayCaretOffset, + reverseVideo ? currentBackgroundColor + : currentForegroundColor, + reverseVideo ? currentForegroundColor + : currentBackgroundColor, currentFontStyle); + + text.setStyleRange(style); + } + } + + /** + * This method displays a subset of the newly-received text in the Terminal + * view, wrapping text at the right edge of the screen and overwriting text + * when the cursor is not at the very end of the screen's text. + *

+ * + * There are never any ANSI control characters or escape sequences in the + * text being displayed by this method (this includes newlines, carriage + * returns, and tabs). + *

+ * + * @param first + * The index (within newText) of the first character to display. + * @param last + * The index (within newText) of the last character to display. + */ + protected void displayNewText(int first, int last) { + if (text.getCaretOffset() == text.getCharCount()) { + // The cursor is at the very end of the terminal's text, so we append the + // new text to the StyledText widget. + + displayNewTextByAppending(first, last); + } else { + // The cursor is not at the end of the screen's text, so we have to + // overwrite existing text. + + displayNewTextByOverwriting(first, last); + } + } + + /** + * This method displays new text by appending it to the end of the existing + * text, wrapping text that extends past the right edge of the screen. + *

+ * + * There are never any ANSI control characters or escape sequences in the + * text being displayed by this method (this includes newlines, carriage + * returns, and tabs). + *

+ * + * @param first + * The index (within newText) of the first character to display. + * @param last + * The index (within newText) of the last character to display. + */ + protected void displayNewTextByAppending(int first, int last) { + int numCharsToOutput = last - first + 1; + int availableSpaceOnLine = widthInColumns - cursorColumn; + + if (numCharsToOutput >= availableSpaceOnLine) { + // We need to wrap the text, because it's longer than the available + // space on the current line. First, appends as many characters as + // will fit in the space remaining on the current line. + // + // NOTE: We don't line wrap the text in this method the same way we line + // wrap the text in method displayNewTextByOverwriting(), but this is by far + // the most common case, and it has to run the fastest. + + text.append(newText.substring(first, first + availableSpaceOnLine)); + first += availableSpaceOnLine; + + processCarriageReturn(); + processNewline(); + + while (first <= last) { + availableSpaceOnLine = widthInColumns; + + if (availableSpaceOnLine > last - first + 1) { + text.append(newText.substring(first, last + 1)); + cursorColumn = last - first + 1; + break; + } else { + text.append(newText.substring(first, first + + availableSpaceOnLine)); + first += availableSpaceOnLine; + + processCarriageReturn(); + processNewline(); + } + } + } else { + // We don't need to wrap the text. + + text.append(newText.substring(first, last + 1)); + cursorColumn += last - first + 1; + } + } + + /** + * This method displays new text by overwriting existing text, wrapping text + * that extends past the right edge of the screen. + *

+ * + * There are never any ANSI control characters or escape sequences in the + * text being displayed by this method (this includes newlines, carriage + * returns, and tabs). + *

+ * + * @param first + * The index (within newText) of the first character to display. + * @param last + * The index (within newText) of the last character to display. + */ + protected void displayNewTextByOverwriting(int first, int last) { + // First, break new text into segments, based on where it needs to line wrap, + // so that each segment contains text that will appear on a separate + // line. + + List textSegments = new ArrayList(100); + + int availableSpaceOnLine = widthInColumns - cursorColumn; + + while (first <= last) { + String segment; + + if (last - first + 1 > availableSpaceOnLine) + segment = newText + .substring(first, first + availableSpaceOnLine); + else + segment = newText.substring(first, last + 1); + + textSegments.add(segment); + + first += availableSpaceOnLine; + availableSpaceOnLine = widthInColumns; + } + + // Next, for each segment, if the cursor is at the end of the text, append the + // segment along with a newline character. If the cursor is not at the end of + // the text, replace the next N characters starting at the cursor position with + // the segment, where N is the minimum of the length of the segment or the + // length of the rest of the current line. + + Iterator iter = textSegments.iterator(); + + while (iter.hasNext()) { + String segment = (String) iter.next(); + int caretOffset = text.getCaretOffset(); + + if (caretOffset == text.getCharCount()) { + // The cursor is at the end of the text, so just append the current + // segement along with a newline. + + text.append(segment); + + // If there is another segment to display, move the cursor to a new + // line. + + if (iter.hasNext()) { + processCarriageReturn(); + processNewline(); + } + } else { + // The cursor is not at the end of the text, so replace some or all of + // the text following the cursor on the current line with the current + // segment. + + int numCharactersAfterCursorOnLine; + + if (absoluteCursorLine() == text.getLineCount() - 1) { + // The cursor is on the last line of text. + numCharactersAfterCursorOnLine = text.getCharCount() + - caretOffset; + } else { + // The cursor is not on the last line of text. + numCharactersAfterCursorOnLine = text + .getOffsetAtLine(absoluteCursorLine() + 1) + - caretOffset - 1; + } + + int segmentLength = segment.length(); + int numCharactersToReplace; + + if (segmentLength < numCharactersAfterCursorOnLine) + numCharactersToReplace = segmentLength; + else + numCharactersToReplace = numCharactersAfterCursorOnLine; + + text.replaceTextRange(caretOffset, numCharactersToReplace, + segment); + text.setCaretOffset(caretOffset + segmentLength); + cursorColumn += segmentLength; + + // If there is another segment, move the cursor to the start of + // the + // next line. + + if (iter.hasNext()) { + cursorColumn = 0; + text.setCaretOffset(caretOffset + segmentLength + 1); + } else { + // We just inserted the last segment. If the current line is full, + // wrap the cursor onto a new line. + + if (cursorColumn == widthInColumns) { + processCarriageReturn(); + processNewline(); + } + } + } + } + } + + /** + * Process a BEL (Control-G) character. + */ + protected void processBEL() { + // ISSUE: Is there a better way to make a sound? This is not guaranteed to + // work on all platforms. + // TODO + java.awt.Toolkit.getDefaultToolkit().beep(); + } + + /** + * Process a backspace (Control-H) character. + */ + protected void processBackspace() { + moveCursorBackward(1); + } + + /** + * Process a tab (Control-I) character. We don't insert a tab character into + * the StyledText widget. Instead, we move the cursor forward to the next + * tab stop, without altering any of the text. Tab stops are every 8 + * columns. The cursor will never move past the rightmost column. + */ + protected void processTab() { + moveCursorForward(8 - (cursorColumn % 8)); + } + + /** + * Process a newline (Control-J) character. A newline (NL) character just + * moves the cursor to the same column on the next line, creating new lines + * when the cursor reaches the bottom edge of the terminal. This is + * counter-intuitive, especially to UNIX programmers who are taught that + * writing a single NL to a terminal is sufficient to move the cursor to the + * first column of the next line, as if a carriage return (CR) and a NL were + * written. + *

+ * + * UNIX terminals typically display a NL character as a CR followed by a NL + * because the terminal device typically has the ONLCR attribute bit set + * (see the termios(4) man page for details), which causes the terminal + * device driver to translate NL to CR + NL on output. The terminal itself + * (i.e., a hardware terminal or a terminal emulator, like xterm or this + * code) _always_ interprets a CR to mean "move the cursor to the beginning + * of the current line" and a NL to mean "move the cursor to the same column + * on the next line". + *

+ */ + protected void processNewline() { + int totalLines = text.getLineCount(); + int currentLineAbsolute = absoluteCursorLine(); + + if (currentLineAbsolute < totalLines - 1) { + // The cursor is not on the bottommost line of text, so we move the cursor + // to the same column on the next line. + + // TODO: If we can verify that the next character is a carriage return, we + // can optimize out the insertion of spaces that moveCursorDown() + // will do. + + moveCursorDown(1); + } else if (currentLineAbsolute == totalLines - 1) { + // The cursor is on the bottommost line of text, so we append a newline + // character to the end of the terminal's text (creating a new line on the + // screen) and insert cursorColumn spaces. + + text.append("\n"); //$NON-NLS-1$ + text.append(generateString(' ', cursorColumn)); + text.setCaretOffset(text.getCharCount()); + + // We may have scrolled a line off the top of the screen, so check + // if we + // need to delete some of the the oldest lines in the scroll buffer. + + deleteTopmostLines(); + } else { + // This should _never_ happen. If it does happen, it is a bug in this + // algorithm. + + Logger.log("SHOULD NOT BE REACHED!"); //$NON-NLS-1$ + } + } + + /** + * Process a Carriage Return (Control-M). + */ + protected void processCarriageReturn() { + // Move the cursor to the beginning of the current line. + + text.setCaretOffset(text.getOffsetAtLine(text.getLineAtOffset(text + .getCaretOffset()))); + cursorColumn = 0; + } + + /** + * This method computes the width of the terminal in columns and its height + * in lines, then adjusts the width and height of the view's StyledText + * widget so that it displays an integral number of lines and columns of + * text. The adjustment is always to shrink the widget vertically or + * horizontally, because if the control were to grow, it would be clipped by + * the edges of the view window (i.e., the view window does not become + * larger to accommodate its contents becoming larger). + *

+ * + * This method must be called immediately before each time text is written + * to the terminal so that we can properly line wrap text. Because it is + * called so frequently, it must be fast when there is no resizing to be + * done. + *

+ */ + protected void adjustTerminalDimensions() { + // Compute how many pixels we need to shrink the StyledText control vertically + // to make it display an integral number of lines of text. + + int linePixelHeight = text.getLineHeight(); + Point textWindowDimensions = text.getSize(); + int verticalPixelsToShrink = textWindowDimensions.y % linePixelHeight; + + // Compute the current height of the terminal in lines. + + heightInLines = textWindowDimensions.y / linePixelHeight; + + // Compute how many pixels we need to shrink the StyledText control to make + // it display an integral number of columns of text. We can only do this if we + // know the pixel width of a character in the font used by the StyledText + // widget. + + int horizontalPixelsToShrink = 0; + + if (characterPixelWidth == 0) + computeCharacterPixelWidth(); + + if (characterPixelWidth != 0) { + horizontalPixelsToShrink = textWindowDimensions.x + % characterPixelWidth; + + // The width of the StyledText widget that text.getSize() returns includes + // the space occupied by the vertical scrollbar, so we have to fudge this + // calculation (by subtracting 3 columns) to account for the presence of + // the scrollbar. Ugh. + + widthInColumns = textWindowDimensions.x / characterPixelWidth - 3; + } + + // If necessary, resize the text widget. + + if (verticalPixelsToShrink > 0 || horizontalPixelsToShrink > 0) { + // Remove this class instance from being a ControlListener on the + // StyledText widget, because we are about to resize and move the widget, + // and we don't want this method to be recursively invoked. + + text.removeControlListener(this); + + // Shrink the StyledText control so that it displays an integral number + // of lines of text and an integral number of columns of text. + + textWindowDimensions.y -= verticalPixelsToShrink; + textWindowDimensions.x -= horizontalPixelsToShrink; + text.setSize(textWindowDimensions); + + // Move the StyledText control down by the same number of pixels that + // we just shrank it vertically and right by the same number of pixels that + // we just shrank it horizontally. This makes the padding appear to the + // left and top of the widget, which is more visually appealing. This is + // only necessary because there is no way to programmatically shrink the + // view itself. + + Point textLocation = text.getLocation(); + textLocation.y += verticalPixelsToShrink; + textLocation.x += horizontalPixelsToShrink; + text.setLocation(textLocation); + + // Restore this class instance as the ControlListener on the StyledText + // widget so we know when the user resizes the Terminal view. + + text.addControlListener(this); + + // Make sure the exposed portion of the Composite canvas behind the + // StyledText control matches the background color of the StyledText + // control. + + Color textBackground = text.getBackground(); + text.getParent().setBackground(textBackground); + + // Scroll the StyledText widget to the bottommost position. + + text.setSelectionRange(text.getCharCount(), 0); + text.showSelection(); + + // Tell the parent object to redraw itself. This erases any partial + // line of text that might be left visible where the parent object is + // now exposed. This call only happens if the size needed to be changed, + // so it should not cause any flicker. + + text.getParent().redraw(); + } + + // If we are in a TELNET connection and we know the dimensions of the terminal, + // we give the size information to the TELNET connection object so it can + // communicate it to the TELNET server. If we are in a serial connection, + // there is nothing we can do to tell the remote host about the size of the + // terminal. + + ITerminalConnector telnetConnection = terminal.getTerminalConnection(); + + if (telnetConnection != null && widthInColumns != 0 && heightInLines != 0) { + telnetConnection.setTerminalSize(widthInColumns, heightInLines); + } + } + + /** + * This method computes the the pixel width of a character in the current + * font. The Font object representing the font in the Terminal view doesn't + * provide the pixel width of the characters (even for a fixed width font). + * Instead, we get the pixel coordinates of the upper left corner of the + * bounding boxes for two adjacent characters on the same line and subtract + * the X coordinate of one from the X coordinate of the other. Simple, no? + */ + protected void computeCharacterPixelWidth() { + // We can't assume there is any text in the terminal, so make sure there's at + // least two characters. + + text.replaceTextRange(0, 0, " "); //$NON-NLS-1$ + + Point firstCharLocation = text.getLocationAtOffset(0); + Point secondCharLocation = text.getLocationAtOffset(1); + + characterPixelWidth = secondCharLocation.x - firstCharLocation.x; + + text.replaceTextRange(0, 3, ""); //$NON-NLS-1$ + } + + /** + * This method deletes as many of the topmost lines of text as needed to + * keep the total number of lines of text in the Terminal view less than or + * equal to the limit configured in the preferences. If no limit is + * configured, this method does nothing. + */ + protected void deleteTopmostLines() { + if (!fLimitOutput) + return; + + // Compute the number of lines to delete, but don't do anything if there are + // fewer lines in the terminal than the height of the terminal in lines. + + int totalLineCount = text.getLineCount(); + + if (totalLineCount <= heightInLines) + return; + + int bufferLineLimit = fBufferLineLimit; + + // Don't allow the user to set the buffer line limit to less than the height of + // the terminal in lines. + + if (bufferLineLimit <= heightInLines) + bufferLineLimit = heightInLines + 1; + + int linesToDelete = totalLineCount - bufferLineLimit; + + // Delete the lines. A small optimization here: don't do anything unless + // there's at least 5 lines to delete. + + if (linesToDelete >= 5) + text.replaceTextRange(0, text.getOffsetAtLine(linesToDelete), ""); //$NON-NLS-1$ + } + + /** + * This method returns the absolute line number of the line containing the + * cursor. The very first line of text (even if it is scrolled off the + * screen) is absolute line number 0. + * + * @return The absolute line number of the line containing the cursor. + */ + protected int absoluteCursorLine() { + return text.getLineAtOffset(text.getCaretOffset()); + } + + /** + * This method returns the relative line number of the line comtaining the + * cursor. The returned line number is relative to the topmost visible line, + * which has relative line number 0. + * + * @return The relative line number of the line containing the cursor. + */ + protected int relativeCursorLine() { + int totalLines = text.getLineCount(); + + if (totalLines <= heightInLines) + return text.getLineAtOffset(text.getCaretOffset()); + + return absoluteCursorLine() - totalLines + heightInLines; + } + + /** + * This method converts a visible line number (i.e., line 0 is the topmost + * visible line if the terminal is scrolled all the way down, and line + * number heightInLines - 1 is the bottommost visible line if the terminal + * is scrolled all the way down) to a line number as known to the StyledText + * widget. + */ + protected int absoluteLine(int visibleLineNumber) { + int totalLines = text.getLineCount(); + + if (totalLines <= heightInLines) + return visibleLineNumber; + + return totalLines - heightInLines + visibleLineNumber; + } + + /** + * This method returns a String containing count ch + * characters. + * + * @return A String containing count ch characters. + */ + protected String generateString(char ch, int count) { + char[] chars = new char[count]; + + for (int i = 0; i < chars.length; ++i) + chars[i] = ch; + + return new String(chars); + } + + /** + * This method moves the cursor to the specified line and column. Parameter + * targetLine is the line number of a screen line, so it has a + * minimum value of 0 (the topmost screen line) and a maximum value of + * heightInLines - 1 (the bottommost screen line). A line does not have to + * contain any text to move the cursor to any column in that line. + */ + protected void moveCursor(int targetLine, int targetColumn) { + // Don't allow out of range target line and column values. + + if (targetLine < 0) + targetLine = 0; + if (targetLine >= heightInLines) + targetLine = heightInLines - 1; + + if (targetColumn < 0) + targetColumn = 0; + if (targetColumn >= widthInColumns) + targetColumn = widthInColumns - 1; + + // First, find out if we need to append newlines to the end of the text. This + // is necessary if there are fewer total lines of text than visible screen + // lines and the target line is below the bottommost line of text. + + int totalLines = text.getLineCount(); + + if (totalLines < heightInLines && targetLine >= totalLines) + text.append(generateString('\n', heightInLines - totalLines)); + + // Next, compute the offset of the start of the target line. + + int targetLineStartOffset = text + .getOffsetAtLine(absoluteLine(targetLine)); + + // Next, find how many characters are in the target line. Be careful not to + // index off the end of the StyledText widget. + + int nextLineNumber = absoluteLine(targetLine + 1); + int targetLineLength; + + if (nextLineNumber >= totalLines) { + // The target line is the bottommost line of text. + + targetLineLength = text.getCharCount() - targetLineStartOffset; + } else { + // The target line is not the bottommost line of text, so compute its + // length by subtracting the start offset of the target line from the start + // offset of the following line. + + targetLineLength = text.getOffsetAtLine(nextLineNumber) + - targetLineStartOffset - 1; + } + + // Find out if we can just move the cursor without having to insert spaces at + // the end of the target line. + + if (targetColumn >= targetLineLength) { + // The target line is not long enough to just move the cursor, so we have + // to append spaces to it before positioning the cursor. + + int spacesToAppend = targetColumn - targetLineLength; + + text.replaceTextRange(targetLineStartOffset + targetLineLength, 0, + generateString(' ', spacesToAppend)); + } + + // Now position the cursor. + + text.setCaretOffset(targetLineStartOffset + targetColumn); + + cursorColumn = targetColumn; + } + + /** + * This method moves the cursor down lines lines, but won't move the + * cursor past the bottom of the screen. This method does not cause any + * scrolling. + */ + protected void moveCursorDown(int lines) { + moveCursor(relativeCursorLine() + lines, cursorColumn); + } + + /** + * This method moves the cursor up lines lines, but won't move the + * cursor past the top of the screen. This method does not cause any + * scrolling. + */ + protected void moveCursorUp(int lines) { + moveCursor(relativeCursorLine() - lines, cursorColumn); + } + + /** + * This method moves the cursor forward columns columns, but won't + * move the cursor past the right edge of the screen, nor will it move the + * cursor onto the next line. This method does not cause any scrolling. + */ + protected void moveCursorForward(int columnsToMove) { + moveCursor(relativeCursorLine(), cursorColumn + columnsToMove); + } + + /** + * This method moves the cursor backward columnsToMove columns, but + * won't move the cursor past the left edge of the screen, nor will it move + * the cursor onto the previous line. This method does not cause any + * scrolling. + */ + protected void moveCursorBackward(int columnsToMove) { + // We don't call moveCursor() here, because this is optimized for backward + // cursor motion on a single line. + + if (columnsToMove > cursorColumn) + columnsToMove = cursorColumn; + + text.setCaretOffset(text.getCaretOffset() - columnsToMove); + + cursorColumn -= columnsToMove; + } + + protected int getBufferLineLimit() { + return fBufferLineLimit; + } + + protected void setBufferLineLimit(int bufferLineLimit) { + fBufferLineLimit = bufferLineLimit; + } + + protected boolean isLimitOutput() { + return fLimitOutput; + } + + protected void setLimitOutput(boolean limitOutput) { + fLimitOutput = limitOutput; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java new file mode 100644 index 00000000000..61d3c9a8eb3 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java @@ -0,0 +1,12 @@ +package org.eclipse.tm.terminal.internal.telnet; + +import org.eclipse.tm.terminal.ISettingsStore; + +public interface ITelnetSettings { + String getHost(); + int getNetworkPort(); + int getTimeout(); + String getStatusString(String strConnected); + void load(ISettingsStore store); + void save(ISettingsStore store); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java new file mode 100644 index 00000000000..f864c802031 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + +import java.util.ArrayList; +import java.util.List; + +public class NetworkPortMap { + public static final String PROP_NAMETGTCONST = "tgtcons"; //$NON-NLS-1$ + public static final String PROP_NAMETELNET = "telnet"; //$NON-NLS-1$ + public static final String PROP_VALUENET = "1233"; //$NON-NLS-1$ + public static final String PROP_VALUETGTCONST = "1232"; //$NON-NLS-1$ + public static final String PROP_VALUETELNET = "23"; //$NON-NLS-1$ + String[][] fPortMap=new String[][] { + // portName, port + {PROP_NAMETGTCONST, PROP_VALUETGTCONST}, + {PROP_NAMETELNET, PROP_VALUETELNET} + }; + public String getDefaultNetworkPort() { + return PROP_VALUETELNET; + } + public String findPortName(String strPort) { + for (int i = 0; i < fPortMap.length; i++) { + if(fPortMap[i][1].equals(strPort)) + return fPortMap[i][0]; + } + return null; + } + public String findPort(String strPortName) { + for (int i = 0; i < fPortMap.length; i++) { + if(fPortMap[i][0].equals(strPortName)) + return fPortMap[i][1]; + } + return null; + } + public List getNameTable() { + List names=new ArrayList(); + for (int i = 0; i < fPortMap.length; i++) { + names.add(fPortMap[i][0]); + } + return names; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java index c696786c753..da29a14ef35 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TelnetCodes.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java @@ -10,7 +10,7 @@ * *******************************************************************************/ -package org.eclipse.tm.terminal; +package org.eclipse.tm.terminal.internal.telnet; /** * This interface defines symbolic constants for numeric TELNET protocol command and diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java new file mode 100644 index 00000000000..e4b967926ba --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java @@ -0,0 +1,69 @@ +package org.eclipse.tm.terminal.internal.telnet; + +import java.net.ConnectException; +import java.net.InetSocketAddress; +import java.net.Socket; +import java.net.SocketTimeoutException; +import java.net.UnknownHostException; + +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +class TelnetConnectWorker extends Thread { + private final ITerminalControl fControl; + private final TelnetConnector fConn; + protected TelnetConnectWorker(TelnetConnector conn,ITerminalControl control) { + fControl = control; + fConn = conn; + fControl.setState(TerminalState.CONNECTING); + } + public void run() { + try { + int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; + String strHost = fConn.getTelnetSettings().getHost(); + int nPort = fConn.getTelnetSettings().getNetworkPort(); + InetSocketAddress address = new InetSocketAddress(strHost, nPort); + Socket socket=new Socket(); + + socket.connect(address, nTimeout); + + // This next call causes reads on the socket to see TCP urgent data + // inline with the rest of the non-urgent data. Without this call, TCP + // urgent data is silently dropped by Java. This is required for + // TELNET support, because when the TELNET server sends "IAC DM", the + // IAC byte is TCP urgent data. If urgent data is silently dropped, we + // only see the DM, which looks like an ISO Latin-1 '�' character. + + socket.setOOBInline(true); + + fConn.setSocket(socket); + + TelnetConnection connection=new TelnetConnection(fConn, socket); + socket.setKeepAlive(true); + fConn.setTelnetConnection(connection); + connection.start(); + fControl.setState(TerminalState.CONNECTED); + + } catch (UnknownHostException ex) { + String txt="Unknown host: " + ex.getMessage(); //$NON-NLS-1$ + connectFailed(txt,"Unknown host: " + ex.getMessage() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } catch (SocketTimeoutException socketTimeoutException) { + connectFailed(socketTimeoutException.getMessage(), "Connection Error!\n" + socketTimeoutException.getMessage()); //$NON-NLS-1$ + } catch (ConnectException connectException) { + connectFailed(connectException.getMessage(),"Connection refused!"); //$NON-NLS-1$ + } catch (Exception exception) { + Logger.logException(exception); + + connectFailed(exception.getMessage(),""); //$NON-NLS-1$ + } + } + + private void connectFailed(String terminalText, String msg) { + Logger.log(terminalText); + fControl.displayTextInTerminal(terminalText); + fConn.cleanSocket(); + fControl.setState(TerminalState.CLOSED); + fControl.setMsg(msg); + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java new file mode 100644 index 00000000000..ec5d3082a35 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java @@ -0,0 +1,684 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; +import java.net.SocketException; + +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +/** + * This class encapsulates a TELNET connection to a remote server. It processes + * incoming TELNET protocol data and generates outbound TELNET protocol data. It + * also manages two sets of TelnetOption objects: one for the local endpoint and + * one for the remote endpoint. + *

+ * + * IMPORTANT: Understanding this code requires understanding the TELNET protocol + * and TELNET option processing, as defined in the RFCs listed below. + *

+ * + * @author Fran Litterio (francis.litterio@windriver.com) + * + * @see RFC 854 + * @see RFC 855 + * @see RFC 856 + * @see RFC 857 + * @see RFC 858 + * @see RFC 859 + * @see RFC 860 + * @see RFC 861 + * @see RFC 1091 + * @see RFC 1096 + * @see RFC 1073 + * @see RFC 1079 + * @see RFC 1143 + * @see RFC 1572 + */ +public class TelnetConnection extends Thread implements TelnetCodes { + /** + * TELNET connection state: Initial state. + */ + protected static final int STATE_INITIAL = 0; + + /** + * TELNET connection state: Last byte processed was IAC code. code. + */ + protected static final int STATE_IAC_RECEIVED = 1; + + /** + * TELNET connection state: Last byte processed was WILL code. code. + */ + protected static final int STATE_WILL_RECEIVED = 2; + + /** + * TELNET connection state: Last byte processed was WONT code. + */ + protected static final int STATE_WONT_RECEIVED = 3; + + /** + * TELNET connection state: Last byte processed was DO code. + */ + protected static final int STATE_DO_RECEIVED = 4; + + /** + * TELNET connection state: Last byte processed was DONT code. + */ + protected static final int STATE_DONT_RECEIVED = 5; + + /** + * TELNET connection state: Last byte processed was SB. + */ + protected static final int STATE_SUBNEGOTIATION_STARTED = 6; + + /** + * TELNET connection state: Currently receiving sub-negotiation data. + */ + protected static final int STATE_RECEIVING_SUBNEGOTIATION = 7; + + /** + * Size of buffer for processing data received from remote endpoint. + */ + protected static final int BUFFER_SIZE = 2048; + + /** + * Holds raw bytes received from the remote endpoint, prior to any TELNET + * protocol processing. + */ + protected byte[] rawBytes = new byte[BUFFER_SIZE]; + + /** + * Holds incoming network data after the TELNET protocol bytes have been + * processed and removed. + */ + protected byte[] processedBytes = new byte[BUFFER_SIZE]; + + /** + * This field holds a StringBuffer containing text recently received from + * the remote endpoint (after all TELNET protocol bytes have been processed + * and removed). + */ + protected StringBuffer processedStringBuffer = new StringBuffer(BUFFER_SIZE); + + /** + * Holds the current state of the TELNET protocol processor. + */ + protected int telnetState = STATE_INITIAL; + + /** + * This field is true if the remote endpoint is a TELNET server, false if + * not. We set this to true if and only if the remote endpoint sends + * recognizable TELNET protocol data. We do not assume that the remote + * endpoint is a TELNET server just because it is listening on port 23. This + * allows us to successfully connect to a TELNET server listening on a port + * other than 23. + *

+ * + * When this field first changes from false to true, we send all WILL or DO + * commands to the remote endpoint. + *

+ * + * @see #telnetServerDetected() + */ + protected boolean remoteIsTelnetServer = false; + + /** + * An array of TelnetOption objects representing the local endpoint's TELNET + * options. The array is indexed by the numeric TELNET option code. + */ + protected TelnetOption[] localOptions = new TelnetOption[256]; + + /** + * An array of TelnetOption objects representing the remote endpoint's + * TELNET options. The array is indexed by the numeric TELNET option code. + */ + protected TelnetOption[] remoteOptions = new TelnetOption[256]; + + /** + * An array of bytes that holds the TELNET subnegotiation command most + * recently received from the remote endpoint. This array does _not_ include + * the leading IAC SB bytes, nor does it include the trailing IAC SE bytes. + * The first byte of this array is always a TELNET option code. + */ + protected byte[] receivedSubnegotiation = new byte[128]; + + /** + * This field holds the index into array {@link receivedSubnegotiation} of + * the next unused byte. This is used by method + * {@link #processTelnetProtocol(int)} when the state machine is in states + * {@link #STATE_SUBNEGOTIATION_STARTED} and {@link + * STATE_RECEIVING_SUBNEGOTIATION}. + */ + protected int nextSubnegotiationByteIndex = 0; + + /** + * This field is true if an error occurs while processing a subnegotiation + * command. + * + * @see #processTelnetProtocol(int) + */ + protected boolean ignoreSubnegotiation = false; + + /** + * This field holds the width of the Terminal screen in columns. + */ + protected int width = 0; + + /** + * This field holds the height of the Terminal screen in rows. + */ + protected int height = 0; + + /** + * This field holds a reference to the {@link ITerminalControl} singleton. + */ + protected TelnetConnector terminalControl; + + /** + * This method holds the Socket object for the TELNET connection. + */ + protected Socket socket; + + /** + * This field holds a reference to an {@link InputStream} object used to + * receive data from the remote endpoint. + */ + protected InputStream inputStream; + + /** + * This field holds a reference to an {@link OutputStream} object used to + * send data to the remote endpoint. + */ + protected OutputStream outputStream; + + /** + * UNDER CONSTRUCTION + */ + protected boolean localEcho = true; + + /** + * This constructor just initializes some internal object state from its + * arguments. + */ + public TelnetConnection(TelnetConnector terminalControl, Socket socket) throws IOException { + super(); + + Logger.log("entered"); //$NON-NLS-1$ + + this.terminalControl = terminalControl; + this.socket = socket; + + inputStream = socket.getInputStream(); + outputStream = socket.getOutputStream(); + + initializeOptions(); + } + + /** + * Returns true if the TCP connection represented by this object is + * connected, false otherwise. + */ + public boolean isConnected() { + return socket != null && socket.isConnected(); + } + + /** + * Returns true if the TCP connection represented by this object is + * connected and the remote endpoint is a TELNET server, false otherwise. + */ + public boolean isRemoteTelnetServer() { + return remoteIsTelnetServer; + } + + /** + * This method sets the terminal width and height to the supplied values. If + * either new value differs from the corresponding old value, we initiate a + * NAWS subnegotiation to inform the remote endpoint of the new terminal + * size. + */ + public void setTerminalSize(int newWidth, int newHeight) { + Logger.log("Setting new size: width = " + newWidth + ", height = " + newHeight); //$NON-NLS-1$ //$NON-NLS-2$ + if (!isConnected() || !isRemoteTelnetServer()) + return; + boolean sizeChanged = false; + + if (newWidth != width || newHeight != height) + sizeChanged = true; + + width = newWidth; + height = newHeight; + + if (sizeChanged && remoteIsTelnetServer && localOptions[TELNET_OPTION_NAWS].isEnabled()) { + Integer[] sizeData = { new Integer(width), new Integer(height) }; + + localOptions[TELNET_OPTION_NAWS].sendSubnegotiation(sizeData); + } + } + + /** + * Returns true if local echoing is enabled for this TCP connection, false + * otherwise. + */ + public boolean localEcho() { + return localEcho; + } + + private void writeToTerminal(String string) { + terminalControl.writeToTerminal(string); + } + + /** + * This method runs in its own thread. It reads raw bytes from the TELNET + * connection socket, processes any TELNET protocol bytes (and removes + * them), and passes the remaining bytes to a TerminalDisplay object for + * display. + */ + public void run() { + Logger.log("Entered"); //$NON-NLS-1$ + + try { + while (socket.isConnected()) { + int nRawBytes = inputStream.read(rawBytes); + + if (nRawBytes == -1) { + // End of input on inputStream. + Logger.log("End of input reading from socket!"); //$NON-NLS-1$ + + // Announce to the user that the remote endpoint has closed the + // connection. + + writeToTerminal("\r"+TelnetMessages.CONNECTION_CLOSED_BY_FOREIGN_HOST+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + + // Tell the ITerminalControl object that the connection is + // closed. + terminalControl.setState(TerminalState.CLOSED); + break; + } else { + Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ + new String(rawBytes, 0, nRawBytes) + "'"); //$NON-NLS-1$ + + // Process any TELNET protocol data that we receive. Don't + // send any TELNET protocol data until we are sure the remote + // endpoint is a TELNET server. + + int nProcessedBytes = processTelnetProtocol(nRawBytes); + + if (nProcessedBytes > 0) { + writeToTerminal(new String(processedBytes, 0, nProcessedBytes)); + } + } + } + } catch (SocketException ex) { + String message = ex.getMessage(); + + // A "socket closed" exception is normal here. It's caused by the + // user clicking the disconnect button on the Terminal view toolbar. + + if (message != null && !message.equals("socket closed")) //$NON-NLS-1$ + { + Logger.logException(ex); + } + } catch (Exception ex) { + Logger.logException(ex); + } + } + + /** + * This method initializes the localOptions[] and remoteOptions[] arrays so + * that they contain references to TelnetOption objects representing our + * desired state for each option. The goal is to achieve server-side + * echoing, suppression of Go Aheads, and to send the local terminal type + * and size to the remote endpoint. + */ + protected void initializeOptions() { + // First, create all the TelnetOption objects in the "undesired" state. + + for (int i = 0; i < localOptions.length; ++i) { + localOptions[i] = new TelnetOption((byte) i, false, true, outputStream); + } + + for (int i = 0; i < localOptions.length; ++i) { + remoteOptions[i] = new TelnetOption((byte) i, false, false, outputStream); + } + + // Next, set some of the options to the "desired" state. The options we + // desire to be enabled are as follows: + // + // TELNET Option Desired for Desired for + // Name and Code Local Endpoint Remote Endpoint + // --------------------- -------------- --------------- + // Echo (1) No Yes + // Suppress Go Ahead (3) Yes Yes + // Terminal Type (24) Yes Yes + // NAWS (31) Yes Yes + // + // All other options remain in the "undesired" state, and thus will be + // disabled (since either endpoint can force any option to be disabled by simply + // answering WILL with DONT and DO with WONT). + + localOptions[TELNET_OPTION_ECHO].setDesired(false); + remoteOptions[TELNET_OPTION_ECHO].setDesired(true); + + localOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); + remoteOptions[TELNET_OPTION_SUPPRESS_GA].setDesired(true); + + localOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); + remoteOptions[TELNET_OPTION_TERMINAL_TYPE].setDesired(true); + + localOptions[TELNET_OPTION_NAWS].setDesired(true); + remoteOptions[TELNET_OPTION_NAWS].setDesired(true); + } + + /** + * Process TELNET protocol data contained in the first count bytes + * of rawBytes. This function preserves its state between calls, + * because a multi-byte TELNET command might be split between two (or more) + * calls to this function. The state is preserved in field telnetState. + * This function implements an FSA that recognizes TELNET option codes. + * TELNET option state is stored in instances of {@link TelnetOption}. + * TELNET option subnegotiation is delegated to instances of TelnetOption. + * + * @return The number of bytes remaining in the buffer after removing all + * TELNET protocol bytes. + */ + protected int processTelnetProtocol(int count) { + // This is too noisy to leave on all the time. + // Logger.log("Processing " + count + " bytes of data."); + + int nextProcessedByte = 0; + + for (int byteIndex = 0; byteIndex < count; ++byteIndex) { + // It is possible for control to flow through the below code such + // that nothing happens. This happens when array rawBytes[] contains no + // TELNET protocol data. + + byte inputByte = rawBytes[byteIndex]; + + switch (telnetState) { + case STATE_INITIAL: + if (inputByte == TELNET_IAC) { + telnetState = STATE_IAC_RECEIVED; + } else { + // It's not an IAC code, so just append it to + // processedBytes. + + processedBytes[nextProcessedByte++] = rawBytes[byteIndex]; + } + break; + + case STATE_IAC_RECEIVED: + switch (inputByte) { + case TELNET_IAC: + // Two IAC bytes in a row are translated into one byte with + // the + // value 0xff. + + processedBytes[nextProcessedByte++] = (byte) 0xff; + telnetState = STATE_INITIAL; + break; + + case TELNET_WILL: + telnetState = STATE_WILL_RECEIVED; + break; + + case TELNET_WONT: + telnetState = STATE_WONT_RECEIVED; + break; + + case TELNET_DO: + telnetState = STATE_DO_RECEIVED; + break; + + case TELNET_DONT: + telnetState = STATE_DONT_RECEIVED; + break; + + case TELNET_SB: + telnetState = STATE_SUBNEGOTIATION_STARTED; + break; + + // Commands to consume and ignore. + + // Data Mark (DM). This is sent by a TELNET server following an + // IAC sent as TCP urgent data. It should cause the client to + // skip all not yet processed non-TELNET-protocol data preceding the + // DM byte. However, Java 1.4.x has no way to inform clients of + // class Socket that urgent data is available, so we simply ignore the + // "IAC DM" command. Since the IAC is sent as TCP urgent data, + // the Socket must be put into OOB-inline mode via a call to + // setOOBInline(true), otherwise the IAC is silently dropped by + // Java and only the DM arrives (leaving the user to see a + // spurious ISO Latin-1 character). + case TELNET_DM: + + case TELNET_NOP: // No-op. + case TELNET_GA: // Go Ahead command. Meaningless on a full-duplex link. + case TELNET_IP: // Interupt Process command. Server should never send this. + case TELNET_AO: // Abort Output command. Server should never send this. + case TELNET_AYT: // Are You There command. Server should never send this. + case TELNET_EC: // Erase Character command. Server should never send this. + case TELNET_EL: // Erase Line command. Server should never send this. + telnetState = STATE_INITIAL; + break; + + default: + // Unrecognized command! This should never happen. + Logger.log("processTelnetProtocol: UNRECOGNIZED TELNET PROTOCOL COMMAND: " + //$NON-NLS-1$ + inputByte); + telnetState = STATE_INITIAL; + break; + } + break; + + // For the next four cases, WILL and WONT commands affect the state + // of remote options, and DO and DONT commands affect the state of + // local options. + + case STATE_WILL_RECEIVED: + Logger.log("Received WILL " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[inputByte].handleWill(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_WONT_RECEIVED: + Logger.log("Received WONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[inputByte].handleWont(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_DO_RECEIVED: + Logger.log("Received DO " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[inputByte].handleDo(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_DONT_RECEIVED: + Logger.log("Received DONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[inputByte].handleDont(); + telnetState = STATE_INITIAL; + telnetServerDetected(); + break; + + case STATE_SUBNEGOTIATION_STARTED: + Logger.log("Starting subnegotiation for option " + //$NON-NLS-1$ + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ + + // First, zero out the array of received subnegotiation butes. + + for (int i = 0; i < receivedSubnegotiation.length; ++i) + receivedSubnegotiation[i] = 0; + + // Forget about any previous subnegotiation errors. + + ignoreSubnegotiation = false; + + // Then insert this input byte into the array and enter state + // STATE_RECEIVING_SUBNEGOTIATION, where we will gather the + // remaining subnegotiation bytes. + + nextSubnegotiationByteIndex = 0; + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + telnetState = STATE_RECEIVING_SUBNEGOTIATION; + break; + + case STATE_RECEIVING_SUBNEGOTIATION: + if (inputByte == TELNET_IAC) { + // Handle double IAC bytes. From RFC 855: "if parameters + // in an option 'subnegotiation' include a byte with a value + // of 255, it is necessary to double this byte in accordance + // the general TELNET rules." + + if (nextSubnegotiationByteIndex > 0 + && receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) { + // The last input byte we received in this + // subnegotiation was IAC, so this is a double IAC. Leave the previous IAC + // in the receivedSubnegotiation[] array and drop the current + // one (thus translating a double IAC into a single IAC). + + Logger.log("Double IAC in subnegotiation translated into single IAC."); //$NON-NLS-1$ + break; + } + + // Append the IAC byte to receivedSubnegotiation[]. If there + // is no room for the IAC byte, it overwrites the last byte, + // because we need to know when the subnegotiation ends, and that is + // marked by an "IAC SE" command. + + if (nextSubnegotiationByteIndex < receivedSubnegotiation.length) { + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + } else { + receivedSubnegotiation[receivedSubnegotiation.length - 1] = inputByte; + } + break; + } + + // Handle an "IAC SE" command, which marks the end of the + // subnegotiation. An SE byte by itself might be a legitimate + // part of the subnegotiation data, so don't do anything unless the SE + // is immediately preceded by an IAC. + + if (inputByte == TELNET_SE && receivedSubnegotiation[nextSubnegotiationByteIndex - 1] == TELNET_IAC) { + Logger.log("Found SE code marking end of subnegotiation."); //$NON-NLS-1$ + + // We are done receiving the subnegotiation command. Now + // process it. We always use the option object stored in array + // localOptions[] to process the received subnegotiation. + // This is an arbitrary decision, but it is sufficient for handling + // options TERMINAL-TYPE and NAWS, which are the only options that + // we subnegotiate (presently). If, in the future,subnegotiations + // need to be handled by option objects stored in both + // localOptions[] and remoteOptions[], then some mechanism + // to choose the correct option object must be implemented. + // + // Also, if ignoreSubnegotiation is true, there was an error + // while receiving the subnegotiation, so we must not process the + // command, and instead just return to the initial state. + + if (!ignoreSubnegotiation) { + // Remove the trailing IAC byte from + // receivedSubnegotiation[]. + + receivedSubnegotiation[nextSubnegotiationByteIndex - 1] = 0; + + int subnegotiatedOption = receivedSubnegotiation[0]; + + localOptions[subnegotiatedOption].handleSubnegotiation(receivedSubnegotiation, + nextSubnegotiationByteIndex); + } else { + Logger.log("NOT CALLING handleSubnegotiation() BECAUSE OF ERRORS!"); //$NON-NLS-1$ + } + + // Return to the initial state. + + telnetState = STATE_INITIAL; + } + + // Check whether the receivedSubnegotiation[] array is full. + + if (nextSubnegotiationByteIndex >= receivedSubnegotiation.length) { + // This should not happen. Array receivedSubnegotiation can + // hold 128 bytes, and no TELNET option that we perform + // subnegotiation for requires that many bytes in a subnegotiation command. + // In the interest of robustness, we handle this case by ignoring all + // remaining subnegotiation bytes until we receive the IAC SE + // command that ends the subnegotiation. Also, we set + // ignoreSubnegotiation to true to prevent a call to + // handleSubnegotiation() when the IAC SE command arrives. + + Logger.log("SUBNEGOTIATION BUFFER FULL!"); //$NON-NLS-1$ + ignoreSubnegotiation = true; + } else { + Logger.log("Recording subnegotiation byte " + (inputByte & 0xff)); //$NON-NLS-1$ + + receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; + } + break; + + default: + // This should _never_ happen! If it does, it means there is a + // bug in this FSA. For robustness, we return to the initial state. + + Logger.log("INVALID TELNET STATE: " + telnetState); //$NON-NLS-1$ + telnetState = STATE_INITIAL; + break; + } + } + + // Return the number of bytes of processed data (i.e., number of bytes + // of raw data minus TELNET control bytes). This value can be zero. + + return nextProcessedByte; + } + + /** + * This method is called whenever we receive a valid TELNET protocol command + * from the remote endpoint. When it is called for the first time for this + * connection, we negotiate all options that we desire to be enabled. + *

+ * + * This method does not negotiate options that we do not desire to be + * enabled, because all options are initially disabled. + *

+ */ + protected void telnetServerDetected() { + if (!remoteIsTelnetServer) { + // This block only executes once per TelnetConnection instance. + + localEcho = false; + + Logger.log("Detected TELNET server."); //$NON-NLS-1$ + + remoteIsTelnetServer = true; + + for (int i = 0; i < localOptions.length; ++i) { + if (localOptions[i].isDesired()) { + localOptions[i].negotiate(); + } + } + + for (int i = 0; i < remoteOptions.length; ++i) { + if (remoteOptions[i].isDesired()) { + remoteOptions[i].negotiate(); + } + } + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java new file mode 100644 index 00000000000..dbbeb176736 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java @@ -0,0 +1,144 @@ +/** + * + */ +package org.eclipse.tm.terminal.internal.telnet; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.Socket; + +import org.eclipse.tm.terminal.ISettingsPage; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +public class TelnetConnector implements ITerminalConnector { + private OutputStream fOutputStream; + private InputStream fInputStream; + private Socket fSocket; + private ITerminalControl fControl; + private TelnetConnection fTelnetConnection; + private final TelnetSettings fSettings; + public TelnetConnector() { + this(new TelnetSettings()); + } + public String getId() { + return getClass().getName(); + } + public TelnetConnector(TelnetSettings settings) { + fSettings=settings; + } + public void connect(ITerminalControl control) { + Logger.log("entered."); //$NON-NLS-1$ + fControl=control; + TelnetConnectWorker worker = new TelnetConnectWorker(this,control); + worker.start(); + } + public void disconnect() { + Logger.log("entered."); //$NON-NLS-1$ + + if (getSocket() != null) { + try { + getSocket().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + if (getInputStream() != null) { + try { + getInputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + if (getOutputStream() != null) { + try { + getOutputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + cleanSocket(); + setState(TerminalState.CLOSED); + } + public boolean isLocalEcho() { + if(fTelnetConnection!=null) + return false; + return fTelnetConnection.localEcho(); + } + public void setTerminalSize(int newWidth, int newHeight) { + if(fTelnetConnection!=null) + fTelnetConnection.setTerminalSize(newWidth, newHeight); + + } + public InputStream getInputStream() { + return fInputStream; + } + public OutputStream getOutputStream() { + return fOutputStream; + } + private void setInputStream(InputStream inputStream) { + fInputStream = inputStream; + } + private void setOutputStream(OutputStream outputStream) { + fOutputStream = outputStream; + } + Socket getSocket() { + return fSocket; + } + + /** + * sets the socket to null + */ + void cleanSocket() { + fSocket=null; + setInputStream(null); + setOutputStream(null); + } + + void setSocket(Socket socket) throws IOException { + if(socket==null) { + cleanSocket(); + } else { + fSocket = socket; + setInputStream(socket.getInputStream()); + setOutputStream(socket.getOutputStream()); + } + + } + public void setTelnetConnection(TelnetConnection connection) { + fTelnetConnection=connection; + } + public void writeToTerminal(String txt) { + fControl.writeToTerminal(txt); + + } + public void setState(TerminalState state) { + fControl.setState(state); + + } + public ITelnetSettings getTelnetSettings() { + return fSettings; + } + public ISettingsPage makeSettingsPage() { + return new TelnetSettingsPage(fSettings); + } + public String getStatusString(String strConnected) { + return fSettings.getStatusString(strConnected); + } + public void load(ISettingsStore store) { + fSettings.load(store); + + } + public void save(ISettingsStore store) { + fSettings.save(store); + } + public boolean isInstalled() { + return true; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java new file mode 100644 index 00000000000..793ec7e7202 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + +import org.eclipse.osgi.util.NLS; + +public class TelnetMessages extends NLS { + static { + NLS.initializeMessages(TelnetMessages.class.getName(), TelnetMessages.class); + } + public static String CONNTYPE_NETWORK; + public static String PORT; + public static String HOST; + public static String CONNECTION_CLOSED_BY_FOREIGN_HOST; + public static String TIMEOUT; + + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties new file mode 100644 index 00000000000..1ad647e083e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +CONNTYPE_NETWORK = Network +PORT = Port +HOST = Host +CONNECTION_CLOSED_BY_FOREIGN_HOST= Connection closed by foreign host. +TIMEOUT = Timeout diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java new file mode 100644 index 00000000000..5e6ebb4eeeb --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java @@ -0,0 +1,698 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + + +package org.eclipse.tm.terminal.internal.telnet; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.Date; + +import org.eclipse.tm.terminal.Logger; + +/** + * This class represents a single TELNET protocol option at one endpoint of a TELNET + * connection. This class encapsulates the endpoint associated with the option (local + * or remote), the current state of the option (enabled or disabled), the desired state + * of the option, the current state of the negotiation, an OutputStream that allows + * communication with the remote endpoint, and the number of negotiations that have + * started within this connection.

+ * + * In addition to encapsulating the above state, this class performs option negotiation + * to attempt to achieve the desired option state. For some options, this class also + * performs option sub-negotiation.

+ * + * IMPORTANT: Understanding this code requires understanding the TELNET protocol and + * TELNET option processing.

+ * + * @author Fran Litterio (francis.litterio@windriver.com) + */ +class TelnetOption implements TelnetCodes +{ + /** + * This array of Strings maps an integer TELNET option code value to the symbolic + * name of the option. Array elements of the form "?" represent unassigned option + * values. + */ + protected static final String[] optionNames = + { + "BINARY", // 0 //$NON-NLS-1$ + "ECHO", // 1 //$NON-NLS-1$ + "RECONNECTION", // 2 //$NON-NLS-1$ + "SUPPRESS GO AHEAD", // 3 //$NON-NLS-1$ + "MSG SIZE NEGOTIATION", // 4 //$NON-NLS-1$ + "STATUS", // 5 //$NON-NLS-1$ + "TIMING MARK", // 6 //$NON-NLS-1$ + "REMOTE CTRL TRANS+ECHO", // 7 //$NON-NLS-1$ + "OUTPUT LINE WIDTH", // 8 //$NON-NLS-1$ + "OUTPUT PAGE SIZE", // 9 //$NON-NLS-1$ + "OUTPUT CR DISPOSITION", // 10 //$NON-NLS-1$ + "OUTPUT HORIZ TABSTOPS", // 11 //$NON-NLS-1$ + "OUTPUT HORIZ TAB DISPOSITION", // 12 //$NON-NLS-1$ + "OUTPUT FORMFEED DISPOSITION", // 13 //$NON-NLS-1$ + "OUTPUT VERTICAL TABSTOPS", // 14 //$NON-NLS-1$ + "OUTPUT VT DISPOSITION", // 15 //$NON-NLS-1$ + "OUTPUT LF DISPOSITION", // 16 //$NON-NLS-1$ + "EXTENDED ASCII", // 17 //$NON-NLS-1$ + "LOGOUT", // 18 //$NON-NLS-1$ + "BYTE MACRO", // 19 //$NON-NLS-1$ + "DATA ENTRY TERMINAL", // 20 //$NON-NLS-1$ + "SUPDUP", // 21 //$NON-NLS-1$ + "SUPDUP OUTPUT", // 22 //$NON-NLS-1$ + "SEND LOCATION", // 23 //$NON-NLS-1$ + "TERMINAL TYPE", // 24 //$NON-NLS-1$ + "END OF RECORD", // 25 //$NON-NLS-1$ + "TACACS USER IDENTIFICATION", // 26 //$NON-NLS-1$ + "OUTPUT MARKING", // 27 //$NON-NLS-1$ + "TERMINAL LOCATION NUMBER", // 28 //$NON-NLS-1$ + "3270 REGIME", // 29 //$NON-NLS-1$ + "X.3 PAD", // 30 //$NON-NLS-1$ + "NEGOTIATE ABOUT WINDOW SIZE", // 31 //$NON-NLS-1$ + "TERMINAL SPEED", // 32 //$NON-NLS-1$ + "REMOTE FLOW CONTROL", // 33 //$NON-NLS-1$ + "LINEMODE", // 34 //$NON-NLS-1$ + "X DISPLAY LOCATION", // 35 //$NON-NLS-1$ + "ENVIRONMENT OPTION", // 36 //$NON-NLS-1$ + "AUTHENTICATION OPTION", // 37 //$NON-NLS-1$ + "ENCRYPTION OPTION", // 38 //$NON-NLS-1$ + "NEW ENVIRONMENT OPTION", // 39 //$NON-NLS-1$ + "TN3270E", // 40 //$NON-NLS-1$ + "XAUTH", // 41 //$NON-NLS-1$ + "CHARSET", // 42 //$NON-NLS-1$ + "REMOTE SERIAL PORT", // 43 //$NON-NLS-1$ + "COM PORT CONTROL OPTION", // 44 //$NON-NLS-1$ + "SUPPRESS LOCAL ECHO", // 45 //$NON-NLS-1$ + "START TLS", // 46 //$NON-NLS-1$ + "KERMIT", // 47 //$NON-NLS-1$ + "SEND URL", // 48 //$NON-NLS-1$ + "FORWARD X", // 49 //$NON-NLS-1$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 50 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", // ... 137 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ + "TELOPT PRAGMA LOGON", // 138 //$NON-NLS-1$ + "TELOPT SSPI LOGON", // 139 //$NON-NLS-1$ + "TELOPT PRAGMA HEARTBEAT", // 140 //$NON-NLS-1$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", // 141 ... //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", "?", "?", "?", "?", "?", "?", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ + "?", "?", "?", "?", // ... 254 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + "EXTENDED OPTIONS LIST" // 255 //$NON-NLS-1$ + }; + + /** + * Negotiation state: Negotiation not yet started for this option.

+ * + * This constant and the others having similar names represent the states of a + * finite state automaton (FSA) that tracks the negotiation state of this option. + * The initial state is NEGOTIATION_NOT_STARTED. The state machine is as follows + * (with transitions labelled with letters in parentheses):

+ * + *

+     *     NEGOTIATION_NOT_STARTED -----> {@link #NEGOTIATION_IN_PROGRESS}
+     *                         |    (A)      |        ^
+     *                      (C)|          (B)|        |(D)
+     *                         |             V        |
+     *                         +--------> {@link #NEGOTIATION_DONE}
+     * 

+ * + * Once the FSA leaves state NEGOTIATION_NOT_STARTED, it never returns to that + * state. Transition A happens when the local endpoint sends an option command + * before receiving a command for the same option from the remote endpoint.

+ * + * Transition B happens when the local endpoint receives a reply to an option + * command sent earlier by the local endpoint. Receipt of that reply terminates + * the negotiation.

+ * + * Transition D happens after negotiation is done and "something changes" (see the + * RFCs for the definition of "something changes"). Either endpoint can + * re-negotiate an option after a previous negotiation, but only if some external + * influence (such as the user or the OS) causes it to do so. Re-negotiation must + * start more than {@link #NEGOTIATION_IGNORE_DURATION} milliseconds after the FSA + * enters state NEGOTIATION_DONE or it will be ignored. This is how this client + * prevents negotiation loops.

+ * + * Transition C happens when the local endpoint receives an option command from the + * remote endpoint before sending a command for the same option. In that case, the + * local endpoint replies immediately with an option command and the negotitation + * terminates.

+ * + * Some TELNET servers (e.g., the Solaris server), after sending WILL and receiving + * DONT, will reply with a superfluous WONT. Any such superfluous option command + * received from the remote endpoint while the option's FSA is in state + * {@link #NEGOTIATION_DONE} will be ignored by the local endpoint. + */ + protected static final int NEGOTIATION_NOT_STARTED = 0; + + /** Negotiation state: Negotiation is in progress for this option. */ + protected static final int NEGOTIATION_IN_PROGRESS = 1; + + /** Negotiation state: Negotiation has terminated for this option. */ + protected static final int NEGOTIATION_DONE = 2; + + /** + * The number of milliseconds following the end of negotiation of this option + * before which the remote endpoint can re-negotiate the option. Any option + * command received from the remote endpoint before this time passes is ignored. + * This is used to prevent option negotiation loops. + * + * @see #ignoreNegotiation() + * @see #negotiationCompletionTime + */ + protected static final int NEGOTIATION_IGNORE_DURATION = 30000; + + /** + * This field holds the current negotiation state for this option. + */ + protected int negotiationState = NEGOTIATION_NOT_STARTED; + + /** + * This field holds the time when negotiation of this option most recently + * terminated (i.e., entered state {@link #NEGOTIATION_DONE}). This is used to + * determine whether an option command received from the remote endpoint after + * negotiation has terminated for this option is to be ignored or interpreted as + * the start of a new negotiation. + * + * @see #NEGOTIATION_IGNORE_DURATION + */ + protected Date negotiationCompletionTime = new Date(0); + + /** + * Holds the total number of negotiations that have completed for this option. + */ + protected int negotiationCount = 0; + + /** + * Holds the integer code representing the option. + */ + protected byte option = 0; + + /** + * Holds the OutputStream object that allows data to be sent to the remote endpoint + * of the TELNET connection. + */ + protected OutputStream outputStream; + + /** + * True if this option is for the local endpoint, false for the remote endpoint. + */ + protected boolean local = true; + + /** + * This field is true if the option is enabled, false if it is disabled. All + * options are initially disabled until they are negotiated to be enabled.

+ */ + protected boolean enabled = false; + + /** + * This field is true if the client desires the option to be enabled, false if the + * client desires the option to be disabled. This field does not represent the + * remote's endpoints desire (as expressed via WILL and WONT commands) -- it + * represnet the local endpoint's desire.

+ * + * @see #setDesired(boolean) + */ + protected boolean desired = false; + + /** + * Constructor.

+ * + * @param option The integer code of this option. + * @param desired Whether we desire this option to be enabled. + * @param local Whether this option is for the local or remote endpoint. + * @param outputStream A stream used to negotiate with the remote endpoint. + */ + TelnetOption(byte option, boolean desired, boolean local, + OutputStream outputStream) { + this.option = option; + this.desired = desired; + this.local = local; + this.outputStream = outputStream; + } + + /** + * @return Returns a String containing the name of the TELNET option specified in + * parameter option. + */ + public String optionName() { + return optionNames[option]; + } + + /** + * Returns true if this option is enabled, false if it is disabled.

+ * + * @return Returns true if this option is enabled, false if it is disabled. + */ + public boolean isEnabled() { + return enabled; + } + + /** + * Enables this option if newValue is true, otherwise disables this + * option.

+ * + * @param newValue True if this option is to be enabled, false otherwise. + */ + public void setEnabled(boolean newValue) { + Logger.log("Enabling " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + optionName()); + enabled = newValue; + } + + /** + * Returns true if the local endpoint desires this option to be enabled, false if + * not. It is not an error for the value returned by this method to differ from + * the value returned by isEnabled(). The value returned by this method can change + * over time, reflecting the local endpoint's changing desire regarding the + * option.

+ * + * NOTE: Even if this option represents a remote endpoint option, the return value + * of this method represents the local endpint's desire regarding the remote + * option.

+ * + * @return Returns true if the local endpoint desires this option to be enabled, + * false if not. + */ + public boolean isDesired() { + return desired; + } + + /** + * Sets our desired value for this option. Note that the option can be desired + * when enabled is false, and the option can be undesired when + * enabled is true, though the latter state should not persist, since either + * endpoint can disable any option at any time.

+ * + * @param newValue True if we desire this option to be enabled, false if + * we desire this option to be disabled. + */ + public void setDesired(boolean newValue) { + if (newValue) + Logger.log("Setting " + (local ? "local" : "remote") + " option " + //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + optionName() + " as desired."); //$NON-NLS-1$ + + desired = newValue; + } + + /** + * Call this method to request that negotiation begin for this option. This method + * does nothing if negotiation for this option has already started or is already + * complete. If negotiation has not yet started for this option and the local + * endpoint desires this option to be enabled, then we send a WILL or DO command to + * the remote endpoint. + */ + public void negotiate() { + if (negotiationState == NEGOTIATION_NOT_STARTED && desired) { + if (local) { + Logger + .log("Starting negotiation for local option " + optionName()); //$NON-NLS-1$ + sendWill(); + } else { + Logger + .log("Starting negotiation for remote option " + optionName()); //$NON-NLS-1$ + sendDo(); + } + + negotiationState = NEGOTIATION_IN_PROGRESS; + } + } + + /** + * This method is called whenever we receive a WILL command from the remote + * endpoint. + */ + public void handleWill() { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) { + Logger + .log("Ignoring superfluous WILL command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) { + if (desired) { + // We sent DO and server replied with WILL. Enable the option, and end + // this negotiation. + + enabled = true; + Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // This should never happen! We sent DONT and the server replied with + // WILL. Bad server. No soup for you. Disable the option, and end + // this negotiation. + + Logger.log("Server answered DONT with WILL!"); //$NON-NLS-1$ + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } else { + if (desired) { + // Server sent WILL, so we reply with DO. Enable the option, and end + // this negotiation. + + sendDo(); + enabled = true; + Logger.log("Enabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // Server sent WILL, so we reply with DONT. Disable the option, and + // end this negotiation. + + sendDont(); + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + } + + /** + * Handles a WONT command sent by the remote endpoint for this option. The value + * of desired doesn't matter in this method, because the remote endpoint is + * forcing the option to be disabled. + */ + public void handleWont() { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) { + Logger + .log("Ignoring superfluous WONT command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) { + // We sent DO or DONT and server replied with WONT. Disable the + // option, and end this negotiation. + + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // Server sent WONT, so we reply with DONT. Disable the option, and + // end this negotiation. + + sendDont(); + enabled = false; + Logger.log("Disabling remote option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + + /** + * Handles a DO command sent by the remote endpoint for this option. + */ + public void handleDo() { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) { + Logger.log("Ignoring superfluous DO command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) { + if (desired) { + // We sent WILL and server replied with DO. Enable the option, and end + // this negotiation. + + enabled = true; + Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // We sent WONT and server replied with DO. This should never happen! + // Bad server. No soup for you. Disable the option, and end this + // negotiation. + + Logger.log("Server answered WONT with DO!"); //$NON-NLS-1$ + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } else { + if (desired) { + // Server sent DO, so we reply with WILL. Enable the option, and end + // this negotiation. + + sendWill(); + enabled = true; + Logger.log("Enabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // Server sent DO, so we reply with WONT. Disable the option, and end + // this negotiation. + + sendWont(); + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + } + + /** + * Handles a DONT command sent by the remote endpoint for this option. The value + * of desired doesn't matter in this method, because the remote endpoint is + * forcing the option to be disabled. + */ + public void handleDont() { + if (negotiationState == NEGOTIATION_DONE && ignoreNegotiation()) { + Logger + .log("Ignoring superfluous DONT command from remote endpoint."); //$NON-NLS-1$ + return; + } + + if (negotiationState == NEGOTIATION_IN_PROGRESS) { + // We sent WILL or WONT and server replied with DONT. Disable the + // option, and end this negotiation. + + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } else { + // Server sent DONT, so we reply with WONT. Disable the option, and end + // this negotiation. + + sendWont(); + enabled = false; + Logger.log("Disabling local option " + optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + endNegotiation(); + } + } + + /** + * This method handles a subnegotiation command received from the remote endpoint. + * Currently, the only subnegotiation we handle is when the remote endpoint + * commands us to send our terminal type (which is "ansi"). + * + * @param subnegotiationData An array of bytes containing a TELNET + * subnegotiation command received from the + * remote endpoint. + * @param count The number of bytes in array + * subnegotiationData to examine. + */ + public void handleSubnegotiation(byte[] subnegotiationData, int count) { + switch (option) { + case TELNET_OPTION_TERMINAL_TYPE: + if (subnegotiationData[1] != TELNET_SEND) { + // This should never happen! + Logger + .log("Invalid TERMINAL-TYPE subnegotiation command from remote endpoint: " + //$NON-NLS-1$ + (subnegotiationData[1] & 0xff)); + break; + } + + // Tell the remote endpoint our terminal type is "ansi" using this sequence + // of TELNET protocol bytes: + // + // IAC SB TERMINAL-TYPE IS a n s i IAC SE + + byte[] terminalTypeData = { TELNET_IAC, TELNET_SB, + TELNET_OPTION_TERMINAL_TYPE, TELNET_IS, (byte) 'a', + (byte) 'n', (byte) 's', (byte) 'i', TELNET_IAC, TELNET_SE }; + + try { + outputStream.write(terminalTypeData); + } catch (IOException ex) { + Logger.log("IOException sending TERMINAL-TYPE subnegotiation!"); //$NON-NLS-1$ + Logger.logException(ex); + } + break; + + default: + // This should never happen! + Logger + .log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ + break; + } + } + + /** + * This method sends a subnegotiation command to the remote endpoint. + * + * @param subnegotiationData An array of Objects holding data to be used + * when generating the outbound subnegotiation + * command. + */ + public void sendSubnegotiation(Object[] subnegotiationData) { + switch (option) { + case TELNET_OPTION_NAWS: + // Get the width and height of the view and send it to the remote + // endpoint using this sequence of TELNET protocol bytes: + // + // IAC SB NAWS + // IAC SE + + byte[] NAWSData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_NAWS, 0, + 0, 0, 0, TELNET_IAC, TELNET_SE }; + int width = ((Integer) subnegotiationData[0]).intValue(); + int height = ((Integer) subnegotiationData[1]).intValue(); + + NAWSData[3] = (byte) ((width >>> 8) & 0xff); // High order byte of width. + NAWSData[4] = (byte) (width & 0xff); // Low order byte of width. + NAWSData[5] = (byte) ((height >>> 8) & 0xff); // High order byte of height. + NAWSData[6] = (byte) (height & 0xff); // Low order byte of height. + + Logger + .log("sending terminal size to remote endpoint: width = " + width + //$NON-NLS-1$ + ", height = " + height + "."); //$NON-NLS-1$ //$NON-NLS-2$ + + // This final local variable is a hack to get around the fact that inner + // classes cannot reference a non-final local variable in a lexically + // enclosing scope. + + final byte[] NAWSDataFinal = NAWSData; + + // Send the NAWS data in a new thread. The current thread is the display + // thread, and calls to write() can block, but blocking the display thread + // is _bad_ (it hangs the GUI). + + new Thread() { + public void run() { + try { + outputStream.write(NAWSDataFinal); + } catch (IOException ex) { + Logger.log("IOException sending NAWS subnegotiation!"); //$NON-NLS-1$ + Logger.logException(ex); + } + } + }.start(); + break; + + default: + // This should never happen! + Logger + .log("SHOULD NOT BE REACHED: Called for option " + optionName()); //$NON-NLS-1$ + break; + } + } + + /** + * This method returns true if there has not yet been any negotiation of this + * option. + * + * @return Returns true if there has not yet been any negotiation of this option. + */ + protected boolean notYetNegotiated() { + return negotiationState == NEGOTIATION_NOT_STARTED; + } + + /** + * This method terminates the current negotiation and records the time at which the + * negotiation terminated. + */ + protected void endNegotiation() { + Logger.log("Ending negotiation #" + negotiationCount + " for " + //$NON-NLS-1$ //$NON-NLS-2$ + (local ? "local" : "remote") + " option " + optionName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + negotiationState = NEGOTIATION_DONE; + negotiationCompletionTime.setTime(System.currentTimeMillis()); + ++negotiationCount; + } + + /** + * This method determines whether or not to ignore what appears to be a new + * negotiation initiated by the remote endpoint. This is needed because some + * TELNET servers send superfluous option commands that a naive client might + * interpret as the start of a new negotiation. If the superfluous command is not + * ignored, an option negotiation loop can result (which is bad). For details + * about the superfluous commands sent by some servers, see the documentation for + * {@link #NEGOTIATION_NOT_STARTED}.

+ * + * The current implementation of this method returns true if the new negotiation + * starts within NEGOTIATION_IGNORE_DURATION seconds of the end of the previous + * negotiation of this option.

+ * + * @return Returns true if the new negotiation should be ignored, false if not. + */ + protected boolean ignoreNegotiation() { + return (System.currentTimeMillis() - negotiationCompletionTime + .getTime()) > NEGOTIATION_IGNORE_DURATION; + } + + /** + * Sends a DO command to the remote endpoint for this option. + */ + protected void sendDo() { + Logger.log("Sending DO " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_DO); + } + + /** + * Sends a DONT command to the remote endpoint for this option. + */ + protected void sendDont() { + Logger.log("Sending DONT " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_DONT); + } + + /** + * Sends a WILL command to the remote endpoint for this option. + */ + protected void sendWill() { + Logger.log("Sending WILL " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_WILL); + } + + /** + * Sends a WONT command to the remote endpoint for this option. + */ + protected void sendWont() { + Logger.log("Sending WONT " + optionName()); //$NON-NLS-1$ + sendCommand(TELNET_WONT); + } + + /** + * This method sends a WILL/WONT/DO/DONT command to the remote endpoint for this + * option. + */ + protected void sendCommand(byte command) { + byte[] data = { TELNET_IAC, 0, 0 }; + + data[1] = command; + data[2] = option; + + try { + outputStream.write(data); + } catch (IOException ex) { + Logger.log("IOException sending command " + command); //$NON-NLS-1$ + Logger.logException(ex); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java new file mode 100644 index 00000000000..2903698a223 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + + + +public class TelnetProperties { + private final NetworkPortMap fNetworkPortMap; + private final String fDefaultHost; + private final String fDefaultNetworkPort; + + public TelnetProperties() { + fNetworkPortMap = new NetworkPortMap(); + fDefaultNetworkPort = fNetworkPortMap.getDefaultNetworkPort(); + fDefaultHost = ""; //$NON-NLS-1$ + + } + + public String getDefaultHost() { + return fDefaultHost; + } + + public String getDefaultNetworkPort() { + return fDefaultNetworkPort; + } + + public NetworkPortMap getNetworkPortMap() { + // TODO Auto-generated method stub + return fNetworkPortMap; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java new file mode 100644 index 00000000000..9fa7dbc8758 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java @@ -0,0 +1,89 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; + +public class TelnetSettings implements ITelnetSettings { + protected String fHost; + protected String fNetworkPort; + protected String fTimeout; + private final TelnetProperties fProperties=new TelnetProperties(); + public String getHost() { + return fHost; + } + + public void setHost(String strHost) { + fHost = strHost; + } + + public String getNetworkPortString() { + return fNetworkPort; + } + + public int getNetworkPort() { + try { + return Integer.parseInt(fNetworkPort); + } catch (NumberFormatException numberFormatException) { + return 1313; + } + } + + public void setNetworkPort(String strNetworkPort) { + fNetworkPort = strNetworkPort; + } + + public String getStatusString(String strConnected) { + return " (" + //$NON-NLS-1$ + getHost() + ":" + //$NON-NLS-1$ + getNetworkPortString() + " - " + //$NON-NLS-1$ + strConnected + ")"; //$NON-NLS-1$ + } + + + public ITerminalConnector makeConnector() { + return new TelnetConnector(this); + } + + + public void load(ISettingsStore store) { + fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ + fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ + } + + + public void save(ISettingsStore store) { + store.put("Host", fHost);//$NON-NLS-1$ + store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ + } + + + public TelnetProperties getProperties() { + return fProperties; + } + public int getTimeout() { + try { + return Integer.parseInt(fTimeout); + } catch (NumberFormatException numberFormatException) { + return 10; + } + } + public String getTimeoutString() { + return fTimeout; + } + + public void setTimeout(String timeout) { + fTimeout = timeout; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java new file mode 100644 index 00000000000..203e851c82a --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems, Inc. - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.internal.telnet; + +import java.util.Collections; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +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.swt.widgets.Text; +import org.eclipse.tm.terminal.ISettingsPage; + +public class TelnetSettingsPage implements ISettingsPage { + private Text fHostText; + private Combo fNetworkPortCombo; + private Text fTimeout; + private final TelnetSettings fTerminalSettings; + + public TelnetSettingsPage(TelnetSettings settings) { + fTerminalSettings=settings; + } + public void saveSettings() { + fTerminalSettings.setHost(fHostText.getText()); + fTerminalSettings.setTimeout(fTimeout.getText()); + fTerminalSettings.setNetworkPort(getNetworkPort()); + } + + public void loadSettings() { + if(fTerminalSettings!=null) { + setHost(fTerminalSettings.getHost()); + setTimeout(fTerminalSettings.getTimeoutString()); + setNetworkPort(fTerminalSettings.getNetworkPortString()); + } + } + private void setHost(String strHost) { + if(strHost==null) + strHost=""; //$NON-NLS-1$ + fHostText.setText(strHost); + + } + private void setTimeout(String timeout) { + if(timeout==null || timeout.length()==0) + timeout="5"; //$NON-NLS-1$ + fTimeout.setText(timeout); + + } + private void setNetworkPort(String strNetworkPort) { + String strPortName = getNetworkPortMap().findPortName(strNetworkPort); + if(strPortName==null) + strPortName=""; //$NON-NLS-1$ + int nIndex = fNetworkPortCombo.indexOf(strPortName); + + if (nIndex == -1) { + fNetworkPortCombo.setText(strNetworkPort); + } else { + fNetworkPortCombo.select(nIndex); + } + } + private String getNetworkPort() { + return getNetworkPortMap().findPort(fNetworkPortCombo.getText()); + } + private NetworkPortMap getNetworkPortMap() { + return fTerminalSettings.getProperties().getNetworkPortMap(); + } + + public boolean validateSettings() { + return true; + } + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + + composite.setLayout(gridLayout); + composite.setLayoutData(gridData); + + // Add label + Label ctlLabel = new Label(composite, SWT.RIGHT); + ctlLabel.setText(TelnetMessages.HOST + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + fHostText = new Text(composite, SWT.BORDER); + fHostText.setLayoutData(gridData); + + // Add label + ctlLabel = new Label(composite, SWT.RIGHT); + ctlLabel.setText(TelnetMessages.PORT + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + fNetworkPortCombo = new Combo(composite, SWT.DROP_DOWN); + + fNetworkPortCombo.setLayoutData(gridData); + + List table = getNetworkPortMap().getNameTable(); + Collections.sort(table); + loadCombo(fNetworkPortCombo, table); + + new Label(composite, SWT.RIGHT).setText(TelnetMessages.TIMEOUT + ":"); //$NON-NLS-1$ + fTimeout = new Text(composite, SWT.BORDER); + fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + loadSettings(); + } + private void loadCombo(Combo ctlCombo, List table) { + for (Iterator iter = table.iterator(); iter.hasNext();) { + String label = (String) iter.next(); + ctlCombo.add(label); + } + } + + public String getName() { + return TelnetMessages.CONNTYPE_NETWORK; + } + +} From 38bc61898930d25acdcfe1b4a7af5d611ecd4c58 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 14:47:42 +0000 Subject: [PATCH 006/843] removed comm dependency --- org.eclipse.tm.terminal.serial/.classpath | 1 - org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 3 +-- org.eclipse.tm.terminal.serial/build.properties | 3 +-- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index 3183e6f648e..ce73933404a 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,6 @@ - diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index d12a2a04efe..836450b3cfe 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -10,5 +10,4 @@ Require-Bundle: org.eclipse.ui, Eclipse-LazyStart: false Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Bundle-ClassPath: ., - comm.jar +Bundle-ClassPath: . diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index 8e2b821203b..0c3db46cc43 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -2,8 +2,7 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml,\ - comm.jar + plugin.xml src.includes = .classpath,\ .project,\ .settings/,\ From 2ef4af46d35bec7ad28eb20655272f6dcb0d5db4 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 14:49:33 +0000 Subject: [PATCH 007/843] properties are part of the binary distribution --- org.eclipse.tm.terminal.serial/build.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index 0c3db46cc43..cf146b2903a 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -2,7 +2,8 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml + plugin.xml,\ + plugin.properties src.includes = .classpath,\ .project,\ .settings/,\ From 0a6a328e78d7738aa00717c1b6b3bff617844bd3 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 14:50:06 +0000 Subject: [PATCH 008/843] changed version to 0.9.0 --- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 2cdddadf319..cb8a957a949 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 2.7.0 +Bundle-Version: 0.9.0 Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin From 6cbd40e39d2162393b751ea329568532e0b7e363 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 14:51:29 +0000 Subject: [PATCH 009/843] organized imports --- .../tm/terminal/internal/view/TerminalView.java | 10 +++------- .../tm/terminal/control/ITerminalViewControl.java | 2 +- .../tm/terminal/internal/control/TerminalControl.java | 4 ++-- .../tm/terminal/internal/control/TerminalText.java | 1 - 4 files changed, 6 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 38cfea804a0..e3d7cecb54e 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -19,17 +19,14 @@ import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; import org.eclipse.jface.action.MenuManager; import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.FontRegistry; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.window.Window; import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; @@ -38,6 +35,9 @@ import org.eclipse.tm.terminal.ITerminalConnector; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalConnectorExtension; import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.tm.terminal.control.ITerminalListener; +import org.eclipse.tm.terminal.control.ITerminalViewControl; +import org.eclipse.tm.terminal.control.TerminalViewControlFactory; import org.eclipse.tm.terminal.internal.actions.TerminalAction; import org.eclipse.tm.terminal.internal.actions.TerminalActionClearAll; import org.eclipse.tm.terminal.internal.actions.TerminalActionConnect; @@ -49,7 +49,6 @@ import org.eclipse.tm.terminal.internal.actions.TerminalActionPaste; import org.eclipse.tm.terminal.internal.actions.TerminalActionSelectAll; import org.eclipse.tm.terminal.internal.actions.TerminalActionSettings; import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; @@ -60,9 +59,6 @@ import org.eclipse.ui.contexts.IContextActivation; import org.eclipse.ui.contexts.IContextService; import org.eclipse.ui.internal.WorkbenchWindow; import org.eclipse.ui.part.ViewPart; -import org.eclipse.tm.terminal.control.ITerminalListener; -import org.eclipse.tm.terminal.control.ITerminalViewControl; -import org.eclipse.tm.terminal.control.TerminalViewControlFactory; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java index 5a8b4f6e5e8..77f4e9955c4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java @@ -12,9 +12,9 @@ package org.eclipse.tm.terminal.control; import org.eclipse.swt.custom.StyledText; -import org.eclipse.tm.terminal.TerminalState; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.TerminalState; /** * @author Michael Scharf diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java index 99c34f68402..4c743ffc798 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java @@ -45,12 +45,12 @@ import org.eclipse.tm.terminal.ITerminalConnector; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.tm.terminal.control.ITerminalListener; +import org.eclipse.tm.terminal.control.ITerminalViewControl; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.contexts.IContextActivation; import org.eclipse.ui.contexts.IContextService; import org.eclipse.ui.keys.IBindingService; -import org.eclipse.tm.terminal.control.ITerminalListener; -import org.eclipse.tm.terminal.control.ITerminalViewControl; /** * diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index e32ed244347..e946bc2bafa 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -19,7 +19,6 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import org.eclipse.core.runtime.Preferences; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyleRange; import org.eclipse.swt.custom.StyledText; From aa5189e133d6519dbe0a5ab1c6bcc630f0a77f56 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 15:51:55 +0000 Subject: [PATCH 010/843] removed comm.jar --- org.eclipse.tm.terminal.serial/build.properties | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index cf146b2903a..d1b064c3cbb 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -12,5 +12,4 @@ src.includes = .classpath,\ build.properties,\ plugin.properties,\ plugin.xml,\ - src/,\ - comm.jar + src/ From b478be31dfdff80a35329ef38af25b68293dd9f9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 1 Dec 2006 15:52:46 +0000 Subject: [PATCH 011/843] lazy true --- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 836450b3cfe..f648f399478 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal -Eclipse-LazyStart: false +Eclipse-LazyStart: true Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . From c206e18a2263006ead2fcd3e9c57659ceb3210b9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 2 Dec 2006 04:04:05 +0000 Subject: [PATCH 012/843] instuct OSGi to load the comm library using the jave default class loader by adding Eclipse-BuddyPolicy: app, registered --- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index f648f399478..12202175065 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal Eclipse-LazyStart: true +Eclipse-BuddyPolicy: app, registered Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . From 5208f3df133cbbcd224b750affa2dbe3f01f5214 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 2 Dec 2006 06:17:11 +0000 Subject: [PATCH 013/843] use .qualifier in plugin and feature versions --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index fc71c20598a..0dc838fc87d 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ + version="0.9.0.qualifier"> [Enter Feature Description here.] diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index a64b5e45479..5c4e09fe538 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -2,7 +2,7 @@ + version="0.9.0.qualifier"> [Enter Feature Description here.] diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 12202175065..4dbf7a525cb 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,13 +2,13 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 0.9.0 +Bundle-Version: 0.9.0.qualifier Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal Eclipse-LazyStart: true -Eclipse-BuddyPolicy: app, registered +Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index bae89b9b85b..6b71f0315fa 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 6a94941e046..7c5bde007bb 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 0.9.0 +Bundle-Version: 0.9.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.internal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index cb8a957a949..8da9dbdcd29 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 0.9.0 +Bundle-Version: 0.9.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin From c657c2ef8f94e1b555cd9222c88ec3a59aea10cb Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 2 Dec 2006 06:20:48 +0000 Subject: [PATCH 014/843] dialog was shown again on cancel --- .../eclipse/tm/terminal/internal/view/TerminalView.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index e3d7cecb54e..bbd4398e13a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -185,9 +185,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalSettings() { - setConnector(showSettingsDialog()); + ITerminalConnector c=showSettingsDialog(); + if(c!=null) { + setConnector(c); - onTerminalConnect(); + onTerminalConnect(); + } } private ITerminalConnector showSettingsDialog() { From 1da81013b5a15d55edc5f9af6103272922f1b8fe Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 10:33:49 +0000 Subject: [PATCH 015/843] [cleanup] fix compiler warnings --- .../eclipse/tm/terminal/internal/serial/SerialProperties.java | 4 ++-- .../eclipse/tm/terminal/internal/serial/SerialSettings.java | 2 +- .../tm/terminal/internal/serial/SerialSettingsPage.java | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java index 63d80c4b3ab..7560dc49a03 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java @@ -88,7 +88,7 @@ public class SerialProperties { return fDefaultFlowControl; } public String getDefaultTimeout() { - return "5"; + return "5"; //$NON-NLS-1$ } protected void setupProperties() { fSerialPortTable = new Vector(); @@ -140,7 +140,7 @@ public class SerialProperties { fDefaultParity = (String) fParityTable.get(0); fDefaultFlowControl = (String) fFlowControlTable.get(0); - Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers();; + Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers(); while (portIdEnum.hasMoreElements()) { CommPortIdentifier identifier = (CommPortIdentifier) portIdEnum.nextElement(); String strName = identifier.getName(); diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java index dc61203e140..f0621c77062 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java @@ -163,7 +163,7 @@ public class SerialSettings implements ISerialSettings { fStopBits = store.get("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ fParity = store.get("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ fFlowControl = store.get("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ - fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); + fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ } public void save(ISettingsStore store) { diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java index 01504d9a5fc..93f007a8805 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java @@ -105,7 +105,7 @@ public class SerialSettingsPage implements ISettingsPage { composite.setLayout(gridLayout); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":"); + fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":"); //$NON-NLS-1$ fBaudRateCombo=addLabeledCombo(composite, SerialMessages.BAUDRATE + ":"); //$NON-NLS-1$ fDataBitsCombo=addLabeledCombo(composite, SerialMessages.DATABITS + ":"); //$NON-NLS-1$ fStopBitsCombo=addLabeledCombo(composite, SerialMessages.STOPBITS + ":"); //$NON-NLS-1$ From 2e8951426c60519df6777e18bac69f3f0bc9e181 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 10:37:14 +0000 Subject: [PATCH 016/843] Fix PLUGIN_ID in com.windriver.ide.tm.terminal.view --- .../src/org/eclipse/tm/terminal/view/Activator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java index f93c2d7e379..9f05051e652 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java @@ -20,7 +20,7 @@ import org.osgi.framework.BundleContext; public class Activator extends AbstractUIPlugin { // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.internal.view"; + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.view"; //$NON-NLS-1$ // The shared instance private static Activator plugin; From d79ee521e13abcb83b7684fc901907303e3a68ad Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 10:42:29 +0000 Subject: [PATCH 017/843] [cleanup] fix javadoc warnings --- .../eclipse/tm/terminal/internal/telnet/TelnetConnection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java index ec5d3082a35..a5b32c9802c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java @@ -158,11 +158,11 @@ public class TelnetConnection extends Thread implements TelnetCodes { protected byte[] receivedSubnegotiation = new byte[128]; /** - * This field holds the index into array {@link receivedSubnegotiation} of + * This field holds the index into array {@link #receivedSubnegotiation} of * the next unused byte. This is used by method * {@link #processTelnetProtocol(int)} when the state machine is in states * {@link #STATE_SUBNEGOTIATION_STARTED} and {@link - * STATE_RECEIVING_SUBNEGOTIATION}. + * #STATE_RECEIVING_SUBNEGOTIATION}. */ protected int nextSubnegotiationByteIndex = 0; From 13370522c30a0ba6d95b12faa461929d4344193d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 13:33:13 +0000 Subject: [PATCH 018/843] Add instructions for installing comm.jar into the jre --- org.eclipse.tm.terminal.serial/README.txt | 37 +++++++++++++++++++++-- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index 50b8553076d..a2edcc54b59 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -1,4 +1,37 @@ Important note: -In order to compile this plugin, comm has to be installed into -the java installation... \ No newline at end of file +In order to compile and run this plugin, comm has to be installed into +the java installation. Once comm.jar is installed in your JRE, you'll +need to quit and re-start Eclipse PDE in order to recompute the classpath. + +Linux or Solaris: +----------------- +* Get comm3.0_u1 or later from Sun at + http://www.sun.com/download/products.xml?id=43208d3d +* Follow the installation instructions. As per 3.0_u1 on Linux, you need to + - cp jar/comm.jar $JRE/lib/ext + - cp doc/javax.comm.properties $JRE/lib + - cp lib/*.so $JRE/lib/i386 + +Windows: +-------- +* Get comm.jar 2.0.3 ZIP archive from Sun at + http://www.sun.com/download/products.xml?id=43208d3d + - Extract comm.jar into %JRE%\lib\ext +* Get rxtx-2.0-7pre1-i386-pc-mingw32.zip from + http://users.frii.com/jarvi/rxtx/download.html + - Extract RXTXcomm.jar into %JRE%\lib\ext + - Extract rxtx*.dll into %JRE%\bin +* Create new text file + %JRE%\lib\javax.comm.properties + with the following line as contents: + driver=gnu.io.RXTXCommDriver + +Other platforms (MaxOS X etc): +------------------------------ +* Get comm.jar 2.0.3 as explained for Windows +* Get rxtx-2.0-7pre1.tar.gz sources for your platform from + http://users.frii.com/jarvi/rxtx/download.html +* Follow instructions to compile and install. You'll need a + javax.comm.properties file as explained for Windows. + \ No newline at end of file From b8f917d5252b8bb1e860d976d3b14efc6446da01 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 14:10:41 +0000 Subject: [PATCH 019/843] [cleanup] Add missing copyrights --- org.eclipse.tm.terminal-feature/build.properties | 10 ++++++++++ .../build.properties | 10 ++++++++++ org.eclipse.tm.terminal.serial/build.properties | 10 ++++++++++ .../build.properties | 10 ++++++++++ org.eclipse.tm.terminal.view/build.properties | 10 ++++++++++ org.eclipse.tm.terminal/build.properties | 12 ++++++++++++ 6 files changed, 62 insertions(+) diff --git a/org.eclipse.tm.terminal-feature/build.properties b/org.eclipse.tm.terminal-feature/build.properties index 64f93a9f0b7..be07fc98ac0 100644 --- a/org.eclipse.tm.terminal-feature/build.properties +++ b/org.eclipse.tm.terminal-feature/build.properties @@ -1 +1,11 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.serial-feature/build.properties b/org.eclipse.tm.terminal.serial-feature/build.properties index 64f93a9f0b7..be07fc98ac0 100644 --- a/org.eclipse.tm.terminal.serial-feature/build.properties +++ b/org.eclipse.tm.terminal.serial-feature/build.properties @@ -1 +1,11 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index d1b064c3cbb..a8ed38584be 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -1,3 +1,13 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ diff --git a/org.eclipse.tm.terminal.view-feature/build.properties b/org.eclipse.tm.terminal.view-feature/build.properties index 64f93a9f0b7..be07fc98ac0 100644 --- a/org.eclipse.tm.terminal.view-feature/build.properties +++ b/org.eclipse.tm.terminal.view-feature/build.properties @@ -1 +1,11 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties index 64a3723302a..8e9e767c507 100644 --- a/org.eclipse.tm.terminal.view/build.properties +++ b/org.eclipse.tm.terminal.view/build.properties @@ -1,3 +1,13 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index 6ade83c7191..aec20bfdea7 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -1,3 +1,15 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial API and implementation +# Ted Williams (Wind River) - refactored into org.eclipse.tm.terminal +# Michael Scharf (Wind River) - separated into core, serial and view plugins +################################################################################ bin.includes = .,\ src/,\ META-INF/,\ From f3e531683111d68b92d56016075ee0f042495fdc Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 14:45:44 +0000 Subject: [PATCH 020/843] [cleanup] Add .options file for tracing --- org.eclipse.tm.terminal/.options | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 org.eclipse.tm.terminal/.options diff --git a/org.eclipse.tm.terminal/.options b/org.eclipse.tm.terminal/.options new file mode 100644 index 00000000000..5335bdd53c3 --- /dev/null +++ b/org.eclipse.tm.terminal/.options @@ -0,0 +1,8 @@ +org.eclipse.tm.terminal/debug = true +org.eclipse.tm.terminal/debug/flag = true +org.eclipse.tm.terminal/debug/filter = * +org.eclipse.tm.terminal/debug/log = true +org.eclipse.tm.terminal/debug/log/error = true +org.eclipse.tm.terminal/debug/log/info = false +org.eclipse.tm.terminal/debug/log/char = false +org.eclipse.tm.terminal/debug/log/buffer/size = false From 6381384dceb7f47ecd09ab573887802de3bbfd8c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Dec 2006 14:52:19 +0000 Subject: [PATCH 021/843] [cleanup] Add .options file for tracing --- org.eclipse.tm.terminal/build.properties | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index aec20bfdea7..ae43822406a 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -9,6 +9,7 @@ # Wind River Systems, Inc. - initial API and implementation # Ted Williams (Wind River) - refactored into org.eclipse.tm.terminal # Michael Scharf (Wind River) - separated into core, serial and view plugins +# Martin Oberhuber (Wind River) - fix copyrights, legal docs, missing files ################################################################################ bin.includes = .,\ src/,\ @@ -19,7 +20,8 @@ bin.includes = .,\ build.properties,\ plugin.properties,\ schema/,\ - .settings/ + .settings/,\ + .options source.. = src/ output.. = bin/ From d7f1879dd629e7a8c23d8ae3f5378bc90a9395a2 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 6 Dec 2006 02:57:03 +0000 Subject: [PATCH 022/843] store timeout in settings --- .../org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java index 9fa7dbc8758..e25d6bca3a2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java @@ -60,12 +60,14 @@ public class TelnetSettings implements ITelnetSettings { public void load(ISettingsStore store) { fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ + fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } public void save(ISettingsStore store) { store.put("Host", fHost);//$NON-NLS-1$ store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ + store.put("Timeout", fTimeout);//$NON-NLS-1$ } From b6ccf3e390a8930e6ba54f6e6273bd79b6e0013a Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 6 Dec 2006 03:26:05 +0000 Subject: [PATCH 023/843] removed obsolete methods --- .../tm/terminal/internal/serial/SerialSettings.java | 5 ----- .../tm/terminal/internal/telnet/TelnetSettings.java | 7 ------- 2 files changed, 12 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java index f0621c77062..536531e8a6e 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java @@ -15,7 +15,6 @@ package org.eclipse.tm.terminal.internal.serial; import javax.comm.SerialPort; import org.eclipse.tm.terminal.ISettingsStore; -import org.eclipse.tm.terminal.ITerminalConnector; public class SerialSettings implements ISerialSettings { protected String fSerialPort; @@ -152,10 +151,6 @@ public class SerialSettings implements ISerialSettings { strConnected + ")"; //$NON-NLS-1$ } - public ITerminalConnector makeConnector() { - return new SerialConnector(this); - } - public void load(ISettingsStore store) { fSerialPort = store.get("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ fBaudRate = store.get("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java index e25d6bca3a2..99ad8576234 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java @@ -13,7 +13,6 @@ package org.eclipse.tm.terminal.internal.telnet; import org.eclipse.tm.terminal.ISettingsStore; -import org.eclipse.tm.terminal.ITerminalConnector; public class TelnetSettings implements ITelnetSettings { protected String fHost; @@ -51,12 +50,6 @@ public class TelnetSettings implements ITelnetSettings { strConnected + ")"; //$NON-NLS-1$ } - - public ITerminalConnector makeConnector() { - return new TelnetConnector(this); - } - - public void load(ISettingsStore store) { fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ From 9ce45291562398aeb73f89370a7de059575d1aee Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 7 Dec 2006 02:40:58 +0000 Subject: [PATCH 024/843] initial version --- org.eclipse.tm.terminal.ssh/.classpath | 7 + org.eclipse.tm.terminal.ssh/.project | 34 +++++ .../META-INF/MANIFEST.MF | 12 ++ org.eclipse.tm.terminal.ssh/build.properties | 5 + org.eclipse.tm.terminal.ssh/plugin.xml | 9 ++ .../eclipse/tm/terminal/ssh/ISshSettings.java | 25 +++ .../tm/terminal/ssh/SshConnection.java | 144 ++++++++++++++++++ .../eclipse/tm/terminal/ssh/SshConnector.java | 132 ++++++++++++++++ .../eclipse/tm/terminal/ssh/SshMessages.java | 30 ++++ .../tm/terminal/ssh/SshMessages.properties | 19 +++ .../eclipse/tm/terminal/ssh/SshSettings.java | 98 ++++++++++++ .../tm/terminal/ssh/SshSettingsPage.java | 94 ++++++++++++ 12 files changed, 609 insertions(+) create mode 100644 org.eclipse.tm.terminal.ssh/.classpath create mode 100644 org.eclipse.tm.terminal.ssh/.project create mode 100644 org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.ssh/build.properties create mode 100644 org.eclipse.tm.terminal.ssh/plugin.xml create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java diff --git a/org.eclipse.tm.terminal.ssh/.classpath b/org.eclipse.tm.terminal.ssh/.classpath new file mode 100644 index 00000000000..751c8f2e504 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.eclipse.tm.terminal.ssh/.project b/org.eclipse.tm.terminal.ssh/.project new file mode 100644 index 00000000000..08d04394ca3 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.ssh + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + net.sourceforge.metrics.builder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + net.sourceforge.metrics.nature + + diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..300c4da5877 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -0,0 +1,12 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: Terminal ssh +Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true +Bundle-Version: 0.0.9 +Bundle-Vendor: Eclipse.org +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal, + com.jcraft.jsch +Eclipse-LazyStart: false diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties new file mode 100644 index 00000000000..e9863e281ea --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml new file mode 100644 index 00000000000..fe2bdfdf100 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -0,0 +1,9 @@ + + + + + + + + diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java new file mode 100644 index 00000000000..d982c4254d9 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import org.eclipse.tm.terminal.ISettingsStore; + +public interface ISshSettings { + String getHost(); + String getUser(); + String getPassword(); + int getTimeout(); + int getPort(); + String getStatusString(String strConnected); + void load(ISettingsStore store); + void save(ISettingsStore store); +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java new file mode 100644 index 00000000000..e61f6f771bd --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import java.io.IOException; +import java.io.InputStream; +import java.io.PipedInputStream; +import java.io.PipedOutputStream; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +import com.jcraft.jsch.ChannelShell; +import com.jcraft.jsch.JSchException; +import com.jcraft.jsch.Session; +import com.jcraft.jsch.UserInfo; + +class SshConnection extends Thread { + private final ITerminalControl fControl; + private final SshConnector fConn; + protected SshConnection(SshConnector conn,ITerminalControl control) { + fControl = control; + fConn = conn; + fControl.setState(TerminalState.CONNECTING); + } + public void run() { + try { + int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; + String host = fConn.getTelnetSettings().getHost(); + String user = fConn.getTelnetSettings().getUser(); + int port=fConn.getTelnetSettings().getPort(); + Session session=fConn.getJsch().getSession(user, host, port); + //session.setPassword("your password"); + + // username and password will be given via UserInfo interface. + UserInfo ui=new MyUserInfo(fConn.getTelnetSettings().getPassword()); + session.setUserInfo(ui); + +// java.util.Hashtable config=new java.util.Hashtable(); +// config.put("StrictHostKeyChecking", "no"); +// session.setConfig(config); + + //session.connect(); + session.connect(nTimeout); // making connection with timeout. + + ChannelShell channel=(ChannelShell) session.openChannel("shell"); + + //hmm, now it gets a bit complicated + // Input and output streams are somehow confusing + PipedInputStream pin = new PipedInputStream(); + PipedOutputStream out = new PipedOutputStream(pin); + + PipedOutputStream pout = new PipedOutputStream(); + PipedInputStream in = new PipedInputStream(pout); + + + channel.setInputStream(pin); + channel.setOutputStream(pout); + channel.connect(); + + fConn.setInputStream(in); + fConn.setOutputStream(out); + fConn.setChannel(channel); + fControl.setState(TerminalState.CONNECTED); + // read data until the connection gets terminated + readDataForever(in); + } catch (JSchException e) { + connectFailed(e.getMessage(),e.getMessage()); + } catch (IOException e) { + connectFailed(e.getMessage(),e.getMessage()); + } finally { + + } + } + /** + * Read the data from the ssh connection and display it in the terminal. + * @param in + * @throws IOException + */ + private void readDataForever(InputStream in) throws IOException { + // read the data + byte bytes[]=new byte[32*1024]; + int n; + while((n=in.read(bytes))!=-1) { + fControl.writeToTerminal(new String(bytes,0,n)); + } + fControl.setState(TerminalState.CLOSED); + } + + private static class MyUserInfo implements UserInfo { + private String fPassword; + + public MyUserInfo(String password) { + fPassword = password; + } + public String getPassword() { + return fPassword; + } + public boolean promptYesNo(final String str) { + //need to switch to UI thread for prompting + final boolean[] retval = new boolean[1]; + Display.getDefault().syncExec(new Runnable() { + public void run() { + retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); + } + }); + return retval[0]; + } + public String getPassphrase() { + return null; + } + public boolean promptPassphrase(String message) { + return true; + } + public boolean promptPassword(final String message) { + return true; + } + public void showMessage(final String message) { + Display.getDefault().syncExec(new Runnable() { + public void run() { + MessageDialog.openInformation(null, SshMessages.INFO, message); + } + }); + } + } + private void connectFailed(String terminalText, String msg) { + Logger.log(terminalText); + fControl.displayTextInTerminal(terminalText); + fControl.setState(TerminalState.CLOSED); + fControl.setMsg(msg); + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java new file mode 100644 index 00000000000..a04f088fcce --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.tm.terminal.ISettingsPage; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.ITerminalControl; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalState; + +import com.jcraft.jsch.ChannelShell; +import com.jcraft.jsch.JSch; + +public class SshConnector implements ITerminalConnector { + private OutputStream fOutputStream; + private InputStream fInputStream; + private ITerminalControl fControl; + private JSch fJsch; + private ChannelShell fChannel; + + private final SshSettings fSettings; + public SshConnector() { + this(new SshSettings()); + try { + fJsch=new JSch(); + } catch(NoClassDefFoundError e) { + // ignore + e.printStackTrace(); + } + } + public SshConnector(SshSettings settings) { + fSettings=settings; + } + public String getId() { + return getClass().getName(); + } + public boolean isInstalled() { + return fJsch!=null; + } + public void connect(ITerminalControl control) { + Logger.log("entered."); //$NON-NLS-1$ + fControl=control; + SshConnection worker = new SshConnection(this,control); + worker.start(); + } + public void disconnect() { + Logger.log("entered."); //$NON-NLS-1$ + + if (getInputStream() != null) { + try { + getInputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + if (getOutputStream() != null) { + try { + getOutputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + setState(TerminalState.CLOSED); + } + public boolean isLocalEcho() { + return false; + } + public void setTerminalSize(int newWidth, int newHeight) { + if(fChannel!=null) + fChannel.setPtySize(newWidth, newHeight, 8, 8); + + } + public InputStream getInputStream() { + return fInputStream; + } + public OutputStream getOutputStream() { + return fOutputStream; + } + void setInputStream(InputStream inputStream) { + fInputStream = inputStream; + } + void setOutputStream(OutputStream outputStream) { + fOutputStream = outputStream; + } + public void writeToTerminal(String txt) { + fControl.writeToTerminal(txt); + + } + public void setState(TerminalState state) { + fControl.setState(state); + + } + public ISshSettings getTelnetSettings() { + return fSettings; + } + public ISettingsPage makeSettingsPage() { + return new SshSettingsPage(fSettings); + } + public String getStatusString(String strConnected) { + return fSettings.getStatusString(strConnected); + } + public void load(ISettingsStore store) { + fSettings.load(store); + + } + public void save(ISettingsStore store) { + fSettings.save(store); + } + protected JSch getJsch() { + return fJsch; + } + ChannelShell getChannel() { + return fChannel; + } + void setChannel(ChannelShell channel) { + fChannel = channel; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java new file mode 100644 index 00000000000..aa7287632c3 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java @@ -0,0 +1,30 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.ssh; + +import org.eclipse.osgi.util.NLS; + +public class SshMessages extends NLS { + static { + NLS.initializeMessages(SshMessages.class.getName(), SshMessages.class); + } + public static String CONNTYPE; + public static String USER; + public static String HOST; + public static String PORT; + public static String PASSWORD; + public static String TIMEOUT; + public static String WARNING; + public static String INFO; + + } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties new file mode 100644 index 00000000000..eb4b86a7054 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties @@ -0,0 +1,19 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems, Inc. - initial implementation +# +############################################################################### +CONNTYPE = SSH +HOST = Host +USER = User +PORT = Port +PASSWORD = Password +TIMEOUT = Timeout +WARNING = Warning +INFO = Info diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java new file mode 100644 index 00000000000..abfe1134366 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import org.eclipse.tm.terminal.ISettingsStore; + +public class SshSettings implements ISshSettings { + protected String fHost; + protected String fUser; + protected String fPassword; + protected String fPort; + protected String fTimeout; + public String getHost() { + return fHost; + } + + public void setHost(String strHost) { + fHost = strHost; + } + + public String getStatusString(String strConnected) { + return " (" + //$NON-NLS-1$ + getHost() + ":" + //$NON-NLS-1$ + getUser() + " - " + //$NON-NLS-1$ + strConnected + ")"; //$NON-NLS-1$ + } + + public void load(ISettingsStore store) { + fHost = store.get("Host");//$NON-NLS-1$ + fUser = store.get("User");//$NON-NLS-1$ + fPort = store.get("Port");//$NON-NLS-1$ + fTimeout = store.get("Timeout");//$NON-NLS-1$ + } + + + public void save(ISettingsStore store) { + store.put("Host", fHost);//$NON-NLS-1$ + store.put("User", fUser);//$NON-NLS-1$ + store.put("Port", fPort);//$NON-NLS-1$ + store.put("Timeout", fTimeout);//$NON-NLS-1$ + } + + + public int getTimeout() { + try { + return Integer.parseInt(fTimeout); + } catch (NumberFormatException numberFormatException) { + return 10; + } + } + public String getTimeoutString() { + return fTimeout; + } + + public void setTimeout(String timeout) { + fTimeout = timeout; + } + + public String getUser() { + return fUser; + } + + public void setUser(String user) { + fUser = user; + } + public int getPort() { + try { + return Integer.parseInt(fPort); + } catch (NumberFormatException numberFormatException) { + return 22; + } + } + + public String getPortString() { + return fPort; + } + + public void setPort(String port) { + fPort = port; + } + + public String getPassword() { + return fPassword; + } + + public void setPassword(String password) { + fPassword = password; + } +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java new file mode 100644 index 00000000000..6b310d7ef7a --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java @@ -0,0 +1,94 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + * + *******************************************************************************/ + +package org.eclipse.tm.terminal.ssh; + +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.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.terminal.ISettingsPage; + +public class SshSettingsPage implements ISettingsPage { + private Text fHostText; + private Text fUser; + private Text fTimeout; + private final SshSettings fTerminalSettings; + private Text fPort; + private Text fPassword; + + public SshSettingsPage(SshSettings settings) { + fTerminalSettings=settings; + } + public void saveSettings() { + fTerminalSettings.setHost(fHostText.getText()); + fTerminalSettings.setUser(fUser.getText()); + fTerminalSettings.setPassword(fPassword.getText()); + fTerminalSettings.setPort(fPort.getText()); + fTerminalSettings.setTimeout(fTimeout.getText()); + } + + public void loadSettings() { + if(fTerminalSettings!=null) { + fHostText.setText(get(fTerminalSettings.getHost(),""));//$NON-NLS-1$ + fTimeout.setText(get(fTerminalSettings.getTimeoutString(),"0"));//$NON-NLS-1$ + fUser.setText(get(fTerminalSettings.getUser(),""));//$NON-NLS-1$ + fPort.setText(get(fTerminalSettings.getPortString(),"22"));//$NON-NLS-1$ + fPassword.setText(get(fTerminalSettings.getPassword(),""));//$NON-NLS-1$ + } + } + String get(String value, String def) { + if(value==null || value.length()==0) + return def; + return value; + } + public boolean validateSettings() { + return true; + } + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + + composite.setLayout(gridLayout); + composite.setLayoutData(gridData); + + fHostText = createTextField(composite, SshMessages.HOST); + fUser = createTextField(composite, SshMessages.USER); + fPassword = createTextField(composite, SshMessages.PASSWORD,SWT.PASSWORD); + fTimeout = createTextField(composite, SshMessages.TIMEOUT); + fPort = createTextField(composite, SshMessages.PORT); + loadSettings(); + } + private Text createTextField(Composite composite, String labelTxt, int textOptions) { + GridData gridData; + // Add label + Label ctlLabel = new Label(composite, SWT.RIGHT); + ctlLabel.setText(labelTxt + ":"); //$NON-NLS-1$ + + // Add control + gridData = new GridData(GridData.FILL_HORIZONTAL); + Text text= new Text(composite, SWT.BORDER | textOptions); + text.setLayoutData(gridData); + return text; + } + private Text createTextField(Composite composite, String labelTxt) { + return createTextField(composite, labelTxt, 0); + } + + public String getName() { + return SshMessages.CONNTYPE; + } + +} From 235e7f94d21bb4e9bf547ecec47d86ec208718c1 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 7 Dec 2006 02:43:54 +0000 Subject: [PATCH 025/843] fixed warnings and set 1.4 execution environment --- org.eclipse.tm.terminal.ssh/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 57 +++++++++++++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 3 + .../META-INF/MANIFEST.MF | 3 +- .../tm/terminal/ssh/SshConnection.java | 2 +- 5 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.tm.terminal.ssh/.classpath b/org.eclipse.tm.terminal.ssh/.classpath index 751c8f2e504..ce73933404a 100644 --- a/org.eclipse.tm.terminal.ssh/.classpath +++ b/org.eclipse.tm.terminal.ssh/.classpath @@ -1,7 +1,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..6828f7d4fb9 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,57 @@ +#Thu Dec 07 03:43:08 CET 2006 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=ignore +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore +org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=ignore +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..0b831f584d6 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Thu Dec 07 03:43:08 CET 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 300c4da5877..d9d001d3f73 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -9,4 +9,5 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal, com.jcraft.jsch -Eclipse-LazyStart: false +Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index e61f6f771bd..7c08b06f3ba 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -55,7 +55,7 @@ class SshConnection extends Thread { //session.connect(); session.connect(nTimeout); // making connection with timeout. - ChannelShell channel=(ChannelShell) session.openChannel("shell"); + ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ //hmm, now it gets a bit complicated // Input and output streams are somehow confusing From 067f1ec7f49c2dd2e4469193b7da5dbbec6d02f5 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 7 Dec 2006 02:52:27 +0000 Subject: [PATCH 026/843] build fixed --- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.ssh/build.properties | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index d9d001d3f73..70d4627d44a 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Terminal ssh Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 0.0.9 +Bundle-Version: 0.0.9.qualifier Bundle-Vendor: Eclipse.org Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties index e9863e281ea..79520983559 100644 --- a/org.eclipse.tm.terminal.ssh/build.properties +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -3,3 +3,10 @@ output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.xml +src.includes = src/,\ + plugin.xml,\ + build.properties,\ + META-INF/,\ + .settings/,\ + .project,\ + .classpath From f8dc09d4f8527bb86949b5895db7ecc4e7de46f1 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 7 Dec 2006 02:53:31 +0000 Subject: [PATCH 027/843] initial version --- org.eclipse.tm.terminal.ssh-feature/.project | 17 ++++++++++++ .../build.properties | 1 + .../feature.xml | 26 +++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 org.eclipse.tm.terminal.ssh-feature/.project create mode 100644 org.eclipse.tm.terminal.ssh-feature/build.properties create mode 100644 org.eclipse.tm.terminal.ssh-feature/feature.xml diff --git a/org.eclipse.tm.terminal.ssh-feature/.project b/org.eclipse.tm.terminal.ssh-feature/.project new file mode 100644 index 00000000000..b9b4f4daa53 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.ssh-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.ssh-feature/build.properties b/org.eclipse.tm.terminal.ssh-feature/build.properties new file mode 100644 index 00000000000..64f93a9f0b7 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml new file mode 100644 index 00000000000..197021d71f1 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -0,0 +1,26 @@ + + + + + [Enter Feature Description here.] + + + + [Enter Copyright Description here.] + + + + [Enter License Description here.] + + + + + From 0c39b8153eb997f9ada4b83eabfce3070d28fcc6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 10:04:34 +0000 Subject: [PATCH 028/843] [cleanup] fix terminal copyright headers and beautify --- org.eclipse.tm.terminal/README.txt | 0 org.eclipse.tm.terminal/build.properties | 37 +++++++++---------- org.eclipse.tm.terminal/plugin.properties | 20 ++++++++-- org.eclipse.tm.terminal/plugin.xml | 18 ++++++++- .../schema/terminalConnector.exsd | 21 ++++++++--- .../eclipse/tm/terminal/ISettingsPage.java | 18 +++++---- .../eclipse/tm/terminal/ISettingsStore.java | 20 +++++----- .../tm/terminal/ITerminalConnector.java | 19 ++++++---- .../eclipse/tm/terminal/ITerminalControl.java | 18 +++++---- .../src/org/eclipse/tm/terminal/Logger.java | 19 +++++----- .../terminal/TerminalConnectorExtension.java | 14 +++---- .../eclipse/tm/terminal/TerminalState.java | 19 ++++++---- .../terminal/control/ITerminalListener.java | 16 ++++---- .../control/ITerminalViewControl.java | 14 +++---- .../control/TerminalViewControlFactory.java | 14 +++---- .../control/ITerminalControlForText.java | 14 +++---- .../internal/control/TerminalControl.java | 16 +++++--- .../internal/control/TerminalMessages.java | 15 ++++---- .../control/TerminalMessages.properties | 13 +++++-- .../internal/control/TerminalPlugin.java | 14 ++++--- .../internal/control/TerminalText.java | 14 ++++--- .../internal/telnet/ITelnetSettings.java | 11 ++++++ .../internal/telnet/NetworkPortMap.java | 26 +++++++------ .../terminal/internal/telnet/TelnetCodes.java | 12 +++--- .../internal/telnet/TelnetConnectWorker.java | 16 ++++++++ .../internal/telnet/TelnetConnection.java | 12 +++--- .../internal/telnet/TelnetConnector.java | 12 +++++- .../internal/telnet/TelnetMessages.java | 15 ++++---- .../internal/telnet/TelnetMessages.properties | 13 +++++-- .../internal/telnet/TelnetOption.java | 13 ++++--- .../internal/telnet/TelnetProperties.java | 18 ++++----- .../internal/telnet/TelnetSettings.java | 17 ++++----- .../internal/telnet/TelnetSettingsPage.java | 14 ++++--- 33 files changed, 324 insertions(+), 208 deletions(-) delete mode 100644 org.eclipse.tm.terminal/README.txt diff --git a/org.eclipse.tm.terminal/README.txt b/org.eclipse.tm.terminal/README.txt deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index ae43822406a..b28ad83adf8 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -1,28 +1,27 @@ -################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Wind River Systems, Inc. - initial API and implementation -# Ted Williams (Wind River) - refactored into org.eclipse.tm.terminal -# Michael Scharf (Wind River) - separated into core, serial and view plugins -# Martin Oberhuber (Wind River) - fix copyrights, legal docs, missing files -################################################################################ +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### bin.includes = .,\ - src/,\ META-INF/,\ plugin.xml,\ - .classpath,\ - .project,\ - build.properties,\ plugin.properties,\ - schema/,\ - .settings/,\ .options source.. = src/ output.. = bin/ +src.includes = schema/,\ + src/ \ No newline at end of file diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index 9729533eb89..312232ce9ad 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -1,6 +1,18 @@ -########################################################################## -# Copyright 2004 Wind River Systems, Inc. All rights reserved. -########################################################################## - +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### pluginName = Terminal providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 7223dede489..70efdce83c2 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,9 +1,25 @@ + - + diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd index c6848fc8623..8d240a11d9e 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -6,7 +6,7 @@ - [Enter description of this extension point.] + @@ -62,7 +62,7 @@ - [Enter the first release in which this extension point appears.] + @@ -71,7 +71,7 @@ - [Enter extension point usage example here.] + @@ -80,7 +80,7 @@ - [Enter API information here.] + @@ -89,7 +89,7 @@ - [Enter information about supplied implementation of this extension point.] + @@ -98,7 +98,16 @@ - + Copyright (c) 2006 Wind River Systems, Inc. and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: +Michael Scharf (Wind River) - initial API and implementation +Martin Oberhuber (Wind River) - fixed copyright headers and beautified + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java index 7a7f751f98a..facce2c4bea 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsPage.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; @@ -26,18 +26,22 @@ public interface ISettingsPage { * @param parent */ void createControl(Composite parent); + /** * Called before the page is shown. Loads the state from the {@link ITerminalConnector}. */ void loadSettings(); + /** * Called when the OK button is pressed. */ void saveSettings(); + /** * @return true if the */ boolean validateSettings(); + /** * @return a name of the connection type. Used in a tab page title or drop * down to select the connection. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java index ba6602be0a6..cc6e149a5cb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java @@ -1,23 +1,21 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; /** * A simple interface to a store to persist the state of a connection. * - * - *

Not to be implemented. + *

TODO Not to be implemented. * @author Michael Scharf - * */ public interface ISettingsStore { /** @@ -25,12 +23,14 @@ public interface ISettingsStore { * @return value */ String get(String key); + /** * @param key * @param defaultValue * @return the value or the fecaault */ String get(String key, String defaultValue); + /** * Save a string value * @param key diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java index 9dd88afb6fd..073eccaf6d6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; @@ -20,24 +20,26 @@ import java.io.OutputStream; * via org.eclipse.tm.terminal.terminalConnector extension point. * * @author Michael Scharf - * */ public interface ITerminalConnector { /** * @return an ID of this connector. Typically getClass().getName() */ String getId(); + /** * @return true if the contribution is functioning (e.g. all external libraries are * installed). This was added for the serial support, because it requires the java comm * library, which is installed in the lib/ext directory of the */ boolean isInstalled(); + /** * Connect using the current state of the settings. * @param control Used to inform the UI about state changes and messages from the connection. */ void connect(ITerminalControl control); + /** * Disconnect if connected. Else do nothing. */ @@ -60,6 +62,7 @@ public interface ITerminalConnector { * @return a stream with data coming from the remote site. */ OutputStream getOutputStream(); + /** * @return a stream to write to the remote site. */ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java index 434008acc6e..53f9460b7e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; @@ -18,7 +18,6 @@ import org.eclipse.swt.widgets.Shell; * *

Not to be implemented by clients. * @author Michael Scharf - * */ public interface ITerminalControl { @@ -26,6 +25,7 @@ public interface ITerminalControl { * @return the current state of the connection */ TerminalState getState(); + /** * @param state */ @@ -44,11 +44,13 @@ public interface ITerminalControl { * TODO: Michael Scharf: Is this really needed? (use {@link #displayTextInTerminal(String)} */ void displayTextInTerminal(String text); + /** * Write a string directly to the terminal. * @param txt */ void writeToTerminal(String txt); + /** * Set the title of the terminal view. * @param title diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java index 7a2a0e061c6..22490ef356c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java @@ -1,15 +1,16 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Fran Litterio (Wind River) - initial API and implementation + * Ted Williams (Wind River) - refactored into org.eclipse namespace + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal; import java.io.File; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java index d73bc2b4f12..a641e57dc5e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalState.java index a227ecfa1b3..effa0ff6cfd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalState.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalState.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal; @@ -22,23 +22,28 @@ public class TerminalState { * The terminal is not connected. */ public final static TerminalState CLOSED=new TerminalState("CLOSED"); //$NON-NLS-1$ + /** * TODO: Michael Scharf: it's not clear to me what the meaning of the open state is */ public final static TerminalState OPENED=new TerminalState("OPENED"); //$NON-NLS-1$ + /** * The terminal is about to connect. */ public final static TerminalState CONNECTING=new TerminalState("CONNECTING..."); //$NON-NLS-1$ + /** * The terminal is connected. */ public final static TerminalState CONNECTED=new TerminalState("CONNECTED"); //$NON-NLS-1$ private final String fState; + public TerminalState(String state) { fState = state; } + public String toString() { return fState; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java index 972c2a7068c..d05e8884608 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java @@ -1,19 +1,18 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.control; import org.eclipse.tm.terminal.TerminalState; - /** * Provided by a view implementation. * @author Michael Scharf @@ -25,6 +24,7 @@ public interface ITerminalListener { * @param state */ void setState(TerminalState state); + /** * Set the title of the terminal. * @param title diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java index 77f4e9955c4..ac33802ae2c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.control; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java index 808ce9e9381..8866b03fea4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.control; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java index 36f542cd92e..72e72bc93f2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.control; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java index 4c743ffc798..f12eb123562 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.control; import java.io.IOException; @@ -102,6 +106,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public ITerminalConnector[] getConnectors() { return fConnectors; } + /* (non-Javadoc) * @see org.eclipse.tm.terminal.ITerminalControl#copy() */ @@ -241,6 +246,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // fConnector=null; } } + // TODO private void waitForConnect() { Logger.log("entered."); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java index f8a1a6f16fe..69bb8d99550 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java @@ -1,17 +1,18 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.control; import org.eclipse.osgi.util.NLS; + public class TerminalMessages extends NLS { static { NLS.initializeMessages(TerminalMessages.class.getName(), TerminalMessages.class); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties index ceea6affc96..70f4295454b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties @@ -1,13 +1,18 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### TerminalError = Terminal Error SocketError = Socket Error diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java index 6acd3c46a4c..74a106e291a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.control; import org.eclipse.core.runtime.Platform; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index e946bc2bafa..f3605985025 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.control; import java.io.IOException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java index 61d3c9a8eb3..9fdb0e20d72 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java index f864c802031..f6be3eb1641 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java @@ -1,34 +1,36 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; import java.util.ArrayList; import java.util.List; public class NetworkPortMap { - public static final String PROP_NAMETGTCONST = "tgtcons"; //$NON-NLS-1$ + public static final String PROP_NAMETGTCONS = "tgtcons"; //$NON-NLS-1$ public static final String PROP_NAMETELNET = "telnet"; //$NON-NLS-1$ public static final String PROP_VALUENET = "1233"; //$NON-NLS-1$ - public static final String PROP_VALUETGTCONST = "1232"; //$NON-NLS-1$ + public static final String PROP_VALUETGTCONS = "1232"; //$NON-NLS-1$ public static final String PROP_VALUETELNET = "23"; //$NON-NLS-1$ + String[][] fPortMap=new String[][] { // portName, port - {PROP_NAMETGTCONST, PROP_VALUETGTCONST}, + {PROP_NAMETGTCONS, PROP_VALUETGTCONS}, {PROP_NAMETELNET, PROP_VALUETELNET} }; + public String getDefaultNetworkPort() { return PROP_VALUETELNET; } + public String findPortName(String strPort) { for (int i = 0; i < fPortMap.length; i++) { if(fPortMap[i][1].equals(strPort)) @@ -36,6 +38,7 @@ public class NetworkPortMap { } return null; } + public String findPort(String strPortName) { for (int i = 0; i < fPortMap.length; i++) { if(fPortMap[i][0].equals(strPortName)) @@ -43,6 +46,7 @@ public class NetworkPortMap { } return null; } + public List getNameTable() { List names=new ArrayList(); for (int i = 0; i < fPortMap.length; i++) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java index da29a14ef35..08058c0a75e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java @@ -1,15 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Fran Litterio (Wind River) - initial API and implementation + * Helmut Haigermoser (Wind River) - repackaged + * Ted Williams (Wind River) - repackaged into org.eclipse namespace + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; /** diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java index e4b967926ba..b9f952fb7e1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java @@ -1,3 +1,19 @@ +/******************************************************************************* + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalControl + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; import java.net.ConnectException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java index a5b32c9802c..b9b019d7065 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java @@ -1,15 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Fran Litterio (Wind River) - initial API and implementation + * Helmut Haigermoser (Wind River) - repackaged + * Ted Williams (Wind River) - repackaged into org.eclipse namespace + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; import java.io.IOException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java index dbbeb176736..82e852f006e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java @@ -1,6 +1,14 @@ -/** +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - */ + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; import java.io.IOException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java index 793ec7e7202..dc50f268576 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java @@ -1,15 +1,14 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties index 1ad647e083e..1a5f8e9e594 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties @@ -1,13 +1,18 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### CONNTYPE_NETWORK = Network PORT = Port diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java index 5e6ebb4eeeb..0398937d3ce 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java @@ -1,16 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Fran Litterio (Wind River) - initial API and implementation + * Helmut Haigermoser (Wind River) - repackaged + * Ted Williams (Wind River) - repackaged into org.eclipse namespace + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - - package org.eclipse.tm.terminal.internal.telnet; import java.io.IOException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java index 2903698a223..92f20f0ebd2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java @@ -1,19 +1,16 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; - - public class TelnetProperties { private final NetworkPortMap fNetworkPortMap; private final String fDefaultHost; @@ -23,7 +20,6 @@ public class TelnetProperties { fNetworkPortMap = new NetworkPortMap(); fDefaultNetworkPort = fNetworkPortMap.getDefaultNetworkPort(); fDefaultHost = ""; //$NON-NLS-1$ - } public String getDefaultHost() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java index 99ad8576234..29dce415be1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java @@ -1,15 +1,14 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; import org.eclipse.tm.terminal.ISettingsStore; @@ -56,14 +55,12 @@ public class TelnetSettings implements ITelnetSettings { fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } - public void save(ISettingsStore store) { store.put("Host", fHost);//$NON-NLS-1$ store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ store.put("Timeout", fTimeout);//$NON-NLS-1$ } - public TelnetProperties getProperties() { return fProperties; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java index 203e851c82a..f6d41dac88e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - refactored out of TerminalSettingsDlg + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.telnet; import java.util.Collections; From f415ec00e17cceb158511ff029447a966176fb66 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 10:19:22 +0000 Subject: [PATCH 029/843] [cleanup] fix terminal copyright headers and beautify --- .../build.properties | 26 ++++++++++++------- .../plugin.properties | 20 +++++++++++--- org.eclipse.tm.terminal.serial/plugin.xml | 17 +++++++++++- .../internal/serial/ISerialSettings.java | 14 +++++----- .../internal/serial/SerialConnectWorker.java | 13 +++++++--- .../internal/serial/SerialConnector.java | 13 +++++++--- .../internal/serial/SerialMessages.java | 13 +++++++--- .../internal/serial/SerialMessages.properties | 13 +++++++--- .../internal/serial/SerialPortHandler.java | 17 +++++++----- .../internal/serial/SerialProperties.java | 14 ++++++---- .../internal/serial/SerialSettings.java | 14 ++++++---- .../internal/serial/SerialSettingsPage.java | 14 ++++++---- .../internal/telnet/NetworkPortMap.java | 21 +++++++++------ .../internal/telnet/TelnetConnectWorker.java | 2 +- .../internal/telnet/TelnetConnector.java | 21 +++++++++------ .../internal/telnet/TelnetOption.java | 8 +++--- .../internal/telnet/TelnetProperties.java | 21 +++++++++------ .../internal/telnet/TelnetSettings.java | 21 +++++++++------ .../internal/telnet/TelnetSettingsPage.java | 4 +-- 19 files changed, 188 insertions(+), 98 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index a8ed38584be..f2c92ca2ded 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -1,13 +1,19 @@ -################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -################################################################################ +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### source.. = src/ output.. = bin/ bin.includes = META-INF/,\ diff --git a/org.eclipse.tm.terminal.serial/plugin.properties b/org.eclipse.tm.terminal.serial/plugin.properties index 4caacf9e857..5c766dcd0de 100644 --- a/org.eclipse.tm.terminal.serial/plugin.properties +++ b/org.eclipse.tm.terminal.serial/plugin.properties @@ -1,6 +1,18 @@ -########################################################################## -# Copyright 2004 Wind River Systems, Inc. All rights reserved. -########################################################################## - +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### pluginName = Serial Terminal providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index 29127ce2604..a22dd5267b3 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -1,9 +1,24 @@ + - diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java index cfb2ec28682..9201fc1a911 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java index d561fd396a2..a8b3426a4b8 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java @@ -1,13 +1,18 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalControl + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java index 028ae2f17af..5112e304347 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java @@ -1,13 +1,18 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalControl + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java index 77e83c3d748..d449b97686d 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java @@ -1,13 +1,18 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties index 2708d803517..e00332637df 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties @@ -1,13 +1,18 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### PORT_IN_USE = Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? CONNTYPE_SERIAL = Serial diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java index c4b4a98cde6..ec5e6dc8e64 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java @@ -1,13 +1,18 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalControl + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; @@ -29,9 +34,7 @@ import org.eclipse.tm.terminal.TerminalState; */ public class SerialPortHandler implements SerialPortEventListener, CommPortOwnershipListener { - /** - * - */ + private final ITerminalControl fControl; private final SerialConnector fConn; protected byte[] bytes = new byte[2048]; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java index 7560dc49a03..aaca3d5eb9b 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalProperties + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.serial; import java.util.Collections; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java index 536531e8a6e..8e7444e3578 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalSettings + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.serial; import javax.comm.SerialPort; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java index 93f007a8805..7ed4b9a7614 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.serial; import java.util.Iterator; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java index f6be3eb1641..d2da66f9f22 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java @@ -1,12 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalConsts * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java index b9f952fb7e1..59ee043c597 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java index 82e852f006e..f55afcd19d1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java @@ -1,12 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java index 0398937d3ce..1dc8e2b5ea1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java @@ -5,10 +5,12 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Fran Litterio (Wind River) - initial API and implementation - * Helmut Haigermoser (Wind River) - repackaged - * Ted Williams (Wind River) - repackaged into org.eclipse namespace * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java index 92f20f0ebd2..1d85a4c418a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java @@ -1,12 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java index 29dce415be1..9bdd522cf9b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java @@ -1,12 +1,17 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java index f6d41dac88e..925f881a380 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - refactored out of TerminalSettingsDlg + * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; From 79c2804166eb954e09f4c60fc5042848b38fd437 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 10:26:20 +0000 Subject: [PATCH 030/843] [cleanup] fix terminal copyright headers and beautify --- org.eclipse.tm.terminal.serial/plugin.xml | 9 ++------- .../META-INF/MANIFEST.MF | 6 +++--- org.eclipse.tm.terminal.ssh/build.properties | 11 +++++++++++ org.eclipse.tm.terminal.ssh/plugin.properties | 12 ++++++++++++ org.eclipse.tm.terminal.ssh/plugin.xml | 11 +++++++++++ .../eclipse/tm/terminal/ssh/ISshSettings.java | 14 +++++++------- .../eclipse/tm/terminal/ssh/SshConnection.java | 18 ++++++++++-------- .../eclipse/tm/terminal/ssh/SshConnector.java | 14 +++++++------- .../eclipse/tm/terminal/ssh/SshMessages.java | 15 +++++++-------- .../tm/terminal/ssh/SshMessages.properties | 6 +++--- .../eclipse/tm/terminal/ssh/SshSettings.java | 14 +++++++------- .../tm/terminal/ssh/SshSettingsPage.java | 15 +++++++-------- org.eclipse.tm.terminal/plugin.xml | 9 ++------- 13 files changed, 89 insertions(+), 65 deletions(-) create mode 100644 org.eclipse.tm.terminal.ssh/plugin.properties diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index a22dd5267b3..0f946359b8a 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -1,19 +1,14 @@ diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 70d4627d44a..93a5c73c72f 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -1,13 +1,13 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Terminal ssh +Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true Bundle-Version: 0.0.9.qualifier -Bundle-Vendor: Eclipse.org +Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal, - com.jcraft.jsch + com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties index 79520983559..8146c0864c7 100644 --- a/org.eclipse.tm.terminal.ssh/build.properties +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -1,3 +1,14 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### source.. = src/ output.. = bin/ bin.includes = META-INF/,\ diff --git a/org.eclipse.tm.terminal.ssh/plugin.properties b/org.eclipse.tm.terminal.ssh/plugin.properties new file mode 100644 index 00000000000..cf3b0f905fa --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/plugin.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +pluginName = Terminal ssh +providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml index fe2bdfdf100..4a1617f11ae 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.xml +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -1,5 +1,16 @@ + diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java index d982c4254d9..bad3964c9dc 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.ssh; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index 7c08b06f3ba..2db4d66949a 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.ssh; @@ -84,6 +84,7 @@ class SshConnection extends Thread { } } + /** * Read the data from the ssh connection and display it in the terminal. * @param in @@ -135,7 +136,8 @@ class SshConnection extends Thread { }); } } - private void connectFailed(String terminalText, String msg) { + + private void connectFailed(String terminalText, String msg) { Logger.log(terminalText); fControl.displayTextInTerminal(terminalText); fControl.setState(TerminalState.CLOSED); diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java index a04f088fcce..ab35879cfce 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.ssh; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java index aa7287632c3..347c39430ed 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java @@ -1,15 +1,14 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.ssh; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties index eb4b86a7054..1928a323e49 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties @@ -4,10 +4,10 @@ # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - initial API and implementation +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### CONNTYPE = SSH HOST = Host diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java index abfe1134366..30026bcef04 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java @@ -1,13 +1,13 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.ssh; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java index 6b310d7ef7a..f97691e78fe 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java @@ -1,15 +1,14 @@ /******************************************************************************* * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.ssh; import org.eclipse.swt.SWT; diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 70efdce83c2..9be93ce975a 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,19 +1,14 @@ From 6603be4d74785a05cc98607c8a56727d3c0cc937 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 11:03:13 +0000 Subject: [PATCH 031/843] [cleanup] fix terminal copyright headers and beautify --- org.eclipse.tm.terminal.view/build.properties | 32 +++++----- .../plugin.properties | 16 ++++- org.eclipse.tm.terminal.view/plugin.xml | 16 +++++ .../internal/actions/ActionMessages.java | 13 ++-- .../actions/ActionMessages.properties | 13 ++-- .../internal/actions/TerminalAction.java | 15 +++-- .../actions/TerminalActionClearAll.java | 16 ++--- .../actions/TerminalActionConnect.java | 15 +++-- .../internal/actions/TerminalActionCopy.java | 14 +++-- .../internal/actions/TerminalActionCut.java | 14 +++-- .../actions/TerminalActionDisconnect.java | 14 +++-- .../actions/TerminalActionNewTerminal.java | 14 +++-- .../internal/actions/TerminalActionPaste.java | 14 +++-- .../actions/TerminalActionSelectAll.java | 14 +++-- .../actions/TerminalActionSettings.java | 14 +++-- .../terminal/internal/view/ITerminalView.java | 6 +- .../terminal/internal/view/ImageConsts.java | 14 +++-- .../tm/terminal/internal/view/PageBook.java | 49 ++++++++------- .../view/SettingStorePrefixDecorator.java | 6 +- .../terminal/internal/view/SettingsStore.java | 6 +- .../internal/view/TerminalPreferencePage.java | 14 +++-- .../internal/view/TerminalSettingsDlg.java | 14 +++-- .../terminal/internal/view/TerminalView.java | 14 +++-- .../internal/view/TerminalViewPlugin.java | 18 +++--- .../terminal/internal/view/ViewMessages.java | 14 +++-- .../internal/view/ViewMessages.properties | 14 +++-- .../eclipse/tm/terminal/view/Activator.java | 61 ------------------- 27 files changed, 252 insertions(+), 212 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties index 8e9e767c507..84f7972adee 100644 --- a/org.eclipse.tm.terminal.view/build.properties +++ b/org.eclipse.tm.terminal.view/build.properties @@ -1,12 +1,18 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ################################################################################ source.. = src/ output.. = bin/ @@ -14,14 +20,4 @@ bin.includes = META-INF/,\ .,\ plugin.xml,\ icons/,\ - .settings/,\ plugin.properties -src.includes = .classpath,\ - .project,\ - .settings/,\ - META-INF/,\ - build.properties,\ - icons/,\ - plugin.properties,\ - plugin.xml,\ - src/ diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index 4c668735b62..a7294adac2a 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -1,7 +1,19 @@ ########################################################################## -# Copyright 2004 Wind River Systems, Inc. All rights reserved. +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ########################################################################## - pluginName = Terminal View providerName = Eclipse.org terminal.views.category.name = Terminal diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index ca523016721..abc4f75035f 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -1,5 +1,21 @@ + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java index 193de4170a5..9105892da20 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java @@ -1,13 +1,18 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties index faad8ee0e33..b475440f688 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties @@ -1,13 +1,18 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### NEW_TERMINAL = New Terminal CONNECT = Connect diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java index cd8fe30110f..e3084958b1f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java @@ -1,16 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.action.Action; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java index 508e9791b8c..c86a9597400 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java @@ -1,17 +1,19 @@ - /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java index a892612a673..cbd451045ed 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java @@ -1,16 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java index 90122aa6ef7..49650672456 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java index 997b0675a0c..bb10424c0a5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java index d717a988b39..1a1417f788e 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java index a0c0a49322c..9dd7aad575a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java index b6b3de56b2e..30ea5974689 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.jface.resource.ImageRegistry; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java index 4c0d62e9cc5..e32216b0780 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java index a86f09e334a..3471c4faa54 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.actions; import org.eclipse.tm.terminal.internal.view.ITerminalView; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java index cdbf0603d90..2244f4536de 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java @@ -4,12 +4,10 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; public interface ITerminalView { diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java index c531dcb83dc..9805efa6164 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - extracted from TerminalConsts + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; public interface ImageConsts diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java index 96b4f41d7cd..3e9432b100c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java @@ -1,13 +1,13 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2000, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * IBM Corporation - initial API and implementation (org.eclipse.ui.part.PageBook) + * Michael Scharf (Wind River) - consider all children for layout and hiding *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; @@ -28,11 +28,12 @@ import org.eclipse.swt.widgets.Layout; */ public class PageBook extends Composite { private Point minimumPageSize = new Point(0, 0); + /** * Layout for the page container. * */ - private class PageLayout extends Layout { + private class PageBookLayout extends Layout { public Point computeSize(Composite composite, int wHint, int hHint, boolean force) { if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) return new Point(wHint, hHint); @@ -45,10 +46,12 @@ public class PageBook extends Composite { y = Math.max(y, size.y); } - if (wHint != SWT.DEFAULT) + if (wHint != SWT.DEFAULT) { x = wHint; - if (hHint != SWT.DEFAULT) + } + if (hHint != SWT.DEFAULT) { y = hHint; + } return new Point(x, y); } @@ -60,7 +63,13 @@ public class PageBook extends Composite { } } } - /** + + /** + * The current control; null if none. + */ + private Control currentPage = null; + + /** * Creates a new empty pagebook. * * @param parent the parent composite @@ -68,12 +77,8 @@ public class PageBook extends Composite { */ public PageBook(Composite parent, int style) { super(parent, style); - setLayout(new PageLayout()); + setLayout(new PageBookLayout()); } - /** - * The current control; null if none. - */ - private Control currentPage = null; /** * Shows the given page. This method has no effect if the given page is not @@ -83,21 +88,21 @@ public class PageBook extends Composite { */ public void showPage(Control page) { - if (page == currentPage) + if (page == currentPage) { return; - if (page.getParent() != this) + } + if (page==null || page.getParent() != this) { return; + } currentPage = page; // show new page - if (page != null) { - if (!page.isDisposed()) { - page.setVisible(true); - layout(true); - // if (fRequestFocusOnShowPage) - // page.setFocus(); - } + if (!page.isDisposed()) { + page.setVisible(true); + layout(true); + // if (fRequestFocusOnShowPage) + // page.setFocus(); } // hide old *after* new page has been made visible in order to avoid flashing diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java index e305e0a4ea8..32db3749aef 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java @@ -4,10 +4,9 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; @@ -20,6 +19,7 @@ public class SettingStorePrefixDecorator implements ISettingsStore { fPrefix=prefix; fStore=store; } + public String get(String key) { return fStore.get(fPrefix+key); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java index ee715a4a54e..55a3b3d4011 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java @@ -4,10 +4,9 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; @@ -15,7 +14,6 @@ import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.tm.terminal.ISettingsStore; /** - * * A {@link IDialogSettings} based {@link ISettingsStore}. * * @author Michael Scharf diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java index dddcdb38f82..52e5762e114 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; import org.eclipse.jface.preference.BooleanFieldEditor; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java index 608c0c7cce7..54ca7d017d0 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; import org.eclipse.jface.dialogs.Dialog; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index bbd4398e13a..9f28f3ea597 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; import org.eclipse.core.runtime.Preferences; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java index 2a300c72ca6..3ba5f8ae932 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java @@ -1,15 +1,19 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ - package org.eclipse.tm.terminal.internal.view; import java.net.MalformedURLException; @@ -26,8 +30,8 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; public class TerminalViewPlugin extends AbstractUIPlugin { protected static TerminalViewPlugin fDefault; - public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ - public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ /** * The constructor. diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java index 425c31539d6..3bf1515245b 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java @@ -1,17 +1,23 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * * Contributors: - * Wind River Systems, Inc. - initial implementation - * + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; import org.eclipse.osgi.util.NLS; + public class ViewMessages extends NLS { static { NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties index 5d9d0c549ed..72901a74a2a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties @@ -1,18 +1,22 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html -# +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# # Contributors: -# Wind River Systems, Inc. - initial implementation -# +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### PROP_TITLE = Terminal SETTINGS = Settings - TERMINALSETTINGS = Terminal Settings CONNECTIONTYPE = Connection Type diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java deleted file mode 100644 index 9f05051e652..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/view/Activator.java +++ /dev/null @@ -1,61 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems, Inc. - initial implementation - * - *******************************************************************************/ -package org.eclipse.tm.terminal.view; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.view"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} From e07d9a68ddbd4ec67204d8de0ef9101403d1e9b9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 11:07:43 +0000 Subject: [PATCH 032/843] Add about.html to terminal plugins --- org.eclipse.tm.terminal.serial/about.html | 28 +++++++++++++++++++ org.eclipse.tm.terminal.ssh/about.html | 28 +++++++++++++++++++ org.eclipse.tm.terminal.ssh/build.properties | 10 ++----- org.eclipse.tm.terminal.ssh/plugin.xml | 2 +- org.eclipse.tm.terminal.view/about.html | 28 +++++++++++++++++++ org.eclipse.tm.terminal.view/build.properties | 4 ++- org.eclipse.tm.terminal/about.html | 28 +++++++++++++++++++ .../eclipse/tm/terminal/ISettingsStore.java | 1 - 8 files changed, 119 insertions(+), 10 deletions(-) create mode 100644 org.eclipse.tm.terminal.serial/about.html create mode 100644 org.eclipse.tm.terminal.ssh/about.html create mode 100644 org.eclipse.tm.terminal.view/about.html create mode 100644 org.eclipse.tm.terminal/about.html diff --git a/org.eclipse.tm.terminal.serial/about.html b/org.eclipse.tm.terminal.serial/about.html new file mode 100644 index 00000000000..460233046ee --- /dev/null +++ b/org.eclipse.tm.terminal.serial/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/about.html b/org.eclipse.tm.terminal.ssh/about.html new file mode 100644 index 00000000000..460233046ee --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties index 8146c0864c7..3a5fff5555d 100644 --- a/org.eclipse.tm.terminal.ssh/build.properties +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -13,11 +13,7 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ .,\ - plugin.xml -src.includes = src/,\ plugin.xml,\ - build.properties,\ - META-INF/,\ - .settings/,\ - .project,\ - .classpath + plugin.properties +src.includes = src/,\ + build.properties diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml index 4a1617f11ae..61115bba1bc 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.xml +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -1,7 +1,7 @@ + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties new file mode 100644 index 00000000000..c509f756c92 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Feature + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal widget. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 0dc838fc87d..b949384e391 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -1,21 +1,27 @@ - - [Enter Feature Description here.] + + %description - - [Enter Copyright Description here.] + + %copyright - - [Enter License Description here.] + + %license + + + + + @@ -24,8 +30,8 @@ diff --git a/org.eclipse.tm.terminal-feature/license.html b/org.eclipse.tm.terminal-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.sdk-feature/.project b/org.eclipse.tm.terminal.sdk-feature/.project new file mode 100644 index 00000000000..92158332e5e --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties new file mode 100644 index 00000000000..c2dc9f1d1cd --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -0,0 +1,15 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +################################################################################ +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal.sdk \ No newline at end of file diff --git a/org.eclipse.tm.terminal.sdk-feature/epl-v10.html b/org.eclipse.tm.terminal.sdk-feature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties new file mode 100644 index 00000000000..f2d2f58fefb --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -0,0 +1,143 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal SDK +featureNameSerial=Terminal Serial Connector +featureNameSsh=Terminal Ssh Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=Complete ASNI (vt102) compatible Terminal package including Source Code. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml new file mode 100644 index 00000000000..b186e5a8bec --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -0,0 +1,51 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.sdk-feature/license.html b/org.eclipse.tm.terminal.sdk-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..23d575ceea9 --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Source Code

+

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..a070fd9c69c --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..b89bd111d10 --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Terminal Source +providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.serial-feature/build.properties b/org.eclipse.tm.terminal.serial-feature/build.properties index be07fc98ac0..6c1e50644f2 100644 --- a/org.eclipse.tm.terminal.serial-feature/build.properties +++ b/org.eclipse.tm.terminal.serial-feature/build.properties @@ -8,4 +8,7 @@ # Contributors: # Michael Scharf (Wind River) - initial API and implementation ################################################################################ -bin.includes = feature.xml +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html diff --git a/org.eclipse.tm.terminal.serial-feature/epl-v10.html b/org.eclipse.tm.terminal.serial-feature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties new file mode 100644 index 00000000000..c8ab22014b2 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Serial Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using javacomm API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 5c4e09fe538..4d92aa2494a 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -1,21 +1,27 @@ - - [Enter Feature Description here.] + + %description - - [Enter Copyright Description here.] + + %copyright - - [Enter License Description here.] + + %license + + + + + diff --git a/org.eclipse.tm.terminal.serial-feature/license.html b/org.eclipse.tm.terminal.serial-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.ssh-feature/build.properties b/org.eclipse.tm.terminal.ssh-feature/build.properties index 64f93a9f0b7..39b0777e501 100644 --- a/org.eclipse.tm.terminal.ssh-feature/build.properties +++ b/org.eclipse.tm.terminal.ssh-feature/build.properties @@ -1 +1,4 @@ -bin.includes = feature.xml +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html diff --git a/org.eclipse.tm.terminal.ssh-feature/epl-v10.html b/org.eclipse.tm.terminal.ssh-feature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties new file mode 100644 index 00000000000..51a3b7719af --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Ssh Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 197021d71f1..a87e1d671df 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -1,25 +1,38 @@ - - [Enter Feature Description here.] + + %description - - [Enter Copyright Description here.] + + %copyright - - [Enter License Description here.] + + %license + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.ssh-feature/license.html b/org.eclipse.tm.terminal.ssh-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.view-feature/build.properties b/org.eclipse.tm.terminal.view-feature/build.properties index be07fc98ac0..6c1e50644f2 100644 --- a/org.eclipse.tm.terminal.view-feature/build.properties +++ b/org.eclipse.tm.terminal.view-feature/build.properties @@ -8,4 +8,7 @@ # Contributors: # Michael Scharf (Wind River) - initial API and implementation ################################################################################ -bin.includes = feature.xml +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html diff --git a/org.eclipse.tm.terminal.view-feature/epl-v10.html b/org.eclipse.tm.terminal.view-feature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties new file mode 100644 index 00000000000..4a3ef003b04 --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal View Feature + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An Eclipse Workbench standalone view for the Terminal widget. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 6b71f0315fa..463d31880d2 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -1,22 +1,27 @@ + label="%featureName" + provider-name="%providerName" + version="0.9.0.qualifier"> - - [Enter Feature Description here.] + + %description - - [Enter Copyright Description here.] + + %copyright - - [Enter License Description here.] + + %license + + + + + diff --git a/org.eclipse.tm.terminal.view-feature/license.html b/org.eclipse.tm.terminal.view-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + From 19087e5c5e43d08fad36a6a896fe076e8199e0c8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 12:35:07 +0000 Subject: [PATCH 034/843] Fix terminal.ssh version number --- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 93a5c73c72f..4f6c1d2bf1b 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 0.0.9.qualifier +Bundle-Version: 0.9.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, From 88a0069ecefab23c2839979edc7c88c439a32bbb Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 12:41:36 +0000 Subject: [PATCH 035/843] Add .qualifier --- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index b186e5a8bec..04fd0ff2af6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ From 44948e7c668ed8ec0fe5e4eaffc7d56c21fdcb6c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 13:04:45 +0000 Subject: [PATCH 036/843] Generate separate source plugins for each terminal feature. Add install sizes. --- org.eclipse.tm.terminal-feature/feature.xml | 4 +-- .../sourceTemplatePlugin/about.html | 33 +++++++++++++++++++ .../sourceTemplatePlugin/build.properties | 12 +++++++ .../sourceTemplatePlugin/plugin.properties | 12 +++++++ .../build.properties | 5 ++- .../feature.xml | 22 +++++++++++-- .../feature.xml | 4 +-- .../sourceTemplatePlugin/about.html | 33 +++++++++++++++++++ .../sourceTemplatePlugin/build.properties | 12 +++++++ .../sourceTemplatePlugin/plugin.properties | 12 +++++++ .../feature.xml | 4 +-- .../sourceTemplatePlugin/about.html | 33 +++++++++++++++++++ .../sourceTemplatePlugin/build.properties | 12 +++++++ .../sourceTemplatePlugin/plugin.properties | 12 +++++++ .../feature.xml | 4 +-- .../sourceTemplatePlugin/about.html | 33 +++++++++++++++++++ .../sourceTemplatePlugin/build.properties | 12 +++++++ .../sourceTemplatePlugin/plugin.properties | 12 +++++++ 18 files changed, 260 insertions(+), 11 deletions(-) create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index b949384e391..e221557dd00 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -30,8 +30,8 @@ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..23d575ceea9 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Source Code

+

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..a070fd9c69c --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..b89bd111d10 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Terminal Source +providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index c2dc9f1d1cd..b6e2256d5ec 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -12,4 +12,7 @@ bin.includes = feature.xml,\ epl-v10.html,\ feature.properties,\ license.html -generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal.sdk \ No newline at end of file +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 04fd0ff2af6..879e9513744 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -44,8 +44,26 @@ + + + + + +
diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 4d92aa2494a..c12d85251c9 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -30,8 +30,8 @@ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..23d575ceea9 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Source Code

+

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..a070fd9c69c --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..35aeb125f85 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Terminal Serial Connector Source +providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index a87e1d671df..15a0150cf70 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -31,8 +31,8 @@ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..23d575ceea9 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Source Code

+

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..a070fd9c69c --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..d73da349b76 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Terminal Ssh Connector Source +providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 463d31880d2..773f7899169 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -30,8 +30,8 @@ diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..23d575ceea9 --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

About This Content

+ +

June 2, 2006

+

License

+ +

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

+ +

If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

+ +

Source Code

+

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

+ + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..a070fd9c69c --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..60224b24e5b --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Terminal View Source +providerName=Eclipse.org From 0eb19686c5cc412f01b4989299b2f62fcf6bda4b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 13:26:07 +0000 Subject: [PATCH 037/843] Add README for Terminal widget --- org.eclipse.tm.terminal/README.txt | 15 +++++++++++++++ org.eclipse.tm.terminal/build.properties | 7 +++++-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.tm.terminal/README.txt diff --git a/org.eclipse.tm.terminal/README.txt b/org.eclipse.tm.terminal/README.txt new file mode 100644 index 00000000000..0f370d7f16f --- /dev/null +++ b/org.eclipse.tm.terminal/README.txt @@ -0,0 +1,15 @@ +Terminal README +=============== + +The Terminal is a Jface StyledText widget that can be hooked +up to various ITerminalConnectors providing an InputStream, +OutputStream, and a method for setting the Terminal Size. + +The widget processes ANSI control characters, including NUL, +backspace, carriage return, linefeed, and a subset of ANSI +escape sequences sufficient to allow use of screen-oriented +applications, such as vi, Emacs, and any GNU readline-enabled +application (Bash, bc, ncftp, etc.). + +This is not yet a fully compliant vt100 / vt102 terminal +emulator! diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index b28ad83adf8..d408122143c 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -18,10 +18,13 @@ bin.includes = .,\ META-INF/,\ plugin.xml,\ plugin.properties,\ - .options + .options,\ + README.txt,\ + about.html source.. = src/ output.. = bin/ src.includes = schema/,\ - src/ + README.txt,\ + about.html \ No newline at end of file From ca49b2458e131cb068d74d5708f32fea128f211d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 13:37:18 +0000 Subject: [PATCH 038/843] Fix terminal build.properties for adding about.html --- org.eclipse.tm.terminal.serial/build.properties | 13 ++++--------- org.eclipse.tm.terminal.ssh/build.properties | 6 +++--- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index f2c92ca2ded..3d4a3a9a93c 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -19,13 +19,8 @@ output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.xml,\ - plugin.properties -src.includes = .classpath,\ - .project,\ - .settings/,\ - META-INF/,\ - README.txt,\ - build.properties,\ plugin.properties,\ - plugin.xml,\ - src/ + README.txt,\ + about.html +src.includes = README.txt,\ + about.html diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties index 3a5fff5555d..546f1c91d35 100644 --- a/org.eclipse.tm.terminal.ssh/build.properties +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -14,6 +14,6 @@ output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.xml,\ - plugin.properties -src.includes = src/,\ - build.properties + plugin.properties,\ + about.html +src.includes = about.html From 98faf558cb7f38bb329718d92d6e145ef25b486f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 13:43:20 +0000 Subject: [PATCH 039/843] Switch terminal to standard RSE jdt.core.prefs --- .../.settings/org.eclipse.jdt.core.prefs | 5 +- .../.settings/org.eclipse.jdt.core.prefs | 57 ++---------------- .../.settings/org.eclipse.jdt.core.prefs | 5 +- .../.settings/org.eclipse.jdt.core.prefs | 58 ++----------------- 4 files changed, 14 insertions(+), 111 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index 64e6553c55e..bf0d29c9d42 100644 --- a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,8 @@ -#Wed Nov 29 05:39:06 CET 2006 +#Tue Nov 28 18:18:22 CET 2006 eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index 6828f7d4fb9..bf0d29c9d42 100644 --- a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,57 +1,8 @@ -#Thu Dec 07 03:43:08 CET 2006 +#Tue Nov 28 18:18:22 CET 2006 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=ignore -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs index b2cf7ff9c9c..bf0d29c9d42 100644 --- a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,8 @@ -#Thu Nov 30 06:15:17 CET 2006 +#Tue Nov 28 18:18:22 CET 2006 eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index 78cc64039c4..bf0d29c9d42 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,58 +1,8 @@ -#Thu Nov 30 18:38:38 CET 2006 +#Tue Nov 28 18:18:22 CET 2006 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=ignore -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore -org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=ignore -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore -org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.source=1.3 From 2629b26966de634b74172ed0ce2643b45ecc0652 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 14:16:24 +0000 Subject: [PATCH 040/843] [167071] use telnet ports that cannot be mapped verbatim --- .../internal/telnet/TelnetSettingsPage.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java index 925f881a380..87c71aed8af 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java @@ -64,19 +64,23 @@ public class TelnetSettingsPage implements ISettingsPage { } private void setNetworkPort(String strNetworkPort) { - String strPortName = getNetworkPortMap().findPortName(strNetworkPort); - if(strPortName==null) - strPortName=""; //$NON-NLS-1$ - int nIndex = fNetworkPortCombo.indexOf(strPortName); + if (strNetworkPort!=null) { + String strPortName = getNetworkPortMap().findPortName(strNetworkPort); + if(strPortName==null) + strPortName=""; //$NON-NLS-1$ + int nIndex = fNetworkPortCombo.indexOf(strPortName); - if (nIndex == -1) { - fNetworkPortCombo.setText(strNetworkPort); - } else { - fNetworkPortCombo.select(nIndex); + if (nIndex == -1) { + fNetworkPortCombo.setText(strNetworkPort); + } else { + fNetworkPortCombo.select(nIndex); + } } } private String getNetworkPort() { - return getNetworkPortMap().findPort(fNetworkPortCombo.getText()); + String portText = fNetworkPortCombo.getText(); + String mappedPort = getNetworkPortMap().findPort(portText); + return mappedPort!=null ? mappedPort : portText; } private NetworkPortMap getNetworkPortMap() { return fTerminalSettings.getProperties().getNetworkPortMap(); From b1691c603dc85d1eaa191d4cb9f3a75243c6102a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 14:21:29 +0000 Subject: [PATCH 041/843] [167071] use telnet ports that cannot be mapped verbatim --- .../eclipse/tm/terminal/internal/telnet/NetworkPortMap.java | 2 +- .../tm/terminal/internal/telnet/TelnetSettingsPage.java | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java index d2da66f9f22..ba49179c559 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalConsts + * Michael Scharf (Wind River) - extracted from TerminalNetworkPortMap * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.internal.telnet; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java index 87c71aed8af..4b59c94eb99 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java @@ -66,8 +66,9 @@ public class TelnetSettingsPage implements ISettingsPage { private void setNetworkPort(String strNetworkPort) { if (strNetworkPort!=null) { String strPortName = getNetworkPortMap().findPortName(strNetworkPort); - if(strPortName==null) - strPortName=""; //$NON-NLS-1$ + if(strPortName==null) { + strPortName=strNetworkPort; //fallback to verbatim port if not found + } int nIndex = fNetworkPortCombo.indexOf(strPortName); if (nIndex == -1) { From f82b22249e9f091d24bdf6a036825da63a7ac3b0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 15:25:50 +0000 Subject: [PATCH 042/843] Support Terminal Ssh Preferences, Proxy, Passphrase and KI authentication --- .../META-INF/MANIFEST.MF | 4 + .../tm/terminal/ssh/SshConnection.java | 260 ++++++++++++++++-- 2 files changed, 238 insertions(+), 26 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 4f6c1d2bf1b..83df069e842 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -8,6 +8,10 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal, + org.eclipse.ui, + org.eclipse.team.cvs.core;bundle-version="[3.2.0,4.0.0)", + org.eclipse.team.cvs.ssh2;bundle-version="[3.2.0,4.0.0)", + org.eclipse.team.cvs.ui;bundle-version="[3.2.0,4.0.0)", com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index 2db4d66949a..6cf4b0d7793 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -13,17 +13,28 @@ package org.eclipse.tm.terminal.ssh; import java.io.IOException; import java.io.InputStream; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; +import org.eclipse.core.runtime.OperationCanceledException; +import org.eclipse.core.runtime.Platform; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Display; +import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; +import org.eclipse.team.internal.ccvs.ssh2.CVSSSH2Plugin; +import org.eclipse.team.internal.ccvs.ssh2.ISSHContants; +import org.eclipse.team.internal.ccvs.ui.KeyboardInteractiveDialog; +import org.eclipse.team.internal.ccvs.ui.UserValidationDialog; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; import com.jcraft.jsch.ChannelShell; +import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; +import com.jcraft.jsch.Proxy; +import com.jcraft.jsch.ProxyHTTP; +import com.jcraft.jsch.ProxySOCKS5; import com.jcraft.jsch.Session; import com.jcraft.jsch.UserInfo; @@ -35,17 +46,142 @@ class SshConnection extends Thread { fConn = conn; fControl.setState(TerminalState.CONNECTING); } + + //---------------------------------------------------------------------- + // + //---------------------------------------------------------------------- + private static String current_ssh_home = null; + private static String current_pkeys = ""; //$NON-NLS-1$ + static String SSH_HOME_DEFAULT = null; + static { + String ssh_dir_name = ".ssh"; //$NON-NLS-1$ + + // Windows doesn't like files or directories starting with a dot. + if (Platform.getOS().equals(Platform.OS_WIN32)) { + ssh_dir_name = "ssh"; //$NON-NLS-1$ + } + SSH_HOME_DEFAULT = System.getProperty("user.home"); //$NON-NLS-1$ + if (SSH_HOME_DEFAULT != null) { + SSH_HOME_DEFAULT = SSH_HOME_DEFAULT + java.io.File.separator + ssh_dir_name; + } + } + + // Load ssh prefs from Team/CVS for now. + // TODO do our own preference page. + static void loadSshPrefs(JSch jsch) + { + IPreferenceStore store = CVSSSH2Plugin.getDefault().getPreferenceStore(); + String ssh_home = store.getString(ISSHContants.KEY_SSH2HOME); + String pkeys = store.getString(ISSHContants.KEY_PRIVATEKEY); + + try { + if (ssh_home.length() == 0) + ssh_home = SSH_HOME_DEFAULT; + + if (current_ssh_home == null || !current_ssh_home.equals(ssh_home)) { + loadKnownHosts(jsch, ssh_home); + current_ssh_home = ssh_home; + } + + if (!current_pkeys.equals(pkeys)) { + java.io.File file; + String[] pkey = pkeys.split(","); //$NON-NLS-1$ + String[] _pkey = current_pkeys.split(","); //$NON-NLS-1$ + current_pkeys = ""; //$NON-NLS-1$ + for (int i = 0; i < pkey.length; i++) { + file = new java.io.File(pkey[i]); + if (!file.isAbsolute()) { + file = new java.io.File(ssh_home, pkey[i]); + } + if (file.exists()) { + boolean notyet = true; + for (int j = 0; j < _pkey.length; j++) { + if (pkey[i].equals(_pkey[j])) { + notyet = false; + break; + } + } + if (notyet) + jsch.addIdentity(file.getPath()); + if (current_pkeys.length() == 0) { + current_pkeys = pkey[i]; + } else { + current_pkeys += ("," + pkey[i]); //$NON-NLS-1$ + } + } + } + } + } catch (Exception e) { + } + + } + + static void loadKnownHosts(JSch jsch, String ssh_home){ + try { + java.io.File file; + file=new java.io.File(ssh_home, "known_hosts"); //$NON-NLS-1$ + jsch.setKnownHosts(file.getPath()); + } catch (Exception e) { + } + } + + static Proxy loadSshProxyPrefs() { + //TODO Get rid of discouraged access when bug 154100 is fixed + boolean useProxy = CVSProviderPlugin.getPlugin().isUseProxy(); + Proxy proxy = null; + if (useProxy) { + String _type = CVSProviderPlugin.getPlugin().getProxyType(); + String _host = CVSProviderPlugin.getPlugin().getProxyHost(); + String _port = CVSProviderPlugin.getPlugin().getProxyPort(); + + boolean useAuth = CVSProviderPlugin.getPlugin().isUseProxyAuth(); + String _user = ""; //$NON-NLS-1$ + String _pass = ""; //$NON-NLS-1$ + + // Retrieve username and password from keyring. + if(useAuth){ + _user=CVSProviderPlugin.getPlugin().getProxyUser(); + _pass=CVSProviderPlugin.getPlugin().getProxyPassword(); + } + + String proxyhost = _host + ":" + _port; //$NON-NLS-1$ + if (_type.equals(CVSProviderPlugin.PROXY_TYPE_HTTP)) { + proxy = new ProxyHTTP(proxyhost); + if (useAuth) { + ((ProxyHTTP) proxy).setUserPasswd(_user, _pass); + } + } else if (_type.equals(CVSProviderPlugin.PROXY_TYPE_SOCKS5)) { + proxy = new ProxySOCKS5(proxyhost); + if (useAuth) { + ((ProxySOCKS5) proxy).setUserPasswd(_user, _pass); + } + } + } + return proxy; + } + + //---------------------------------------------------------------------- + // + //---------------------------------------------------------------------- + public void run() { try { int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; String host = fConn.getTelnetSettings().getHost(); String user = fConn.getTelnetSettings().getUser(); + String password = fConn.getTelnetSettings().getPassword(); int port=fConn.getTelnetSettings().getPort(); - Session session=fConn.getJsch().getSession(user, host, port); - //session.setPassword("your password"); - // username and password will be given via UserInfo interface. - UserInfo ui=new MyUserInfo(fConn.getTelnetSettings().getPassword()); + loadSshPrefs(fConn.getJsch()); + Proxy proxy = loadSshProxyPrefs(); + Session session=fConn.getJsch().getSession(user, host, port); + if (proxy != null) { + session.setProxy(proxy); + } + session.setTimeout(0); //never time out once connected + + session.setPassword(password); + UserInfo ui=new MyUserInfo(user, password); session.setUserInfo(ui); // java.util.Hashtable config=new java.util.Hashtable(); @@ -56,26 +192,13 @@ class SshConnection extends Thread { session.connect(nTimeout); // making connection with timeout. ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ - - //hmm, now it gets a bit complicated - // Input and output streams are somehow confusing - PipedInputStream pin = new PipedInputStream(); - PipedOutputStream out = new PipedOutputStream(pin); - - PipedOutputStream pout = new PipedOutputStream(); - PipedInputStream in = new PipedInputStream(pout); - - - channel.setInputStream(pin); - channel.setOutputStream(pout); channel.connect(); - - fConn.setInputStream(in); - fConn.setOutputStream(out); + fConn.setInputStream(channel.getInputStream()); + fConn.setOutputStream(channel.getOutputStream()); fConn.setChannel(channel); fControl.setState(TerminalState.CONNECTED); // read data until the connection gets terminated - readDataForever(in); + readDataForever(fConn.getInputStream()); } catch (JSchException e) { connectFailed(e.getMessage(),e.getMessage()); } catch (IOException e) { @@ -100,10 +223,22 @@ class SshConnection extends Thread { fControl.setState(TerminalState.CLOSED); } + protected static Display getStandardDisplay() { + Display display = Display.getCurrent(); + if( display==null ) { + display = Display.getDefault(); + } + return display; + } + private static class MyUserInfo implements UserInfo { private String fPassword; + private String fPassphrase; + private int fAttemptCount; + private final String fUser; - public MyUserInfo(String password) { + public MyUserInfo(String user, String password) { + fUser = user; fPassword = password; } public String getPassword() { @@ -119,14 +254,38 @@ class SshConnection extends Thread { }); return retval[0]; } + private String promptSecret(final String message) { + final String[] retval = new String[1]; + final String finUser = fUser; + getStandardDisplay().syncExec(new Runnable() { + public void run() { + //TODO discouraged access: Write our own UserValidationDialog + UserValidationDialog uvd = new UserValidationDialog(null, null, + finUser, message); + uvd.setUsernameMutable(false); + if (uvd.open() == Window.OK) { + retval[0] = uvd.getPassword(); + } else { + retval[0] = null; + } + } + }); + return retval[0]; + } public String getPassphrase() { - return null; + return fPassphrase; } public boolean promptPassphrase(String message) { - return true; + fPassphrase = promptSecret(message); + return (fPassphrase!=null); } public boolean promptPassword(final String message) { - return true; + String _password = promptSecret(message); + if (_password!=null) { + fPassword=_password; + return true; + } + return false; } public void showMessage(final String message) { Display.getDefault().syncExec(new Runnable() { @@ -135,6 +294,55 @@ class SshConnection extends Thread { } }); } + public String[] promptKeyboardInteractive(final String destination, + final String name, final String instruction, + final String[] prompt, final boolean[] echo) + { + if (prompt.length == 0) { + // No need to prompt, just return an empty String array + return new String[0]; + } + try{ + if (fAttemptCount == 0 && fPassword != null && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ + // Return the provided password the first time but always prompt on subsequent tries + fAttemptCount++; + return new String[] { fPassword }; + } + final String[][] finResult = new String[1][]; + getStandardDisplay().syncExec(new Runnable() { + public void run() { + //TODO discouraged access: write our own KeyboardInteractiveDialog + KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, + null, destination, name, instruction, prompt, echo); + dialog.open(); + finResult[0]=dialog.getResult(); + } + }); + String[] result=finResult[0]; + if (result == null) + return null; // canceled + if (result.length == 1 && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ + fPassword = result[0]; + } + fAttemptCount++; + return result; + } + catch(OperationCanceledException e){ + return null; + } + } + /** + * Callback to indicate that a connection is about to be attempted + */ + public void aboutToConnect() { + fAttemptCount = 0; + } + /** + * Callback to indicate that a connection was made + */ + public void connectionMade() { + fAttemptCount = 0; + } } private void connectFailed(String terminalText, String msg) { From e059ef7a3b242e4388e5dd204647ea899cf773ee Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Dec 2006 16:49:38 +0000 Subject: [PATCH 043/843] Get rid of dependency to team.cvs, re-using Preferences directly by Strings --- .../META-INF/MANIFEST.MF | 3 - .../tm/terminal/ssh/ISshConstants.java | 42 +++ .../ssh/KeyboardInteractiveDialog.java | 185 ++++++++++++ .../tm/terminal/ssh/SshConnection.java | 93 ++++-- .../eclipse/tm/terminal/ssh/SshMessages.java | 13 + .../tm/terminal/ssh/SshMessages.properties | 13 + .../tm/terminal/ssh/UserValidationDialog.java | 277 ++++++++++++++++++ 7 files changed, 595 insertions(+), 31 deletions(-) create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 83df069e842..1acb1cc4d25 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -9,9 +9,6 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal, org.eclipse.ui, - org.eclipse.team.cvs.core;bundle-version="[3.2.0,4.0.0)", - org.eclipse.team.cvs.ssh2;bundle-version="[3.2.0,4.0.0)", - org.eclipse.team.cvs.ui;bundle-version="[3.2.0,4.0.0)", com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java new file mode 100644 index 00000000000..9685df158cc --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Martin Oberhuber (Wind River) - extracted from various team.cvs plugins + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + + +/** + * Defines the constants used by the terminal.ssh Plugin + */ +public interface ISshConstants { + + // These are from ISSHContants + public static final String KEY_SSH2HOME="CVSSSH2PreferencePage.SSH2HOME"; //$NON-NLS-1$ + public static final String KEY_PRIVATEKEY="CVSSSH2PreferencePage.PRIVATEKEY"; //$NON-NLS-1$ + + // These are from ICVSUIConstants + public static final String PREF_USE_PROXY = "proxyEnabled"; //$NON-NLS-1$ + public static final String PREF_PROXY_TYPE = "proxyType"; //$NON-NLS-1$ + public static final String PREF_PROXY_HOST = "proxyHost"; //$NON-NLS-1$ + public static final String PREF_PROXY_PORT = "proxyPort"; //$NON-NLS-1$ + public static final String PREF_PROXY_AUTH = "proxyAuth"; //$NON-NLS-1$ + + // These are from CVSProviderPlugin + public static final String PROXY_TYPE_HTTP = "HTTP"; //$NON-NLS-1$ + public static final String PROXY_TYPE_SOCKS5 = "SOCKS5"; //$NON-NLS-1$ + public static final String HTTP_DEFAULT_PORT="80"; //$NON-NLS-1$ + public static final String SOCKS5_DEFAULT_PORT="1080"; //$NON-NLS-1$ + + // These are from cvs.ui.IHelpContextIds + public static final String CVSUIPREFIX = "org.eclipse.team.cvs.ui."; //$NON-NLS-1$ + public static final String HELP_USER_VALIDATION_DIALOG = CVSUIPREFIX + "user_validation_dialog_context"; //$NON-NLS-1$ + public static final String HELP_KEYBOARD_INTERACTIVE_DIALOG = CVSUIPREFIX + "keyboard_interactive_dialog_context"; //$NON-NLS-1$ + +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java new file mode 100644 index 00000000000..30ed2368b50 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java @@ -0,0 +1,185 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Atsuhiko Yamanaka, JCraft,Inc. - initial API and implementation. + * IBM Corporation - ongoing maintenance + * Martin Oberhuber (Wind River) - copied and adapted from team.cvs.ui + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.jface.window.Window; +import org.eclipse.osgi.util.NLS; +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.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.PlatformUI; + +/** + * A dialog for keyboad-interactive authentication for the ssh2 connection. + */ +public class KeyboardInteractiveDialog extends TrayDialog { + // widgets + private Text[] texts; + + protected String domain; + protected String destination; + protected String name; + protected String instruction; + protected String lang; + protected String[] prompt; + protected boolean[] echo; + private String message; + private String[] result; + + /** + * Creates a nwe KeyboardInteractiveDialog. + * + * @param parentShell the parent shell + * @param connectionId an id for the connection + * @param destination the location + * @param name the name + * @param instruction the instruction + * @param prompt the titles for textfields + * @param echo '*' should be used or not + */ + public KeyboardInteractiveDialog(Shell parentShell, + String connectionId, + String destination, + String name, + String instruction, + String[] prompt, + boolean[] echo){ + super(parentShell); + this.domain=connectionId; + this.destination=destination; + this.name=name; + this.instruction=instruction; + this.prompt=prompt; + this.echo=echo; + this.message=NLS.bind(SshMessages.KeyboardInteractiveDialog_message, new String[] { destination+(name!=null && name.length()>0 ? ": "+name : "") }); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$ + } + /** + * @see Window#configureShell + */ + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + newShell.setText(message); + } + /** + * @see Window#create + */ + public void create() { + super.create(); + if(texts.length>0){ + texts[0].setFocus(); + } + } + /** + * @see Dialog#createDialogArea + */ + protected Control createDialogArea(Composite parent) { + Composite main=new Composite(parent, SWT.NONE); + GridLayout layout=new GridLayout(); + layout.numColumns=3; + main.setLayout(layout); + main.setLayoutData(new GridData(GridData.FILL_BOTH)); + + // set F1 help + PlatformUI.getWorkbench().getHelpSystem().setHelp(main, ISshConstants.HELP_KEYBOARD_INTERACTIVE_DIALOG); + + if (message!=null) { + Label messageLabel=new Label(main, SWT.WRAP); + messageLabel.setText(message); + GridData data=new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan=3; + messageLabel.setLayoutData(data); + } + if(domain!=null){ + Label label = new Label(main, SWT.WRAP); + label.setText(NLS.bind(SshMessages.KeyboardInteractiveDialog_labelConnection, new String[] { domain })); + GridData data=new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan=3; + label.setLayoutData(data); + } + if (instruction!=null && instruction.length()>0) { + Label messageLabel=new Label(main, SWT.WRAP); + messageLabel.setText(instruction); + GridData data=new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan=3; + messageLabel.setLayoutData(data); + } + createPasswordFields(main); + return main; + } + /** + * Creates the widgets that represent the entry area. + * + * @param parent the parent of the widgets + */ + protected void createPasswordFields(Composite parent) { + texts=new Text[prompt.length]; + + for(int i=0; i + * The default implementation of this framework method sets + * this dialog's return code to Window.OK + * and closes the dialog. Subclasses may override. + *

+ */ + protected void okPressed() { + result=new String[prompt.length]; + for(int i=0; i + * The default implementation of this framework method sets + * this dialog's return code to Window.CANCEL + * and closes the dialog. Subclasses may override. + *

+ */ + protected void cancelPressed() { + result=null; + super.cancelPressed(); + } +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index 6cf4b0d7793..5773e151b12 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -13,21 +13,22 @@ package org.eclipse.tm.terminal.ssh; import java.io.IOException; import java.io.InputStream; +import java.net.MalformedURLException; +import java.net.URL; +import java.util.Collections; +import java.util.Map; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Display; -import org.eclipse.team.internal.ccvs.core.CVSProviderPlugin; -import org.eclipse.team.internal.ccvs.ssh2.CVSSSH2Plugin; -import org.eclipse.team.internal.ccvs.ssh2.ISSHContants; -import org.eclipse.team.internal.ccvs.ui.KeyboardInteractiveDialog; -import org.eclipse.team.internal.ccvs.ui.UserValidationDialog; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.ui.preferences.ScopedPreferenceStore; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSch; @@ -66,13 +67,29 @@ class SshConnection extends Thread { } } + private static IPreferenceStore fCvsSsh2PreferenceStore; + static IPreferenceStore getCvsSsh2PreferenceStore() { + if (fCvsSsh2PreferenceStore == null) { + fCvsSsh2PreferenceStore = new ScopedPreferenceStore(new InstanceScope(),"org.eclipse.team.cvs.ssh2"); //$NON-NLS-1$ + } + return fCvsSsh2PreferenceStore; + } + + private static IPreferenceStore fCvsUIPreferenceStore; + static IPreferenceStore getCvsUIPreferenceStore() { + if (fCvsUIPreferenceStore == null) { + fCvsUIPreferenceStore = new ScopedPreferenceStore(new InstanceScope(),"org.eclipse.team.cvs.ui"); //$NON-NLS-1$ + } + return fCvsUIPreferenceStore; + } + // Load ssh prefs from Team/CVS for now. // TODO do our own preference page. static void loadSshPrefs(JSch jsch) { - IPreferenceStore store = CVSSSH2Plugin.getDefault().getPreferenceStore(); - String ssh_home = store.getString(ISSHContants.KEY_SSH2HOME); - String pkeys = store.getString(ISSHContants.KEY_PRIVATEKEY); + IPreferenceStore store = getCvsSsh2PreferenceStore(); + String ssh_home = store.getString(ISshConstants.KEY_SSH2HOME); + String pkeys = store.getString(ISshConstants.KEY_PRIVATEKEY); try { if (ssh_home.length() == 0) @@ -81,6 +98,7 @@ class SshConnection extends Thread { if (current_ssh_home == null || !current_ssh_home.equals(ssh_home)) { loadKnownHosts(jsch, ssh_home); current_ssh_home = ssh_home; + current_pkeys = ""; //$NON-NLS-1$ } if (!current_pkeys.equals(pkeys)) { @@ -124,33 +142,47 @@ class SshConnection extends Thread { } catch (Exception e) { } } - + + private static final String INFO_PROXY_USER = "org.eclipse.team.cvs.core.proxy.user"; //$NON-NLS-1$ + private static final String INFO_PROXY_PASS = "org.eclipse.team.cvs.core.proxy.pass"; //$NON-NLS-1$ + static Proxy loadSshProxyPrefs() { - //TODO Get rid of discouraged access when bug 154100 is fixed - boolean useProxy = CVSProviderPlugin.getPlugin().isUseProxy(); + //TODO Use official Platform prefs when bug 154100 is fixed + IPreferenceStore store = getCvsUIPreferenceStore(); + boolean useProxy = store.getBoolean(ISshConstants.PREF_USE_PROXY); Proxy proxy = null; if (useProxy) { - String _type = CVSProviderPlugin.getPlugin().getProxyType(); - String _host = CVSProviderPlugin.getPlugin().getProxyHost(); - String _port = CVSProviderPlugin.getPlugin().getProxyPort(); + String _type = store.getString(ISshConstants.PREF_PROXY_TYPE); + String _host = store.getString(ISshConstants.PREF_PROXY_HOST); + String _port = store.getString(ISshConstants.PREF_PROXY_PORT); - boolean useAuth = CVSProviderPlugin.getPlugin().isUseProxyAuth(); + boolean useAuth = store.getBoolean(ISshConstants.PREF_PROXY_AUTH); String _user = ""; //$NON-NLS-1$ String _pass = ""; //$NON-NLS-1$ // Retrieve username and password from keyring. if(useAuth){ - _user=CVSProviderPlugin.getPlugin().getProxyUser(); - _pass=CVSProviderPlugin.getPlugin().getProxyPassword(); + Map authInfo = null; + try { + URL FAKE_URL = new URL("http://org.eclipse.team.cvs.proxy.auth");//$NON-NLS-1$ + authInfo = Platform.getAuthorizationInfo(FAKE_URL, "proxy", ""); //$NON-NLS-1$ //$NON-NLS-2$ + } catch(MalformedURLException e) { + //should never happen + } + if (authInfo==null) authInfo=Collections.EMPTY_MAP; + _user=(String)authInfo.get(INFO_PROXY_USER); + _pass=(String)authInfo.get(INFO_PROXY_PASS); + if (_user==null) _user=""; //$NON-NLS-1$ + if (_pass==null) _pass=""; //$NON-NLS-1$ } String proxyhost = _host + ":" + _port; //$NON-NLS-1$ - if (_type.equals(CVSProviderPlugin.PROXY_TYPE_HTTP)) { + if (_type.equals(ISshConstants.PROXY_TYPE_HTTP)) { proxy = new ProxyHTTP(proxyhost); if (useAuth) { ((ProxyHTTP) proxy).setUserPasswd(_user, _pass); } - } else if (_type.equals(CVSProviderPlugin.PROXY_TYPE_SOCKS5)) { + } else if (_type.equals(ISshConstants.PROXY_TYPE_SOCKS5)) { proxy = new ProxySOCKS5(proxyhost); if (useAuth) { ((ProxySOCKS5) proxy).setUserPasswd(_user, _pass); @@ -181,7 +213,14 @@ class SshConnection extends Thread { session.setTimeout(0); //never time out once connected session.setPassword(password); - UserInfo ui=new MyUserInfo(user, password); + ////Giving a connectionId could be the index into a local + ////Store where passwords are stored + //String connectionId = host; + //if (port!=22) { + // connectionId += ':' + port; + //} + //UserInfo ui=new MyUserInfo(connectionId, user, password); + UserInfo ui=new MyUserInfo(null, user, password); session.setUserInfo(ui); // java.util.Hashtable config=new java.util.Hashtable(); @@ -232,12 +271,14 @@ class SshConnection extends Thread { } private static class MyUserInfo implements UserInfo { + private final String fConnectionId; + private final String fUser; private String fPassword; private String fPassphrase; private int fAttemptCount; - private final String fUser; - public MyUserInfo(String user, String password) { + public MyUserInfo(String connectionId, String user, String password) { + fConnectionId = connectionId; fUser = user; fPassword = password; } @@ -256,12 +297,9 @@ class SshConnection extends Thread { } private String promptSecret(final String message) { final String[] retval = new String[1]; - final String finUser = fUser; getStandardDisplay().syncExec(new Runnable() { public void run() { - //TODO discouraged access: Write our own UserValidationDialog - UserValidationDialog uvd = new UserValidationDialog(null, null, - finUser, message); + UserValidationDialog uvd = new UserValidationDialog(null, fConnectionId, fUser, message); uvd.setUsernameMutable(false); if (uvd.open() == Window.OK) { retval[0] = uvd.getPassword(); @@ -311,9 +349,8 @@ class SshConnection extends Thread { final String[][] finResult = new String[1][]; getStandardDisplay().syncExec(new Runnable() { public void run() { - //TODO discouraged access: write our own KeyboardInteractiveDialog KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, - null, destination, name, instruction, prompt, echo); + fConnectionId, destination, name, instruction, prompt, echo); dialog.open(); finResult[0]=dialog.getResult(); } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java index 347c39430ed..02e1f0d4321 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java @@ -25,5 +25,18 @@ public class SshMessages extends NLS { public static String TIMEOUT; public static String WARNING; public static String INFO; + + //These are from org.eclipse.team.cvs.ui.CVSUIMessages + public static String UserValidationDialog_required; + public static String UserValidationDialog_labelUser; + public static String UserValidationDialog_labelPassword; + public static String UserValidationDialog_password; + public static String UserValidationDialog_user; + public static String UserValidationDialog_5; + public static String UserValidationDialog_6; + public static String UserValidationDialog_7; + + public static String KeyboardInteractiveDialog_message; + public static String KeyboardInteractiveDialog_labelConnection; } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties index 1928a323e49..eefa7b01e70 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties @@ -17,3 +17,16 @@ PASSWORD = Password TIMEOUT = Timeout WARNING = Warning INFO = Info + +#These are from cvs.ui/messages.properties +UserValidationDialog_required=Password Required +UserValidationDialog_labelUser={0} +UserValidationDialog_labelPassword={1} +UserValidationDialog_password=&Password: +UserValidationDialog_user=&User name: +UserValidationDialog_5=Connection: +UserValidationDialog_6=&Save password +UserValidationDialog_7=Saved passwords are stored on your computer in a file that is difficult, but not impossible, for an intruder to read. + +KeyboardInteractiveDialog_message=Keyboard Interactive authentication for {0} +KeyboardInteractiveDialog_labelConnection=Enter values for the following connection: {0} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java new file mode 100644 index 00000000000..5741669160a --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java @@ -0,0 +1,277 @@ +/******************************************************************************* + * Copyright (c) 2000, 2006 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Martin Oberhuber (Wind River) - copied from org.eclipse.team.cvs.ui + *******************************************************************************/ +package org.eclipse.tm.terminal.ssh; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.jface.window.Window; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.PlatformUI; + +/** + * A dialog for prompting for a username and password + */ +public class UserValidationDialog extends TrayDialog { + // widgets + protected Text usernameField; + protected Text passwordField; + protected Button allowCachingButton; + + protected String domain; + protected String defaultUsername; + protected String password = null; + protected boolean allowCaching = false; + protected Image keyLockImage; + + // whether or not the username can be changed + protected boolean isUsernameMutable = true; + protected String username = null; + protected String message = null; + + /** + * Creates a new UserValidationDialog. + * + * @param parentShell the parent shell + * @param location the location + * @param defaultName the default user name + * @param message a mesage to display to the user + */ + public UserValidationDialog(Shell parentShell, String location, String defaultName, String message) { + super(parentShell); + setShellStyle(getShellStyle() | SWT.RESIZE); + this.defaultUsername = defaultName; + this.domain = location; + this.message = message; + } + /** + * @see Window#configureShell + */ + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + newShell.setText(SshMessages.UserValidationDialog_required); + // set F1 help + PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, ISshConstants.HELP_USER_VALIDATION_DIALOG); + } + /** + * @see Window#create + */ + public void create() { + super.create(); + // add some default values + usernameField.setText(defaultUsername); + + if (isUsernameMutable) { + // give focus to username field + usernameField.selectAll(); + usernameField.setFocus(); + } else { + usernameField.setEditable(false); + passwordField.setFocus(); + } + } + + /** + * @see Dialog#createDialogArea + */ + protected Control createDialogArea(Composite parent) { + Composite top = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.numColumns = 2; + + top.setLayout(layout); + top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Composite imageComposite = new Composite(top, SWT.NONE); + layout = new GridLayout(); + imageComposite.setLayout(layout); + imageComposite.setLayoutData(new GridData(GridData.FILL_VERTICAL)); + + Composite main = new Composite(top, SWT.NONE); + layout = new GridLayout(); + layout.numColumns = 3; + main.setLayout(layout); + main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Label imageLabel = new Label(imageComposite, SWT.NONE); + //keyLockImage = TeamImages.getImageDescriptor(ITeamUIImages.IMG_KEY_LOCK).createImage(); + //imageLabel.setImage(keyLockImage); + GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); + imageLabel.setLayoutData(data); + + if (message != null) { + Label messageLabel = new Label(main, SWT.WRAP); + messageLabel.setText(message); + data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); + data.horizontalSpan = 3; + data.widthHint = 300; + messageLabel.setLayoutData(data); + } + if (domain != null) { + Label d = new Label(main, SWT.WRAP); + d.setText(SshMessages.UserValidationDialog_5); + data = new GridData(); + d.setLayoutData(data); + Label label = new Label(main, SWT.WRAP); + if (isUsernameMutable) { + label.setText(NLS.bind(SshMessages.UserValidationDialog_labelUser, new String[] { domain })); + } else { + label.setText(NLS.bind(SshMessages.UserValidationDialog_labelPassword, (new Object[]{defaultUsername, domain}))); + } + data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); + data.horizontalSpan = 2; + data.widthHint = 300; + label.setLayoutData(data); + } + createUsernameFields(main); + createPasswordFields(main); + + if(domain != null) { + allowCachingButton = new Button(main, SWT.CHECK); + allowCachingButton.setText(SshMessages.UserValidationDialog_6); + data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); + data.horizontalSpan = 3; + allowCachingButton.setLayoutData(data); + allowCachingButton.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + allowCaching = allowCachingButton.getSelection(); + } + }); + Composite warningComposite = new Composite(main, SWT.NONE); + layout = new GridLayout(); + layout.numColumns = 2; + layout.marginHeight = 0; + layout.marginHeight = 0; + warningComposite.setLayout(layout); + data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 3; + warningComposite.setLayoutData(data); + Label warningLabel = new Label(warningComposite, SWT.NONE); + warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING)); + warningLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING)); + Label warningText = new Label(warningComposite, SWT.WRAP); + warningText.setText(SshMessages.UserValidationDialog_7); + data = new GridData(GridData.FILL_HORIZONTAL); + data.widthHint = 300; + warningText.setLayoutData(data); + } + + Dialog.applyDialogFont(parent); + + return main; + } + + /** + * Creates the three widgets that represent the password entry area. + * + * @param parent the parent of the widgets + */ + protected void createPasswordFields(Composite parent) { + new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_password); + + passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD); + GridData data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 2; + data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH); + passwordField.setLayoutData(data); + } + /** + * Creates the three widgets that represent the user name entry area. + * + * @param parent the parent of the widgets + */ + protected void createUsernameFields(Composite parent) { + new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_user); + + usernameField = new Text(parent, SWT.BORDER); + GridData data = new GridData(GridData.FILL_HORIZONTAL); + data.horizontalSpan = 2; + data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH); + usernameField.setLayoutData(data); + } + + /** + * Returns the password entered by the user, or null + * if the user canceled. + * + * @return the entered password + */ + public String getPassword() { + return password; + } + + /** + * Returns the username entered by the user, or null + * if the user canceled. + * + * @return the entered username + */ + public String getUsername() { + return username; + } + + /** + * Returns true if the save password checkbox was selected. + * @return true if the save password checkbox was selected and false + * otherwise. + */ + public boolean getAllowCaching() { + return allowCaching; + } + + /** + * Notifies that the ok button of this dialog has been pressed. + *

+ * The default implementation of this framework method sets + * this dialog's return code to Window.OK + * and closes the dialog. Subclasses may override. + *

+ */ + protected void okPressed() { + password = passwordField.getText(); + username = usernameField.getText(); + + super.okPressed(); + } + /** + * Sets whether or not the username field should be mutable. + * This method must be called before create(), otherwise it + * will be ignored. + * + * @param value whether the username is mutable + */ + public void setUsernameMutable(boolean value) { + isUsernameMutable = value; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#close() + */ + public boolean close() { + if(keyLockImage != null) { + keyLockImage.dispose(); + } + return super.close(); + } +} From d78bc8b97eebe1aa0da75adeba0eba660ee39c84 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 7 Dec 2006 20:35:32 +0000 Subject: [PATCH 044/843] log error messagen on extension loading --- .../tm/terminal/TerminalConnectorExtension.java | 12 ++++++++++-- .../tm/terminal/internal/control/TerminalPlugin.java | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java index a641e57dc5e..2e5c64e9702 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java @@ -15,7 +15,10 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.RegistryFactory; +import org.eclipse.core.runtime.Status; +import org.eclipse.tm.terminal.internal.control.TerminalPlugin; /** * A factory to get {@link ITerminalConnector} instances. @@ -38,11 +41,16 @@ public class TerminalConnectorExtension { if(conn.isInstalled()) result.add(conn); } + } catch (NoClassDefFoundError e) { + log(e); } catch (Exception e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log(e); } } return (ITerminalConnector[]) result.toArray(new ITerminalConnector[result.size()]); } + + private static void log(Throwable e) { + TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, e.getMessage(), e)); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java index 74a106e291a..2a48924d464 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java @@ -22,8 +22,8 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; public class TerminalPlugin extends AbstractUIPlugin { protected static TerminalPlugin fDefault; - public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ - public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + public static final String PLUGIN_ID = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_ID + ".terminal_view"; //$NON-NLS-1$ /** * The constructor. From b9a7b4366167c1be62acc2c8c097d53329620017 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 8 Dec 2006 05:25:42 +0000 Subject: [PATCH 045/843] cancel the ssh connection correctly (terminate the SshConnection thread) --- .../tm/terminal/ssh/SshConnection.java | 53 +++++++++++++++---- .../eclipse/tm/terminal/ssh/SshConnector.java | 10 ++-- 2 files changed, 49 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index 5773e151b12..090b697014d 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -30,6 +30,7 @@ import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; import org.eclipse.ui.preferences.ScopedPreferenceStore; +import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; @@ -40,9 +41,12 @@ import com.jcraft.jsch.Session; import com.jcraft.jsch.UserInfo; class SshConnection extends Thread { + private static int fgNo; private final ITerminalControl fControl; private final SshConnector fConn; + private Channel fChannel; protected SshConnection(SshConnector conn,ITerminalControl control) { + super("SshConnection-"+fgNo++); fControl = control; fConn = conn; fControl.setState(TerminalState.CONNECTING); @@ -211,7 +215,7 @@ class SshConnection extends Thread { session.setProxy(proxy); } session.setTimeout(0); //never time out once connected - + session.setPassword(password); ////Giving a connectionId could be the index into a local ////Store where passwords are stored @@ -238,6 +242,8 @@ class SshConnection extends Thread { fControl.setState(TerminalState.CONNECTED); // read data until the connection gets terminated readDataForever(fConn.getInputStream()); + // when reading is done, we set the state to closed + fControl.setState(TerminalState.CLOSED); } catch (JSchException e) { connectFailed(e.getMessage(),e.getMessage()); } catch (IOException e) { @@ -246,7 +252,21 @@ class SshConnection extends Thread { } } - + synchronized void setChannel(Channel channel) { + fChannel = channel; + } + /** + * disconnect the ssh session + */ + void disconnect() { + interrupt(); + synchronized (this) { + if(fChannel!=null) { + fChannel.disconnect(); + fChannel=null; + } + } + } /** * Read the data from the ssh connection and display it in the terminal. * @param in @@ -255,11 +275,26 @@ class SshConnection extends Thread { private void readDataForever(InputStream in) throws IOException { // read the data byte bytes[]=new byte[32*1024]; - int n; - while((n=in.read(bytes))!=-1) { - fControl.writeToTerminal(new String(bytes,0,n)); + // read until the thread gets interrupted.... + while(!isInterrupted()) { + int n; + // We have to poll. There seems no better way to cancel + // the read from ssh.... + while(in.available()==0) { + try { + sleep(1); + } catch (InterruptedException e) { + // propagate the interrupt + interrupt(); + return; + } + } + // read some bytes + if((n=in.read(bytes))==-1) + return; + // we assume we get ASCII UTF8 bytes + fControl.writeToTerminal(new String(bytes,0,n,"UTF8")); } - fControl.setState(TerminalState.CLOSED); } protected static Display getStandardDisplay() { @@ -321,8 +356,8 @@ class SshConnection extends Thread { String _password = promptSecret(message); if (_password!=null) { fPassword=_password; - return true; - } + return true; + } return false; } public void showMessage(final String message) { @@ -339,7 +374,7 @@ class SshConnection extends Thread { if (prompt.length == 0) { // No need to prompt, just return an empty String array return new String[0]; - } + } try{ if (fAttemptCount == 0 && fPassword != null && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ // Return the provided password the first time but always prompt on subsequent tries diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java index ab35879cfce..fc09688a4a7 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java @@ -30,7 +30,7 @@ public class SshConnector implements ITerminalConnector { private ITerminalControl fControl; private JSch fJsch; private ChannelShell fChannel; - + private SshConnection fConnection; private final SshSettings fSettings; public SshConnector() { this(new SshSettings()); @@ -53,12 +53,12 @@ public class SshConnector implements ITerminalConnector { public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ fControl=control; - SshConnection worker = new SshConnection(this,control); - worker.start(); + fConnection = new SshConnection(this,control); + fConnection.start(); } - public void disconnect() { + synchronized public void disconnect() { Logger.log("entered."); //$NON-NLS-1$ - + fConnection.disconnect(); if (getInputStream() != null) { try { getInputStream().close(); From fd97bbcbc07b248de2819ccbc556db82493c6c82 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 11 Dec 2006 22:04:52 +0000 Subject: [PATCH 046/843] telnet connector is called Telnet instead of Network --- .../tm/terminal/internal/telnet/TelnetMessages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties index 1a5f8e9e594..6fd2315370e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties @@ -14,7 +14,7 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### -CONNTYPE_NETWORK = Network +CONNTYPE_NETWORK = Telnet PORT = Port HOST = Host CONNECTION_CLOSED_BY_FOREIGN_HOST= Connection closed by foreign host. From bbbb6b4070b0766da54140e1c3207513a4ac1a0d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 11 Dec 2006 22:14:44 +0000 Subject: [PATCH 047/843] clarified the comments --- .../src/org/eclipse/tm/terminal/ISettingsStore.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java index 685183ec123..4aa0dcbcbd9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ISettingsStore.java @@ -18,21 +18,21 @@ package org.eclipse.tm.terminal; */ public interface ISettingsStore { /** - * @param key + * @param key alpha numeric key, may contain dots (.) * @return value */ String get(String key); /** - * @param key + * @param key alpha numeric key, may contain dots (.) * @param defaultValue - * @return the value or the fecaault + * @return the value or the default */ String get(String key, String defaultValue); /** * Save a string value - * @param key + * @param key alpha numeric key, may contain dots (.) * @param value */ void put(String key, String value); From faa9f5f14781f26672410683fa42172ea5c54aca Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 11 Dec 2006 22:15:14 +0000 Subject: [PATCH 048/843] FIXED - bug 165984: [terminal] store view data in memento and not in dialog settings https://bugs.eclipse.org/bugs/show_bug.cgi?id=165984 --- .../terminal/internal/view/SettingsStore.java | 84 +++++++++++++++++-- .../terminal/internal/view/TerminalView.java | 36 ++++---- 2 files changed, 93 insertions(+), 27 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java index 55a3b3d4011..7b53195e5d2 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java @@ -10,35 +10,101 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.ui.IMemento; /** * A {@link IDialogSettings} based {@link ISettingsStore}. * + * Setting Store dased on IMemento. IMemento documentations says only alpha numeric + * values mey be used as keys. Therefore the implementation converts dots (.) into + * child elements of the memento. + * * @author Michael Scharf */ class SettingsStore implements ISettingsStore { - final private IDialogSettings fDialogSettings; - final private String fPrefix; - public SettingsStore(String terminalPartName) { - fDialogSettings=TerminalViewPlugin.getDefault().getDialogSettings(); - fPrefix=getClass().getName() + "." + terminalPartName + "."; //$NON-NLS-1$ //$NON-NLS-2$; + + private static final String KEYS = "_keys_"; + final private Map fMap=new HashMap(); + public SettingsStore(IMemento memento) { + if(memento==null) + return; + // load all keys ever used from the memento + String keys=memento.getString(KEYS); + if(keys!=null) { + String[] keyNames=keys.split(","); + for (int i = 0; i < keyNames.length; i++) { + String key=keyNames[i]; + if(!KEYS.equals(key)) { + // get the dot separated elements + String[] path=key.split("\\."); + IMemento m=memento; + // iterate over all but the last segment and get the children... + for(int iPath=0; m!=null && iPath+10) + buffer.append(","); + buffer.append(key); + } + // save the keys we have used. + memento.putString(KEYS, buffer.toString()); } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 9f28f3ea597..985dc43bb31 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -53,6 +53,8 @@ import org.eclipse.tm.terminal.internal.actions.TerminalActionPaste; import org.eclipse.tm.terminal.internal.actions.TerminalActionSelectAll; import org.eclipse.tm.terminal.internal.actions.TerminalActionSettings; import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; @@ -66,9 +68,6 @@ import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ - protected static final String fSecondaryTerminalCountMutex = ""; //$NON-NLS-1$ - - protected static int fSecondaryTerminalCount = 0; protected ITerminalViewControl fCtlTerminal; @@ -96,7 +95,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected boolean fMenuAboutToShow; - private ISettingsStore fStore; + private SettingsStore fStore; /** Remember the item with which we contributed the shortcut to unregister them again! */ private IContextActivation fRememberedContextActivation; @@ -214,7 +213,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // When the settings dialog is closed, we persist the Terminal settings. - saveSettings(); + saveSettings(dlgTerminalSettings.getConnector()); return dlgTerminalSettings.getConnector(); } @@ -348,9 +347,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi IContextService ctxtService = (IContextService) getSite().getService(IContextService.class); fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalPreferencePage"); //$NON-NLS-1$ - synchronized (fSecondaryTerminalCountMutex) { - setPartName(ViewMessages.PROP_TITLE + " " + fSecondaryTerminalCount++); //$NON-NLS-1$ - } + setPartName(ViewMessages.PROP_TITLE); setupControls(wndParent); setupActions(); @@ -412,31 +409,34 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected void setupControls(Composite wndParent) { ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); - String connectionType=getStore().get("ConnectionType"); //$NON-NLS-1$ + String connectionType=fStore.get("ConnectionType"); //$NON-NLS-1$ for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(connectors[i])); if(connectors[i].getId().equals(connectionType)) fCtlTerminal.setConnector(connectors[i]); } } - private void saveSettings() { + private void saveSettings(ITerminalConnector connector) { ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { connectors[i].save(getStore(connectors[i])); } - if(fCtlTerminal.getTerminalConnection()!=null) { - getStore().put("ConnectionType",fCtlTerminal.getTerminalConnection().getId()); //$NON-NLS-1$ + if(connector!=null) { + fStore.put("ConnectionType",connector.getId()); //$NON-NLS-1$ } } - private ISettingsStore getStore() { - if(fStore==null) - fStore=new SettingsStore(getPartName()); - return fStore; + public void init(IViewSite site, IMemento memento) throws PartInitException { + super.init(site, memento); + fStore=new SettingsStore(memento); + } + + public void saveState(IMemento memento) { + super.saveState(memento); + fStore.saveState(memento); } - private ISettingsStore getStore(ITerminalConnector connector) { - return new SettingStorePrefixDecorator(getStore(),connector.getClass().getName()+"."); //$NON-NLS-1$ + return new SettingStorePrefixDecorator(fStore,connector.getClass().getName()+"."); //$NON-NLS-1$ } protected void setupActions() { From ebd56a3b69a84662ed03c31fac537e77737191b9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 12 Dec 2006 17:58:36 +0000 Subject: [PATCH 049/843] fixed out of bounds error on save --- .../org/eclipse/tm/terminal/internal/view/SettingsStore.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java index 7b53195e5d2..c00c9adef57 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java @@ -98,7 +98,7 @@ class SettingsStore implements ISettingsStore { m=child; } // use the last element in path as key of the child memento - m.putString(path[path.length], (String) fMap.get(key)); + m.putString(path[path.length-1], (String) fMap.get(key)); // construct the string for the keys if(i>0) buffer.append(","); From 8a9022f1ff53992a52654f4042ccb59b92f53ac3 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 14 Dec 2006 15:49:03 +0000 Subject: [PATCH 050/843] Make Terminal View feature optional for SDK --- org.eclipse.tm.terminal.sdk-feature/feature.properties | 1 + org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index f2d2f58fefb..571cf361db9 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -18,6 +18,7 @@ featureName=Terminal SDK featureNameSerial=Terminal Serial Connector featureNameSsh=Terminal Ssh Connector +featureNameView=Terminal View Feature # "providerName" property - name of the company that provides the feature providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 879e9513744..758d778a214 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -40,7 +40,9 @@ + version="0.0.0" + name="%featureNameView" + optional="true"/> Date: Thu, 14 Dec 2006 20:05:23 +0000 Subject: [PATCH 051/843] Add Terminal to Build --- .../build.properties | 8 ++++---- org.eclipse.tm.terminal.sdk-feature/feature.xml | 16 ++++------------ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index b6e2256d5ec..5b6373ca4d6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -12,7 +12,7 @@ bin.includes = feature.xml,\ epl-v10.html,\ feature.properties,\ license.html -generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal -generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial -generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh -generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view +generate.feature@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.feature@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.feature@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.feature@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 758d778a214..b6f15161a31 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -44,28 +44,20 @@ name="%featureNameView" optional="true"/> - - - -
From 800978bdcc05e9f8c7b42307da652a49fa0586cd Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 14 Dec 2006 21:58:06 +0000 Subject: [PATCH 052/843] Adding SourceTemplateFeature for Terminal --- .../sourceTemplateFeature/epl-v10.html | 328 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 141 ++++++++ .../sourceTemplateFeature/license.html | 79 +++++ .../sourceTemplatePlugin/about.html | 33 -- .../sourceTemplatePlugin/build.properties | 12 - .../sourceTemplatePlugin/plugin.properties | 12 - .../sourceTemplateFeature/epl-v10.html | 328 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 141 ++++++++ .../sourceTemplateFeature/license.html | 79 +++++ .../feature.properties | 2 +- .../sourceTemplateFeature/epl-v10.html | 328 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 141 ++++++++ .../sourceTemplateFeature/license.html | 79 +++++ .../sourceTemplateFeature/epl-v10.html | 328 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 141 ++++++++ .../sourceTemplateFeature/license.html | 79 +++++ 16 files changed, 2193 insertions(+), 58 deletions(-) create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html delete mode 100644 org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html delete mode 100644 org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties delete mode 100644 org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..fc0b5e1696f --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal widget. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index 23d575ceea9..00000000000 --- a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

About This Content

- -

June 2, 2006

-

License

- -

The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

- -

If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

- -

Source Code

-

This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

- - - \ No newline at end of file diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index a070fd9c69c..00000000000 --- a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index b89bd111d10..00000000000 --- a/org.eclipse.tm.terminal.sdk-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Terminal Source -providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..2e397fba0a5 --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Serial Connector Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using javacomm API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 51a3b7719af..c48fd033df1 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2006 Wind River Systems, Inc., IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..dab5e221e39 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal Ssh Connector Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
+ +

Eclipse Public License - v 1.0 +

+ +

THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

+ +

1. DEFINITIONS

+ +

"Contribution" means:

+ +

a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
+b) in the case of each subsequent Contributor:

+ +

i) +changes to the Program, and

+ +

ii) +additions to the Program;

+ +

where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

+ +

"Contributor" means any person or +entity that distributes the Program.

+ +

"Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

+ +

"Program" means the Contributions +distributed in accordance with this Agreement.

+ +

"Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

+ +

2. GRANT OF RIGHTS

+ +

a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

+ +

b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

+ +

c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

+ +

d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

+ +

3. REQUIREMENTS

+ +

A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

+ +

a) +it complies with the terms and conditions of this Agreement; and

+ +

b) +its license agreement:

+ +

i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

+ +

ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

+ +

iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

+ +

iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

+ +

When the Program is made available in source +code form:

+ +

a) +it must be made available under this Agreement; and

+ +

b) a +copy of this Agreement must be included with each copy of the Program.

+ +

Contributors may not remove or alter any +copyright notices contained within the Program.

+ +

Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

+ +

4. COMMERCIAL DISTRIBUTION

+ +

Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

+ +

For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

+ +

5. NO WARRANTY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

+ +

6. DISCLAIMER OF LIABILITY

+ +

EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

+ +

7. GENERAL

+ +

If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

+ +

If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

+ +

All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

+ +

Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

+ +

This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

+ +

 

+ +
+ + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..59e7fc0d733 --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,141 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminal View Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "updateSiteName" property - label for the update site +updateSiteName=Target Management Project Updates + +# "description" property - description of the feature +description=An Eclipse Workbench standalone view for the Terminal widget. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

Eclipse Foundation Software User Agreement

+

March 17, 2005

+ +

Usage Of Content

+ +

THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

+ +

Applicable Licenses

+ +

Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

+ +

Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

+ +
    +
  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
  • +
  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
  • +
  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
  • +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • +
+ +

The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

+ +
    +
  • The top-level (root) directory
  • +
  • Plug-in and Fragment directories
  • +
  • Inside Plug-ins and Fragments packaged as JARs
  • +
  • Sub-directories of the directory named "src" of certain Plug-ins
  • +
  • Feature directories
  • +
+ +

Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

+ +

THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

+ + + +

IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

+ +

Cryptography

+ +

Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

+ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + From cb13dff6b230c225be3c23a810c3b7468de25b49 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 15 Dec 2006 09:41:16 +0000 Subject: [PATCH 053/843] Rename and add branding for Terminal features --- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 27 ++++++++++++++++++ .../sourceTemplatePlugin/about.mappings | 6 ++++ .../sourceTemplatePlugin/about.properties | 25 ++++++++++++++++ .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- .../feature.properties | 8 +++--- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 27 ++++++++++++++++++ .../sourceTemplatePlugin/about.mappings | 6 ++++ .../sourceTemplatePlugin/about.properties | 25 ++++++++++++++++ .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- org.eclipse.tm.terminal.serial/about.ini | 27 ++++++++++++++++++ org.eclipse.tm.terminal.serial/about.mappings | 6 ++++ .../about.properties | 25 ++++++++++++++++ .../build.properties | 3 +- org.eclipse.tm.terminal.serial/eclipse32.png | Bin 0 -> 4594 bytes .../plugin.properties | 2 +- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 27 ++++++++++++++++++ .../sourceTemplatePlugin/about.mappings | 6 ++++ .../sourceTemplatePlugin/about.properties | 25 ++++++++++++++++ .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- org.eclipse.tm.terminal.ssh/about.ini | 27 ++++++++++++++++++ org.eclipse.tm.terminal.ssh/about.mappings | 6 ++++ org.eclipse.tm.terminal.ssh/about.properties | 25 ++++++++++++++++ org.eclipse.tm.terminal.ssh/build.properties | 3 +- org.eclipse.tm.terminal.ssh/eclipse32.png | Bin 0 -> 4594 bytes org.eclipse.tm.terminal.ssh/plugin.properties | 2 +- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 27 ++++++++++++++++++ .../sourceTemplatePlugin/about.mappings | 6 ++++ .../sourceTemplatePlugin/about.properties | 25 ++++++++++++++++ .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- org.eclipse.tm.terminal.view/about.ini | 27 ++++++++++++++++++ org.eclipse.tm.terminal.view/about.mappings | 6 ++++ org.eclipse.tm.terminal.view/about.properties | 25 ++++++++++++++++ org.eclipse.tm.terminal.view/build.properties | 3 +- org.eclipse.tm.terminal.view/eclipse32.png | Bin 0 -> 4594 bytes .../plugin.properties | 2 +- org.eclipse.tm.terminal/about.ini | 27 ++++++++++++++++++ org.eclipse.tm.terminal/about.mappings | 6 ++++ org.eclipse.tm.terminal/about.properties | 25 ++++++++++++++++ org.eclipse.tm.terminal/build.properties | 3 +- org.eclipse.tm.terminal/eclipse32.png | Bin 0 -> 4594 bytes org.eclipse.tm.terminal/plugin.properties | 2 +- 57 files changed, 496 insertions(+), 28 deletions(-) create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/eclipse32.png create mode 100644 org.eclipse.tm.terminal.serial/about.ini create mode 100644 org.eclipse.tm.terminal.serial/about.mappings create mode 100644 org.eclipse.tm.terminal.serial/about.properties create mode 100644 org.eclipse.tm.terminal.serial/eclipse32.png create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/eclipse32.png create mode 100644 org.eclipse.tm.terminal.ssh/about.ini create mode 100644 org.eclipse.tm.terminal.ssh/about.mappings create mode 100644 org.eclipse.tm.terminal.ssh/about.properties create mode 100644 org.eclipse.tm.terminal.ssh/eclipse32.png create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/eclipse32.png create mode 100644 org.eclipse.tm.terminal.view/about.ini create mode 100644 org.eclipse.tm.terminal.view/about.mappings create mode 100644 org.eclipse.tm.terminal.view/about.properties create mode 100644 org.eclipse.tm.terminal.view/eclipse32.png create mode 100644 org.eclipse.tm.terminal/about.ini create mode 100644 org.eclipse.tm.terminal/about.mappings create mode 100644 org.eclipse.tm.terminal/about.properties create mode 100644 org.eclipse.tm.terminal/eclipse32.png diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index c509f756c92..8e8e6c4a281 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Terminal Feature +featureName=TM Terminal Widget # "providerName" property - name of the company that provides the feature providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index fc0b5e1696f..510af57e71b 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Terminal Source +featureName=TM Terminal Widget Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini new file mode 100644 index 00000000000..fdd61ff0dd8 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=eclipse32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties new file mode 100644 index 00000000000..a65ba07f062 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties @@ -0,0 +1,25 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=TM Terminal Widget Source\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties index a070fd9c69c..89c807a286c 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png new file mode 100644 index 0000000000000000000000000000000000000000..568fac1d05f4d05a2470f02033e92c77ce49a660 GIT binary patch literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQOKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO Date: Fri, 15 Dec 2006 13:47:50 +0000 Subject: [PATCH 054/843] Fix typo --- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 1e8a2b8fe82..44cdc877ff4 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -27,7 +27,7 @@ providerName=Eclipse.org updateSiteName=Target Management Project Updates # "description" property - description of the feature -description=Complete ASNI (vt102) compatible Terminal package including Source Code. +description=ANSI (vt102) compatible Terminal package including Source Code. # "copyright" property - text of the "Feature Update Copyright" copyright=\ From bd6017dfabebc303c396619b24ad39ad9acbbda5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 15 Dec 2006 14:00:10 +0000 Subject: [PATCH 055/843] Simplify feature descriptions --- org.eclipse.tm.terminal.sdk-feature/feature.properties | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 44cdc877ff4..674d60c4b04 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -27,7 +27,8 @@ providerName=Eclipse.org updateSiteName=Target Management Project Updates # "description" property - description of the feature -description=ANSI (vt102) compatible Terminal package including Source Code. +description=An ANSI (vt102) compatible Terminal including \ +pluggable connectors for Serial, SSH and Telnet. Includes Source Code. # "copyright" property - text of the "Feature Update Copyright" copyright=\ From 2110d38eeccc3bdc03bb049213f1ff65d5e00cab Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 15 Dec 2006 19:46:40 +0000 Subject: [PATCH 056/843] Fix missing copyrights --- org.eclipse.tm.terminal.ssh-feature/build.properties | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/org.eclipse.tm.terminal.ssh-feature/build.properties b/org.eclipse.tm.terminal.ssh-feature/build.properties index 39b0777e501..ba0e080a990 100644 --- a/org.eclipse.tm.terminal.ssh-feature/build.properties +++ b/org.eclipse.tm.terminal.ssh-feature/build.properties @@ -1,3 +1,13 @@ +############################################################################### +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +############################################################################### bin.includes = feature.xml,\ epl-v10.html,\ feature.properties,\ From 06fe1788dc27d8b26d1bcc6a1e54f2a55d1d15b1 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 00:56:45 +0000 Subject: [PATCH 057/843] fixed bug 168183: [terminal] Exception logged when switching to terminal view for the first time https://bugs.eclipse.org/bugs/show_bug.cgi?id=168183 The contexd ID defined in the plugin.xml was not used in the terminal --- .../org/eclipse/tm/terminal/internal/view/TerminalView.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 985dc43bb31..665020ab1f1 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -345,7 +345,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ IContextService ctxtService = (IContextService) getSite().getService(IContextService.class); - fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalPreferencePage"); //$NON-NLS-1$ + // TODO define context if not existing + fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ setPartName(ViewMessages.PROP_TITLE); From dbadd01cfb387b16875238446ee6ae06403b49b7 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 01:14:22 +0000 Subject: [PATCH 058/843] bug 168183: [terminal] Exception logged when switching to terminal view for the first time https://bugs.eclipse.org/bugs/show_bug.cgi?id=168183 moved the context and key bindings to the terminal plugin --- .../plugin.properties | 3 - org.eclipse.tm.terminal.view/plugin.xml | 68 ------------------- .../terminal/internal/view/TerminalView.java | 12 ---- org.eclipse.tm.terminal/plugin.properties | 4 ++ org.eclipse.tm.terminal/plugin.xml | 68 +++++++++++++++++++ 5 files changed, 72 insertions(+), 83 deletions(-) diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index aed55c3b218..cab8c36f3f4 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -21,9 +21,6 @@ terminal.views.view.name = Terminal terminal.views.view.font.description = The font for the terminal console. terminal.views.view.font.label = Terminal Console Font -terminal.view.context.name=Terminal view context -terminal.view.context.description=control-q override - terminal.view.insertion.description=Terminal view insertion terminal.view.insertion.name=Terminal view insert terminal.view.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index abc4f75035f..7c8a24cf8ee 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -62,14 +62,6 @@
- - - - - - - - - - - - - - - - -
diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 665020ab1f1..745d47780e0 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -97,9 +97,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private SettingsStore fStore; - /** Remember the item with which we contributed the shortcut to unregister them again! */ - private IContextActivation fRememberedContextActivation; - public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ @@ -346,7 +343,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ IContextService ctxtService = (IContextService) getSite().getService(IContextService.class); // TODO define context if not existing - fRememberedContextActivation = ctxtService.activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ setPartName(ViewMessages.PROP_TITLE); @@ -371,14 +367,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi MenuManager menuMgr; Menu menu; - /** The context (for short cuts) was set above, now unset it again */ - if (fRememberedContextActivation != null) { - IContextService ctxService = (IContextService) getSite() - .getService(IContextService.class); - ctxService.deactivateContext(fRememberedContextActivation); - fRememberedContextActivation = null; - } - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); plugin = TerminalViewPlugin.getDefault(); workbench = plugin.getWorkbench(); diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index a59737ceb8a..8605cb8ddf1 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -16,3 +16,7 @@ ############################################################################### pluginName = TM Terminal Widget providerName = Eclipse.org + +terminal.view.name=Terminal view context +terminal.view.description=control-q override + diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 9be93ce975a..5fa64c8c4bd 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -17,4 +17,72 @@ point="org.eclipse.tm.terminal.terminalConnector"> + + + + + + + + + + + + + + + + + From 5b9336c6859767cd02d7a5f199ecd4a57bb0cd7e Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 01:15:54 +0000 Subject: [PATCH 059/843] bug 168183: [terminal] Exception logged when switching to terminal view for the first time https://bugs.eclipse.org/bugs/show_bug.cgi?id=168183 removed obsolete stuff --- .../org/eclipse/tm/terminal/internal/view/TerminalView.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 745d47780e0..4434dd770c8 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -340,10 +340,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key // sequence. - /** Activate the sy context allowing shortcuts like F3(open declaration) in the view */ - IContextService ctxtService = (IContextService) getSite().getService(IContextService.class); - // TODO define context if not existing - setPartName(ViewMessages.PROP_TITLE); setupControls(wndParent); From bf7e0820ef7ecc55dedcde8cecc6678fec29c169 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 05:12:36 +0000 Subject: [PATCH 060/843] bug 168185: [terminal] text entry fields in connection properties should be wider https://bugs.eclipse.org/bugs/show_bug.cgi?id=168185 --- .../eclipse/tm/terminal/internal/view/PageBook.java | 8 +++++--- .../terminal/internal/view/TerminalSettingsDlg.java | 12 ++++++------ 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java index 3e9432b100c..5a85f31ad35 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java @@ -41,7 +41,7 @@ public class PageBook extends Composite { int y = minimumPageSize.y; Control[] children = composite.getChildren(); for (int i = 0; i < children.length; i++) { - Point size = children[i].computeSize(SWT.DEFAULT, SWT.DEFAULT, force); + Point size = children[i].computeSize(wHint, hHint, force); x = Math.max(x, size.x); y = Math.max(y, size.y); } @@ -59,7 +59,7 @@ public class PageBook extends Composite { Rectangle rect = composite.getClientArea(); Control[] children = composite.getChildren(); for (int i = 0; i < children.length; i++) { - children[i].setSize(rect.width, rect.height); + children[i].setBounds(rect); } } } @@ -75,8 +75,10 @@ public class PageBook extends Composite { * @param parent the parent composite * @param style the SWT style bits (use {@link SWT#NONE}) */ - public PageBook(Composite parent, int style) { + public PageBook(Composite parent, int style, int minWidth, int minHeight) { super(parent, style); + minimumPageSize.x=minWidth; + minimumPageSize.y=minHeight; setLayout(new PageBookLayout()); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java index 54ca7d017d0..b0b152e4fb7 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -116,13 +116,13 @@ class TerminalSettingsDlg extends Dialog { } private void setupSettingsGroup(Composite parent) { Group group = new Group(parent, SWT.NONE); - GridLayout gridLayout = new GridLayout(); - GridData gridData = new GridData(GridData.FILL_BOTH); - group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ - group.setLayout(gridLayout); - group.setLayoutData(gridData); - fPageBook=new PageBook(group,SWT.NONE); + group.setLayout(new GridLayout()); + group.setLayoutData(new GridData(GridData.FILL_BOTH)); + fPageBook=new PageBook(group,SWT.NONE,230,0); + fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + for (int i = 0; i < fPages.length; i++) { fPages[i].createControl(fPageBook); } From ce78696d0cc13f808d2c1c87ef3b2da53eb89965 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 05:20:10 +0000 Subject: [PATCH 061/843] bug 168185: [terminal] text entry fields in connection properties should be wider https://bugs.eclipse.org/bugs/show_bug.cgi?id=168185 Remember the size of the dialog --- .../tm/terminal/internal/view/TerminalSettingsDlg.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java index b0b152e4fb7..166a949ca86 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -17,6 +17,7 @@ package org.eclipse.tm.terminal.internal.view; import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -144,4 +145,7 @@ class TerminalSettingsDlg extends Dialog { Control[] pages=fPageBook.getChildren(); fPageBook.showPage(pages[fSelectedConnector]); } + protected IDialogSettings getDialogBoundsSettings() { + return TerminalViewPlugin.getDefault().getDialogSettings(); + } } From 09f8e0da599d8b217729193e5b21927a89010914 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 16 Dec 2006 05:33:13 +0000 Subject: [PATCH 062/843] dialog settings uses a new section --- .../tm/terminal/internal/view/TerminalSettingsDlg.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java index 166a949ca86..a79f5c03b25 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -37,6 +37,7 @@ class TerminalSettingsDlg extends Dialog { private final ISettingsPage[] fPages; private int fSelectedConnector; private PageBook fPageBook; + private IDialogSettings fDialogSettings; public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { super(shell); @@ -146,6 +147,11 @@ class TerminalSettingsDlg extends Dialog { fPageBook.showPage(pages[fSelectedConnector]); } protected IDialogSettings getDialogBoundsSettings() { - return TerminalViewPlugin.getDefault().getDialogSettings(); + IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); + fDialogSettings = ds.getSection(getClass().getName()); + if (fDialogSettings == null) { + fDialogSettings = ds.addNewSection(getClass().getName()); + } + return fDialogSettings; } } From 4b684c972e6ea3edc2b3703620b3a440a33bb6c2 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 20 Dec 2006 17:03:15 +0000 Subject: [PATCH 063/843] Add eclipse_update_120.jpg to RSE SDK and Terminal --- .../build.properties | 3 ++- .../eclipse_update_120.jpg | Bin 0 -> 21695 bytes org.eclipse.tm.terminal.sdk-feature/feature.xml | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index 5b6373ca4d6..ea6fc1c9ed6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -11,7 +11,8 @@ bin.includes = feature.xml,\ epl-v10.html,\ feature.properties,\ - license.html + license.html,\ + eclipse_update_120.jpg generate.feature@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal generate.feature@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial generate.feature@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg b/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bfdf708ad617e4974cac04cc5c1c8192b09bbeb3 GIT binary patch literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA + provider-name="%providerName" + image="eclipse_update_120.jpg"> %description From 69598a4e18cb2b095cba58627a132b8b3e7b26b5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 20 Dec 2006 18:30:03 +0000 Subject: [PATCH 064/843] Rev up version numbers for 2.0M4 according to changes in plugins --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index e221557dd00..18482d13fd2 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal" label="%featureName" provider-name="%providerName" - version="0.9.0.qualifier"> + version="0.9.1.qualifier"> %description diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index dbdf50d6e46..69aa224d78e 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 15a0150cf70..4f1a8c2ecc9 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal.ssh" label="%featureName" provider-name="%providerName" - version="0.9.0.qualifier"> + version="0.9.1.qualifier"> %description diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 1acb1cc4d25..1819a66b6f3 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 0.9.0.qualifier +Bundle-Version: 0.9.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 773f7899169..2df86cfd6fd 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal.view" label="%featureName" provider-name="%providerName" - version="0.9.0.qualifier"> + version="0.9.1.qualifier"> %description diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 7c5bde007bb..b99446fdda3 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 0.9.0.qualifier +Bundle-Version: 0.9.1.qualifier Bundle-Activator: org.eclipse.tm.terminal.internal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 8da9dbdcd29..dbde0d0dd61 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 0.9.0.qualifier +Bundle-Version: 0.9.1.qualifier Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin From 44513bb6343ff0ba4e9bc59c5d9b303ef789887a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 20 Dec 2006 18:38:43 +0000 Subject: [PATCH 065/843] Rev down ssh version again since it is not changed --- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 4f1a8c2ecc9..15a0150cf70 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal.ssh" label="%featureName" provider-name="%providerName" - version="0.9.1.qualifier"> + version="0.9.0.qualifier"> %description diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 1819a66b6f3..1acb1cc4d25 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 0.9.1.qualifier +Bundle-Version: 0.9.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, From a313f08e4c01848790708090a862b9f90af3491f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 20 Dec 2006 18:42:02 +0000 Subject: [PATCH 066/843] Fix Terminal Widget Command Context descriptions --- org.eclipse.tm.terminal/plugin.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index 8605cb8ddf1..203d3ec6601 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -17,6 +17,6 @@ pluginName = TM Terminal Widget providerName = Eclipse.org -terminal.view.name=Terminal view context -terminal.view.description=control-q override +terminal.context.name=Terminal widget context +terminal.context.description=Override ALT+x menu access keys From 95a8de4d41b2688e623f6349815ce09b1450108c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 20 Dec 2006 20:43:22 +0000 Subject: [PATCH 067/843] Workaround [168606]: Revert to default workspace JRE for terminal.serial --- org.eclipse.tm.terminal.serial/.classpath | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index ce73933404a..065ac06e197 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,7 @@ - + From cd1decc3cfaf5989a519b8cdda9f39ad2ec6a3f1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 3 Jan 2007 11:52:41 +0000 Subject: [PATCH 068/843] Improve Terminal Logging by quoting characters. Move logs to "eclipselogs" --- .../src/org/eclipse/tm/terminal/Logger.java | 74 ++++++++++++++++++- .../internal/control/TerminalText.java | 4 +- .../internal/telnet/TelnetConnection.java | 2 +- 3 files changed, 74 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java index 22490ef356c..b7ec3f9d075 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java @@ -41,13 +41,14 @@ public final class Logger { static { String logFile = null; - File logDirWindows = new File("C:\\wblogs"); //$NON-NLS-1$ - File logDirUNIX = new File("/tmp/wblogs"); //$NON-NLS-1$ + //TODO I think this should go into the workspace metadata instead. + File logDirWindows = new File("C:\\eclipselogs"); //$NON-NLS-1$ + File logDirUNIX = new File("/tmp/eclipselogs"); //$NON-NLS-1$ if (logDirWindows.isDirectory()) { - logFile = logDirWindows + "\\wbterminal.log"; //$NON-NLS-1$ + logFile = logDirWindows + "\\tmterminal.log"; //$NON-NLS-1$ } else if (logDirUNIX.isDirectory()) { - logFile = logDirUNIX + "/wbterminal.log"; //$NON-NLS-1$ + logFile = logDirUNIX + "/tmterminal.log"; //$NON-NLS-1$ } if (logFile != null) { @@ -61,6 +62,71 @@ public final class Logger { } } } + + /** + * Encodes a String such that non-printable control characters are + * converted into user-readable escape sequences for logging. + * @param message String to encode + * @return encoded String + */ + public static final String encode(String message) { + boolean encoded = false; + StringBuffer buf = new StringBuffer(message.length()+32); + for (int i=0; i=' ' && c<'\u007f') { + buf.append(c); + } else { + buf.append('\\'); buf.append('u'); + if (c<='\u0fff') { + buf.append('0'); + if (c<='\u00ff') { + buf.append('0'); + } + } + buf.append(Integer.toHexString(c)); + encoded=true; + } + } + } + if (encoded) { + return buf.toString(); + } + return message; + } + + /** + * Checks if logging is enabled. + * @return true if logging is enabled. + */ + public static final boolean isLogEnabled() { + return (logStream!=null); + } /** * Logs the specified message. Do not append a newline to parameter diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index f3605985025..ef01b36b126 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -371,7 +371,9 @@ public class TerminalText implements Runnable, ControlListener { * host. */ public synchronized void setNewText(StringBuffer newBuffer) { - Logger.log("new text: '" + newBuffer + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + if (Logger.isLogEnabled()) { + Logger.log("new text: '" + Logger.encode(newBuffer.toString()) + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + } newText = newBuffer; // When continuous output is being processed by the Terminal view code, it diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java index b9b019d7065..852f9c4a160 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java @@ -312,7 +312,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { break; } else { Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ - new String(rawBytes, 0, nRawBytes) + "'"); //$NON-NLS-1$ + Logger.encode(new String(rawBytes, 0, nRawBytes)) + "'"); //$NON-NLS-1$ // Process any TELNET protocol data that we receive. Don't // send any TELNET protocol data until we are sure the remote From 583749bec5dea31496214fcf417e2a445b5610b8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 17 Jan 2007 17:35:56 +0000 Subject: [PATCH 069/843] Switch terminal.serial to using rxtx-2.1 / gnu.io namespace instead of javax.comm --- .../feature.xml | 2 +- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 3 +- org.eclipse.tm.terminal.serial/README.txt | 50 +++++++------------ .../internal/serial/SerialConnectWorker.java | 6 +-- .../internal/serial/SerialConnector.java | 4 +- .../internal/serial/SerialPortHandler.java | 6 +-- .../internal/serial/SerialProperties.java | 2 +- .../internal/serial/SerialSettings.java | 2 +- 9 files changed, 32 insertions(+), 45 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 69aa224d78e..1d5fc68306d 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index c12d85251c9..f73e7c99d27 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal.serial" label="%featureName" provider-name="%providerName" - version="0.9.0.qualifier"> + version="0.9.100.qualifier"> %description diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 4dbf7a525cb..e1309be6bff 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,8 +2,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 0.9.0.qualifier +Bundle-Version: 0.9.1.qualifier Bundle-Localization: plugin +Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index a2edcc54b59..f3f09daf07d 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -1,37 +1,23 @@ Important note: -In order to compile and run this plugin, comm has to be installed into -the java installation. Once comm.jar is installed in your JRE, you'll -need to quit and re-start Eclipse PDE in order to recompute the classpath. +In order to compile and run this plugin, RXTX has to be installed into +the jvm. Once RXTXcomm.jar is installed in your JRE, you'll need to +quit and re-start Eclipse PDE in order to recompute the classpath. -Linux or Solaris: ------------------ -* Get comm3.0_u1 or later from Sun at - http://www.sun.com/download/products.xml?id=43208d3d -* Follow the installation instructions. As per 3.0_u1 on Linux, you need to - - cp jar/comm.jar $JRE/lib/ext - - cp doc/javax.comm.properties $JRE/lib - - cp lib/*.so $JRE/lib/i386 - -Windows: --------- -* Get comm.jar 2.0.3 ZIP archive from Sun at - http://www.sun.com/download/products.xml?id=43208d3d - - Extract comm.jar into %JRE%\lib\ext -* Get rxtx-2.0-7pre1-i386-pc-mingw32.zip from +Installation: +------------- +* Get RXTX binaries from + ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip +* Copy RXTXcomm.jar into $JRE/lib/ext +* Copy the native libs for your Platform (*.so, *.jnilib, *.dll) + into the respective native lib folder of your RSE +* More installation instructions are at + http://rxtx.qbang.org/wiki/index.php/Main_Page +* More downloads for other platforms (currently about 30) + are available from the "ToyBox" link on http://users.frii.com/jarvi/rxtx/download.html - - Extract RXTXcomm.jar into %JRE%\lib\ext - - Extract rxtx*.dll into %JRE%\bin -* Create new text file - %JRE%\lib\javax.comm.properties - with the following line as contents: - driver=gnu.io.RXTXCommDriver -Other platforms (MaxOS X etc): ------------------------------- -* Get comm.jar 2.0.3 as explained for Windows -* Get rxtx-2.0-7pre1.tar.gz sources for your platform from - http://users.frii.com/jarvi/rxtx/download.html -* Follow instructions to compile and install. You'll need a - javax.comm.properties file as explained for Windows. - \ No newline at end of file +Changelog: +---------- +0.9.100 - switched from Sun javax.comm to rxtx gnu.io for serial support +0.9.0 - first version \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java index a8b3426a4b8..9a1944a07b1 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java @@ -16,9 +16,9 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; -import javax.comm.CommPortIdentifier; -import javax.comm.PortInUseException; -import javax.comm.SerialPort; +import gnu.io.CommPortIdentifier; +import gnu.io.PortInUseException; +import gnu.io.SerialPort; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.TerminalState; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java index 5112e304347..e89e04efdd6 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java @@ -20,8 +20,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import javax.comm.CommPortIdentifier; -import javax.comm.SerialPort; +import gnu.io.CommPortIdentifier; +import gnu.io.SerialPort; import org.eclipse.tm.terminal.ISettingsPage; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java index ec5e6dc8e64..562d0fa21c5 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java @@ -19,9 +19,9 @@ package org.eclipse.tm.terminal.internal.serial; import java.io.IOException; import java.text.MessageFormat; -import javax.comm.CommPortOwnershipListener; -import javax.comm.SerialPortEvent; -import javax.comm.SerialPortEventListener; +import gnu.io.CommPortOwnershipListener; +import gnu.io.SerialPortEvent; +import gnu.io.SerialPortEventListener; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Display; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java index aaca3d5eb9b..2fdac236386 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java @@ -21,7 +21,7 @@ import java.util.Enumeration; import java.util.List; import java.util.Vector; -import javax.comm.CommPortIdentifier; +import gnu.io.CommPortIdentifier; public class SerialProperties { protected List fSerialPortTable; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java index 8e7444e3578..59dad9e783b 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java @@ -16,7 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; -import javax.comm.SerialPort; +import gnu.io.SerialPort; import org.eclipse.tm.terminal.ISettingsStore; From 8f52495e858c0ce026df6a487a1ea80ceabecb94 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 17 Jan 2007 18:50:22 +0000 Subject: [PATCH 070/843] Improved terminal logging --- .../src/org/eclipse/tm/terminal/Logger.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java index b7ec3f9d075..ad138be8cab 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/Logger.java @@ -101,13 +101,14 @@ public final class Logger { encoded=true; } else if (c>=' ' && c<'\u007f') { buf.append(c); + } else if (c <= '\u00ff') { + buf.append('\\'); buf.append('x'); + buf.append(Integer.toHexString(c)); + encoded=true; } else { buf.append('\\'); buf.append('u'); if (c<='\u0fff') { buf.append('0'); - if (c<='\u00ff') { - buf.append('0'); - } } buf.append(Integer.toHexString(c)); encoded=true; From 9e62becd1e75ccb78e8f5124ebafb3d6f01534f0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 17 Jan 2007 18:51:18 +0000 Subject: [PATCH 071/843] [170814] avoid excessive sending of resize packets --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- .../org/eclipse/tm/terminal/ssh/SshConnector.java | 13 ++++++++++--- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../terminal/internal/telnet/TelnetConnector.java | 12 ++++++++++-- 6 files changed, 24 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 18482d13fd2..0cf7e94ceca 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal" label="%featureName" provider-name="%providerName" - version="0.9.1.qualifier"> + version="0.9.2.qualifier"> %description diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 15a0150cf70..4f1a8c2ecc9 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -3,7 +3,7 @@ id="org.eclipse.tm.terminal.ssh" label="%featureName" provider-name="%providerName" - version="0.9.0.qualifier"> + version="0.9.1.qualifier"> %description diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 1acb1cc4d25..1819a66b6f3 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 0.9.0.qualifier +Bundle-Version: 0.9.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java index fc09688a4a7..282e74fa374 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java @@ -32,6 +32,8 @@ public class SshConnector implements ITerminalConnector { private ChannelShell fChannel; private SshConnection fConnection; private final SshSettings fSettings; + private int fWidth; + private int fHeight; public SshConnector() { this(new SshSettings()); try { @@ -80,9 +82,12 @@ public class SshConnector implements ITerminalConnector { return false; } public void setTerminalSize(int newWidth, int newHeight) { - if(fChannel!=null) - fChannel.setPtySize(newWidth, newHeight, 8, 8); - + if(fChannel!=null && (newWidth!=fWidth || newHeight!=fHeight)) { + //avoid excessive communications due to change size requests by caching previous size + fChannel.setPtySize(newWidth, newHeight, 8*newWidth, 8*newHeight); + fWidth=newWidth; + fHeight=newHeight; + } } public InputStream getInputStream() { return fInputStream; @@ -128,5 +133,7 @@ public class SshConnector implements ITerminalConnector { } void setChannel(ChannelShell channel) { fChannel = channel; + fWidth=-1; + fHeight=-1; } } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index dbde0d0dd61..a0e0b790c80 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 0.9.1.qualifier +Bundle-Version: 0.9.2.qualifier Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java index f55afcd19d1..da3f4e08da0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java @@ -35,6 +35,9 @@ public class TelnetConnector implements ITerminalConnector { private ITerminalControl fControl; private TelnetConnection fTelnetConnection; private final TelnetSettings fSettings; + private int fWidth = -1; + private int fHeight = -1; + public TelnetConnector() { this(new TelnetSettings()); } @@ -47,6 +50,8 @@ public class TelnetConnector implements ITerminalConnector { public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ fControl=control; + fWidth=-1; + fHeight=-1; TelnetConnectWorker worker = new TelnetConnectWorker(this,control); worker.start(); } @@ -85,9 +90,12 @@ public class TelnetConnector implements ITerminalConnector { return fTelnetConnection.localEcho(); } public void setTerminalSize(int newWidth, int newHeight) { - if(fTelnetConnection!=null) + if(fTelnetConnection!=null && (newWidth!=fWidth || newHeight!=fHeight)) { + //avoid excessive communications due to change size requests by caching previous size fTelnetConnection.setTerminalSize(newWidth, newHeight); - + fWidth=newWidth; + fHeight=newHeight; + } } public InputStream getInputStream() { return fInputStream; From a31509ca8e6b39375e0b286a392df449badf5ccf Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 18 Jan 2007 11:54:33 +0000 Subject: [PATCH 072/843] Add link to previous versions --- org.eclipse.tm.terminal.serial/README.txt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index f3f09daf07d..0855ff79a34 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -1,5 +1,12 @@ Important note: +--------------- +This README is for terminal.serial version 0.9.100 and later, corresponding +to RSE downloads after 2.0M4. Instructions for previous versions (using +Sun javacomm / javax.comm package instead of gnu.io) are still available from +http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 +Prerequisites: +-------------- In order to compile and run this plugin, RXTX has to be installed into the jvm. Once RXTXcomm.jar is installed in your JRE, you'll need to quit and re-start Eclipse PDE in order to recompute the classpath. From d533122199311b37ed78cd673aaf8357fbb105ab Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 29 Jan 2007 22:18:50 +0000 Subject: [PATCH 073/843] fix for bug 172023: when RXTX library is not installed, a warning is printed to the error log which includes the install instructions --- .../META-INF/MANIFEST.MF | 1 + .../terminal/internal/serial/Activator.java | 50 +++++++++++++++++++ .../internal/serial/SerialConnector.java | 12 +++-- .../internal/serial/SerialMessages.java | 2 + .../internal/serial/SerialMessages.properties | 12 +++++ 5 files changed, 72 insertions(+), 5 deletions(-) create mode 100644 org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index e1309be6bff..415450032c1 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -13,3 +13,4 @@ Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . +Bundle-Activator: org.eclipse.tm.terminal.internal.serial.Activator diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java new file mode 100644 index 00000000000..53a61a13232 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java @@ -0,0 +1,50 @@ +package org.eclipse.tm.terminal.internal.serial; + +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + + // The plug-in ID + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.serial"; + + // The shared instance + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + plugin = this; + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + } + + /* + * (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + +} diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java index e89e04efdd6..411ed65804a 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java @@ -16,13 +16,15 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.serial; +import gnu.io.CommPortIdentifier; +import gnu.io.SerialPort; + import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; -import gnu.io.CommPortIdentifier; -import gnu.io.SerialPort; - +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; import org.eclipse.tm.terminal.ISettingsPage; import org.eclipse.tm.terminal.ISettingsStore; import org.eclipse.tm.terminal.ITerminalConnector; @@ -44,8 +46,8 @@ public class SerialConnector implements ITerminalConnector { try { settins=new SerialSettings(); } catch (NoClassDefFoundError e) { - // the comm library is not installed - e.printStackTrace(); + // tell the user how to install the library + Activator.getDefault().getLog().log(new Status(IStatus.WARNING,Activator.PLUGIN_ID,SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); } fSettings=settins; } diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java index d449b97686d..58d40a711b1 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java @@ -32,4 +32,6 @@ public class SerialMessages extends NLS { public static String PORT_IN_USE; public static String TIMEOUT; + public static String ERROR_LIBRARY_NOT_INSTALLED; + } diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties index e00332637df..92bacf91db2 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties @@ -24,3 +24,15 @@ STOPBITS = Stop Bits PARITY = Parity FLOWCONTROL = Flow Control TIMEOUT = Timeout (sec) +ERROR_LIBRARY_NOT_INSTALLED = The RXTX library has not been installed properly! \n\ +Installation:\n\ +-------------\n\ +* Get RXTX binaries from\n\ + ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip\n\ +* Copy RXTXcomm.jar into $JRE/lib/ext\n\ +* Copy the native libs for your Platform (*.so, *.jnilib, *.dll) into the respective native lib folder of your RSE \n\ +* More installation instructions are at\n\ + http://rxtx.qbang.org/wiki/index.php/Main_Page\n\ +* More downloads for other platforms (currently about 30)\n\ + are available from the "ToyBox" link on\n\ + http://users.frii.com/jarvi/rxtx/download.html From e71b62c8d1c434e5df9276ee709304eabcd7dbc6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Jan 2007 17:59:31 +0000 Subject: [PATCH 074/843] [cleanup] compiler warnings --- .../org/eclipse/tm/terminal/ssh/SshConnection.java | 4 ++-- .../tm/terminal/internal/view/SettingsStore.java | 14 +++++++------- .../tm/terminal/internal/view/TerminalView.java | 2 -- 3 files changed, 9 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java index 090b697014d..936be863c6b 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java @@ -46,7 +46,7 @@ class SshConnection extends Thread { private final SshConnector fConn; private Channel fChannel; protected SshConnection(SshConnector conn,ITerminalControl control) { - super("SshConnection-"+fgNo++); + super("SshConnection-"+fgNo++); //$NON-NLS-1$ fControl = control; fConn = conn; fControl.setState(TerminalState.CONNECTING); @@ -293,7 +293,7 @@ class SshConnection extends Thread { if((n=in.read(bytes))==-1) return; // we assume we get ASCII UTF8 bytes - fControl.writeToTerminal(new String(bytes,0,n,"UTF8")); + fControl.writeToTerminal(new String(bytes,0,n,"UTF8")); //$NON-NLS-1$ } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java index c00c9adef57..4d2f977c275 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java @@ -29,7 +29,7 @@ import org.eclipse.ui.IMemento; */ class SettingsStore implements ISettingsStore { - private static final String KEYS = "_keys_"; + private static final String KEYS = "_keys_"; //$NON-NLS-1$ final private Map fMap=new HashMap(); public SettingsStore(IMemento memento) { if(memento==null) @@ -37,12 +37,12 @@ class SettingsStore implements ISettingsStore { // load all keys ever used from the memento String keys=memento.getString(KEYS); if(keys!=null) { - String[] keyNames=keys.split(","); + String[] keyNames=keys.split(","); //$NON-NLS-1$ for (int i = 0; i < keyNames.length; i++) { String key=keyNames[i]; if(!KEYS.equals(key)) { // get the dot separated elements - String[] path=key.split("\\."); + String[] path=key.split("\\."); //$NON-NLS-1$ IMemento m=memento; // iterate over all but the last segment and get the children... for(int iPath=0; m!=null && iPath+10) - buffer.append(","); + buffer.append(","); //$NON-NLS-1$ buffer.append(key); } // save the keys we have used. diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index 4434dd770c8..a173ca7229f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -61,8 +61,6 @@ import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.actions.RetargetAction; -import org.eclipse.ui.contexts.IContextActivation; -import org.eclipse.ui.contexts.IContextService; import org.eclipse.ui.internal.WorkbenchWindow; import org.eclipse.ui.part.ViewPart; From a5644ed6ded72f62f1779589c9dd84f2f5177358 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 30 Jan 2007 18:02:25 +0000 Subject: [PATCH 075/843] reduced compiler warnings --- .../tm/terminal/internal/view/TerminalView.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index a173ca7229f..ac8ebdb5ff5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -16,7 +16,6 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; -import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; @@ -99,13 +98,13 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi Logger .log("==============================================================="); //$NON-NLS-1$ } - - private void XXXXX() { - Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); - boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); - int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); - - } +// TODO MSA +// private void XXXXX() { +// Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); +// boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); +// int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); +// +// } // TerminalTarget interface public void setState(final TerminalState state) { Runnable runnable=new Runnable() { From be31fcaf8dcf9c839c512f64571e5b48607364d0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Jan 2007 18:06:57 +0000 Subject: [PATCH 076/843] [cleanup] compiler warnings --- .../src/org/eclipse/tm/terminal/internal/serial/Activator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java index 53a61a13232..7082645e533 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java @@ -9,7 +9,7 @@ import org.osgi.framework.BundleContext; public class Activator extends AbstractUIPlugin { // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.serial"; + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ // The shared instance private static Activator plugin; From fbd66af4f0bf685749419b4781962a7d47233b39 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Jan 2007 20:26:32 +0000 Subject: [PATCH 077/843] [cleanup] avoid Platform internal access --- .../internal/actions/TerminalAction.java | 32 ++++++++++--------- .../actions/TerminalActionClearAll.java | 3 +- .../internal/actions/TerminalActionCopy.java | 17 ++++------ .../internal/actions/TerminalActionCut.java | 17 ++++------ .../internal/actions/TerminalActionPaste.java | 17 ++++------ .../actions/TerminalActionSelectAll.java | 3 +- 6 files changed, 39 insertions(+), 50 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java index e3084958b1f..184cc7862dd 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java @@ -44,27 +44,29 @@ abstract public class TerminalAction extends Action { strDisabledImage, bEnabled, imageRegistry); } protected void setupAction(String strText, String strToolTip, - String strImage, String strEnabledImage, String strDisabledImage, + String strHoverImage, String strEnabledImage, String strDisabledImage, boolean bEnabled, ImageRegistry imageRegistry) { - ImageDescriptor imageDescriptor; - + setupAction(strText, + strToolTip, + imageRegistry.getDescriptor(strHoverImage), + imageRegistry.getDescriptor(strEnabledImage), + imageRegistry.getDescriptor(strDisabledImage), + bEnabled); + } + protected void setupAction(String strText, String strToolTip, + ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, + boolean bEnabled) { setText(strText); setToolTipText(strToolTip); setEnabled(bEnabled); - - imageDescriptor = imageRegistry.getDescriptor(strEnabledImage); - if (imageDescriptor != null) { - setImageDescriptor(imageDescriptor); + if (enabledImage != null) { + setImageDescriptor(enabledImage); } - - imageDescriptor = imageRegistry.getDescriptor(strDisabledImage); - if (imageDescriptor != null) { - setDisabledImageDescriptor(imageDescriptor); + if (disabledImage != null) { + setDisabledImageDescriptor(disabledImage); } - - imageDescriptor = imageRegistry.getDescriptor(strImage); - if (imageDescriptor != null) { - setHoverImageDescriptor(imageDescriptor); + if (hoverImage != null) { + setHoverImageDescriptor(hoverImage); } } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java index c86a9597400..aca9606fe9e 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java @@ -16,6 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.terminal.internal.view.ITerminalView; public class TerminalActionClearAll extends TerminalAction @@ -27,7 +28,7 @@ public class TerminalActionClearAll extends TerminalAction setupAction(ActionMessages.CLEARALL, ActionMessages.CLEARALL, - null, + (ImageDescriptor)null, null, null, false); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java index 49650672456..53f445795fc 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java @@ -16,10 +16,9 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; -import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.internal.WorkbenchImages; +import org.eclipse.ui.PlatformUI; public class TerminalActionCopy extends TerminalAction { @@ -27,17 +26,13 @@ public class TerminalActionCopy extends TerminalAction { super(target, TerminalActionCopy.class.getName()); - - ImageRegistry imageRegistry; - - imageRegistry = WorkbenchImages.getImageRegistry(); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); setupAction(ActionMessages.COPY, ActionMessages.COPY, - ISharedImages.IMG_TOOL_COPY, - ISharedImages.IMG_TOOL_COPY, - ISharedImages.IMG_TOOL_COPY_DISABLED, - true, - imageRegistry); + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED), + true); } public void run() { fTarget.onEditCopy(); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java index bb10424c0a5..c768dd757d9 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java @@ -16,10 +16,9 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; -import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.internal.WorkbenchImages; +import org.eclipse.ui.PlatformUI; public class TerminalActionCut extends TerminalAction { @@ -27,17 +26,13 @@ public class TerminalActionCut extends TerminalAction { super(target, TerminalActionCut.class.getName()); - - ImageRegistry imageRegistry; - - imageRegistry = WorkbenchImages.getImageRegistry(); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); setupAction(ActionMessages.CUT, ActionMessages.CUT, - ISharedImages.IMG_TOOL_CUT, - ISharedImages.IMG_TOOL_CUT, - ISharedImages.IMG_TOOL_CUT_DISABLED, - true, - imageRegistry); + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED), + true); } public void run() { fTarget.onEditCut(); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java index 30ea5974689..b04796c15da 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java @@ -16,10 +16,9 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; -import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.terminal.internal.view.ITerminalView; import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.internal.WorkbenchImages; +import org.eclipse.ui.PlatformUI; public class TerminalActionPaste extends TerminalAction { @@ -27,17 +26,13 @@ public class TerminalActionPaste extends TerminalAction { super(target, TerminalActionPaste.class.getName()); - - ImageRegistry imageRegistry; - - imageRegistry = WorkbenchImages.getImageRegistry(); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); setupAction(ActionMessages.PASTE, ActionMessages.PASTE, - ISharedImages.IMG_TOOL_PASTE, - ISharedImages.IMG_TOOL_PASTE_DISABLED, - ISharedImages.IMG_TOOL_PASTE, - false, - imageRegistry); + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + false); } public void run() { fTarget.onEditPaste(); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java index e32216b0780..a89995dc494 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java @@ -16,6 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.terminal.internal.actions; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.terminal.internal.view.ITerminalView; public class TerminalActionSelectAll extends TerminalAction @@ -27,7 +28,7 @@ public class TerminalActionSelectAll extends TerminalAction setupAction(ActionMessages.SELECTALL, ActionMessages.SELECTALL, - null, + (ImageDescriptor)null, null, null, false); From 26eca8925ebd6675066053c60acb31c93d4f0c3a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Jan 2007 20:28:32 +0000 Subject: [PATCH 078/843] [cleanup] define access rules for marking internal package access discouraged --- org.eclipse.tm.terminal.serial/.classpath | 6 +++++- org.eclipse.tm.terminal.ssh/.classpath | 6 +++++- org.eclipse.tm.terminal.view/.classpath | 6 +++++- org.eclipse.tm.terminal/.classpath | 6 +++++- 4 files changed, 20 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index 065ac06e197..c91b49df2c5 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,11 @@ - + + + + + diff --git a/org.eclipse.tm.terminal.ssh/.classpath b/org.eclipse.tm.terminal.ssh/.classpath index ce73933404a..7bdc3fd5675 100644 --- a/org.eclipse.tm.terminal.ssh/.classpath +++ b/org.eclipse.tm.terminal.ssh/.classpath @@ -1,7 +1,11 @@ + + + + + - diff --git a/org.eclipse.tm.terminal.view/.classpath b/org.eclipse.tm.terminal.view/.classpath index ce73933404a..7bdc3fd5675 100644 --- a/org.eclipse.tm.terminal.view/.classpath +++ b/org.eclipse.tm.terminal.view/.classpath @@ -1,7 +1,11 @@ + + + + + - diff --git a/org.eclipse.tm.terminal/.classpath b/org.eclipse.tm.terminal/.classpath index 52165ecfb58..0d0fdd4139a 100644 --- a/org.eclipse.tm.terminal/.classpath +++ b/org.eclipse.tm.terminal/.classpath @@ -1,7 +1,11 @@ + + + + + - From a10b0e7b599872666001048df3838e168c9171ea Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Jan 2007 21:39:30 +0000 Subject: [PATCH 079/843] [cleanup] Set default recommended warning level on all projects --- .../.settings/org.eclipse.jdt.core.prefs | 64 ++++++++++++++++++- .../.settings/org.eclipse.jdt.core.prefs | 64 ++++++++++++++++++- .../.settings/org.eclipse.jdt.core.prefs | 64 ++++++++++++++++++- .../.settings/org.eclipse.jdt.core.prefs | 64 ++++++++++++++++++- 4 files changed, 252 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index bf0d29c9d42..d141d33956c 100644 --- a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,70 @@ -#Tue Nov 28 18:18:22 CET 2006 +#Tue Jan 30 22:33:44 CET 2007 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index bf0d29c9d42..d141d33956c 100644 --- a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,70 @@ -#Tue Nov 28 18:18:22 CET 2006 +#Tue Jan 30 22:33:44 CET 2007 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs index bf0d29c9d42..d141d33956c 100644 --- a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,70 @@ -#Tue Nov 28 18:18:22 CET 2006 +#Tue Jan 30 22:33:44 CET 2007 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index bf0d29c9d42..d141d33956c 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,70 @@ -#Tue Nov 28 18:18:22 CET 2006 +#Tue Jan 30 22:33:44 CET 2007 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.3 From 3da186466561de223f89b00b8d2af0f796ab5834 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 31 Jan 2007 19:26:57 +0000 Subject: [PATCH 080/843] make compatible with 3.2 --- .../eclipse/tm/terminal/internal/serial/SerialConnector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java index 411ed65804a..71424017cf0 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java @@ -47,7 +47,7 @@ public class SerialConnector implements ITerminalConnector { settins=new SerialSettings(); } catch (NoClassDefFoundError e) { // tell the user how to install the library - Activator.getDefault().getLog().log(new Status(IStatus.WARNING,Activator.PLUGIN_ID,SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); + Activator.getDefault().getLog().log(new Status(IStatus.WARNING,Activator.PLUGIN_ID,0, SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); } fSettings=settins; } From cc3f61911403404b65cbf31c10ea180729b9a2a2 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 31 Jan 2007 19:42:35 +0000 Subject: [PATCH 081/843] removed warning: created preference initializer --- org.eclipse.tm.terminal.view/plugin.xml | 4 ++++ .../view/TerminalPreferenceInitializer.java | 19 +++++++++++++++++++ .../internal/view/TerminalViewPlugin.java | 11 ----------- 3 files changed, 23 insertions(+), 11 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index 7c8a24cf8ee..c5f8822e69a 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -73,4 +73,8 @@ id="org.eclipse.tm.terminal.category1" name="%terminal.view.insertion.category.name"/> + + + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java new file mode 100644 index 00000000000..f0247df9dec --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java @@ -0,0 +1,19 @@ +package org.eclipse.tm.terminal.internal.view; + +import org.eclipse.core.runtime.Preferences; +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; + +public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { + + public TerminalPreferenceInitializer() { + } + + public void initializeDefaultPreferences() { + Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); + store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); + store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); + } + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java index 3ba5f8ae932..808473d1319 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java @@ -22,7 +22,6 @@ import java.util.HashMap; import java.util.Iterator; import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.terminal.Logger; @@ -78,16 +77,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { malformedURLException.printStackTrace(); } } - protected void initializeDefaultPreferences(IPreferenceStore store) { - store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, - TerminalPreferencePage.DEFAULT_LIMITOUTPUT); - store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, - TerminalPreferencePage.DEFAULT_BUFFERLINES); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, - TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, - TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); - } /** * Returns the shared instance. */ From d038f96ff30b205e04040f93c32e589b8afab084 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 2 Feb 2007 04:25:13 +0000 Subject: [PATCH 082/843] removed warmings and code cleanup --- .../terminal/internal/view/TerminalView.java | 65 +++++++------------ 1 file changed, 25 insertions(+), 40 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java index ac8ebdb5ff5..045a2b9e001 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java @@ -25,6 +25,7 @@ import org.eclipse.jface.action.Separator; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.TextTransfer; @@ -54,13 +55,11 @@ import org.eclipse.tm.terminal.internal.actions.TerminalActionSettings; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.actions.RetargetAction; -import org.eclipse.ui.internal.WorkbenchWindow; import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { @@ -354,21 +353,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setPartName("Terminal"); //$NON-NLS-1$ - TerminalViewPlugin plugin; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; - MenuManager menuMgr; - Menu menu; JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - plugin = TerminalViewPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench - .getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager) menuMgr - .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - menu = menuMgr.getMenu(); + MenuManager menuMgr = getEditMenuManager(); + Menu menu = menuMgr.getMenu(); menuMgr.removeMenuListener(fMenuHandlerEdit); @@ -377,7 +365,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fCtlTerminal.disposeTerminal(); } - /** * Passing the focus request to the viewer's control. */ @@ -443,25 +430,23 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } protected void setupMenus() { - TerminalViewPlugin plugin; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; - MenuManager menuMgr; - Menu menu; + MenuManager menuMgr = getEditMenuManager(); + Menu menu = menuMgr.getMenu(); fMenuHandlerEdit = new TerminalMenuHandlerEdit(); - plugin = TerminalViewPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench - .getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager) menuMgr - .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - menu = menuMgr.getMenu(); - menuMgr.addMenuListener(fMenuHandlerEdit); menu.addMenuListener(fMenuHandlerEdit); } + /** + * @return the Edit Menu + */ + private MenuManager getEditMenuManager() { + ApplicationWindow workbenchWindow = (ApplicationWindow) TerminalViewPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); + MenuManager menuMgr = workbenchWindow.getMenuBarManager(); + menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + return menuMgr; + } + protected void setupLocalToolBars() { IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); @@ -507,6 +492,15 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // Inner classes + /** + * Because it is too expensive to update the cut/copy/pase/selectAll actions + * each time the selection in the terminal view has changed, we update them, + * when the menu is shown. + *

+ * TODO: this might be dangerous because those actions might be shown in the toolbar + * and might not update... + * + */ protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { protected String fActionDefinitionIdCopy; @@ -567,9 +561,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // do nothing } public void menuHidden(MenuEvent event) { - TerminalViewPlugin plugin; - IWorkbench workbench; - WorkbenchWindow workbenchWindow; MenuManager menuMgr; ActionContributionItem item; RetargetAction action; @@ -578,13 +569,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi updateEditCopy(); updateEditCut(); - plugin = TerminalViewPlugin.getDefault(); - workbench = plugin.getWorkbench(); - workbenchWindow = (WorkbenchWindow) workbench - .getActiveWorkbenchWindow(); - menuMgr = workbenchWindow.getMenuManager(); - menuMgr = (MenuManager) menuMgr - .findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + menuMgr = getEditMenuManager(); item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY .getId()); From d7258992903194d92e971c16d1730a84a91b292b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 7 Feb 2007 21:32:41 +0000 Subject: [PATCH 083/843] fixed warning --- .../eclipse/tm/terminal/internal/control/TerminalText.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index ef01b36b126..7b431856d48 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -428,8 +428,8 @@ public class TerminalText implements Runnable, ControlListener { /** * This method executes in the Display thread to process data received from - * the remote host by classes {@link TelnetConnection} and {@link - * SerialPortHandler}. This method must not execute at the same time + * the remote host by classes {@link TelnetConnection} and + * SerialPortHandler. This method must not execute at the same time * as methods {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. *

* From c0e2a60500b7829242f1808d6ff643eb970024b1 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 8 Feb 2007 03:08:55 +0000 Subject: [PATCH 084/843] Simplified PageBook --- .../tm/terminal/internal/view/PageBook.java | 108 ++---------------- .../internal/view/TerminalSettingsDlg.java | 2 +- 2 files changed, 13 insertions(+), 97 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java index 5a85f31ad35..5bc24dd0eba 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java @@ -1,22 +1,18 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2006 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * IBM Corporation - initial API and implementation (org.eclipse.ui.part.PageBook) - * Michael Scharf (Wind River) - consider all children for layout and hiding + * Michael Scharf (Wind River) - simplified implementation *******************************************************************************/ package org.eclipse.tm.terminal.internal.view; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.custom.StackLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Layout; /** * A pagebook is a composite control where only a single control is visible @@ -27,94 +23,14 @@ import org.eclipse.swt.widgets.Layout; * */ public class PageBook extends Composite { - private Point minimumPageSize = new Point(0, 0); - - /** - * Layout for the page container. - * - */ - private class PageBookLayout extends Layout { - public Point computeSize(Composite composite, int wHint, int hHint, boolean force) { - if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT) - return new Point(wHint, hHint); - int x = minimumPageSize.x; - int y = minimumPageSize.y; - Control[] children = composite.getChildren(); - for (int i = 0; i < children.length; i++) { - Point size = children[i].computeSize(wHint, hHint, force); - x = Math.max(x, size.x); - y = Math.max(y, size.y); - } - - if (wHint != SWT.DEFAULT) { - x = wHint; - } - if (hHint != SWT.DEFAULT) { - y = hHint; - } - return new Point(x, y); - } - - public void layout(Composite composite, boolean force) { - Rectangle rect = composite.getClientArea(); - Control[] children = composite.getChildren(); - for (int i = 0; i < children.length; i++) { - children[i].setBounds(rect); - } - } + private StackLayout fLayout; + public PageBook(Composite parent, int style) { + super(parent, style); + fLayout= new StackLayout(); + setLayout(fLayout); + } + public void showPage(Control page) { + fLayout.topControl= page; + layout(); } - - /** - * The current control; null if none. - */ - private Control currentPage = null; - - /** - * Creates a new empty pagebook. - * - * @param parent the parent composite - * @param style the SWT style bits (use {@link SWT#NONE}) - */ - public PageBook(Composite parent, int style, int minWidth, int minHeight) { - super(parent, style); - minimumPageSize.x=minWidth; - minimumPageSize.y=minHeight; - setLayout(new PageBookLayout()); - } - - /** - * Shows the given page. This method has no effect if the given page is not - * contained in this pagebook. - * - * @param page the page to show - */ - public void showPage(Control page) { - - if (page == currentPage) { - return; - } - if (page==null || page.getParent() != this) { - return; - } - - currentPage = page; - - // show new page - if (!page.isDisposed()) { - page.setVisible(true); - layout(true); - // if (fRequestFocusOnShowPage) - // page.setFocus(); - } - - // hide old *after* new page has been made visible in order to avoid flashing - // we have to hide all other pages, because they might be visible - // by some other means... - Control[] pages=getChildren(); - for (int i = 0; i < pages.length; i++) { - if(pages[i]!=page && !pages[i].isDisposed()) { - pages[i].setVisible(false); - } - } - } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java index a79f5c03b25..9477079121d 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java @@ -121,7 +121,7 @@ class TerminalSettingsDlg extends Dialog { group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ group.setLayout(new GridLayout()); group.setLayoutData(new GridData(GridData.FILL_BOTH)); - fPageBook=new PageBook(group,SWT.NONE,230,0); + fPageBook=new PageBook(group,SWT.NONE); fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); From f4fa7cd3bde2480dd6afcda6c16dd860a38f1666 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 8 Feb 2007 04:19:53 +0000 Subject: [PATCH 085/843] fixed warning --- org.eclipse.tm.terminal.serial/.classpath | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index c91b49df2c5..ce73933404a 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,11 +1,7 @@ - - - - - - + + From 0d3b99a2b55f8e3bf45542f85190f6390ac1cdc0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 09:40:47 +0000 Subject: [PATCH 086/843] Improve Javadoc --- .../tm/terminal/internal/control/TerminalText.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index 7b431856d48..b6d1df8d17c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -428,11 +428,16 @@ public class TerminalText implements Runnable, ControlListener { /** * This method executes in the Display thread to process data received from - * the remote host by classes {@link TelnetConnection} and - * SerialPortHandler. This method must not execute at the same time - * as methods {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. + * the remote host by class {@link TelnetConnection} and + * other implementors of {@link ITerminalConnector}, like the + * SerialPortHandler. + *

+ * These connectors write text to the terminal's buffer through + * {@link #setNewText(StringBuffer)} and then have this run method + * exectued in the display thread. This method must not execute + * at the same time as methods {@link #setNewText(StringBuffer)} + * and {@link #clearTerminal()}. *

- * * IMPORTANT: This method must be called in strict alternation with method * {@link #setNewText(StringBuffer)}. *

From 19e3f6fd89aab360725a6b48e087bc070e491224 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 09:42:37 +0000 Subject: [PATCH 087/843] Improve Javadoc --- .../tm/terminal/internal/control/TerminalText.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java index b6d1df8d17c..ecb1187d9c9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java @@ -433,10 +433,10 @@ public class TerminalText implements Runnable, ControlListener { * SerialPortHandler. *

* These connectors write text to the terminal's buffer through - * {@link #setNewText(StringBuffer)} and then have this run method - * exectued in the display thread. This method must not execute - * at the same time as methods {@link #setNewText(StringBuffer)} - * and {@link #clearTerminal()}. + * {@link TerminalControl#writeToTerminal(String)} and then have + * this run method exectued in the display thread. This method + * must not execute at the same time as methods + * {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. *

* IMPORTANT: This method must be called in strict alternation with method * {@link #setNewText(StringBuffer)}. From d66bb2d7482bd22a21846f12ff77f886adb64ca0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 11:26:20 +0000 Subject: [PATCH 088/843] Allow access to gnu.io from RXTX when installed as JVM extension --- org.eclipse.tm.terminal.serial/.classpath | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index ce73933404a..b978e78e121 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,11 @@ - + + + + + From 25ab997497d31ca85790e05afffe4d4dfc0d269a Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 8 Feb 2007 15:45:35 +0000 Subject: [PATCH 089/843] ITerminalConnector removed unused method getInputStream --- .../org/eclipse/tm/terminal/ITerminalConnector.java | 6 ------ .../tm/terminal/internal/control/TerminalControl.java | 10 ---------- 2 files changed, 16 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java index 073eccaf6d6..a019d49c325 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalConnector.java @@ -11,7 +11,6 @@ *******************************************************************************/ package org.eclipse.tm.terminal; -import java.io.InputStream; import java.io.OutputStream; @@ -63,11 +62,6 @@ public interface ITerminalConnector { */ OutputStream getOutputStream(); - /** - * @return a stream to write to the remote site. - */ - InputStream getInputStream(); - /** * Load the state of this connection. Is typically called before * {@link #connect(ITerminalControl)}. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java index f12eb123562..b9f12677ea2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java @@ -17,7 +17,6 @@ package org.eclipse.tm.terminal.internal.control; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.net.SocketException; @@ -452,15 +451,6 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.ITerminalControl#getInputStream() - */ - public InputStream getInputStream() { - if(fConnector!=null) - return fConnector.getInputStream(); - return null; - } - public OutputStream getOutputStream() { if(fConnector!=null) return fConnector.getOutputStream(); From d4de327425e4b6761aca33162e70ddb4e965f10e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 16:51:03 +0000 Subject: [PATCH 090/843] Update feature names for Europa to include the terms "End-User" and "Extender" --- .../feature.properties | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 674d60c4b04..e4a14016bf2 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,10 +15,11 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal SDK -featureNameSerial=TM Terminal Serial Connector -featureNameSsh=TM Terminal Ssh Connector -featureNameView=TM Terminal View +featureName=TM Terminal End-User and Extender SDK + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal including \ +plug-ins for Serial, SSH and Telnet connections. Includes Source Code. # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -26,13 +27,14 @@ providerName=Eclipse.org # "updateSiteName" property - label for the update site updateSiteName=Target Management Project Updates -# "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal including \ -pluggable connectors for Serial, SSH and Telnet. Includes Source Code. +# names of included features +featureNameSerial=TM Terminal Serial Connector +featureNameSsh=TM Terminal Ssh Connector +featureNameView=TM Terminal View # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ From d19efc76f43e8e47fce2da578ab84ea0d816f100 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 17:36:28 +0000 Subject: [PATCH 091/843] [cleanup] Export all packages, mark internals with x-internal (PDE Tools: Organize Manifests) --- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 1 + org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 ++ org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 4 +++- 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 415450032c1..43f4e9f34ba 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -14,3 +14,4 @@ Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Bundle-Activator: org.eclipse.tm.terminal.internal.serial.Activator +Export-Package: org.eclipse.tm.terminal.internal.serial;x-internal:=true diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 1819a66b6f3..de18efb46a2 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -10,5 +10,5 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal, org.eclipse.ui, com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" -Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Export-Package: org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index b99446fdda3..c37b9e350fd 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -11,3 +11,5 @@ Require-Bundle: org.eclipse.ui, Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-Vendor: %providerName +Export-Package: org.eclipse.tm.terminal.internal.actions;x-internal:=true, + org.eclipse.tm.terminal.internal.view;x-internal:=true diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index a0e0b790c80..8d6b012d47b 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -13,4 +13,6 @@ Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.terminal, - org.eclipse.tm.terminal.control + org.eclipse.tm.terminal.control, + org.eclipse.tm.terminal.internal.control;x-internal:=true, + org.eclipse.tm.terminal.internal.telnet;x-internal:=true From a075b338af38749d274cdd3f7762c3c900263f85 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 8 Feb 2007 17:40:54 +0000 Subject: [PATCH 092/843] [refactor] tm.terminal.ssh --> tm.internal.terminal.ssh --- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.ssh/plugin.xml | 2 +- .../eclipse/tm/{ => internal}/terminal/ssh/ISshConstants.java | 2 +- .../eclipse/tm/{ => internal}/terminal/ssh/ISshSettings.java | 2 +- .../{ => internal}/terminal/ssh/KeyboardInteractiveDialog.java | 2 +- .../eclipse/tm/{ => internal}/terminal/ssh/SshConnection.java | 2 +- .../eclipse/tm/{ => internal}/terminal/ssh/SshConnector.java | 2 +- .../org/eclipse/tm/{ => internal}/terminal/ssh/SshMessages.java | 2 +- .../tm/{ => internal}/terminal/ssh/SshMessages.properties | 0 .../org/eclipse/tm/{ => internal}/terminal/ssh/SshSettings.java | 2 +- .../eclipse/tm/{ => internal}/terminal/ssh/SshSettingsPage.java | 2 +- .../tm/{ => internal}/terminal/ssh/UserValidationDialog.java | 2 +- 12 files changed, 11 insertions(+), 11 deletions(-) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/ISshConstants.java (97%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/ISshSettings.java (95%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/KeyboardInteractiveDialog.java (99%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshConnection.java (99%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshConnector.java (98%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshMessages.java (97%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshMessages.properties (100%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshSettings.java (98%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/SshSettingsPage.java (98%) rename org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/{ => internal}/terminal/ssh/UserValidationDialog.java (99%) diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index de18efb46a2..0b62eeff690 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -11,4 +11,4 @@ Require-Bundle: org.eclipse.ui, org.eclipse.ui, com.jcraft.jsch;bundle-version="[0.1.28,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.tm.terminal.ssh +Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml index 61115bba1bc..e49e7b24c17 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.xml +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -14,7 +14,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java similarity index 97% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java index 9685df158cc..57ae4f6d094 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshConstants.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java @@ -9,7 +9,7 @@ * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - extracted from various team.cvs plugins *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; /** diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java similarity index 95% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java index bad3964c9dc..52f87198cd5 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/ISshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java similarity index 99% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java index 30ed2368b50..a31c0f8e591 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/KeyboardInteractiveDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java @@ -10,7 +10,7 @@ * IBM Corporation - ongoing maintenance * Martin Oberhuber (Wind River) - copied and adapted from team.cvs.ui *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java similarity index 99% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 936be863c6b..5de65d95201 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import java.io.IOException; import java.io.InputStream; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java similarity index 98% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 282e74fa374..9ecf77da0b7 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import java.io.InputStream; import java.io.OutputStream; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java similarity index 97% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java index 02e1f0d4321..aa36e37ad5c 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshMessages.properties rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java similarity index 98% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index 30026bcef04..a4c422417a9 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java similarity index 98% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index f97691e78fe..0d0330ea87c 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/SshSettingsPage.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java similarity index 99% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java rename to org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java index 5741669160a..fa6a390062e 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/terminal/ssh/UserValidationDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java @@ -9,7 +9,7 @@ * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - copied from org.eclipse.team.cvs.ui *******************************************************************************/ -package org.eclipse.tm.terminal.ssh; +package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; From 061835a458f02a4efa8e28915c3b86850d14ce86 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 8 Feb 2007 23:50:39 +0000 Subject: [PATCH 093/843] added bin to cvsignore --- org.eclipse.tm.terminal.serial/.cvsignore | 1 + org.eclipse.tm.terminal.ssh/.cvsignore | 1 + org.eclipse.tm.terminal.view/.cvsignore | 1 + org.eclipse.tm.terminal/.cvsignore | 1 + 4 files changed, 4 insertions(+) create mode 100644 org.eclipse.tm.terminal.serial/.cvsignore create mode 100644 org.eclipse.tm.terminal.ssh/.cvsignore create mode 100644 org.eclipse.tm.terminal.view/.cvsignore create mode 100644 org.eclipse.tm.terminal/.cvsignore diff --git a/org.eclipse.tm.terminal.serial/.cvsignore b/org.eclipse.tm.terminal.serial/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.serial/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/org.eclipse.tm.terminal.ssh/.cvsignore b/org.eclipse.tm.terminal.ssh/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/org.eclipse.tm.terminal.view/.cvsignore b/org.eclipse.tm.terminal.view/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.view/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/org.eclipse.tm.terminal/.cvsignore b/org.eclipse.tm.terminal/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal/.cvsignore @@ -0,0 +1 @@ +bin From f3e28bd939f192b2a6187e17f65ec409e0e93cda Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Feb 2007 01:40:32 +0000 Subject: [PATCH 094/843] removed dependency to jface.text.TextViewer --- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 3 +-- .../internal/control/TerminalControl.java | 19 ++++--------------- 2 files changed, 5 insertions(+), 17 deletions(-) diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 8d6b012d47b..e4376bffb61 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -7,8 +7,7 @@ Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, - org.eclipse.ui, - org.eclipse.jface.text + org.eclipse.ui Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java index b9f12677ea2..fe8eed26ae3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java @@ -22,10 +22,6 @@ import java.net.SocketException; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.text.ConfigurableLineTracker; -import org.eclipse.jface.text.Document; -import org.eclipse.jface.text.ITextSelection; -import org.eclipse.jface.text.TextViewer; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.custom.VerifyKeyListener; @@ -78,7 +74,6 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro private Display fDisplay; private StyledText fCtlText; - private TextViewer fViewer; private Composite fWndParent; private Clipboard fClipboard; private TerminalModifyListener fModifyListener; @@ -180,7 +175,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro * @return non null selection */ public String getSelection() { - String txt= ((ITextSelection) fViewer.getSelection()).getText(); + String txt= fCtlText.getSelectionText(); if(txt==null) txt=""; //$NON-NLS-1$ return txt; @@ -383,12 +378,12 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // switch to another Workbench control). We prevent local keyboard input from // modifying the text in method TerminalVerifyKeyListener.verifyKey(). - fViewer = new TextViewer(fWndParent, SWT.V_SCROLL); - setCtlText(fViewer.getTextWidget()); +// fViewer = new TextViewer(fWndParent, SWT.V_SCROLL); + setCtlText(new StyledText(fWndParent, SWT.V_SCROLL)); fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); - fViewer.setDocument(new TerminalDocument()); +// fViewer.setDocument(new TerminalDocument()); getCtlText().setFont(JFaceResources.getTextFont()); } @@ -769,12 +764,6 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } - protected class TerminalDocument extends Document { - protected TerminalDocument() { - setLineTracker(new ConfigurableLineTracker(LINE_DELIMITERS)); - } - } - public void setTerminalTitle(String title) { fTerminalListener.setTerminalTitle(title); } From 8d670efac5810bf0b82fd0971b7fa7b9b229e583 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Feb 2007 05:21:39 +0000 Subject: [PATCH 095/843] remove obsolete method --- .../org/eclipse/tm/internal/terminal/ssh/SshConnector.java | 4 ---- 1 file changed, 4 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 9ecf77da0b7..77228af682d 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -101,10 +101,6 @@ public class SshConnector implements ITerminalConnector { void setOutputStream(OutputStream outputStream) { fOutputStream = outputStream; } - public void writeToTerminal(String txt) { - fControl.writeToTerminal(txt); - - } public void setState(TerminalState state) { fControl.setState(state); From c792375d1394664d5e64db224603457fced586ea Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Feb 2007 05:38:15 +0000 Subject: [PATCH 096/843] Fixed the neming scheme to use tm.internal.terminal instead of tm.terminal.internal --- org.eclipse.tm.terminal.serial/.classpath | 6 +- .../META-INF/MANIFEST.MF | 4 +- org.eclipse.tm.terminal.serial/plugin.xml | 2 +- .../terminal}/serial/Activator.java | 2 +- .../terminal}/serial/ISerialSettings.java | 2 +- .../terminal}/serial/SerialConnectWorker.java | 2 +- .../terminal}/serial/SerialConnector.java | 2 +- .../terminal}/serial/SerialMessages.java | 2 +- .../serial/SerialMessages.properties | 0 .../terminal}/serial/SerialPortHandler.java | 2 +- .../terminal}/serial/SerialProperties.java | 2 +- .../terminal}/serial/SerialSettings.java | 2 +- .../terminal}/serial/SerialSettingsPage.java | 2 +- org.eclipse.tm.terminal.ssh/.classpath | 6 +- org.eclipse.tm.terminal.view/.classpath | 6 +- .../META-INF/MANIFEST.MF | 6 +- org.eclipse.tm.terminal.view/plugin.xml | 6 +- .../terminal/actions/ActionMessages.java | 36 + .../actions/ActionMessages.properties | 26 + .../terminal/actions/TerminalAction.java | 72 ++ .../actions/TerminalActionClearAll.java | 42 ++ .../actions/TerminalActionConnect.java | 39 ++ .../terminal/actions/TerminalActionCopy.java | 40 ++ .../terminal/actions/TerminalActionCut.java | 40 ++ .../actions/TerminalActionDisconnect.java | 42 ++ .../actions/TerminalActionNewTerminal.java | 46 ++ .../terminal/actions/TerminalActionPaste.java | 40 ++ .../actions/TerminalActionSelectAll.java | 39 ++ .../actions/TerminalActionSettings.java | 39 ++ .../internal/terminal/view/ITerminalView.java | 29 + .../internal/terminal/view/ImageConsts.java | 44 ++ .../tm/internal/terminal/view/PageBook.java | 36 + .../view/SettingStorePrefixDecorator.java | 35 + .../internal/terminal/view/SettingsStore.java | 110 +++ .../view/TerminalPreferenceInitializer.java | 19 + .../terminal/view/TerminalPreferencePage.java | 154 +++++ .../terminal/view/TerminalSettingsDlg.java | 157 +++++ .../internal/terminal/view/TerminalView.java | 627 ++++++++++++++++++ .../terminal/view/TerminalViewPlugin.java | 133 ++++ .../internal/terminal/view/ViewMessages.java | 41 ++ .../terminal/view/ViewMessages.properties | 31 + org.eclipse.tm.terminal/.classpath | 6 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 10 +- org.eclipse.tm.terminal/plugin.xml | 2 +- .../terminal/control/ITerminalListener.java | 2 +- .../control/ITerminalViewControl.java | 2 +- .../control/TerminalViewControlFactory.java | 4 +- .../impl}/ITerminalControlForText.java | 2 +- .../control/impl}/TerminalControl.java | 6 +- .../control/impl}/TerminalMessages.java | 2 +- .../control/impl}/TerminalMessages.properties | 0 .../control/impl}/TerminalPlugin.java | 2 +- .../terminal/control/impl}/TerminalText.java | 4 +- .../terminal}/telnet/ITelnetSettings.java | 2 +- .../terminal}/telnet/NetworkPortMap.java | 2 +- .../terminal}/telnet/TelnetCodes.java | 2 +- .../terminal}/telnet/TelnetConnectWorker.java | 2 +- .../terminal}/telnet/TelnetConnection.java | 2 +- .../terminal}/telnet/TelnetConnector.java | 2 +- .../terminal}/telnet/TelnetMessages.java | 2 +- .../telnet/TelnetMessages.properties | 0 .../terminal}/telnet/TelnetOption.java | 2 +- .../terminal}/telnet/TelnetProperties.java | 2 +- .../terminal}/telnet/TelnetSettings.java | 2 +- .../terminal}/telnet/TelnetSettingsPage.java | 2 +- .../terminal/TerminalConnectorExtension.java | 2 +- 66 files changed, 1969 insertions(+), 68 deletions(-) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/Activator.java (95%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/ISerialSettings.java (95%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialConnectWorker.java (98%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialConnector.java (99%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialMessages.java (96%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialMessages.properties (100%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialPortHandler.java (98%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialProperties.java (98%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialSettings.java (99%) rename org.eclipse.tm.terminal.serial/src/org/eclipse/tm/{terminal/internal => internal/terminal}/serial/SerialSettingsPage.java (99%) create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCopy.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCut.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPaste.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties rename org.eclipse.tm.terminal/src/org/eclipse/tm/{ => internal}/terminal/control/ITerminalListener.java (95%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{ => internal}/terminal/control/ITerminalViewControl.java (96%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{ => internal}/terminal/control/TerminalViewControlFactory.java (88%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/ITerminalControlForText.java (95%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/TerminalControl.java (99%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/TerminalMessages.java (94%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/TerminalMessages.properties (100%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/TerminalPlugin.java (97%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal/control => internal/terminal/control/impl}/TerminalText.java (99%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/ITelnetSettings.java (94%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/NetworkPortMap.java (97%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetCodes.java (98%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetConnectWorker.java (98%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetConnection.java (99%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetConnector.java (98%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetMessages.java (95%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetMessages.properties (100%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetOption.java (99%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetProperties.java (96%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetSettings.java (98%) rename org.eclipse.tm.terminal/src/org/eclipse/tm/{terminal/internal => internal/terminal}/telnet/TelnetSettingsPage.java (98%) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index b978e78e121..ce73933404a 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,11 +1,7 @@ - - - - - + diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 43f4e9f34ba..ddbe1b3174e 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -13,5 +13,5 @@ Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . -Bundle-Activator: org.eclipse.tm.terminal.internal.serial.Activator -Export-Package: org.eclipse.tm.terminal.internal.serial;x-internal:=true +Bundle-Activator: org.eclipse.tm.internal.terminal.serial.Activator +Export-Package: org.eclipse.tm.internal.terminal.serial;x-internal:=true diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index 0f946359b8a..b121c5e8553 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -14,6 +14,6 @@ - + diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java similarity index 95% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java index 7082645e533..0655d64b401 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/Activator.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java @@ -1,4 +1,4 @@ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java similarity index 95% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java index 9201fc1a911..c3a7102db26 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/ISerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java similarity index 98% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 9a1944a07b1..56355dce778 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import gnu.io.CommPortIdentifier; import gnu.io.PortInUseException; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java similarity index 99% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 71424017cf0..c6125cbbdc1 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java similarity index 96% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java index 58d40a711b1..fbdc7573564 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import org.eclipse.osgi.util.NLS; public class SerialMessages extends NLS { diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialMessages.properties rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java similarity index 98% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java index 562d0fa21c5..38da57df166 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import java.io.IOException; import java.text.MessageFormat; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java similarity index 98% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java index 2fdac236386..8db848cd626 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialProperties.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import java.util.Collections; import java.util.Enumeration; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java similarity index 99% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java index 59dad9e783b..191918a2dfc 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettings.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import gnu.io.SerialPort; diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java similarity index 99% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java rename to org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java index 7ed4b9a7614..47db86823ef 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/terminal/internal/serial/SerialSettingsPage.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.serial; +package org.eclipse.tm.internal.terminal.serial; import java.util.Iterator; import java.util.List; diff --git a/org.eclipse.tm.terminal.ssh/.classpath b/org.eclipse.tm.terminal.ssh/.classpath index 7bdc3fd5675..ce73933404a 100644 --- a/org.eclipse.tm.terminal.ssh/.classpath +++ b/org.eclipse.tm.terminal.ssh/.classpath @@ -1,11 +1,7 @@ - - - - - + diff --git a/org.eclipse.tm.terminal.view/.classpath b/org.eclipse.tm.terminal.view/.classpath index 7bdc3fd5675..ce73933404a 100644 --- a/org.eclipse.tm.terminal.view/.classpath +++ b/org.eclipse.tm.terminal.view/.classpath @@ -1,11 +1,7 @@ - - - - - + diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index c37b9e350fd..33ab7742bd2 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true Bundle-Version: 0.9.1.qualifier -Bundle-Activator: org.eclipse.tm.terminal.internal.view.TerminalViewPlugin +Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, @@ -11,5 +11,5 @@ Require-Bundle: org.eclipse.ui, Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-Vendor: %providerName -Export-Package: org.eclipse.tm.terminal.internal.actions;x-internal:=true, - org.eclipse.tm.terminal.internal.view;x-internal:=true +Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true, + org.eclipse.tm.internal.terminal.view;x-internal:=true diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index c5f8822e69a..ee52dd8fca1 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -25,7 +25,7 @@ @@ -75,6 +75,6 @@ - + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java new file mode 100644 index 00000000000..40bfb41d934 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.osgi.util.NLS; + +public class ActionMessages extends NLS { + static { + NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); + } + public static String NEW_TERMINAL; + public static String CONNECT; + public static String DISCONNECT; + public static String SETTINGS_ELLIPSE; + public static String COPY; + public static String CUT; + public static String PASTE; + public static String SELECTALL; + public static String CLEARALL; + public static String SETTINGS; + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties new file mode 100644 index 00000000000..b475440f688 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -0,0 +1,26 @@ +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### +NEW_TERMINAL = New Terminal +CONNECT = Connect +DISCONNECT = Disconnect +SETTINGS_ELLIPSE = Settings... +COPY = Copy +CUT = Cut +PASTE = Paste +SELECTALL = Select All +CLEARALL = Clear All +SETTINGS = Settings diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java new file mode 100644 index 00000000000..b482a143e33 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; + +abstract public class TerminalAction extends Action { + protected final ITerminalView fTarget; + public TerminalAction(ITerminalView target, String strId) { + super(""); //$NON-NLS-1$ + + fTarget = target; + + setId(strId); + } + abstract public void run(); + protected void setupAction(String strText, String strToolTip, + String strImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled) { + TerminalViewPlugin plugin; + ImageRegistry imageRegistry; + + plugin = TerminalViewPlugin.getDefault(); + imageRegistry = plugin.getImageRegistry(); + setupAction(strText, strToolTip, strImage, strEnabledImage, + strDisabledImage, bEnabled, imageRegistry); + } + protected void setupAction(String strText, String strToolTip, + String strHoverImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled, ImageRegistry imageRegistry) { + setupAction(strText, + strToolTip, + imageRegistry.getDescriptor(strHoverImage), + imageRegistry.getDescriptor(strEnabledImage), + imageRegistry.getDescriptor(strDisabledImage), + bEnabled); + } + protected void setupAction(String strText, String strToolTip, + ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, + boolean bEnabled) { + setText(strText); + setToolTipText(strToolTip); + setEnabled(bEnabled); + if (enabledImage != null) { + setImageDescriptor(enabledImage); + } + if (disabledImage != null) { + setDisabledImageDescriptor(disabledImage); + } + if (hoverImage != null) { + setHoverImageDescriptor(hoverImage); + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java new file mode 100644 index 00000000000..a519da3acda --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.view.ITerminalView; + +public class TerminalActionClearAll extends TerminalAction +{ + public TerminalActionClearAll(ITerminalView target) + { + super(target, + TerminalActionClearAll.class.getName()); + + setupAction(ActionMessages.CLEARALL, + ActionMessages.CLEARALL, + (ImageDescriptor)null, + null, + null, + false); + } + + public void run() { + fTarget.onEditClearAll(); + } +} + + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java new file mode 100644 index 00000000000..4c70c76bf97 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionConnect extends TerminalAction +{ + public TerminalActionConnect(ITerminalView target) + { + super(target, + TerminalActionConnect.class.getName()); + + setupAction(ActionMessages.CONNECT, + ActionMessages.CONNECT, + ImageConsts.IMAGE_CLCL_CONNECT, + ImageConsts.IMAGE_ELCL_CONNECT, + ImageConsts.IMAGE_DLCL_CONNECT, + true); + } + public void run() { + fTarget.onTerminalConnect(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCopy.java new file mode 100644 index 00000000000..ec81cfd786e --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCopy.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionCopy extends TerminalAction +{ + public TerminalActionCopy(ITerminalView target) + { + super(target, + TerminalActionCopy.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.COPY, + ActionMessages.COPY, + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), + si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED), + true); + } + public void run() { + fTarget.onEditCopy(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCut.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCut.java new file mode 100644 index 00000000000..ca0440629c2 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCut.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionCut extends TerminalAction +{ + public TerminalActionCut(ITerminalView target) + { + super(target, + TerminalActionCut.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.CUT, + ActionMessages.CUT, + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), + si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED), + true); + } + public void run() { + fTarget.onEditCut(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java new file mode 100644 index 00000000000..e33b0e7ad36 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionDisconnect extends TerminalAction +{ + /** + * + */ + public TerminalActionDisconnect(ITerminalView target) + { + super(target, + TerminalActionDisconnect.class.getName()); + + setupAction(ActionMessages.DISCONNECT, + ActionMessages.DISCONNECT, + ImageConsts.IMAGE_CLCL_DISCONNECT, + ImageConsts.IMAGE_ELCL_DISCONNECT, + ImageConsts.IMAGE_DLCL_DISCONNECT, + false); + } + public void run() { + fTarget.onTerminalDisconnect(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java new file mode 100644 index 00000000000..3f3d042837a --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java @@ -0,0 +1,46 @@ +/******************************************************************************* + * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +/** + * UNDER CONSTRUCTION + * + * @author Fran Litterio + */ +public class TerminalActionNewTerminal extends TerminalAction +{ + /** + * UNDER CONSTRUCTION + */ + public TerminalActionNewTerminal(ITerminalView target) + { + super(target, TerminalActionNewTerminal.class.getName()); + + setupAction(ActionMessages.NEW_TERMINAL, + ActionMessages.NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + true); + } + public void run() { + fTarget.onTerminalNewTerminal(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPaste.java new file mode 100644 index 00000000000..ae6acde10ab --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPaste.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionPaste extends TerminalAction +{ + public TerminalActionPaste(ITerminalView target) + { + super(target, + TerminalActionPaste.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.PASTE, + ActionMessages.PASTE, + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + false); + } + public void run() { + fTarget.onEditPaste(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java new file mode 100644 index 00000000000..92ef3b32fbb --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.view.ITerminalView; + +public class TerminalActionSelectAll extends TerminalAction +{ + public TerminalActionSelectAll(ITerminalView target) + { + super(target, + TerminalActionSelectAll.class.getName()); + + setupAction(ActionMessages.SELECTALL, + ActionMessages.SELECTALL, + (ImageDescriptor)null, + null, + null, + false); + } + public void run() { + fTarget.onEditSelectAll(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java new file mode 100644 index 00000000000..c7b364afad6 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionSettings extends TerminalAction +{ + public TerminalActionSettings(ITerminalView target) + { + super(target, + TerminalActionSettings.class.getName()); + + setupAction(ActionMessages.SETTINGS_ELLIPSE, + ActionMessages.SETTINGS, + ImageConsts.IMAGE_CLCL_SETTINGS, + ImageConsts.IMAGE_ELCL_SETTINGS, + ImageConsts.IMAGE_DLCL_SETTINGS, + true); + } + public void run() { + fTarget.onTerminalSettings(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java new file mode 100644 index 00000000000..d390c1cde2a --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +public interface ITerminalView { + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + public void onTerminalNewTerminal(); + public void onTerminalConnect(); + public void onTerminalDisconnect(); + public void onTerminalSettings(); + public void onTerminalFontChanged(); + public void onEditCopy(); + public void onEditCut(); + public void onEditPaste(); + public void onEditClearAll(); + public void onEditSelectAll(); +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java new file mode 100644 index 00000000000..d62019f50f1 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalConsts + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +public interface ImageConsts +{ + public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + public final static String IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ + public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ + public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ + + public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ + + public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ + + public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java new file mode 100644 index 00000000000..0bb71c11185 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - simplified implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.swt.custom.StackLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * A pagebook is a composite control where only a single control is visible + * at a time. It is similar to a notebook, but without tabs. + *

+ * This class may be instantiated; it is not intended to be subclassed. + *

+ * + */ +public class PageBook extends Composite { + private StackLayout fLayout; + public PageBook(Composite parent, int style) { + super(parent, style); + fLayout= new StackLayout(); + setLayout(fLayout); + } + public void showPage(Control page) { + fLayout.topControl= page; + layout(); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java new file mode 100644 index 00000000000..19f309bbb75 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.terminal.ISettingsStore; + +public class SettingStorePrefixDecorator implements ISettingsStore { + private final String fPrefix; + private final ISettingsStore fStore; + SettingStorePrefixDecorator(ISettingsStore store,String prefix) { + fPrefix=prefix; + fStore=store; + } + + public String get(String key) { + return fStore.get(fPrefix+key); + } + + public String get(String key, String defaultValue) { + return fStore.get(fPrefix+key,defaultValue); + } + + public void put(String key, String value) { + fStore.put(fPrefix+key,value); + } + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java new file mode 100644 index 00000000000..dc2df3abc91 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -0,0 +1,110 @@ +/******************************************************************************* + * Copyright (c) 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.ui.IMemento; + +/** + * A {@link IDialogSettings} based {@link ISettingsStore}. + * + * Setting Store dased on IMemento. IMemento documentations says only alpha numeric + * values mey be used as keys. Therefore the implementation converts dots (.) into + * child elements of the memento. + * + * @author Michael Scharf + */ +class SettingsStore implements ISettingsStore { + + private static final String KEYS = "_keys_"; //$NON-NLS-1$ + final private Map fMap=new HashMap(); + public SettingsStore(IMemento memento) { + if(memento==null) + return; + // load all keys ever used from the memento + String keys=memento.getString(KEYS); + if(keys!=null) { + String[] keyNames=keys.split(","); //$NON-NLS-1$ + for (int i = 0; i < keyNames.length; i++) { + String key=keyNames[i]; + if(!KEYS.equals(key)) { + // get the dot separated elements + String[] path=key.split("\\."); //$NON-NLS-1$ + IMemento m=memento; + // iterate over all but the last segment and get the children... + for(int iPath=0; m!=null && iPath+10) + buffer.append(","); //$NON-NLS-1$ + buffer.append(key); + } + // save the keys we have used. + memento.putString(KEYS, buffer.toString()); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java new file mode 100644 index 00000000000..0e4ff888999 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java @@ -0,0 +1,19 @@ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.core.runtime.Preferences; +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; + +public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { + + public TerminalPreferenceInitializer() { + } + + public void initializeDefaultPreferences() { + Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); + store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); + store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); + store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); + } + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java new file mode 100644 index 00000000000..a55927ab488 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java @@ -0,0 +1,154 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.IntegerFieldEditor; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class TerminalPreferencePage extends FieldEditorPreferencePage implements + IWorkbenchPreferencePage { + public static final String PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ + public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ + public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ + public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ + public static final boolean DEFAULT_LIMITOUTPUT = true; + public static final int DEFAULT_BUFFERLINES = 1000; + public static final int DEFAULT_TIMEOUT_SERIAL = 5; + public static final int DEFAULT_TIMEOUT_NETWORK = 5; + + + protected TerminalBooleanFieldEditor fEditorLimitOutput; + + protected IntegerFieldEditor fEditorBufferSize; + + protected IntegerFieldEditor fEditorSerialTimeout; + + protected IntegerFieldEditor fEditorNetworkTimeout; + public TerminalPreferencePage() { + super(GRID); + } + public void onLimitOutputSelected() { + Button ctlButton; + Text ctlText; + Label ctlLabel; + boolean bEnabled; + + ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent()); + ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent()); + bEnabled = ctlButton.getSelection(); + + ctlText.setEnabled(bEnabled); + ctlLabel.setEnabled(bEnabled); + } + protected void createFieldEditors() { + setupPage(); + } + protected void initialize() { + super.initialize(); + + onLimitOutputSelected(); + } + protected void performDefaults() { + super.performDefaults(); + + onLimitOutputSelected(); + } + public void init(IWorkbench workbench) { + // do nothing + } + protected void setupPage() { + setupData(); + setupEditors(); + setupListeners(); + } + protected void setupData() { + TerminalViewPlugin plugin; + IPreferenceStore preferenceStore; + + plugin = TerminalViewPlugin.getDefault(); + preferenceStore = plugin.getPreferenceStore(); + setPreferenceStore(preferenceStore); + } + protected void setupEditors() { + fEditorLimitOutput = new TerminalBooleanFieldEditor( + PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT, + getFieldEditorParent()); + fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, + ViewMessages.BUFFERLINES, getFieldEditorParent()); + fEditorSerialTimeout = new IntegerFieldEditor( + PREF_TIMEOUT_SERIAL, ViewMessages.SERIALTIMEOUT, + getFieldEditorParent()); + fEditorNetworkTimeout = new IntegerFieldEditor( + PREF_TIMEOUT_NETWORK, ViewMessages.NETWORKTIMEOUT, + getFieldEditorParent()); + + fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); + fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); + fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); + + addField(fEditorLimitOutput); + addField(fEditorBufferSize); + addField(fEditorSerialTimeout); + addField(fEditorNetworkTimeout); + } + protected void setupListeners() { + TerminalSelectionHandler selectionHandler; + Button ctlButton; + + selectionHandler = new TerminalSelectionHandler(); + ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); + ctlButton.addSelectionListener(selectionHandler); + } + public class TerminalBooleanFieldEditor extends BooleanFieldEditor { + public TerminalBooleanFieldEditor(String strName, String strLabel, + Composite ctlParent) { + super(strName, strLabel, ctlParent); + } + public Button getChangeControl(Composite parent) { + return super.getChangeControl(parent); + } + } + protected class TerminalSelectionHandler extends SelectionAdapter { + protected TerminalSelectionHandler() { + super(); + } + public void widgetSelected(SelectionEvent event) { + Object source; + Button ctlButton; + + source = event.getSource(); + ctlButton = fEditorLimitOutput + .getChangeControl(getFieldEditorParent()); + + if (source == ctlButton) { + onLimitOutputSelected(); + } + } + + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java new file mode 100644 index 00000000000..d0d743b41ef --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.terminal.ISettingsPage; +import org.eclipse.tm.terminal.ITerminalConnector; + +class TerminalSettingsDlg extends Dialog { + private Combo fCtlConnTypeCombo; + private final ITerminalConnector[] fConnectors; + private final ISettingsPage[] fPages; + private int fSelectedConnector; + private PageBook fPageBook; + private IDialogSettings fDialogSettings; + + public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { + super(shell); + fConnectors=connectors; + fPages=new ISettingsPage[fConnectors.length]; + for (int i = 0; i < fConnectors.length; i++) { + fPages[i]=fConnectors[i].makeSettingsPage(); + if(fConnectors[i]==connector) + fSelectedConnector=i; + } + } + protected void okPressed() { + if (!validateSettings()) + return; + if(fSelectedConnector>=0) { + fPages[fSelectedConnector].saveSettings(); + } + super.okPressed(); + } + protected void cancelPressed() { + fSelectedConnector=-1; + super.cancelPressed(); + } + public int open() { + setShellStyle(getShellStyle() | SWT.RESIZE); + return super.open(); + } + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + + newShell.setText(ViewMessages.TERMINALSETTINGS); + } + protected Control createDialogArea(Composite parent) { + Composite ctlComposite = (Composite) super.createDialogArea(parent); + setupPanel(ctlComposite); + setupListeners(); + initFields(); + + return ctlComposite; + } + private void initFields() { + // Load controls + for (int i = 0; i < fPages.length; i++) { + String name=fPages[i].getName(); + fCtlConnTypeCombo.add(name); + if(fSelectedConnector==i) { + fCtlConnTypeCombo.select(i); + selectPage(i); + } + } + } + private boolean validateSettings() { + if(fSelectedConnector<0) + return true; + return fPages[fSelectedConnector].validateSettings(); + } + private void setupPanel(Composite wndParent) { + setupConnTypePanel(wndParent); + setupSettingsGroup(wndParent); + } + private void setupConnTypePanel(Composite wndParent) { + Group wndGroup; + GridLayout gridLayout; + GridData gridData; + + wndGroup = new Group(wndParent, SWT.NONE); + gridLayout = new GridLayout(1, true); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(gridData); + wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ + + fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); + gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.widthHint = 200; + fCtlConnTypeCombo.setLayoutData(gridData); + } + private void setupSettingsGroup(Composite parent) { + Group group = new Group(parent, SWT.NONE); + group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ + group.setLayout(new GridLayout()); + group.setLayoutData(new GridData(GridData.FILL_BOTH)); + fPageBook=new PageBook(group,SWT.NONE); + fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + + for (int i = 0; i < fPages.length; i++) { + fPages[i].createControl(fPageBook); + } + } + private void setupListeners() { + fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + selectPage(fCtlConnTypeCombo.getSelectionIndex()); + } + }); + } + public ITerminalConnector getConnector() { + if(fSelectedConnector>=0) + return fConnectors[fSelectedConnector]; + return null; + } + private void selectPage(int index) { + fSelectedConnector=index; + Control[] pages=fPageBook.getChildren(); + fPageBook.showPage(pages[fSelectedConnector]); + } + protected IDialogSettings getDialogBoundsSettings() { + IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); + fDialogSettings = ds.getSection(getClass().getName()); + if (fDialogSettings == null) { + fDialogSettings = ds.addNewSection(getClass().getName()); + } + return fDialogSettings; + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java new file mode 100644 index 00000000000..f49292bb6bd --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -0,0 +1,627 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.jface.window.ApplicationWindow; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.custom.StyledText; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.internal.terminal.actions.TerminalAction; +import org.eclipse.tm.internal.terminal.actions.TerminalActionClearAll; +import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; +import org.eclipse.tm.internal.terminal.actions.TerminalActionCopy; +import org.eclipse.tm.internal.terminal.actions.TerminalActionCut; +import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; +import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; +import org.eclipse.tm.internal.terminal.actions.TerminalActionPaste; +import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectAll; +import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; +import org.eclipse.tm.terminal.ISettingsStore; +import org.eclipse.tm.terminal.ITerminalConnector; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.tm.terminal.TerminalConnectorExtension; +import org.eclipse.tm.terminal.TerminalState; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchActionConstants; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.actions.ActionFactory; +import org.eclipse.ui.actions.RetargetAction; +import org.eclipse.ui.part.ViewPart; + +public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + + protected ITerminalViewControl fCtlTerminal; + + protected TerminalAction fActionTerminalNewTerminal; + + protected TerminalAction fActionTerminalConnect; + + protected TerminalAction fActionTerminalDisconnect; + + protected TerminalAction fActionTerminalSettings; + + protected TerminalAction fActionEditCopy; + + protected TerminalAction fActionEditCut; + + protected TerminalAction fActionEditPaste; + + protected TerminalAction fActionEditClearAll; + + protected TerminalAction fActionEditSelectAll; + + protected TerminalMenuHandlerEdit fMenuHandlerEdit; + + protected TerminalPropertyChangeHandler fPropertyChangeHandler; + + protected boolean fMenuAboutToShow; + + private SettingsStore fStore; + + public TerminalView() { + Logger + .log("==============================================================="); //$NON-NLS-1$ + } +// TODO MSA +// private void XXXXX() { +// Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); +// boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); +// int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); +// +// } + // TerminalTarget interface + public void setState(final TerminalState state) { + Runnable runnable=new Runnable() { + public void run() { + updateStatus(); + onTerminalStatus(); + } + }; + if(Thread.currentThread()==Display.getDefault().getThread()) + runnable.run(); + else + Display.getDefault().syncExec(runnable); + } + + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + public void onTerminalNewTerminal() { + Logger.log("creating new Terminal instance."); //$NON-NLS-1$ + + try { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesireable. Therefore, we append the current time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. + + getSite().getPage().showView( + "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + } catch (PartInitException ex) { + Logger.logException(ex); + } + } + + public void onTerminalConnect() { + if (isConnected()) + return; + if(fCtlTerminal.getTerminalConnection()==null) + setConnector(showSettingsDialog()); + fCtlTerminal.connectTerminal(); + } + + public void updateStatus() { + updateTerminalConnect(); + updateTerminalDisconnect(); + updateTerminalSettings(); + } + + public void updateTerminalConnect() { + boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + + fActionTerminalConnect.setEnabled(bEnabled); + } + + private boolean isConnecting() { + return fCtlTerminal.getState()==TerminalState.CONNECTING; + } + private boolean isConnected() { + return fCtlTerminal.getState()==TerminalState.CONNECTED; + } + public void onTerminalDisconnect() { + fCtlTerminal.disconnectTerminal(); + } + + public void updateTerminalDisconnect() { + boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); + fActionTerminalDisconnect.setEnabled(bEnabled); + } + + public void onTerminalSettings() { + ITerminalConnector c=showSettingsDialog(); + if(c!=null) { + setConnector(c); + + onTerminalConnect(); + } + } + + private ITerminalConnector showSettingsDialog() { + // When the settings dialog is opened, load the Terminal settings from the + // persistent settings. + + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnection()); + + Logger.log("opening Settings dialog."); //$NON-NLS-1$ + + if (dlgTerminalSettings.open() == Window.CANCEL) { + Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ + return null; + } + + Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ + + // When the settings dialog is closed, we persist the Terminal settings. + + saveSettings(dlgTerminalSettings.getConnector()); + return dlgTerminalSettings.getConnector(); + } + + private void setConnector(ITerminalConnector connector) { + fCtlTerminal.setConnector(connector); + } + + public void updateTerminalSettings() { + boolean bEnabled; + + bEnabled = ((!isConnecting()) && (!fCtlTerminal + .isConnected())); + + fActionTerminalSettings.setEnabled(bEnabled); + } + + public void setTerminalTitle(String strTitle) { + if (fCtlTerminal.isDisposed()) + return; + + if (strTitle != null) { + // When parameter 'data' is not null, it is a String containing text to + // display in the view's content description line. This is used by class + // TerminalText when it processes an ANSI OSC escape sequence that commands + // the terminal to display text in its title bar. + } else { + // When parameter 'data' is null, we construct a descriptive string to + // display in the content description line. + String strConnected = getStateDisplayName(fCtlTerminal.getState()); + String status=""; //$NON-NLS-1$ + status=fCtlTerminal.getStatusString(strConnected); + strTitle = ViewMessages.PROP_TITLE + status; + } + + setContentDescription(strTitle); + getViewSite().getActionBars().getStatusLineManager().setMessage( + strTitle); + } + public void onTerminalStatus() { + setTerminalTitle(null); + } + + private String getStateDisplayName(TerminalState state) { + if(state==TerminalState.CONNECTED) { + return ViewMessages.STATE_CONNECTED; + } else if(state==TerminalState.CONNECTING) { + return ViewMessages.STATE_CONNECTING; + } else if(state==TerminalState.OPENED) { + return ViewMessages.STATE_OPENED; + } else if(state==TerminalState.CLOSED) { + return ViewMessages.STATE_CLOSED; + } else { + throw new IllegalStateException(state.toString()); + } + } + + public void onTerminalFontChanged() { + fCtlTerminal.getCtlText().setFont(JFaceResources.getFont(FONT_DEFINITION)); + + // Tell the TerminalControl singleton that the font has changed. + + fCtlTerminal.onFontChanged(); + } + + public void onEditCopy() { + String selection=fCtlTerminal.getSelection(); + + if (!selection.equals("")) {//$NON-NLS-1$ + fCtlTerminal.copy(); + } else { + fCtlTerminal.sendKey('\u0003'); + } + } + + public void updateEditCopy() { + boolean bEnabled=true; + + if (fMenuAboutToShow) { + bEnabled = fCtlTerminal.getSelection().length()>0; + } + + fActionEditCopy.setEnabled(bEnabled); + } + + public void onEditCut() { + fCtlTerminal.sendKey('\u0018'); + } + + public void updateEditCut() { + boolean bEnabled; + + bEnabled = !fMenuAboutToShow; + fActionEditCut.setEnabled(bEnabled); + } + + public void onEditPaste() { + fCtlTerminal.paste(); + } + + public void updateEditPaste() { + String strText = (String) fCtlTerminal.getClipboard().getContents(TextTransfer.getInstance()); + + boolean bEnabled = ((strText != null) && (!strText.equals("")) && (isConnected()));//$NON-NLS-1$ + + fActionEditPaste.setEnabled(bEnabled); + } + + public void onEditClearAll() { + fCtlTerminal.clearTerminal(); + } + + public void updateEditClearAll() { + fActionEditClearAll.setEnabled(!fCtlTerminal.isEmpty()); + } + + public void onEditSelectAll() { + fCtlTerminal.selectAll(); + } + + public void updateEditSelectAll() { + fActionEditSelectAll.setEnabled(!fCtlTerminal.isEmpty()); + } + + // ViewPart interface + + public void createPartControl(Composite wndParent) { + // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key + // sequence. + + setPartName(ViewMessages.PROP_TITLE); + + setupControls(wndParent); + setupActions(); + setupMenus(); + setupLocalToolBars(); + setupContextMenus(); + setupListeners(wndParent); + + onTerminalStatus(); + } + + public void dispose() { + Logger.log("entered."); //$NON-NLS-1$ + + setPartName("Terminal"); //$NON-NLS-1$ + + + JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); + MenuManager menuMgr = getEditMenuManager(); + Menu menu = menuMgr.getMenu(); + + menuMgr.removeMenuListener(fMenuHandlerEdit); + + if (menu != null) + menu.removeMenuListener(fMenuHandlerEdit); + + fCtlTerminal.disposeTerminal(); + } + /** + * Passing the focus request to the viewer's control. + */ + public void setFocus() { + fCtlTerminal.setFocus(); + } + + /** + * This method creates the top-level control for the Terminal view. + */ + protected void setupControls(Composite wndParent) { + ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); + fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); + String connectionType=fStore.get("ConnectionType"); //$NON-NLS-1$ + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(connectors[i])); + if(connectors[i].getId().equals(connectionType)) + fCtlTerminal.setConnector(connectors[i]); + } + } + private void saveSettings(ITerminalConnector connector) { + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + for (int i = 0; i < connectors.length; i++) { + connectors[i].save(getStore(connectors[i])); + } + if(connector!=null) { + fStore.put("ConnectionType",connector.getId()); //$NON-NLS-1$ + } + } + + public void init(IViewSite site, IMemento memento) throws PartInitException { + super.init(site, memento); + fStore=new SettingsStore(memento); + } + + public void saveState(IMemento memento) { + super.saveState(memento); + fStore.saveState(memento); + } + private ISettingsStore getStore(ITerminalConnector connector) { + return new SettingStorePrefixDecorator(fStore,connector.getClass().getName()+"."); //$NON-NLS-1$ + } + + protected void setupActions() { + fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); + fActionTerminalConnect = new TerminalActionConnect(this); + fActionTerminalDisconnect = new TerminalActionDisconnect(this); + fActionTerminalSettings = new TerminalActionSettings(this); + fActionEditCopy = new TerminalActionCopy(this); + fActionEditCut = new TerminalActionCut(this); + fActionEditPaste = new TerminalActionPaste(this); + fActionEditClearAll = new TerminalActionClearAll(this); + fActionEditSelectAll = new TerminalActionSelectAll(this); + + IActionBars actionBars = getViewSite().getActionBars(); + actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), fActionEditCopy); + + actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), fActionEditCut); + + actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), fActionEditPaste); + + actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), fActionEditSelectAll); + } + + protected void setupMenus() { + MenuManager menuMgr = getEditMenuManager(); + Menu menu = menuMgr.getMenu(); + + fMenuHandlerEdit = new TerminalMenuHandlerEdit(); + menuMgr.addMenuListener(fMenuHandlerEdit); + menu.addMenuListener(fMenuHandlerEdit); + } + /** + * @return the Edit Menu + */ + private MenuManager getEditMenuManager() { + ApplicationWindow workbenchWindow = (ApplicationWindow) TerminalViewPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); + MenuManager menuMgr = workbenchWindow.getMenuBarManager(); + menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); + return menuMgr; + } + + + protected void setupLocalToolBars() { + IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); + + toolBarMgr.add(fActionTerminalNewTerminal); + toolBarMgr.add(fActionTerminalConnect); + toolBarMgr.add(fActionTerminalDisconnect); + toolBarMgr.add(fActionTerminalSettings); + } + + protected void setupContextMenus() { + StyledText ctlText; + MenuManager menuMgr; + Menu menu; + TerminalContextMenuHandler contextMenuHandler; + + ctlText = fCtlTerminal.getCtlText(); + menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ + menu = menuMgr.createContextMenu(ctlText); + contextMenuHandler = new TerminalContextMenuHandler(); + + ctlText.setMenu(menu); + menuMgr.setRemoveAllWhenShown(true); + menuMgr.addMenuListener(contextMenuHandler); + menu.addMenuListener(contextMenuHandler); + } + + protected void loadContextMenus(IMenuManager menuMgr) { + menuMgr.add(fActionEditCopy); + menuMgr.add(fActionEditPaste); + menuMgr.add(new Separator()); + menuMgr.add(fActionEditClearAll); + menuMgr.add(fActionEditSelectAll); + + // Other plug-ins can contribute there actions here + menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ + } + + protected void setupListeners(Composite wndParent) { + fPropertyChangeHandler = new TerminalPropertyChangeHandler(); + JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); + } + + // Inner classes + + /** + * Because it is too expensive to update the cut/copy/pase/selectAll actions + * each time the selection in the terminal view has changed, we update them, + * when the menu is shown. + *

+ * TODO: this might be dangerous because those actions might be shown in the toolbar + * and might not update... + * + */ + protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { + protected String fActionDefinitionIdCopy; + + protected String fActionDefinitionIdPaste; + + protected String fActionDefinitionIdSelectAll; + + protected int fAcceleratorCopy; + + protected int fAcceleratorPaste; + + protected int fAcceleratorSelectAll; + + protected TerminalMenuHandlerEdit() { + super(); + + fActionDefinitionIdCopy = ""; //$NON-NLS-1$ + fActionDefinitionIdPaste = ""; //$NON-NLS-1$ + fActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ + + fAcceleratorCopy = 0; + fAcceleratorPaste = 0; + fAcceleratorSelectAll = 0; + } + public void menuAboutToShow(IMenuManager menuMgr) { + + fMenuAboutToShow = true; + updateEditCopy(); + updateEditCut(); + updateEditPaste(); + updateEditSelectAll(); + + ActionContributionItem item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); + RetargetAction action = (RetargetAction) item.getAction(); + fActionDefinitionIdCopy = action.getActionDefinitionId(); + fAcceleratorCopy = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); + action = (RetargetAction) item.getAction(); + fActionDefinitionIdPaste = action.getActionDefinitionId(); + fAcceleratorPaste = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + fActionDefinitionIdSelectAll = action.getActionDefinitionId(); + fAcceleratorSelectAll = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + } + public void menuShown(MenuEvent event) { + // do nothing + } + public void menuHidden(MenuEvent event) { + MenuManager menuMgr; + ActionContributionItem item; + RetargetAction action; + + fMenuAboutToShow = false; + updateEditCopy(); + updateEditCut(); + + menuMgr = getEditMenuManager(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY + .getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdCopy); + action.setAccelerator(fAcceleratorCopy); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE + .getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdPaste); + action.setAccelerator(fAcceleratorPaste); + action.enableAccelerator(true); + item.update(); + + item = (ActionContributionItem) menuMgr + .find(ActionFactory.SELECT_ALL.getId()); + action = (RetargetAction) item.getAction(); + action.setActionDefinitionId(fActionDefinitionIdSelectAll); + action.setAccelerator(fAcceleratorSelectAll); + action.enableAccelerator(true); + item.update(); + } + } + + protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { + public void menuHidden(MenuEvent event) { + fMenuAboutToShow = false; + updateEditCopy(); + } + + public void menuShown(MenuEvent e) { + // + } + public void menuAboutToShow(IMenuManager menuMgr) { + fMenuAboutToShow = true; + updateEditCopy(); + updateEditCut(); + updateEditPaste(); + updateEditClearAll(); + + loadContextMenus(menuMgr); + } + } + + protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { + public void propertyChange(PropertyChangeEvent event) { + if (event.getProperty().equals(FONT_DEFINITION)) { + onTerminalFontChanged(); + } + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java new file mode 100644 index 00000000000..cfd6ea3d5a9 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Iterator; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.terminal.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +public class TerminalViewPlugin extends AbstractUIPlugin { + protected static TerminalViewPlugin fDefault; + public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ + + /** + * The constructor. + */ + public TerminalViewPlugin() { + fDefault = this; + } + protected void initializeImageRegistry(ImageRegistry imageRegistry) { + HashMap map; + + map = new HashMap(); + + try { + // Local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); + + map.clear(); + + // Enabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); + + map.clear(); + + // Disabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); + + map.clear(); + } catch (MalformedURLException malformedURLException) { + malformedURLException.printStackTrace(); + } + } + /** + * Returns the shared instance. + */ + public static TerminalViewPlugin getDefault() { + return fDefault; + } + + public static boolean isLogInfoEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_INFO); + } + public static boolean isLogErrorEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG_ERROR); + } + public static boolean isLogEnabled() { + return isOptionEnabled(Logger.TRACE_DEBUG_LOG); + } + + public static boolean isOptionEnabled(String strOption) { + String strEnabled; + Boolean boolEnabled; + boolean bEnabled; + + strEnabled = Platform.getDebugOption(strOption); + if (strEnabled == null) + return false; + + boolEnabled = new Boolean(strEnabled); + bEnabled = boolEnabled.booleanValue(); + + return bEnabled; + } + protected void loadImageRegistry(ImageRegistry imageRegistry, + String strDir, HashMap map) throws MalformedURLException { + URL url; + ImageDescriptor imageDescriptor; + Iterator keys; + String strKey; + String strFile; + + keys = map.keySet().iterator(); + + while (keys.hasNext()) { + strKey = (String) keys.next(); + strFile = (String) map.get(strKey); + + if (strFile != null) { + url = TerminalViewPlugin.getDefault().getBundle().getEntry( + ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); + imageDescriptor = ImageDescriptor.createFromURL(url); + imageRegistry.put(strKey, imageDescriptor); + } + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java new file mode 100644 index 00000000000..033e1aecbbe --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.osgi.util.NLS; + +public class ViewMessages extends NLS { + static { + NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); + } + public static String PROP_TITLE; + public static String SETTINGS; + + public static String TERMINALSETTINGS; + public static String CONNECTIONTYPE; + + public static String LIMITOUTPUT; + public static String BUFFERLINES; + public static String SERIALTIMEOUT; + public static String NETWORKTIMEOUT; + + public static String STATE_CONNECTED; + public static String STATE_CONNECTING; + public static String STATE_OPENED; + public static String STATE_CLOSED; + +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties new file mode 100644 index 00000000000..72901a74a2a --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -0,0 +1,31 @@ +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### +PROP_TITLE = Terminal +SETTINGS = Settings + +TERMINALSETTINGS = Terminal Settings +CONNECTIONTYPE = Connection Type + +LIMITOUTPUT = Limit terminal output +BUFFERLINES = Terminal buffer lines: +SERIALTIMEOUT = Serial timeout (seconds): +NETWORKTIMEOUT = Network timeout (seconds): + +STATE_CONNECTED = CONNECTED +STATE_CONNECTING = CONNECTING... +STATE_OPENED = OPENED +STATE_CLOSED = CLOSED diff --git a/org.eclipse.tm.terminal/.classpath b/org.eclipse.tm.terminal/.classpath index 0d0fdd4139a..52165ecfb58 100644 --- a/org.eclipse.tm.terminal/.classpath +++ b/org.eclipse.tm.terminal/.classpath @@ -1,11 +1,7 @@ - - - - - + diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index e4376bffb61..df09b70b298 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true Bundle-Version: 0.9.2.qualifier -Bundle-Activator: org.eclipse.tm.terminal.internal.control.TerminalPlugin +Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, @@ -11,7 +11,7 @@ Require-Bundle: org.eclipse.core.runtime, Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . -Export-Package: org.eclipse.tm.terminal, - org.eclipse.tm.terminal.control, - org.eclipse.tm.terminal.internal.control;x-internal:=true, - org.eclipse.tm.terminal.internal.telnet;x-internal:=true +Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, + org.eclipse.tm.internal.terminal.telnet;x-internal:=true, + org.eclipse.tm.terminal diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 5fa64c8c4bd..19f2bc90e4d 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -15,7 +15,7 @@ - + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java similarity index 95% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java index d05e8884608..1494d857110 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalListener.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.control; +package org.eclipse.tm.internal.terminal.control; import org.eclipse.tm.terminal.TerminalState; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java similarity index 96% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index ac33802ae2c..99786e68138 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.control; +package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.Clipboard; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java similarity index 88% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 8866b03fea4..99cda7a811b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -9,11 +9,11 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.control; +package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; import org.eclipse.tm.terminal.ITerminalConnector; -import org.eclipse.tm.terminal.internal.control.TerminalControl; public class TerminalViewControlFactory { public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java similarity index 95% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index 72e72bc93f2..af351845aaa 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.control; +package org.eclipse.tm.internal.terminal.control.impl; import java.io.OutputStream; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java similarity index 99% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index fe8eed26ae3..80775a562ce 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.control; +package org.eclipse.tm.internal.terminal.control.impl; import java.io.IOException; import java.io.OutputStream; @@ -40,12 +40,12 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.terminal.ITerminalConnector; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; -import org.eclipse.tm.terminal.control.ITerminalListener; -import org.eclipse.tm.terminal.control.ITerminalViewControl; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.contexts.IContextActivation; import org.eclipse.ui.contexts.IContextService; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java similarity index 94% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index 69bb8d99550..68c32808d10 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.control; +package org.eclipse.tm.internal.terminal.control.impl; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalMessages.properties rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java similarity index 97% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java index 2a48924d464..b00bc932cb5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalPlugin.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.control; +package org.eclipse.tm.internal.terminal.control.impl; import org.eclipse.core.runtime.Platform; import org.eclipse.tm.terminal.Logger; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java similarity index 99% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java index ecb1187d9c9..106c1a3c8e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/control/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.control; +package org.eclipse.tm.internal.terminal.control.impl; import java.io.IOException; import java.io.OutputStreamWriter; @@ -31,10 +31,10 @@ import org.eclipse.swt.events.ControlListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.internal.terminal.telnet.TelnetConnection; import org.eclipse.tm.terminal.ITerminalConnector; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; -import org.eclipse.tm.terminal.internal.telnet.TelnetConnection; /** * This class processes character data received from the remote host and diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java similarity index 94% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java index 9fdb0e20d72..d54f2a6aec0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/ITelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java similarity index 97% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java index ba49179c559..695278ff0b1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/NetworkPortMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalNetworkPortMap * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.util.ArrayList; import java.util.List; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java index 08058c0a75e..fbe551ae376 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetCodes.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java @@ -12,7 +12,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; /** * This interface defines symbolic constants for numeric TELNET protocol command and diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java index 59ee043c597..ac3db6d84aa 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnectWorker.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.net.ConnectException; import java.net.InetSocketAddress; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java similarity index 99% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 852f9c4a160..44ebd2f1dc3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -12,7 +12,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.io.IOException; import java.io.InputStream; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index da3f4e08da0..91081a203e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.io.IOException; import java.io.InputStream; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java similarity index 95% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java index dc50f268576..18f307cbeea 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import org.eclipse.osgi.util.NLS; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetMessages.properties rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java similarity index 99% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java index 1dc8e2b5ea1..0868a3d6120 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.io.IOException; import java.io.OutputStream; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java similarity index 96% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java index 1d85a4c418a..ff6e79b5a94 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetProperties.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; public class TelnetProperties { private final NetworkPortMap fNetworkPortMap; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java index 9bdd522cf9b..46face35c1b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettings.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import org.eclipse.tm.terminal.ISettingsStore; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java similarity index 98% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 4b59c94eb99..c9b0d5f79a6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/internal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.internal.telnet; +package org.eclipse.tm.internal.terminal.telnet; import java.util.Collections; import java.util.Iterator; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java index 2e5c64e9702..67051475fd8 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/TerminalConnectorExtension.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.RegistryFactory; import org.eclipse.core.runtime.Status; -import org.eclipse.tm.terminal.internal.control.TerminalPlugin; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; /** * A factory to get {@link ITerminalConnector} instances. From 35a8b054827386f48ca7bbbc369ff2f53a034abe Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 15 Feb 2007 08:44:29 +0000 Subject: [PATCH 097/843] Fix broken N-builds: redo access permissions after previous classpath change --- org.eclipse.tm.terminal.serial/.classpath | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.serial/.classpath b/org.eclipse.tm.terminal.serial/.classpath index ce73933404a..b978e78e121 100644 --- a/org.eclipse.tm.terminal.serial/.classpath +++ b/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,11 @@ - + + + + + From 1854119043687c0913f963d930dc83e14b53c760 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 15 Feb 2007 08:45:07 +0000 Subject: [PATCH 098/843] Fix broken N-builds: remove old packages after move in terminal.view --- .../internal/actions/ActionMessages.java | 36 - .../actions/ActionMessages.properties | 26 - .../internal/actions/TerminalAction.java | 72 -- .../actions/TerminalActionClearAll.java | 42 -- .../actions/TerminalActionConnect.java | 39 -- .../internal/actions/TerminalActionCopy.java | 40 -- .../internal/actions/TerminalActionCut.java | 40 -- .../actions/TerminalActionDisconnect.java | 42 -- .../actions/TerminalActionNewTerminal.java | 46 -- .../internal/actions/TerminalActionPaste.java | 40 -- .../actions/TerminalActionSelectAll.java | 39 -- .../actions/TerminalActionSettings.java | 39 -- .../terminal/internal/view/ITerminalView.java | 29 - .../terminal/internal/view/ImageConsts.java | 44 -- .../tm/terminal/internal/view/PageBook.java | 36 - .../view/SettingStorePrefixDecorator.java | 35 - .../terminal/internal/view/SettingsStore.java | 110 --- .../view/TerminalPreferenceInitializer.java | 19 - .../internal/view/TerminalPreferencePage.java | 154 ----- .../internal/view/TerminalSettingsDlg.java | 157 ----- .../terminal/internal/view/TerminalView.java | 627 ------------------ .../internal/view/TerminalViewPlugin.java | 133 ---- .../terminal/internal/view/ViewMessages.java | 41 -- .../internal/view/ViewMessages.properties | 31 - 24 files changed, 1917 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java deleted file mode 100644 index 9105892da20..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.osgi.util.NLS; - -public class ActionMessages extends NLS { - static { - NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); - } - public static String NEW_TERMINAL; - public static String CONNECT; - public static String DISCONNECT; - public static String SETTINGS_ELLIPSE; - public static String COPY; - public static String CUT; - public static String PASTE; - public static String SELECTALL; - public static String CLEARALL; - public static String SETTINGS; - -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties deleted file mode 100644 index b475440f688..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/ActionMessages.properties +++ /dev/null @@ -1,26 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -NEW_TERMINAL = New Terminal -CONNECT = Connect -DISCONNECT = Disconnect -SETTINGS_ELLIPSE = Settings... -COPY = Copy -CUT = Cut -PASTE = Paste -SELECTALL = Select All -CLEARALL = Clear All -SETTINGS = Settings diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java deleted file mode 100644 index 184cc7862dd..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalAction.java +++ /dev/null @@ -1,72 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.tm.terminal.internal.view.TerminalViewPlugin; - -abstract public class TerminalAction extends Action { - protected final ITerminalView fTarget; - public TerminalAction(ITerminalView target, String strId) { - super(""); //$NON-NLS-1$ - - fTarget = target; - - setId(strId); - } - abstract public void run(); - protected void setupAction(String strText, String strToolTip, - String strImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled) { - TerminalViewPlugin plugin; - ImageRegistry imageRegistry; - - plugin = TerminalViewPlugin.getDefault(); - imageRegistry = plugin.getImageRegistry(); - setupAction(strText, strToolTip, strImage, strEnabledImage, - strDisabledImage, bEnabled, imageRegistry); - } - protected void setupAction(String strText, String strToolTip, - String strHoverImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled, ImageRegistry imageRegistry) { - setupAction(strText, - strToolTip, - imageRegistry.getDescriptor(strHoverImage), - imageRegistry.getDescriptor(strEnabledImage), - imageRegistry.getDescriptor(strDisabledImage), - bEnabled); - } - protected void setupAction(String strText, String strToolTip, - ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, - boolean bEnabled) { - setText(strText); - setToolTipText(strToolTip); - setEnabled(bEnabled); - if (enabledImage != null) { - setImageDescriptor(enabledImage); - } - if (disabledImage != null) { - setDisabledImageDescriptor(disabledImage); - } - if (hoverImage != null) { - setHoverImageDescriptor(hoverImage); - } - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java deleted file mode 100644 index aca9606fe9e..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionClearAll.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.terminal.internal.view.ITerminalView; - -public class TerminalActionClearAll extends TerminalAction -{ - public TerminalActionClearAll(ITerminalView target) - { - super(target, - TerminalActionClearAll.class.getName()); - - setupAction(ActionMessages.CLEARALL, - ActionMessages.CLEARALL, - (ImageDescriptor)null, - null, - null, - false); - } - - public void run() { - fTarget.onEditClearAll(); - } -} - - diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java deleted file mode 100644 index cbd451045ed..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionConnect.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.tm.terminal.internal.view.ImageConsts; - -public class TerminalActionConnect extends TerminalAction -{ - public TerminalActionConnect(ITerminalView target) - { - super(target, - TerminalActionConnect.class.getName()); - - setupAction(ActionMessages.CONNECT, - ActionMessages.CONNECT, - ImageConsts.IMAGE_CLCL_CONNECT, - ImageConsts.IMAGE_ELCL_CONNECT, - ImageConsts.IMAGE_DLCL_CONNECT, - true); - } - public void run() { - fTarget.onTerminalConnect(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java deleted file mode 100644 index 53f445795fc..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCopy.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; - -public class TerminalActionCopy extends TerminalAction -{ - public TerminalActionCopy(ITerminalView target) - { - super(target, - TerminalActionCopy.class.getName()); - ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); - setupAction(ActionMessages.COPY, - ActionMessages.COPY, - si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), - si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY), - si.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED), - true); - } - public void run() { - fTarget.onEditCopy(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java deleted file mode 100644 index c768dd757d9..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionCut.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; - -public class TerminalActionCut extends TerminalAction -{ - public TerminalActionCut(ITerminalView target) - { - super(target, - TerminalActionCut.class.getName()); - ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); - setupAction(ActionMessages.CUT, - ActionMessages.CUT, - si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), - si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT), - si.getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED), - true); - } - public void run() { - fTarget.onEditCut(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java deleted file mode 100644 index 1a1417f788e..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionDisconnect.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.tm.terminal.internal.view.ImageConsts; - -public class TerminalActionDisconnect extends TerminalAction -{ - /** - * - */ - public TerminalActionDisconnect(ITerminalView target) - { - super(target, - TerminalActionDisconnect.class.getName()); - - setupAction(ActionMessages.DISCONNECT, - ActionMessages.DISCONNECT, - ImageConsts.IMAGE_CLCL_DISCONNECT, - ImageConsts.IMAGE_ELCL_DISCONNECT, - ImageConsts.IMAGE_DLCL_DISCONNECT, - false); - } - public void run() { - fTarget.onTerminalDisconnect(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java deleted file mode 100644 index 9dd7aad575a..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionNewTerminal.java +++ /dev/null @@ -1,46 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.tm.terminal.internal.view.ImageConsts; - -/** - * UNDER CONSTRUCTION - * - * @author Fran Litterio - */ -public class TerminalActionNewTerminal extends TerminalAction -{ - /** - * UNDER CONSTRUCTION - */ - public TerminalActionNewTerminal(ITerminalView target) - { - super(target, TerminalActionNewTerminal.class.getName()); - - setupAction(ActionMessages.NEW_TERMINAL, - ActionMessages.NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - true); - } - public void run() { - fTarget.onTerminalNewTerminal(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java deleted file mode 100644 index b04796c15da..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionPaste.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.ui.ISharedImages; -import org.eclipse.ui.PlatformUI; - -public class TerminalActionPaste extends TerminalAction -{ - public TerminalActionPaste(ITerminalView target) - { - super(target, - TerminalActionPaste.class.getName()); - ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); - setupAction(ActionMessages.PASTE, - ActionMessages.PASTE, - si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), - si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), - si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), - false); - } - public void run() { - fTarget.onEditPaste(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java deleted file mode 100644 index a89995dc494..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSelectAll.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.terminal.internal.view.ITerminalView; - -public class TerminalActionSelectAll extends TerminalAction -{ - public TerminalActionSelectAll(ITerminalView target) - { - super(target, - TerminalActionSelectAll.class.getName()); - - setupAction(ActionMessages.SELECTALL, - ActionMessages.SELECTALL, - (ImageDescriptor)null, - null, - null, - false); - } - public void run() { - fTarget.onEditSelectAll(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java deleted file mode 100644 index 3471c4faa54..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/actions/TerminalActionSettings.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.actions; - -import org.eclipse.tm.terminal.internal.view.ITerminalView; -import org.eclipse.tm.terminal.internal.view.ImageConsts; - -public class TerminalActionSettings extends TerminalAction -{ - public TerminalActionSettings(ITerminalView target) - { - super(target, - TerminalActionSettings.class.getName()); - - setupAction(ActionMessages.SETTINGS_ELLIPSE, - ActionMessages.SETTINGS, - ImageConsts.IMAGE_CLCL_SETTINGS, - ImageConsts.IMAGE_ELCL_SETTINGS, - ImageConsts.IMAGE_DLCL_SETTINGS, - true); - } - public void run() { - fTarget.onTerminalSettings(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java deleted file mode 100644 index 2244f4536de..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ITerminalView.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -public interface ITerminalView { - - /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. - */ - public void onTerminalNewTerminal(); - public void onTerminalConnect(); - public void onTerminalDisconnect(); - public void onTerminalSettings(); - public void onTerminalFontChanged(); - public void onEditCopy(); - public void onEditCut(); - public void onEditPaste(); - public void onEditClearAll(); - public void onEditSelectAll(); -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java deleted file mode 100644 index 9805efa6164..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ImageConsts.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalConsts - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -public interface ImageConsts -{ - public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ - public final static String IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ - public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ - public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ - - public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ - - public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ - - public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ - } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java deleted file mode 100644 index 5bc24dd0eba..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/PageBook.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - simplified implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** - * A pagebook is a composite control where only a single control is visible - * at a time. It is similar to a notebook, but without tabs. - *

- * This class may be instantiated; it is not intended to be subclassed. - *

- * - */ -public class PageBook extends Composite { - private StackLayout fLayout; - public PageBook(Composite parent, int style) { - super(parent, style); - fLayout= new StackLayout(); - setLayout(fLayout); - } - public void showPage(Control page) { - fLayout.topControl= page; - layout(); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java deleted file mode 100644 index 32db3749aef..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingStorePrefixDecorator.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.tm.terminal.ISettingsStore; - -public class SettingStorePrefixDecorator implements ISettingsStore { - private final String fPrefix; - private final ISettingsStore fStore; - SettingStorePrefixDecorator(ISettingsStore store,String prefix) { - fPrefix=prefix; - fStore=store; - } - - public String get(String key) { - return fStore.get(fPrefix+key); - } - - public String get(String key, String defaultValue) { - return fStore.get(fPrefix+key,defaultValue); - } - - public void put(String key, String value) { - fStore.put(fPrefix+key,value); - } - -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java deleted file mode 100644 index 4d2f977c275..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/SettingsStore.java +++ /dev/null @@ -1,110 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.tm.terminal.ISettingsStore; -import org.eclipse.ui.IMemento; - -/** - * A {@link IDialogSettings} based {@link ISettingsStore}. - * - * Setting Store dased on IMemento. IMemento documentations says only alpha numeric - * values mey be used as keys. Therefore the implementation converts dots (.) into - * child elements of the memento. - * - * @author Michael Scharf - */ -class SettingsStore implements ISettingsStore { - - private static final String KEYS = "_keys_"; //$NON-NLS-1$ - final private Map fMap=new HashMap(); - public SettingsStore(IMemento memento) { - if(memento==null) - return; - // load all keys ever used from the memento - String keys=memento.getString(KEYS); - if(keys!=null) { - String[] keyNames=keys.split(","); //$NON-NLS-1$ - for (int i = 0; i < keyNames.length; i++) { - String key=keyNames[i]; - if(!KEYS.equals(key)) { - // get the dot separated elements - String[] path=key.split("\\."); //$NON-NLS-1$ - IMemento m=memento; - // iterate over all but the last segment and get the children... - for(int iPath=0; m!=null && iPath+10) - buffer.append(","); //$NON-NLS-1$ - buffer.append(key); - } - // save the keys we have used. - memento.putString(KEYS, buffer.toString()); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java deleted file mode 100644 index f0247df9dec..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferenceInitializer.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; - -public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { - - public TerminalPreferenceInitializer() { - } - - public void initializeDefaultPreferences() { - Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); - store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); - store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); - } - -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java deleted file mode 100644 index 52e5762e114..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalPreferencePage.java +++ /dev/null @@ -1,154 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.IntegerFieldEditor; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -public class TerminalPreferencePage extends FieldEditorPreferencePage implements - IWorkbenchPreferencePage { - public static final String PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ - public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ - public static final boolean DEFAULT_LIMITOUTPUT = true; - public static final int DEFAULT_BUFFERLINES = 1000; - public static final int DEFAULT_TIMEOUT_SERIAL = 5; - public static final int DEFAULT_TIMEOUT_NETWORK = 5; - - - protected TerminalBooleanFieldEditor fEditorLimitOutput; - - protected IntegerFieldEditor fEditorBufferSize; - - protected IntegerFieldEditor fEditorSerialTimeout; - - protected IntegerFieldEditor fEditorNetworkTimeout; - public TerminalPreferencePage() { - super(GRID); - } - public void onLimitOutputSelected() { - Button ctlButton; - Text ctlText; - Label ctlLabel; - boolean bEnabled; - - ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent()); - ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent()); - bEnabled = ctlButton.getSelection(); - - ctlText.setEnabled(bEnabled); - ctlLabel.setEnabled(bEnabled); - } - protected void createFieldEditors() { - setupPage(); - } - protected void initialize() { - super.initialize(); - - onLimitOutputSelected(); - } - protected void performDefaults() { - super.performDefaults(); - - onLimitOutputSelected(); - } - public void init(IWorkbench workbench) { - // do nothing - } - protected void setupPage() { - setupData(); - setupEditors(); - setupListeners(); - } - protected void setupData() { - TerminalViewPlugin plugin; - IPreferenceStore preferenceStore; - - plugin = TerminalViewPlugin.getDefault(); - preferenceStore = plugin.getPreferenceStore(); - setPreferenceStore(preferenceStore); - } - protected void setupEditors() { - fEditorLimitOutput = new TerminalBooleanFieldEditor( - PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT, - getFieldEditorParent()); - fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, - ViewMessages.BUFFERLINES, getFieldEditorParent()); - fEditorSerialTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_SERIAL, ViewMessages.SERIALTIMEOUT, - getFieldEditorParent()); - fEditorNetworkTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_NETWORK, ViewMessages.NETWORKTIMEOUT, - getFieldEditorParent()); - - fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); - fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); - fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); - - addField(fEditorLimitOutput); - addField(fEditorBufferSize); - addField(fEditorSerialTimeout); - addField(fEditorNetworkTimeout); - } - protected void setupListeners() { - TerminalSelectionHandler selectionHandler; - Button ctlButton; - - selectionHandler = new TerminalSelectionHandler(); - ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlButton.addSelectionListener(selectionHandler); - } - public class TerminalBooleanFieldEditor extends BooleanFieldEditor { - public TerminalBooleanFieldEditor(String strName, String strLabel, - Composite ctlParent) { - super(strName, strLabel, ctlParent); - } - public Button getChangeControl(Composite parent) { - return super.getChangeControl(parent); - } - } - protected class TerminalSelectionHandler extends SelectionAdapter { - protected TerminalSelectionHandler() { - super(); - } - public void widgetSelected(SelectionEvent event) { - Object source; - Button ctlButton; - - source = event.getSource(); - ctlButton = fEditorLimitOutput - .getChangeControl(getFieldEditorParent()); - - if (source == ctlButton) { - onLimitOutputSelected(); - } - } - - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java deleted file mode 100644 index 9477079121d..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalSettingsDlg.java +++ /dev/null @@ -1,157 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.tm.terminal.ISettingsPage; -import org.eclipse.tm.terminal.ITerminalConnector; - -class TerminalSettingsDlg extends Dialog { - private Combo fCtlConnTypeCombo; - private final ITerminalConnector[] fConnectors; - private final ISettingsPage[] fPages; - private int fSelectedConnector; - private PageBook fPageBook; - private IDialogSettings fDialogSettings; - - public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { - super(shell); - fConnectors=connectors; - fPages=new ISettingsPage[fConnectors.length]; - for (int i = 0; i < fConnectors.length; i++) { - fPages[i]=fConnectors[i].makeSettingsPage(); - if(fConnectors[i]==connector) - fSelectedConnector=i; - } - } - protected void okPressed() { - if (!validateSettings()) - return; - if(fSelectedConnector>=0) { - fPages[fSelectedConnector].saveSettings(); - } - super.okPressed(); - } - protected void cancelPressed() { - fSelectedConnector=-1; - super.cancelPressed(); - } - public int open() { - setShellStyle(getShellStyle() | SWT.RESIZE); - return super.open(); - } - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - - newShell.setText(ViewMessages.TERMINALSETTINGS); - } - protected Control createDialogArea(Composite parent) { - Composite ctlComposite = (Composite) super.createDialogArea(parent); - setupPanel(ctlComposite); - setupListeners(); - initFields(); - - return ctlComposite; - } - private void initFields() { - // Load controls - for (int i = 0; i < fPages.length; i++) { - String name=fPages[i].getName(); - fCtlConnTypeCombo.add(name); - if(fSelectedConnector==i) { - fCtlConnTypeCombo.select(i); - selectPage(i); - } - } - } - private boolean validateSettings() { - if(fSelectedConnector<0) - return true; - return fPages[fSelectedConnector].validateSettings(); - } - private void setupPanel(Composite wndParent) { - setupConnTypePanel(wndParent); - setupSettingsGroup(wndParent); - } - private void setupConnTypePanel(Composite wndParent) { - Group wndGroup; - GridLayout gridLayout; - GridData gridData; - - wndGroup = new Group(wndParent, SWT.NONE); - gridLayout = new GridLayout(1, true); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(gridData); - wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ - - fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.widthHint = 200; - fCtlConnTypeCombo.setLayoutData(gridData); - } - private void setupSettingsGroup(Composite parent) { - Group group = new Group(parent, SWT.NONE); - group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ - group.setLayout(new GridLayout()); - group.setLayoutData(new GridData(GridData.FILL_BOTH)); - fPageBook=new PageBook(group,SWT.NONE); - fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - - for (int i = 0; i < fPages.length; i++) { - fPages[i].createControl(fPageBook); - } - } - private void setupListeners() { - fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - selectPage(fCtlConnTypeCombo.getSelectionIndex()); - } - }); - } - public ITerminalConnector getConnector() { - if(fSelectedConnector>=0) - return fConnectors[fSelectedConnector]; - return null; - } - private void selectPage(int index) { - fSelectedConnector=index; - Control[] pages=fPageBook.getChildren(); - fPageBook.showPage(pages[fSelectedConnector]); - } - protected IDialogSettings getDialogBoundsSettings() { - IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); - fDialogSettings = ds.getSection(getClass().getName()); - if (fDialogSettings == null) { - fDialogSettings = ds.addNewSection(getClass().getName()); - } - return fDialogSettings; - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java deleted file mode 100644 index 045a2b9e001..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalView.java +++ /dev/null @@ -1,627 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.window.ApplicationWindow; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.terminal.ISettingsStore; -import org.eclipse.tm.terminal.ITerminalConnector; -import org.eclipse.tm.terminal.Logger; -import org.eclipse.tm.terminal.TerminalConnectorExtension; -import org.eclipse.tm.terminal.TerminalState; -import org.eclipse.tm.terminal.control.ITerminalListener; -import org.eclipse.tm.terminal.control.ITerminalViewControl; -import org.eclipse.tm.terminal.control.TerminalViewControlFactory; -import org.eclipse.tm.terminal.internal.actions.TerminalAction; -import org.eclipse.tm.terminal.internal.actions.TerminalActionClearAll; -import org.eclipse.tm.terminal.internal.actions.TerminalActionConnect; -import org.eclipse.tm.terminal.internal.actions.TerminalActionCopy; -import org.eclipse.tm.terminal.internal.actions.TerminalActionCut; -import org.eclipse.tm.terminal.internal.actions.TerminalActionDisconnect; -import org.eclipse.tm.terminal.internal.actions.TerminalActionNewTerminal; -import org.eclipse.tm.terminal.internal.actions.TerminalActionPaste; -import org.eclipse.tm.terminal.internal.actions.TerminalActionSelectAll; -import org.eclipse.tm.terminal.internal.actions.TerminalActionSettings; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.actions.ActionFactory; -import org.eclipse.ui.actions.RetargetAction; -import org.eclipse.ui.part.ViewPart; - -public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { - public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ - - protected ITerminalViewControl fCtlTerminal; - - protected TerminalAction fActionTerminalNewTerminal; - - protected TerminalAction fActionTerminalConnect; - - protected TerminalAction fActionTerminalDisconnect; - - protected TerminalAction fActionTerminalSettings; - - protected TerminalAction fActionEditCopy; - - protected TerminalAction fActionEditCut; - - protected TerminalAction fActionEditPaste; - - protected TerminalAction fActionEditClearAll; - - protected TerminalAction fActionEditSelectAll; - - protected TerminalMenuHandlerEdit fMenuHandlerEdit; - - protected TerminalPropertyChangeHandler fPropertyChangeHandler; - - protected boolean fMenuAboutToShow; - - private SettingsStore fStore; - - public TerminalView() { - Logger - .log("==============================================================="); //$NON-NLS-1$ - } -// TODO MSA -// private void XXXXX() { -// Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); -// boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); -// int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); -// -// } - // TerminalTarget interface - public void setState(final TerminalState state) { - Runnable runnable=new Runnable() { - public void run() { - updateStatus(); - onTerminalStatus(); - } - }; - if(Thread.currentThread()==Display.getDefault().getThread()) - runnable.run(); - else - Display.getDefault().syncExec(runnable); - } - - - /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. - */ - public void onTerminalNewTerminal() { - Logger.log("creating new Terminal instance."); //$NON-NLS-1$ - - try { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesireable. Therefore, we append the current time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. - - getSite().getPage().showView( - "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - } catch (PartInitException ex) { - Logger.logException(ex); - } - } - - public void onTerminalConnect() { - if (isConnected()) - return; - if(fCtlTerminal.getTerminalConnection()==null) - setConnector(showSettingsDialog()); - fCtlTerminal.connectTerminal(); - } - - public void updateStatus() { - updateTerminalConnect(); - updateTerminalDisconnect(); - updateTerminalSettings(); - } - - public void updateTerminalConnect() { - boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); - - fActionTerminalConnect.setEnabled(bEnabled); - } - - private boolean isConnecting() { - return fCtlTerminal.getState()==TerminalState.CONNECTING; - } - private boolean isConnected() { - return fCtlTerminal.getState()==TerminalState.CONNECTED; - } - public void onTerminalDisconnect() { - fCtlTerminal.disconnectTerminal(); - } - - public void updateTerminalDisconnect() { - boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); - fActionTerminalDisconnect.setEnabled(bEnabled); - } - - public void onTerminalSettings() { - ITerminalConnector c=showSettingsDialog(); - if(c!=null) { - setConnector(c); - - onTerminalConnect(); - } - } - - private ITerminalConnector showSettingsDialog() { - // When the settings dialog is opened, load the Terminal settings from the - // persistent settings. - - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnection()); - - Logger.log("opening Settings dialog."); //$NON-NLS-1$ - - if (dlgTerminalSettings.open() == Window.CANCEL) { - Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ - return null; - } - - Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ - - // When the settings dialog is closed, we persist the Terminal settings. - - saveSettings(dlgTerminalSettings.getConnector()); - return dlgTerminalSettings.getConnector(); - } - - private void setConnector(ITerminalConnector connector) { - fCtlTerminal.setConnector(connector); - } - - public void updateTerminalSettings() { - boolean bEnabled; - - bEnabled = ((!isConnecting()) && (!fCtlTerminal - .isConnected())); - - fActionTerminalSettings.setEnabled(bEnabled); - } - - public void setTerminalTitle(String strTitle) { - if (fCtlTerminal.isDisposed()) - return; - - if (strTitle != null) { - // When parameter 'data' is not null, it is a String containing text to - // display in the view's content description line. This is used by class - // TerminalText when it processes an ANSI OSC escape sequence that commands - // the terminal to display text in its title bar. - } else { - // When parameter 'data' is null, we construct a descriptive string to - // display in the content description line. - String strConnected = getStateDisplayName(fCtlTerminal.getState()); - String status=""; //$NON-NLS-1$ - status=fCtlTerminal.getStatusString(strConnected); - strTitle = ViewMessages.PROP_TITLE + status; - } - - setContentDescription(strTitle); - getViewSite().getActionBars().getStatusLineManager().setMessage( - strTitle); - } - public void onTerminalStatus() { - setTerminalTitle(null); - } - - private String getStateDisplayName(TerminalState state) { - if(state==TerminalState.CONNECTED) { - return ViewMessages.STATE_CONNECTED; - } else if(state==TerminalState.CONNECTING) { - return ViewMessages.STATE_CONNECTING; - } else if(state==TerminalState.OPENED) { - return ViewMessages.STATE_OPENED; - } else if(state==TerminalState.CLOSED) { - return ViewMessages.STATE_CLOSED; - } else { - throw new IllegalStateException(state.toString()); - } - } - - public void onTerminalFontChanged() { - fCtlTerminal.getCtlText().setFont(JFaceResources.getFont(FONT_DEFINITION)); - - // Tell the TerminalControl singleton that the font has changed. - - fCtlTerminal.onFontChanged(); - } - - public void onEditCopy() { - String selection=fCtlTerminal.getSelection(); - - if (!selection.equals("")) {//$NON-NLS-1$ - fCtlTerminal.copy(); - } else { - fCtlTerminal.sendKey('\u0003'); - } - } - - public void updateEditCopy() { - boolean bEnabled=true; - - if (fMenuAboutToShow) { - bEnabled = fCtlTerminal.getSelection().length()>0; - } - - fActionEditCopy.setEnabled(bEnabled); - } - - public void onEditCut() { - fCtlTerminal.sendKey('\u0018'); - } - - public void updateEditCut() { - boolean bEnabled; - - bEnabled = !fMenuAboutToShow; - fActionEditCut.setEnabled(bEnabled); - } - - public void onEditPaste() { - fCtlTerminal.paste(); - } - - public void updateEditPaste() { - String strText = (String) fCtlTerminal.getClipboard().getContents(TextTransfer.getInstance()); - - boolean bEnabled = ((strText != null) && (!strText.equals("")) && (isConnected()));//$NON-NLS-1$ - - fActionEditPaste.setEnabled(bEnabled); - } - - public void onEditClearAll() { - fCtlTerminal.clearTerminal(); - } - - public void updateEditClearAll() { - fActionEditClearAll.setEnabled(!fCtlTerminal.isEmpty()); - } - - public void onEditSelectAll() { - fCtlTerminal.selectAll(); - } - - public void updateEditSelectAll() { - fActionEditSelectAll.setEnabled(!fCtlTerminal.isEmpty()); - } - - // ViewPart interface - - public void createPartControl(Composite wndParent) { - // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key - // sequence. - - setPartName(ViewMessages.PROP_TITLE); - - setupControls(wndParent); - setupActions(); - setupMenus(); - setupLocalToolBars(); - setupContextMenus(); - setupListeners(wndParent); - - onTerminalStatus(); - } - - public void dispose() { - Logger.log("entered."); //$NON-NLS-1$ - - setPartName("Terminal"); //$NON-NLS-1$ - - - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - MenuManager menuMgr = getEditMenuManager(); - Menu menu = menuMgr.getMenu(); - - menuMgr.removeMenuListener(fMenuHandlerEdit); - - if (menu != null) - menu.removeMenuListener(fMenuHandlerEdit); - - fCtlTerminal.disposeTerminal(); - } - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() { - fCtlTerminal.setFocus(); - } - - /** - * This method creates the top-level control for the Terminal view. - */ - protected void setupControls(Composite wndParent) { - ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); - fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); - String connectionType=fStore.get("ConnectionType"); //$NON-NLS-1$ - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(connectors[i])); - if(connectors[i].getId().equals(connectionType)) - fCtlTerminal.setConnector(connectors[i]); - } - } - private void saveSettings(ITerminalConnector connector) { - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - for (int i = 0; i < connectors.length; i++) { - connectors[i].save(getStore(connectors[i])); - } - if(connector!=null) { - fStore.put("ConnectionType",connector.getId()); //$NON-NLS-1$ - } - } - - public void init(IViewSite site, IMemento memento) throws PartInitException { - super.init(site, memento); - fStore=new SettingsStore(memento); - } - - public void saveState(IMemento memento) { - super.saveState(memento); - fStore.saveState(memento); - } - private ISettingsStore getStore(ITerminalConnector connector) { - return new SettingStorePrefixDecorator(fStore,connector.getClass().getName()+"."); //$NON-NLS-1$ - } - - protected void setupActions() { - fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); - fActionTerminalConnect = new TerminalActionConnect(this); - fActionTerminalDisconnect = new TerminalActionDisconnect(this); - fActionTerminalSettings = new TerminalActionSettings(this); - fActionEditCopy = new TerminalActionCopy(this); - fActionEditCut = new TerminalActionCut(this); - fActionEditPaste = new TerminalActionPaste(this); - fActionEditClearAll = new TerminalActionClearAll(this); - fActionEditSelectAll = new TerminalActionSelectAll(this); - - IActionBars actionBars = getViewSite().getActionBars(); - actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), fActionEditCopy); - - actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), fActionEditCut); - - actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), fActionEditPaste); - - actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), fActionEditSelectAll); - } - - protected void setupMenus() { - MenuManager menuMgr = getEditMenuManager(); - Menu menu = menuMgr.getMenu(); - - fMenuHandlerEdit = new TerminalMenuHandlerEdit(); - menuMgr.addMenuListener(fMenuHandlerEdit); - menu.addMenuListener(fMenuHandlerEdit); - } - /** - * @return the Edit Menu - */ - private MenuManager getEditMenuManager() { - ApplicationWindow workbenchWindow = (ApplicationWindow) TerminalViewPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); - MenuManager menuMgr = workbenchWindow.getMenuBarManager(); - menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - return menuMgr; - } - - - protected void setupLocalToolBars() { - IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); - - toolBarMgr.add(fActionTerminalNewTerminal); - toolBarMgr.add(fActionTerminalConnect); - toolBarMgr.add(fActionTerminalDisconnect); - toolBarMgr.add(fActionTerminalSettings); - } - - protected void setupContextMenus() { - StyledText ctlText; - MenuManager menuMgr; - Menu menu; - TerminalContextMenuHandler contextMenuHandler; - - ctlText = fCtlTerminal.getCtlText(); - menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ - menu = menuMgr.createContextMenu(ctlText); - contextMenuHandler = new TerminalContextMenuHandler(); - - ctlText.setMenu(menu); - menuMgr.setRemoveAllWhenShown(true); - menuMgr.addMenuListener(contextMenuHandler); - menu.addMenuListener(contextMenuHandler); - } - - protected void loadContextMenus(IMenuManager menuMgr) { - menuMgr.add(fActionEditCopy); - menuMgr.add(fActionEditPaste); - menuMgr.add(new Separator()); - menuMgr.add(fActionEditClearAll); - menuMgr.add(fActionEditSelectAll); - - // Other plug-ins can contribute there actions here - menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ - } - - protected void setupListeners(Composite wndParent) { - fPropertyChangeHandler = new TerminalPropertyChangeHandler(); - JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); - } - - // Inner classes - - /** - * Because it is too expensive to update the cut/copy/pase/selectAll actions - * each time the selection in the terminal view has changed, we update them, - * when the menu is shown. - *

- * TODO: this might be dangerous because those actions might be shown in the toolbar - * and might not update... - * - */ - protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { - protected String fActionDefinitionIdCopy; - - protected String fActionDefinitionIdPaste; - - protected String fActionDefinitionIdSelectAll; - - protected int fAcceleratorCopy; - - protected int fAcceleratorPaste; - - protected int fAcceleratorSelectAll; - - protected TerminalMenuHandlerEdit() { - super(); - - fActionDefinitionIdCopy = ""; //$NON-NLS-1$ - fActionDefinitionIdPaste = ""; //$NON-NLS-1$ - fActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ - - fAcceleratorCopy = 0; - fAcceleratorPaste = 0; - fAcceleratorSelectAll = 0; - } - public void menuAboutToShow(IMenuManager menuMgr) { - - fMenuAboutToShow = true; - updateEditCopy(); - updateEditCut(); - updateEditPaste(); - updateEditSelectAll(); - - ActionContributionItem item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); - RetargetAction action = (RetargetAction) item.getAction(); - fActionDefinitionIdCopy = action.getActionDefinitionId(); - fAcceleratorCopy = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); - action = (RetargetAction) item.getAction(); - fActionDefinitionIdPaste = action.getActionDefinitionId(); - fAcceleratorPaste = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - fActionDefinitionIdSelectAll = action.getActionDefinitionId(); - fAcceleratorSelectAll = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - } - public void menuShown(MenuEvent event) { - // do nothing - } - public void menuHidden(MenuEvent event) { - MenuManager menuMgr; - ActionContributionItem item; - RetargetAction action; - - fMenuAboutToShow = false; - updateEditCopy(); - updateEditCut(); - - menuMgr = getEditMenuManager(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY - .getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdCopy); - action.setAccelerator(fAcceleratorCopy); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE - .getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdPaste); - action.setAccelerator(fAcceleratorPaste); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr - .find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdSelectAll); - action.setAccelerator(fAcceleratorSelectAll); - action.enableAccelerator(true); - item.update(); - } - } - - protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { - public void menuHidden(MenuEvent event) { - fMenuAboutToShow = false; - updateEditCopy(); - } - - public void menuShown(MenuEvent e) { - // - } - public void menuAboutToShow(IMenuManager menuMgr) { - fMenuAboutToShow = true; - updateEditCopy(); - updateEditCut(); - updateEditPaste(); - updateEditClearAll(); - - loadContextMenus(menuMgr); - } - } - - protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { - public void propertyChange(PropertyChangeEvent event) { - if (event.getProperty().equals(FONT_DEFINITION)) { - onTerminalFontChanged(); - } - } - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java deleted file mode 100644 index 808473d1319..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/TerminalViewPlugin.java +++ /dev/null @@ -1,133 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.Iterator; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.terminal.Logger; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -public class TerminalViewPlugin extends AbstractUIPlugin { - protected static TerminalViewPlugin fDefault; - public static final String PLUGIN_HOME = "org.eclipse.tm.terminal"; //$NON-NLS-1$ - public static final String HELP_VIEW = PLUGIN_HOME + ".terminal_view"; //$NON-NLS-1$ - - /** - * The constructor. - */ - public TerminalViewPlugin() { - fDefault = this; - } - protected void initializeImageRegistry(ImageRegistry imageRegistry) { - HashMap map; - - map = new HashMap(); - - try { - // Local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); - - map.clear(); - - // Enabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); - - map.clear(); - - // Disabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); - - map.clear(); - } catch (MalformedURLException malformedURLException) { - malformedURLException.printStackTrace(); - } - } - /** - * Returns the shared instance. - */ - public static TerminalViewPlugin getDefault() { - return fDefault; - } - - public static boolean isLogInfoEnabled() { - return isOptionEnabled(Logger.TRACE_DEBUG_LOG_INFO); - } - public static boolean isLogErrorEnabled() { - return isOptionEnabled(Logger.TRACE_DEBUG_LOG_ERROR); - } - public static boolean isLogEnabled() { - return isOptionEnabled(Logger.TRACE_DEBUG_LOG); - } - - public static boolean isOptionEnabled(String strOption) { - String strEnabled; - Boolean boolEnabled; - boolean bEnabled; - - strEnabled = Platform.getDebugOption(strOption); - if (strEnabled == null) - return false; - - boolEnabled = new Boolean(strEnabled); - bEnabled = boolEnabled.booleanValue(); - - return bEnabled; - } - protected void loadImageRegistry(ImageRegistry imageRegistry, - String strDir, HashMap map) throws MalformedURLException { - URL url; - ImageDescriptor imageDescriptor; - Iterator keys; - String strKey; - String strFile; - - keys = map.keySet().iterator(); - - while (keys.hasNext()) { - strKey = (String) keys.next(); - strFile = (String) map.get(strKey); - - if (strFile != null) { - url = TerminalViewPlugin.getDefault().getBundle().getEntry( - ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); - imageDescriptor = ImageDescriptor.createFromURL(url); - imageRegistry.put(strKey, imageDescriptor); - } - } - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java deleted file mode 100644 index 3bf1515245b..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.terminal.internal.view; - -import org.eclipse.osgi.util.NLS; - -public class ViewMessages extends NLS { - static { - NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); - } - public static String PROP_TITLE; - public static String SETTINGS; - - public static String TERMINALSETTINGS; - public static String CONNECTIONTYPE; - - public static String LIMITOUTPUT; - public static String BUFFERLINES; - public static String SERIALTIMEOUT; - public static String NETWORKTIMEOUT; - - public static String STATE_CONNECTED; - public static String STATE_CONNECTING; - public static String STATE_OPENED; - public static String STATE_CLOSED; - -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties deleted file mode 100644 index 72901a74a2a..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/terminal/internal/view/ViewMessages.properties +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -PROP_TITLE = Terminal -SETTINGS = Settings - -TERMINALSETTINGS = Terminal Settings -CONNECTIONTYPE = Connection Type - -LIMITOUTPUT = Limit terminal output -BUFFERLINES = Terminal buffer lines: -SERIALTIMEOUT = Serial timeout (seconds): -NETWORKTIMEOUT = Network timeout (seconds): - -STATE_CONNECTED = CONNECTED -STATE_CONNECTING = CONNECTING... -STATE_OPENED = OPENED -STATE_CLOSED = CLOSED From 0201d74979e32eaca40df6c38b7ad40bca6a2eac Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 15 Feb 2007 10:01:26 +0000 Subject: [PATCH 099/843] [cleanup] update copyright year 2007 --- .../tm/internal/terminal/serial/Activator.java | 11 +++++++++++ .../tm/internal/terminal/ssh/ISshConstants.java | 2 +- .../terminal/ssh/KeyboardInteractiveDialog.java | 2 +- .../internal/terminal/ssh/UserValidationDialog.java | 2 +- .../terminal/view/TerminalPreferenceInitializer.java | 11 +++++++++++ 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java index 0655d64b401..bc911fba5f8 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; import org.eclipse.ui.plugin.AbstractUIPlugin; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java index 57ae4f6d094..2ac687d6404 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java index a31c0f8e591..91987b7926a 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java index fa6a390062e..8104b827130 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2006 IBM Corporation and others. + * Copyright (c) 2000, 2007 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java index 0e4ff888999..7fd4c4a10ed 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; import org.eclipse.core.runtime.Preferences; From 79c7aa6d7378bec4f6ad97126741f3481980f660 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 15 Feb 2007 10:28:32 +0000 Subject: [PATCH 100/843] [cleanup] update copyright year 2007 --- org.eclipse.tm.terminal.serial/plugin.xml | 2 +- .../eclipse/tm/internal/terminal/serial/ISerialSettings.java | 2 +- .../tm/internal/terminal/serial/SerialConnectWorker.java | 2 +- .../eclipse/tm/internal/terminal/serial/SerialConnector.java | 2 +- .../org/eclipse/tm/internal/terminal/serial/SerialMessages.java | 2 +- .../eclipse/tm/internal/terminal/serial/SerialPortHandler.java | 2 +- .../eclipse/tm/internal/terminal/serial/SerialProperties.java | 2 +- .../org/eclipse/tm/internal/terminal/serial/SerialSettings.java | 2 +- .../eclipse/tm/internal/terminal/serial/SerialSettingsPage.java | 2 +- org.eclipse.tm.terminal.ssh/plugin.xml | 2 +- .../src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java | 2 +- .../src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 2 +- .../src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java | 2 +- .../src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java | 2 +- .../src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java | 2 +- .../org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java | 2 +- org.eclipse.tm.terminal.view/plugin.xml | 2 +- .../eclipse/tm/internal/terminal/actions/ActionMessages.java | 2 +- .../eclipse/tm/internal/terminal/actions/TerminalAction.java | 2 +- .../tm/internal/terminal/actions/TerminalActionClearAll.java | 2 +- .../tm/internal/terminal/actions/TerminalActionConnect.java | 2 +- .../tm/internal/terminal/actions/TerminalActionCopy.java | 2 +- .../eclipse/tm/internal/terminal/actions/TerminalActionCut.java | 2 +- .../tm/internal/terminal/actions/TerminalActionDisconnect.java | 2 +- .../tm/internal/terminal/actions/TerminalActionNewTerminal.java | 2 +- .../tm/internal/terminal/actions/TerminalActionPaste.java | 2 +- .../tm/internal/terminal/actions/TerminalActionSelectAll.java | 2 +- .../tm/internal/terminal/actions/TerminalActionSettings.java | 2 +- .../org/eclipse/tm/internal/terminal/view/ITerminalView.java | 2 +- .../src/org/eclipse/tm/internal/terminal/view/ImageConsts.java | 2 +- .../src/org/eclipse/tm/internal/terminal/view/PageBook.java | 2 +- .../tm/internal/terminal/view/SettingStorePrefixDecorator.java | 2 +- .../org/eclipse/tm/internal/terminal/view/SettingsStore.java | 2 +- .../tm/internal/terminal/view/TerminalPreferencePage.java | 2 +- .../eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java | 2 +- .../src/org/eclipse/tm/internal/terminal/view/TerminalView.java | 2 +- .../eclipse/tm/internal/terminal/view/TerminalViewPlugin.java | 2 +- .../src/org/eclipse/tm/internal/terminal/view/ViewMessages.java | 2 +- .../eclipse/tm/internal/terminal/control/ITerminalListener.java | 2 +- .../tm/internal/terminal/control/ITerminalViewControl.java | 2 +- .../internal/terminal/control/TerminalViewControlFactory.java | 2 +- .../internal/terminal/control/impl/ITerminalControlForText.java | 2 +- .../tm/internal/terminal/control/impl/TerminalControl.java | 2 +- .../tm/internal/terminal/control/impl/TerminalMessages.java | 2 +- .../tm/internal/terminal/control/impl/TerminalPlugin.java | 2 +- .../eclipse/tm/internal/terminal/control/impl/TerminalText.java | 2 +- 46 files changed, 46 insertions(+), 46 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index b121c5e8553..b4590bd127c 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -1,7 +1,7 @@ Date: Wed, 21 Feb 2007 22:31:10 +0000 Subject: [PATCH 103/843] [174795] dont make Terminal optional features explicit for UM --- .../feature.properties | 5 ----- org.eclipse.tm.terminal.sdk-feature/feature.xml | 12 +++--------- 2 files changed, 3 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index e4a14016bf2..86a05ae90c1 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -27,11 +27,6 @@ providerName=Eclipse.org # "updateSiteName" property - label for the update site updateSiteName=Target Management Project Updates -# names of included features -featureNameSerial=TM Terminal Serial Connector -featureNameSsh=TM Terminal Ssh Connector -featureNameView=TM Terminal View - # "copyright" property - text of the "Feature Update Copyright" copyright=\ Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index b177e74feb1..cb0f9087428 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -29,21 +29,15 @@ + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> Date: Thu, 22 Feb 2007 00:57:01 +0000 Subject: [PATCH 104/843] Bug 174953 connect fails when a previous telnet connection had failed The Msg is used as state indicator, was not cleaned on a new connection --- .../tm/internal/terminal/control/impl/TerminalControl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 17497df7f54..1af43ebf055 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -224,6 +224,8 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro if(fConnector==null) return; fConnector.connect(this); + // clean the error message + setMsg(""); //$NON-NLS-1$ waitForConnect(); } /* (non-Javadoc) From 5da49ca62340cb22fe6530168356df61291beaed Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 23 Feb 2007 10:15:34 +0000 Subject: [PATCH 105/843] [175241] Reference Milestone Update Site in all features --- org.eclipse.tm.terminal-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal-feature/feature.xml | 3 +-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.xml | 3 +-- org.eclipse.tm.terminal.serial-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.xml | 6 ++++-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.xml | 3 +-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 3 +-- .../sourceTemplateFeature/feature.properties | 4 ++-- 14 files changed, 26 insertions(+), 28 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 8e8e6c4a281..ab6eba28f5f 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal Widget # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index c0bdcb789f2..2fb55bfddfd 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -18,8 +18,7 @@ - - + diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 510af57e71b..bc2d7c3dcae 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal Widget Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 86a05ae90c1..ced75dc8c2c 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -24,8 +24,8 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index cb0f9087428..29b7367127e 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -19,8 +19,7 @@ - - + - - + + diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index dddd2ed8f76..31b3208feb9 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal Serial Connector Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=A serial line connector for the Terminal using javacomm API diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 08e38b95099..504a4030f17 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal Ssh Connector # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index afb7a43c743..86fbe13a10b 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -18,8 +18,7 @@ - - + diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 00f130d2662..e7bc59bac6c 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal Ssh Connector Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index a9915fa03a1..404a41a3e14 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal View # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 820252946ab..b797c69d03f 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -18,8 +18,7 @@ - - + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 76934101653..418db1a8ae1 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -20,8 +20,8 @@ featureName=TM Terminal View Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org -# "updateSiteName" property - label for the update site -updateSiteName=Target Management Project Updates +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. From 6858d22f8bfc8a695ea510e6fcbf97c68b50a846 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 23 Feb 2007 10:54:54 +0000 Subject: [PATCH 106/843] [175245] spell out feature neames for Europa site --- org.eclipse.tm.terminal-feature/feature.properties | 9 +++++---- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 6 +++--- .../sourceTemplatePlugin/plugin.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 +- .../feature.properties | 6 +++--- .../sourceTemplateFeature/feature.properties | 6 +++--- .../sourceTemplatePlugin/about.properties | 6 +++--- .../sourceTemplatePlugin/plugin.properties | 4 ++-- org.eclipse.tm.terminal.serial/about.properties | 6 +++--- org.eclipse.tm.terminal.serial/plugin.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.properties | 6 +++--- .../sourceTemplateFeature/feature.properties | 6 +++--- .../sourceTemplatePlugin/about.properties | 6 +++--- .../sourceTemplatePlugin/plugin.properties | 4 ++-- org.eclipse.tm.terminal.ssh/about.properties | 6 +++--- org.eclipse.tm.terminal.ssh/plugin.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.properties | 6 +++--- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 6 +++--- .../sourceTemplatePlugin/plugin.properties | 4 ++-- org.eclipse.tm.terminal.view/about.properties | 6 +++--- org.eclipse.tm.terminal.view/plugin.properties | 4 ++-- org.eclipse.tm.terminal/about.properties | 6 +++--- org.eclipse.tm.terminal/plugin.properties | 4 ++-- 25 files changed, 65 insertions(+), 64 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index ab6eba28f5f..a593ce13f59 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Widget +featureName=Target Management Terminal Widget # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -24,11 +24,12 @@ providerName=Eclipse.org tmUpdateSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal widget. +description=An ANSI (vt102) compatible Terminal widget \ +with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index bc2d7c3dcae..a4423a22b97 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Widget Source +featureName=Target Management Terminal Widget Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties index a65ba07f062..9e045627649 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Widget Source\n\ +blurb=Target Management Terminal Widget Source\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties index 9166eba4044..9d94fcbbdbc 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -pluginName=TM Terminal Widget Source +pluginName=Target Management Terminal Widget Source providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index ced75dc8c2c..04c709d863f 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal End-User and Extender SDK +featureName=Target Management Terminal # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal including \ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index 1470ea24b87..8d56947e661 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Serial Connector +featureName=Target Management Terminal Serial Connector # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -28,7 +28,7 @@ description=A serial line connector for the Terminal using javacomm API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 31b3208feb9..f38ee767e38 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Serial Connector Source +featureName=Target Management Terminal Serial Connector Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -28,7 +28,7 @@ description=A serial line connector for the Terminal using javacomm API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties index 7cae1eb009a..62112940848 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Serial Connector Source\n\ +blurb=Target Management Terminal Serial Connector Source\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties index 3674a10cd7f..a493615acf8 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -pluginName=TM Terminal Serial Connector Source +pluginName=Target Management Terminal Serial Connector Source providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.serial/about.properties b/org.eclipse.tm.terminal.serial/about.properties index 2519653edf5..a1fddf6ae7a 100644 --- a/org.eclipse.tm.terminal.serial/about.properties +++ b/org.eclipse.tm.terminal.serial/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Serial Connector\n\ +blurb=Target Management Terminal Serial Connector\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.serial/plugin.properties b/org.eclipse.tm.terminal.serial/plugin.properties index b8a0cec51ab..39efa2d66cc 100644 --- a/org.eclipse.tm.terminal.serial/plugin.properties +++ b/org.eclipse.tm.terminal.serial/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,5 +14,5 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### -pluginName = TM Terminal Serial Connector +pluginName = Target Management Terminal Serial Connector providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 504a4030f17..056196b59f1 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Ssh Connector +featureName=Target Management Terminal SSH Connector # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2006 Wind River Systems, Inc., IBM Corporation and others.\n\ +Copyright (c) 2006, 2007 Wind River Systems, Inc., IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index e7bc59bac6c..f7bbe6470b5 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Ssh Connector Source +featureName=Target Management Terminal SSH Connector Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties index 90de8907d64..4ec3e1c6a74 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Ssh Connector Source\n\ +blurb=Target Management Terminal SSH Connector Source\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties index 7e92f871759..b1770982790 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -pluginName=TM Terminal Ssh Connector Source +pluginName=Target Management Terminal SSH Connector Source providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.ssh/about.properties b/org.eclipse.tm.terminal.ssh/about.properties index b31e986a09d..4abc829ca32 100644 --- a/org.eclipse.tm.terminal.ssh/about.properties +++ b/org.eclipse.tm.terminal.ssh/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Ssh Connector\n\ +blurb=Target Management Terminal SSH Connector\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.ssh/plugin.properties b/org.eclipse.tm.terminal.ssh/plugin.properties index 71145defcfb..1fa66347851 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.properties +++ b/org.eclipse.tm.terminal.ssh/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber (Wind River) - initial API and implementation ############################################################################### -pluginName = TM Terminal Ssh Connector +pluginName = Target Management Terminal SSH Connector providerName = Eclipse.org diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index 404a41a3e14..8027108c232 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal View +featureName=Target Management Terminal View # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -28,7 +28,7 @@ description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 418db1a8ae1..95ad1627406 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal View Source +featureName=Target Management Terminal View Source # "providerName" property - name of the company that provides the feature providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties index f7ab5eff05f..d82e34f1cd4 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal View Source\n\ +blurb=Target Management Terminal View Source\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties index 8b72e48acb6..eb20000587c 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -pluginName=TM Terminal View Source +pluginName=Target Management Terminal View Source providerName=Eclipse.org diff --git a/org.eclipse.tm.terminal.view/about.properties b/org.eclipse.tm.terminal.view/about.properties index 71c1cfe2fa7..d629aca7f76 100644 --- a/org.eclipse.tm.terminal.view/about.properties +++ b/org.eclipse.tm.terminal.view/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal View\n\ +blurb=Target Management Terminal View\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index cab8c36f3f4..884d85ac213 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -1,5 +1,5 @@ ########################################################################## -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,7 +14,7 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ########################################################################## -pluginName = TM Terminal View +pluginName = Target Management Terminal View providerName = Eclipse.org terminal.views.category.name = Terminal terminal.views.view.name = Terminal diff --git a/org.eclipse.tm.terminal/about.properties b/org.eclipse.tm.terminal/about.properties index d315ef7faea..c4c6a91333f 100644 --- a/org.eclipse.tm.terminal/about.properties +++ b/org.eclipse.tm.terminal/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=TM Terminal Widget\n\ +blurb=Target Management Terminal Widget\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2006. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index 203d3ec6601..f5c474e9c62 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -14,7 +14,7 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### -pluginName = TM Terminal Widget +pluginName = Target Management Terminal Widget providerName = Eclipse.org terminal.context.name=Terminal widget context From 1c5a171cc468ddbc0ce6669f3854b1beb8e5e77c Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 27 Feb 2007 04:35:53 +0000 Subject: [PATCH 107/843] [174955] Terminal should go to "disconnected" state when typing "exit" Simplified the read loop and check for InterruptedIOException... --- .../internal/terminal/ssh/SshConnection.java | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 86edfbfdfcc..ab537ac7022 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -13,6 +13,7 @@ package org.eclipse.tm.internal.terminal.ssh; import java.io.IOException; import java.io.InputStream; +import java.io.InterruptedIOException; import java.net.MalformedURLException; import java.net.URL; import java.util.Collections; @@ -240,8 +241,12 @@ class SshConnection extends Thread { fConn.setOutputStream(channel.getOutputStream()); fConn.setChannel(channel); fControl.setState(TerminalState.CONNECTED); - // read data until the connection gets terminated - readDataForever(fConn.getInputStream()); + try { + // read data until the connection gets terminated + readDataForever(fConn.getInputStream()); + } catch (InterruptedIOException e) { + // we got interrupted: we are done... + } // when reading is done, we set the state to closed fControl.setState(TerminalState.CLOSED); } catch (JSchException e) { @@ -275,23 +280,9 @@ class SshConnection extends Thread { private void readDataForever(InputStream in) throws IOException { // read the data byte bytes[]=new byte[32*1024]; + int n; // read until the thread gets interrupted.... - while(!isInterrupted()) { - int n; - // We have to poll. There seems no better way to cancel - // the read from ssh.... - while(in.available()==0) { - try { - sleep(1); - } catch (InterruptedException e) { - // propagate the interrupt - interrupt(); - return; - } - } - // read some bytes - if((n=in.read(bytes))==-1) - return; + while( (n=in.read(bytes))!=-1) { // we assume we get ASCII UTF8 bytes fControl.writeToTerminal(new String(bytes,0,n,"UTF8")); //$NON-NLS-1$ } From 27188835d6ca9189be9dac5268651a06559d8d50 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Mar 2007 14:13:37 +0000 Subject: [PATCH 108/843] put a ':' after the title --- .../src/org/eclipse/tm/internal/terminal/view/TerminalView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 473e36e11de..4e3e0e6cbc7 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -238,7 +238,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi String strConnected = getStateDisplayName(fCtlTerminal.getState()); String status=""; //$NON-NLS-1$ status=fCtlTerminal.getStatusString(strConnected); - strTitle = ViewMessages.PROP_TITLE + status; + strTitle = ViewMessages.PROP_TITLE + ": "+ status; //$NON-NLS-1$ } setContentDescription(strTitle); From 5e341ca3f960c6ff218f59f1d2944b59b472a599 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Mar 2007 14:20:56 +0000 Subject: [PATCH 109/843] put a ':' after the titel only if the status is not empty --- .../eclipse/tm/internal/terminal/view/TerminalView.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 4e3e0e6cbc7..3136b107c13 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -236,9 +236,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // When parameter 'data' is null, we construct a descriptive string to // display in the content description line. String strConnected = getStateDisplayName(fCtlTerminal.getState()); - String status=""; //$NON-NLS-1$ - status=fCtlTerminal.getStatusString(strConnected); - strTitle = ViewMessages.PROP_TITLE + ": "+ status; //$NON-NLS-1$ + String status=fCtlTerminal.getStatusString(strConnected); + if(status.length()>0) + status=": "+status; //$NON-NLS-1$ + strTitle = ViewMessages.PROP_TITLE + status; } setContentDescription(strTitle); From f155489b091476758642463cc065ffd57007575b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 3 Apr 2007 10:51:32 +0000 Subject: [PATCH 110/843] [fix] remove non-standard net.sourceforge.metric.builder from project settings --- org.eclipse.tm.terminal.serial/.project | 1 - org.eclipse.tm.terminal.ssh/.project | 1 - org.eclipse.tm.terminal.view/.project | 1 - org.eclipse.tm.terminal/.project | 1 - 4 files changed, 4 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.project b/org.eclipse.tm.terminal.serial/.project index e16739b9d97..8c57388e903 100644 --- a/org.eclipse.tm.terminal.serial/.project +++ b/org.eclipse.tm.terminal.serial/.project @@ -29,6 +29,5 @@ org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature diff --git a/org.eclipse.tm.terminal.ssh/.project b/org.eclipse.tm.terminal.ssh/.project index 08d04394ca3..0a98c413812 100644 --- a/org.eclipse.tm.terminal.ssh/.project +++ b/org.eclipse.tm.terminal.ssh/.project @@ -29,6 +29,5 @@ org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature diff --git a/org.eclipse.tm.terminal.view/.project b/org.eclipse.tm.terminal.view/.project index 8e57f57b452..c84d21dc3ac 100644 --- a/org.eclipse.tm.terminal.view/.project +++ b/org.eclipse.tm.terminal.view/.project @@ -29,6 +29,5 @@ org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature diff --git a/org.eclipse.tm.terminal/.project b/org.eclipse.tm.terminal/.project index fa6a642ade2..4360262a65e 100644 --- a/org.eclipse.tm.terminal/.project +++ b/org.eclipse.tm.terminal/.project @@ -29,6 +29,5 @@ org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature - net.sourceforge.metrics.nature From ff451b931f99b57d2ea3fb6d88ff802b08da1c1f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 3 Apr 2007 10:57:14 +0000 Subject: [PATCH 111/843] [fix] remove non-standard net.sourceforge.metric.builder from project settings --- org.eclipse.tm.terminal.serial/.project | 5 ----- org.eclipse.tm.terminal.ssh/.project | 5 ----- org.eclipse.tm.terminal.view/.project | 5 ----- org.eclipse.tm.terminal/.project | 5 ----- 4 files changed, 20 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.project b/org.eclipse.tm.terminal.serial/.project index 8c57388e903..c5459a13ec6 100644 --- a/org.eclipse.tm.terminal.serial/.project +++ b/org.eclipse.tm.terminal.serial/.project @@ -20,11 +20,6 @@ - - net.sourceforge.metrics.builder - - - org.eclipse.pde.PluginNature diff --git a/org.eclipse.tm.terminal.ssh/.project b/org.eclipse.tm.terminal.ssh/.project index 0a98c413812..7ba4652e877 100644 --- a/org.eclipse.tm.terminal.ssh/.project +++ b/org.eclipse.tm.terminal.ssh/.project @@ -20,11 +20,6 @@ - - net.sourceforge.metrics.builder - - - org.eclipse.pde.PluginNature diff --git a/org.eclipse.tm.terminal.view/.project b/org.eclipse.tm.terminal.view/.project index c84d21dc3ac..7daef6e58df 100644 --- a/org.eclipse.tm.terminal.view/.project +++ b/org.eclipse.tm.terminal.view/.project @@ -20,11 +20,6 @@ - - net.sourceforge.metrics.builder - - - org.eclipse.pde.PluginNature diff --git a/org.eclipse.tm.terminal/.project b/org.eclipse.tm.terminal/.project index 4360262a65e..621a3a690cf 100644 --- a/org.eclipse.tm.terminal/.project +++ b/org.eclipse.tm.terminal/.project @@ -20,11 +20,6 @@ - - net.sourceforge.metrics.builder - - - org.eclipse.pde.PluginNature From 250aba76cbd95dc5d8e15ca688b7057d52963500 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 5 Apr 2007 15:14:15 +0000 Subject: [PATCH 112/843] [175686] Get rid of Platform CVS Dependency: Configure SSH through new IJschService and Prefs --- .../feature.xml | 11 +- .../META-INF/MANIFEST.MF | 6 +- .../tm/internal/terminal/ssh/Activator.java | 94 +++++++++ .../internal/terminal/ssh/ISshConstants.java | 18 +- .../internal/terminal/ssh/SshConnection.java | 195 +++--------------- 5 files changed, 133 insertions(+), 191 deletions(-) create mode 100644 org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 86fbe13a10b..3040d1ba5ae 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -2,8 +2,8 @@ + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -25,11 +25,8 @@ - + + + //--------------------------------------------------------------------------- + + public void start(BundleContext context) throws Exception { + super.start(context); + tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null); + tracker.open(); + } + + public void stop(BundleContext context) throws Exception { + try { + SshConnection.shutdown(); + tracker.close(); + } finally { + plugin = null; + super.stop(context); + } + } + + /** + * Returns an instance of IJSchService from the OSGi Registry. + * @return An instance of IJSchService, or null if no + * IJschService service is available. + */ + public IJSchService getJSchService() { + return (IJSchService)tracker.getService(); + } + + //--------------------------------------------------------------------------- + // + //--------------------------------------------------------------------------- + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given + * plug-in relative path. + * + * @param path the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path); + } + +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java index 2ac687d6404..0638da25c9c 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java @@ -8,6 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - extracted from various team.cvs plugins + * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -17,23 +18,6 @@ package org.eclipse.tm.internal.terminal.ssh; */ public interface ISshConstants { - // These are from ISSHContants - public static final String KEY_SSH2HOME="CVSSSH2PreferencePage.SSH2HOME"; //$NON-NLS-1$ - public static final String KEY_PRIVATEKEY="CVSSSH2PreferencePage.PRIVATEKEY"; //$NON-NLS-1$ - - // These are from ICVSUIConstants - public static final String PREF_USE_PROXY = "proxyEnabled"; //$NON-NLS-1$ - public static final String PREF_PROXY_TYPE = "proxyType"; //$NON-NLS-1$ - public static final String PREF_PROXY_HOST = "proxyHost"; //$NON-NLS-1$ - public static final String PREF_PROXY_PORT = "proxyPort"; //$NON-NLS-1$ - public static final String PREF_PROXY_AUTH = "proxyAuth"; //$NON-NLS-1$ - - // These are from CVSProviderPlugin - public static final String PROXY_TYPE_HTTP = "HTTP"; //$NON-NLS-1$ - public static final String PROXY_TYPE_SOCKS5 = "SOCKS5"; //$NON-NLS-1$ - public static final String HTTP_DEFAULT_PORT="80"; //$NON-NLS-1$ - public static final String SOCKS5_DEFAULT_PORT="1080"; //$NON-NLS-1$ - // These are from cvs.ui.IHelpContextIds public static final String CVSUIPREFIX = "org.eclipse.team.cvs.ui."; //$NON-NLS-1$ public static final String HELP_USER_VALIDATION_DIALOG = CVSUIPREFIX + "user_validation_dialog_context"; //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index ab537ac7022..968007d39c3 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -8,36 +8,29 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API + * - copied code from org.eclipse.team.cvs.ssh2/JSchSession (Copyright IBM) *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; import java.io.IOException; import java.io.InputStream; import java.io.InterruptedIOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.util.Collections; -import java.util.Map; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.window.Window; +import org.eclipse.jsch.core.IJSchService; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.terminal.ITerminalControl; import org.eclipse.tm.terminal.Logger; import org.eclipse.tm.terminal.TerminalState; -import org.eclipse.ui.preferences.ScopedPreferenceStore; import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelShell; -import com.jcraft.jsch.JSch; import com.jcraft.jsch.JSchException; -import com.jcraft.jsch.Proxy; -import com.jcraft.jsch.ProxyHTTP; -import com.jcraft.jsch.ProxySOCKS5; import com.jcraft.jsch.Session; import com.jcraft.jsch.UserInfo; @@ -54,151 +47,28 @@ class SshConnection extends Thread { } //---------------------------------------------------------------------- - // + // //---------------------------------------------------------------------- - private static String current_ssh_home = null; - private static String current_pkeys = ""; //$NON-NLS-1$ - static String SSH_HOME_DEFAULT = null; - static { - String ssh_dir_name = ".ssh"; //$NON-NLS-1$ - - // Windows doesn't like files or directories starting with a dot. - if (Platform.getOS().equals(Platform.OS_WIN32)) { - ssh_dir_name = "ssh"; //$NON-NLS-1$ - } - SSH_HOME_DEFAULT = System.getProperty("user.home"); //$NON-NLS-1$ - if (SSH_HOME_DEFAULT != null) { - SSH_HOME_DEFAULT = SSH_HOME_DEFAULT + java.io.File.separator + ssh_dir_name; - } - } - private static IPreferenceStore fCvsSsh2PreferenceStore; - static IPreferenceStore getCvsSsh2PreferenceStore() { - if (fCvsSsh2PreferenceStore == null) { - fCvsSsh2PreferenceStore = new ScopedPreferenceStore(new InstanceScope(),"org.eclipse.team.cvs.ssh2"); //$NON-NLS-1$ - } - return fCvsSsh2PreferenceStore; + private static Session createSession(String username, String password, String hostname, int port, UserInfo wrapperUI, IProgressMonitor monitor) throws JSchException { + IJSchService service = Activator.getDefault().getJSchService(); + if (service == null) + return null; + Session session = service.createSession(hostname, port, username); + //session.setTimeout(getSshTimeoutInMillis()); + session.setTimeout(0); //never time out on the session + if (password != null) + session.setPassword(password); + session.setUserInfo(wrapperUI); + return session; } - private static IPreferenceStore fCvsUIPreferenceStore; - static IPreferenceStore getCvsUIPreferenceStore() { - if (fCvsUIPreferenceStore == null) { - fCvsUIPreferenceStore = new ScopedPreferenceStore(new InstanceScope(),"org.eclipse.team.cvs.ui"); //$NON-NLS-1$ - } - return fCvsUIPreferenceStore; - } - - // Load ssh prefs from Team/CVS for now. - // TODO do our own preference page. - static void loadSshPrefs(JSch jsch) - { - IPreferenceStore store = getCvsSsh2PreferenceStore(); - String ssh_home = store.getString(ISshConstants.KEY_SSH2HOME); - String pkeys = store.getString(ISshConstants.KEY_PRIVATEKEY); - - try { - if (ssh_home.length() == 0) - ssh_home = SSH_HOME_DEFAULT; - - if (current_ssh_home == null || !current_ssh_home.equals(ssh_home)) { - loadKnownHosts(jsch, ssh_home); - current_ssh_home = ssh_home; - current_pkeys = ""; //$NON-NLS-1$ - } - - if (!current_pkeys.equals(pkeys)) { - java.io.File file; - String[] pkey = pkeys.split(","); //$NON-NLS-1$ - String[] _pkey = current_pkeys.split(","); //$NON-NLS-1$ - current_pkeys = ""; //$NON-NLS-1$ - for (int i = 0; i < pkey.length; i++) { - file = new java.io.File(pkey[i]); - if (!file.isAbsolute()) { - file = new java.io.File(ssh_home, pkey[i]); - } - if (file.exists()) { - boolean notyet = true; - for (int j = 0; j < _pkey.length; j++) { - if (pkey[i].equals(_pkey[j])) { - notyet = false; - break; - } - } - if (notyet) - jsch.addIdentity(file.getPath()); - if (current_pkeys.length() == 0) { - current_pkeys = pkey[i]; - } else { - current_pkeys += ("," + pkey[i]); //$NON-NLS-1$ - } - } - } - } - } catch (Exception e) { - } - + static void shutdown() { + //TODO: Store all Jsch sessions in a pool and disconnect them on shutdown } - static void loadKnownHosts(JSch jsch, String ssh_home){ - try { - java.io.File file; - file=new java.io.File(ssh_home, "known_hosts"); //$NON-NLS-1$ - jsch.setKnownHosts(file.getPath()); - } catch (Exception e) { - } - } - - private static final String INFO_PROXY_USER = "org.eclipse.team.cvs.core.proxy.user"; //$NON-NLS-1$ - private static final String INFO_PROXY_PASS = "org.eclipse.team.cvs.core.proxy.pass"; //$NON-NLS-1$ - - static Proxy loadSshProxyPrefs() { - //TODO Use official Platform prefs when bug 154100 is fixed - IPreferenceStore store = getCvsUIPreferenceStore(); - boolean useProxy = store.getBoolean(ISshConstants.PREF_USE_PROXY); - Proxy proxy = null; - if (useProxy) { - String _type = store.getString(ISshConstants.PREF_PROXY_TYPE); - String _host = store.getString(ISshConstants.PREF_PROXY_HOST); - String _port = store.getString(ISshConstants.PREF_PROXY_PORT); - - boolean useAuth = store.getBoolean(ISshConstants.PREF_PROXY_AUTH); - String _user = ""; //$NON-NLS-1$ - String _pass = ""; //$NON-NLS-1$ - - // Retrieve username and password from keyring. - if(useAuth){ - Map authInfo = null; - try { - URL FAKE_URL = new URL("http://org.eclipse.team.cvs.proxy.auth");//$NON-NLS-1$ - authInfo = Platform.getAuthorizationInfo(FAKE_URL, "proxy", ""); //$NON-NLS-1$ //$NON-NLS-2$ - } catch(MalformedURLException e) { - //should never happen - } - if (authInfo==null) authInfo=Collections.EMPTY_MAP; - _user=(String)authInfo.get(INFO_PROXY_USER); - _pass=(String)authInfo.get(INFO_PROXY_PASS); - if (_user==null) _user=""; //$NON-NLS-1$ - if (_pass==null) _pass=""; //$NON-NLS-1$ - } - - String proxyhost = _host + ":" + _port; //$NON-NLS-1$ - if (_type.equals(ISshConstants.PROXY_TYPE_HTTP)) { - proxy = new ProxyHTTP(proxyhost); - if (useAuth) { - ((ProxyHTTP) proxy).setUserPasswd(_user, _pass); - } - } else if (_type.equals(ISshConstants.PROXY_TYPE_SOCKS5)) { - proxy = new ProxySOCKS5(proxyhost); - if (useAuth) { - ((ProxySOCKS5) proxy).setUserPasswd(_user, _pass); - } - } - } - return proxy; - } - //---------------------------------------------------------------------- - // + // //---------------------------------------------------------------------- public void run() { @@ -209,15 +79,6 @@ class SshConnection extends Thread { String password = fConn.getTelnetSettings().getPassword(); int port=fConn.getTelnetSettings().getPort(); - loadSshPrefs(fConn.getJsch()); - Proxy proxy = loadSshProxyPrefs(); - Session session=fConn.getJsch().getSession(user, host, port); - if (proxy != null) { - session.setProxy(proxy); - } - session.setTimeout(0); //never time out once connected - - session.setPassword(password); ////Giving a connectionId could be the index into a local ////Store where passwords are stored //String connectionId = host; @@ -226,13 +87,14 @@ class SshConnection extends Thread { //} //UserInfo ui=new MyUserInfo(connectionId, user, password); UserInfo ui=new MyUserInfo(null, user, password); - session.setUserInfo(ui); -// java.util.Hashtable config=new java.util.Hashtable(); -// config.put("StrictHostKeyChecking", "no"); -// session.setConfig(config); + Session session = createSession(user, password, host, port, + ui, new NullProgressMonitor()); - //session.connect(); + //java.util.Hashtable config=new java.util.Hashtable(); + //config.put("StrictHostKeyChecking", "no"); + //session.setConfig(config); + //ui.aboutToConnect(); session.connect(nTimeout); // making connection with timeout. ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ @@ -250,7 +112,10 @@ class SshConnection extends Thread { // when reading is done, we set the state to closed fControl.setState(TerminalState.CLOSED); } catch (JSchException e) { - connectFailed(e.getMessage(),e.getMessage()); + if(e.toString().indexOf("Auth cancel")<0) { //$NON-NLS-1$ + //no error if user pressed cancel + connectFailed(e.getMessage(),e.getMessage()); + } } catch (IOException e) { connectFailed(e.getMessage(),e.getMessage()); } finally { From d413ab67326cd04a18e1eba6acce22c23731868f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 6 Apr 2007 12:09:48 +0000 Subject: [PATCH 113/843] [175341][nls] Add NLS strings for both tmMilestoneUpdateSite and tmUpdateSite --- org.eclipse.tm.terminal-feature/feature.properties | 4 +++- org.eclipse.tm.terminal-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 +++- org.eclipse.tm.terminal.sdk-feature/feature.properties | 4 +++- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial-feature/feature.properties | 4 +++- org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 +++- org.eclipse.tm.terminal.ssh-feature/feature.properties | 4 +++- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 +++- org.eclipse.tm.terminal.view-feature/feature.properties | 4 +++- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 +++- 14 files changed, 33 insertions(+), 15 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index a593ce13f59..11fc374b684 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal Widget providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 2fb55bfddfd..da9a4eff14e 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -18,7 +18,7 @@ - + diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index a4423a22b97..73d15391431 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal Widget Source providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 04c709d863f..392ff35554f 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -25,7 +25,9 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 29b7367127e..5731528ddf5 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -19,7 +19,7 @@ - + - + diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index f38ee767e38..0c1ce3a27b1 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal Serial Connector Source providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=A serial line connector for the Terminal using javacomm API diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 056196b59f1..08e59dfce27 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal SSH Connector providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 3040d1ba5ae..69a825c8458 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -18,7 +18,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index f7bbe6470b5..79587f54824 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal SSH Connector Source providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index 8027108c232..ae6af030f58 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal View providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index b797c69d03f..16726811cf2 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -18,7 +18,7 @@ - + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 95ad1627406..b22eac61ab9 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,9 @@ featureName=Target Management Terminal View Source providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 2.0 Milestone Updates +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. From 1eb0ab68c29e32895fc2c1b06db682e1485fa00b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 10 Apr 2007 22:31:08 +0000 Subject: [PATCH 114/843] [174313] Terminal View leaves empty, unscrolled space in the Terminal Widget --- .../tm/internal/terminal/control/impl/TerminalText.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java index c203964af67..096ab67d9eb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java @@ -1799,7 +1799,6 @@ public class TerminalText implements Runnable, ControlListener { Point textLocation = text.getLocation(); textLocation.y += verticalPixelsToShrink; - textLocation.x += horizontalPixelsToShrink; text.setLocation(textLocation); // Restore this class instance as the ControlListener on the StyledText @@ -1807,13 +1806,6 @@ public class TerminalText implements Runnable, ControlListener { text.addControlListener(this); - // Make sure the exposed portion of the Composite canvas behind the - // StyledText control matches the background color of the StyledText - // control. - - Color textBackground = text.getBackground(); - text.getParent().setBackground(textBackground); - // Scroll the StyledText widget to the bottommost position. text.setSelectionRange(text.getCharCount(), 0); From a111cc1ad1f3e30aaabae51284f4aee8356c72e1 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 11 Apr 2007 01:37:32 +0000 Subject: [PATCH 115/843] use SWT beep instead of AWT! --- .../tm/internal/terminal/control/impl/TerminalText.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java index 096ab67d9eb..15c09ab65bd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java @@ -1635,10 +1635,7 @@ public class TerminalText implements Runnable, ControlListener { * Process a BEL (Control-G) character. */ protected void processBEL() { - // ISSUE: Is there a better way to make a sound? This is not guaranteed to - // work on all platforms. - // TODO - java.awt.Toolkit.getDefaultToolkit().beep(); + Display.getCurrent().beep(); } /** From 449168ccb916413c1fa31bad7c4cb8d4361c6896 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 11 Apr 2007 16:31:57 +0000 Subject: [PATCH 116/843] [173730] [terminal] Provide an optional input line editing field for dumb remote systems - created an interface ICommandInputField with 3 methods: createControl,dispose and setFont. - concrete class CommandInputFieldWithHistory creates a Text widget and keeps a history - ITerminalViewControl has [sg]etCommandInputField. If null no input field is shown. - TerminalView got new action TooggleCommandInputField - TerminalView uses concrete class CommandInputFieldWithHistory and saves history in memento. The idea is that all handling and widget creating is done in ICommandInputField. New fancy implementations with incremental search, history pop-up, history manager etc just have to implement ICommandInputField. Or enhance CommandInputFieldWithHistory... --- .../icons/clcl16/command_input_field.gif | Bin 0 -> 385 bytes .../icons/dlcl16/command_input_field.gif | Bin 0 -> 239 bytes .../icons/elcl16/command_input_field.gif | Bin 0 -> 239 bytes .../terminal/actions/ActionMessages.java | 1 + .../actions/ActionMessages.properties | 1 + .../terminal/actions/TerminalAction.java | 5 +- ...TerminalActionToggleCommandInputField.java | 36 ++++ .../internal/terminal/view/ITerminalView.java | 2 + .../internal/terminal/view/ImageConsts.java | 3 + .../internal/terminal/view/TerminalView.java | 49 +++++- .../terminal/view/TerminalViewPlugin.java | 3 + .../control/CommandInputFieldWithHistory.java | 164 ++++++++++++++++++ .../terminal/control/ICommandInputField.java | 35 ++++ .../control/ITerminalViewControl.java | 19 +- .../control/impl/TerminalControl.java | 66 +++++-- 15 files changed, 361 insertions(+), 23 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e3a547c145798fa08fb692df015a793213fbd1a GIT binary patch literal 385 zcmV-{0e=2RNk%w1VGsZi0M!5h^!EGh@%r)f`-qjU_W1ny`uv8PzKoy3y2szCv&G-& z_`%54;_CS2?D^^M`je){nykyBv(Mk?_vY>SZY`|a}j_4xfuZlYv_wT+pp z;p+I}>-gd7_vr8W@%8)n`TXDM_u=dKh|$WarlE(qt$M7agU7XT#Itn2uy(Vk zfB*mgA^8LW002J#EC2ui01yBW000J_z+Xm#&}4qdq%wJ2I+@R~k4bKxePc$9H1`IS$H3||U5)uj`H9-J7aY@tZ literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java index 54ca7af2acb..11c91e393fd 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -24,6 +24,7 @@ public class ActionMessages extends NLS { } public static String NEW_TERMINAL; public static String CONNECT; + public static String TOGGLE_COMMAND_INPUT_FIELD; public static String DISCONNECT; public static String SETTINGS_ELLIPSE; public static String COPY; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index b475440f688..62cc371b0cf 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -24,3 +24,4 @@ PASTE = Paste SELECTALL = Select All CLEARALL = Clear All SETTINGS = Settings +TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java index 33102f3885d..13b896fdb5f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java @@ -25,7 +25,10 @@ import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; abstract public class TerminalAction extends Action { protected final ITerminalView fTarget; public TerminalAction(ITerminalView target, String strId) { - super(""); //$NON-NLS-1$ + this(target,strId,0); + } + public TerminalAction(ITerminalView target, String strId, int style) { + super("",style); //$NON-NLS-1$ fTarget = target; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java new file mode 100644 index 00000000000..17a29b17d7e --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionToggleCommandInputField extends TerminalAction +{ + public TerminalActionToggleCommandInputField(ITerminalView target) + { + super(target, + TerminalActionToggleCommandInputField.class.getName(),IAction.AS_RADIO_BUTTON); + + setupAction(ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, + ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, + true); + setChecked(fTarget.hasCommandInputField()); + } + public void run() { + fTarget.setCommandInputField(!fTarget.hasCommandInputField()); + setChecked(fTarget.hasCommandInputField()); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index ce3809d4f83..65abe655307 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -26,4 +26,6 @@ public interface ITerminalView { public void onEditPaste(); public void onEditClearAll(); public void onEditSelectAll(); + public boolean hasCommandInputField(); + public void setCommandInputField(boolean on); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java index c126ee80bc7..d09d6916bee 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -41,4 +41,7 @@ public interface ImageConsts public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ + public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ + public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 3136b107c13..31482cdb438 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -44,6 +44,8 @@ import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; import org.eclipse.tm.internal.terminal.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; +import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; +import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; @@ -63,7 +65,13 @@ import org.eclipse.ui.actions.RetargetAction; import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { - public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ + + private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ + + private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ + + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ protected ITerminalViewControl fCtlTerminal; @@ -85,6 +93,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected TerminalAction fActionEditSelectAll; + protected TerminalAction fActionToggleCommandInputField; + protected TerminalMenuHandlerEdit fMenuHandlerEdit; protected TerminalPropertyChangeHandler fPropertyChangeHandler; @@ -93,6 +103,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private SettingsStore fStore; + private CommandInputFieldWithHistory fCommandInputField; + public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ @@ -265,11 +277,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalFontChanged() { - fCtlTerminal.getCtlText().setFont(JFaceResources.getFont(FONT_DEFINITION)); - - // Tell the TerminalControl singleton that the font has changed. - - fCtlTerminal.onFontChanged(); + fCtlTerminal.setFont(JFaceResources.getFont(FONT_DEFINITION)); } public void onEditCopy() { @@ -379,20 +387,22 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected void setupControls(Composite wndParent) { ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); - String connectionType=fStore.get("ConnectionType"); //$NON-NLS-1$ + String connectionType=fStore.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(connectors[i])); if(connectors[i].getId().equals(connectionType)) fCtlTerminal.setConnector(connectors[i]); } + setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ } + private void saveSettings(ITerminalConnector connector) { ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { connectors[i].save(getStore(connectors[i])); } if(connector!=null) { - fStore.put("ConnectionType",connector.getId()); //$NON-NLS-1$ + fStore.put(STORE_CONNECTION_TYPE,connector.getId()); } } @@ -403,6 +413,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi public void saveState(IMemento memento) { super.saveState(memento); + if(fCommandInputField!=null) + fStore.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + fStore.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ fStore.saveState(memento); } private ISettingsStore getStore(ITerminalConnector connector) { @@ -419,6 +432,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fActionEditPaste = new TerminalActionPaste(this); fActionEditClearAll = new TerminalActionClearAll(this); fActionEditSelectAll = new TerminalActionSelectAll(this); + fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); IActionBars actionBars = getViewSite().getActionBars(); actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), fActionEditCopy); @@ -456,6 +470,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi toolBarMgr.add(fActionTerminalConnect); toolBarMgr.add(fActionTerminalDisconnect); toolBarMgr.add(fActionTerminalSettings); + toolBarMgr.add(fActionToggleCommandInputField); } protected void setupContextMenus() { @@ -481,6 +496,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi menuMgr.add(new Separator()); menuMgr.add(fActionEditClearAll); menuMgr.add(fActionEditSelectAll); + menuMgr.add(fActionToggleCommandInputField); // Other plug-ins can contribute there actions here menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ @@ -625,4 +641,21 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } } } + + public boolean hasCommandInputField() { + return fCommandInputField!=null; + } + public void setCommandInputField(boolean on) { + // save the old history + if(fCommandInputField!=null) { + fStore.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + fCommandInputField=null; + } + if(on) { + // TODO make history size configurable + fCommandInputField=new CommandInputFieldWithHistory(100); + fCommandInputField.setHistory(fStore.get(STORE_COMMAND_INPUT_FIELD_HISTORY)); + } + fCtlTerminal.setCommandInputField(fCommandInputField); + } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 824dc64a330..80b9185c8ba 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -49,6 +49,7 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); @@ -59,6 +60,7 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); @@ -69,6 +71,7 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java new file mode 100644 index 00000000000..217746e533c --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -0,0 +1,164 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Text; + + +/** + * Manages the Command History for the command line input + * of the terminal control. + * + */ +public class CommandInputFieldWithHistory implements ICommandInputField { + final List fHistory=new ArrayList(); + private int fHistoryPos=0; + private final int fMaxSize; + private boolean fInHistory=false; + private Text fInputField; + public CommandInputFieldWithHistory(int maxHistorySize) { + fMaxSize=maxHistorySize; + } + /** + * Add a line to the history. + * @param line + */ + protected void pushLine(String line) { + // if we used the history. therefore we added the current as 0th item + if(fInHistory) + fHistory.remove(0); + fInHistory=false; + fHistoryPos=0; + // anything to remember? + if(line==null || line.trim().length()==0) + return; + fHistory.add(0,line); + // ignore if the same as last + if(fHistory.size()>1 && line.equals(fHistory.get(1))) + fHistory.remove(0); + // limit the history size. + if(fHistory.size()>=fMaxSize) + fHistory.remove(fHistory.size()-1); + } + /** + * Sets the history + * @param history or null + */ + public void setHistory(String history) { + fHistory.clear(); + if(history==null) + return; + fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ + } + /** + * @return the current content of the history buffer and new line separated list + */ + public String getHistory() { + StringBuffer buff=new StringBuffer(); + boolean sep=false; + for (Iterator iterator = fHistory.iterator(); iterator.hasNext();) { + String line=(String) iterator.next(); + if(line.length()>0) { + if(sep) + buff.append("\n"); //$NON-NLS-1$ + else + sep=true; + buff.append(line); + } + } + return buff.toString(); + } + /** + * @param currLine + * @param count (+1 or -1) for forward and backward movement. -1 goes back + * @return the new string to be displayed in the command line or null, + * if the limit is reached. + */ + public String move(String currLine, int count) { + if(!fInHistory) { + fInHistory=true; + fHistory.add(0,currLine); + } else { + fHistory.set(fHistoryPos,currLine); + } + if(fHistoryPos+count>=fHistory.size()) + return null; + if(fHistoryPos+count<0) + return null; + fHistoryPos+=count; + return (String) fHistory.get(fHistoryPos); + } + + /** + * Exit the history movements and go to position 0; + * @return the string to be shown in the command line + */ + protected String escape() { + if(!fInHistory) + return null; + fHistoryPos=0; + return (String) fHistory.get(fHistoryPos); + } + public void createControl(Composite parent,final ITerminalViewControl terminal) { + fInputField=new Text(parent, SWT.SINGLE|SWT.BORDER); + fInputField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + fInputField.setFont(terminal.getCtlText().getFont()); + fInputField.addKeyListener(new KeyListener(){ + public void keyPressed(KeyEvent e) { + if(e.keyCode=='\n' || e.keyCode=='\r') { + e.doit=false; + String line=fInputField.getText(); + if(!terminal.pasteString(line+"\n")) //$NON-NLS-1$ + return; + pushLine(line); + setCommand("");//$NON-NLS-1$ + } else if(e.keyCode==SWT.ARROW_UP || e.keyCode==SWT.PAGE_UP) { + e.doit=false; + setCommand(move(fInputField.getText(),1)); + } else if(e.keyCode==SWT.ARROW_DOWN || e.keyCode==SWT.PAGE_DOWN) { + e.doit=false; + setCommand(move(fInputField.getText(),-1)); + } else if(e.keyCode==SWT.ESC) { + e.doit=false; + setCommand(escape()); + } + } + private void setCommand(String line) { + if(line==null) + return; + fInputField.setText(line); + fInputField.setSelection(fInputField.getCharCount()); + } + public void keyReleased(KeyEvent e) { + } + }); + } + public void setFont(Font font) { + fInputField.setFont(font); + fInputField.getParent().layout(true); + } + public void dispose() { + fInputField.dispose(); + fInputField=null; + + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java new file mode 100644 index 00000000000..4938a9f4f45 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control; + +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Composite; + +/** + * Interface to create a command input control. + * + */ +public interface ICommandInputField { + /** + * @param parent + * @param terminal + */ + void createControl(Composite parent, ITerminalViewControl terminal); + + void dispose(); + /** + * Sets the font of a control created with {@link #createControl(Composite, ITerminalViewControl)} + * @param control + * @param font the new text font + */ + void setFont(Font font); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index d4d1fa23013..4fb3fd44dda 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -13,6 +13,7 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.graphics.Font; import org.eclipse.tm.terminal.ITerminalConnector; import org.eclipse.tm.terminal.TerminalState; @@ -22,7 +23,7 @@ import org.eclipse.tm.terminal.TerminalState; */ public interface ITerminalViewControl { boolean isEmpty(); - void onFontChanged(); + void setFont(Font font); StyledText getCtlText(); boolean isDisposed(); void selectAll(); @@ -40,7 +41,23 @@ public interface ITerminalViewControl { ITerminalConnector getTerminalConnection(); void setConnector(ITerminalConnector connector); void connectTerminal(); + /** + * @param write a single character to terminal + */ void sendKey(char arg0); + /** + * @param string write string to terminal + */ + public boolean pasteString(String string); + boolean isConnected(); + /** + * @param inputField null means no input field is shown + */ + void setCommandInputField(ICommandInputField inputField); + /** + * @return null or the current input field + */ + ICommandInputField getCommandInputField(); } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 1af43ebf055..45d91169301 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -35,11 +35,15 @@ import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.events.VerifyEvent; +import org.eclipse.swt.graphics.Font; +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.swt.widgets.Display; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.terminal.ITerminalConnector; @@ -85,16 +89,16 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; + private ICommandInputField fCommandInputField; + private volatile TerminalState fState; public TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { fConnectors=connectors; fTerminalListener=target; - fWndParent = wndParent; - setTerminalText(new TerminalText(this)); - setupTerminal(); + setupTerminal(wndParent); } public ITerminalConnector[] getConnectors() { @@ -114,11 +118,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public void paste() { TextTransfer textTransfer = TextTransfer.getInstance(); String strText = (String) fClipboard.getContents(textTransfer); - if (strText == null) - return; - for (int i = 0; i < strText.length(); i++) { - sendChar(strText.charAt(i), false); - } + pasteString(strText); // TODO paste in another thread.... to avoid blocking // new Thread() { // public void run() { @@ -130,6 +130,20 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // }.start(); } + /** + * @param strText + */ + public boolean pasteString(String strText) { + if(!isConnected()) + return false; + if (strText == null) + return false; + for (int i = 0; i < strText.length(); i++) { + sendChar(strText.charAt(i), false); + } + return true; + } + /* (non-Javadoc) * @see org.eclipse.tm.terminal.ITerminalControl#selectAll() */ @@ -358,9 +372,9 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro /* (non-Javadoc) * @see org.eclipse.tm.terminal.ITerminalControl#setupTerminal() */ - public void setupTerminal() { + public void setupTerminal(Composite parent) { fState=TerminalState.CLOSED; - setupControls(); + setupControls(parent); setupListeners(); setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); } @@ -368,11 +382,18 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro /* (non-Javadoc) * @see org.eclipse.tm.terminal.ITerminalControl#onFontChanged() */ - public void onFontChanged() { + public void setFont(Font font) { + getCtlText().setFont(font); + if(fCommandInputField!=null) { + fCommandInputField.setFont(font); + } + + // Tell the TerminalControl singleton that the font has changed. + getTerminalText().fontChanged(); } - protected void setupControls() { + protected void setupControls(Composite parent) { // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it // can't have a horizontal scroll bar (but a vertical one is ok). Also, do // _not_ make the TextViewer read-only, because that prevents it from seeing a @@ -380,8 +401,15 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // switch to another Workbench control). We prevent local keyboard input from // modifying the text in method TerminalVerifyKeyListener.verifyKey(). -// fViewer = new TextViewer(fWndParent, SWT.V_SCROLL); + fWndParent=new Composite(parent,SWT.NONE); + GridLayout layout=new GridLayout(); + layout.marginWidth=0; + layout.marginHeight=0; + + fWndParent.setLayout(layout); setCtlText(new StyledText(fWndParent, SWT.V_SCROLL)); + fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); @@ -791,4 +819,16 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro fConnector=connector; } + public ICommandInputField getCommandInputField() { + return fCommandInputField; + } + + public void setCommandInputField(ICommandInputField inputField) { + if(fCommandInputField!=null) + fCommandInputField.dispose(); + fCommandInputField=inputField; + if(fCommandInputField!=null) + fCommandInputField.createControl(fWndParent, this); + fWndParent.layout(true); + } } From 99e3f6d3f9b217bf38c4bdde178bc1be7d3b466f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 11 Apr 2007 16:38:30 +0000 Subject: [PATCH 117/843] [181868] Terminal does not use the font set in the preference after restart of eclipse --- .../src/org/eclipse/tm/internal/terminal/view/TerminalView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 31482cdb438..25d88d6b9b5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -355,6 +355,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setupListeners(wndParent); onTerminalStatus(); + onTerminalFontChanged(); } public void dispose() { From 7f2787c217a648e5f9bfc8a4d6806212a836fb9a Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 11 Apr 2007 17:11:10 +0000 Subject: [PATCH 118/843] History behaves now like bash: editing entries in history are not persistent --- .../control/CommandInputFieldWithHistory.java | 65 +++++++++++++------ 1 file changed, 46 insertions(+), 19 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 217746e533c..b43b385d27a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -27,13 +27,31 @@ import org.eclipse.swt.widgets.Text; /** * Manages the Command History for the command line input * of the terminal control. + *

  • + *
      Navigate with ARROW_UP,ARROW_DOWN,PAGE_UP,PAGE_DOWN + *
        ESC to cancel history editing + *
          History can be edited (by moving up and edit) but changes are + * not persistent (like in bash). + * * */ public class CommandInputFieldWithHistory implements ICommandInputField { final List fHistory=new ArrayList(); - private int fHistoryPos=0; + /** + * Keeps a modifiable history while in history editing mode + */ + List fEditedHistory; + /** + * The current position in the edit history + */ + private int fEditHistoryPos=0; + /** + * The limit of the history. + */ private final int fMaxSize; - private boolean fInHistory=false; + /** + * The input text field. + */ private Text fInputField; public CommandInputFieldWithHistory(int maxHistorySize) { fMaxSize=maxHistorySize; @@ -43,11 +61,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { * @param line */ protected void pushLine(String line) { - // if we used the history. therefore we added the current as 0th item - if(fInHistory) - fHistory.remove(0); - fInHistory=false; - fHistoryPos=0; + endHistoryMode(); // anything to remember? if(line==null || line.trim().length()==0) return; @@ -64,6 +78,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { * @param history or null */ public void setHistory(String history) { + endHistoryMode(); fHistory.clear(); if(history==null) return; @@ -94,18 +109,22 @@ public class CommandInputFieldWithHistory implements ICommandInputField { * if the limit is reached. */ public String move(String currLine, int count) { - if(!fInHistory) { - fInHistory=true; - fHistory.add(0,currLine); - } else { - fHistory.set(fHistoryPos,currLine); + if(!inHistoryMode()) { + fEditedHistory=new ArrayList(fHistory.size()+1); + fEditedHistory.add(currLine); + fEditedHistory.addAll(fHistory); + fEditHistoryPos=0; } - if(fHistoryPos+count>=fHistory.size()) + fEditedHistory.set(fEditHistoryPos,currLine); + if(fEditHistoryPos+count>=fEditedHistory.size()) return null; - if(fHistoryPos+count<0) + if(fEditHistoryPos+count<0) return null; - fHistoryPos+=count; - return (String) fHistory.get(fHistoryPos); + fEditHistoryPos+=count; + return (String) fEditedHistory.get(fEditHistoryPos); + } + private boolean inHistoryMode() { + return fEditedHistory!=null; } /** @@ -113,10 +132,18 @@ public class CommandInputFieldWithHistory implements ICommandInputField { * @return the string to be shown in the command line */ protected String escape() { - if(!fInHistory) + if(!inHistoryMode()) return null; - fHistoryPos=0; - return (String) fHistory.get(fHistoryPos); + String line= (String) fEditedHistory.get(0); + endHistoryMode(); + return line; + } + /** + * End history editing + */ + private void endHistoryMode() { + fEditedHistory=null; + fEditHistoryPos=0; } public void createControl(Composite parent,final ITerminalViewControl terminal) { fInputField=new Text(parent, SWT.SINGLE|SWT.BORDER); From 0fefd0574acbac66dc10927c860a1e5819ccb5ae Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 11 Apr 2007 17:14:12 +0000 Subject: [PATCH 119/843] comment updated --- .../internal/terminal/control/CommandInputFieldWithHistory.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index b43b385d27a..f117fc5cd2b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -32,6 +32,8 @@ import org.eclipse.swt.widgets.Text; *
            ESC to cancel history editing *
              History can be edited (by moving up and edit) but changes are * not persistent (like in bash). + *
                If the same command is entered multiple times in a row, + * only one entry is kept in the history. * * */ From ee922feacc22533ce2a5e582ec3f31f255dfe38a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 18 Apr 2007 17:25:46 +0000 Subject: [PATCH 120/843] [173629] avoid RXTX version output for newer RXTX libs --- .../org/eclipse/tm/internal/terminal/serial/Activator.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java index bc911fba5f8..2fb6047148b 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java @@ -38,6 +38,10 @@ public class Activator extends AbstractUIPlugin { */ public void start(BundleContext context) throws Exception { super.start(context); + String prop = System.getProperty("gnu.io.rxtx.NoVersionOutput"); //$NON-NLS-1$ + if (prop==null) { + System.setProperty("gnu.io.rxtx.NoVersionOutput", "true"); //$NON-NLS-1$ //$NON-NLS-2$ + } } /* From df4f50377e10c3a2ba187b5c23ac0d0eb7045f61 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 26 Apr 2007 12:59:56 +0000 Subject: [PATCH 121/843] make background thread a daemon --- .../eclipse/tm/internal/terminal/telnet/TelnetOption.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java index 0868a3d6120..39a097e3224 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java @@ -587,7 +587,7 @@ class TelnetOption implements TelnetCodes // thread, and calls to write() can block, but blocking the display thread // is _bad_ (it hangs the GUI). - new Thread() { + Thread t=new Thread() { public void run() { try { outputStream.write(NAWSDataFinal); @@ -596,7 +596,9 @@ class TelnetOption implements TelnetCodes Logger.logException(ex); } } - }.start(); + }; + t.setDaemon(true); + t.start(); break; default: From 4ac8313c2d1909ad0b290f5c8f6776e52a9b9b38 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 3 May 2007 08:15:29 +0000 Subject: [PATCH 122/843] Adding readme.txt repository info --- readme.txt | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 readme.txt diff --git a/readme.txt b/readme.txt new file mode 100644 index 00000000000..3a5490cd702 --- /dev/null +++ b/readme.txt @@ -0,0 +1,4 @@ +The "terminal" folder holds the DSDP-TM Terminal Component. +Its core depends on Eclipse RCP only and can be adapted to eRCP. +All these CVS modules should be named "org.eclipse.tm.terminal.*". +See http://www.eclipse.org/dsdp/tm From b12c240e50c2d3b679c85e5a5996939c6af2173d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 3 May 2007 15:08:22 +0000 Subject: [PATCH 123/843] Fix typos in Javadoc --- .../org/eclipse/tm/internal/terminal/view/SettingsStore.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index 6a8bffec96c..eb2ab88880a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -21,8 +21,8 @@ import org.eclipse.ui.IMemento; /** * A {@link IDialogSettings} based {@link ISettingsStore}. * - * Setting Store dased on IMemento. IMemento documentations says only alpha numeric - * values mey be used as keys. Therefore the implementation converts dots (.) into + * Setting Store based on IMemento. IMemento documentations says only alpha numeric + * values may be used as keys. Therefore the implementation converts dots (.) into * child elements of the memento. * * @author Michael Scharf From d352a64f772a21ef3d1ed6296c26f05447695db3 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 4 May 2007 22:00:45 +0000 Subject: [PATCH 124/843] [183901] Make the remote-to-terminal communication use an OutputStream Added TerminalInputStream that provides an OutputStream for connections to write to. The reading from the input stream is done in Runnables that are called from the Display thread. The time the runnable uses is limited. If data is available a new runnable is posted to the display thread. --- .../terminal/serial/SerialPortHandler.java | 2 +- .../internal/terminal/ssh/SshConnection.java | 3 +- .../control/impl/TerminalControl.java | 31 +- .../control/impl/TerminalInputStream.java | 321 ++++++++++++++++++ .../terminal/control/impl/TerminalText.java | 248 ++++++-------- .../terminal/telnet/TelnetConnection.java | 8 +- .../terminal/telnet/TelnetConnector.java | 7 +- .../eclipse/tm/terminal/ITerminalControl.java | 9 +- 8 files changed, 460 insertions(+), 169 deletions(-) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java index a34e182617a..bd3dfd519d2 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java @@ -58,7 +58,7 @@ public class SerialPortHandler implements try { while (fConn.getInputStream() != null && fConn.getInputStream().available() > 0) { int nBytes = fConn.getInputStream().read(bytes); - fControl.writeToTerminal(new String(bytes, 0, nBytes)); + fControl.getRemoteToTerminalOutputStream().write(bytes, 0, nBytes); } } catch (IOException ex) { fControl.displayTextInTerminal(ex.getMessage()); diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 968007d39c3..ca0ba1434bc 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -148,8 +148,7 @@ class SshConnection extends Thread { int n; // read until the thread gets interrupted.... while( (n=in.read(bytes))!=-1) { - // we assume we get ASCII UTF8 bytes - fControl.writeToTerminal(new String(bytes,0,n,"UTF8")); //$NON-NLS-1$ + fControl.getRemoteToTerminalOutputStream().write(bytes,0,n); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 45d91169301..17baf916ebc 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -18,6 +18,7 @@ package org.eclipse.tm.internal.terminal.control.impl; import java.io.IOException; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.SocketException; import org.eclipse.jface.dialogs.MessageDialog; @@ -449,24 +450,24 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro * @see org.eclipse.tm.terminal.ITerminalControl#displayTextInTerminal(java.lang.String) */ public void displayTextInTerminal(String text) { - writeToTerminal(text+"\r\n"); //$NON-NLS-1$ + writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ } - - public void writeToTerminal(String txt) { - - // Do _not_ use asyncExec() here. Class TerminalText requires that - // its run() and setNewText() methods be called in strictly - // alternating order. If we were to call asyncExec() here, this - // loop might race around and call setNewText() twice in a row, - // which would lose data. - getTerminalText().setNewText(new StringBuffer(txt)); - if(Display.getDefault().getThread()==Thread.currentThread()) - getTerminalText().run(); - else - fDisplay.syncExec(getTerminalText()); + private void writeToTerminal(String text) { + try { + getRemoteToTerminalOutputStream().write(text.getBytes("ISO-8859-1")); //$NON-NLS-1$ + } catch (UnsupportedEncodingException e) { + // should never happen! + e.printStackTrace(); + } catch (IOException e) { + // should never happen! + e.printStackTrace(); + } } - + + public OutputStream getRemoteToTerminalOutputStream() { + return getTerminalText().getOutputStream(); + } protected boolean isLogCharEnabled() { return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java new file mode 100644 index 00000000000..8ec3f10501b --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java @@ -0,0 +1,321 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation +*/ + +package org.eclipse.tm.internal.terminal.control.impl; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Timer; +import java.util.TimerTask; + +import org.eclipse.swt.widgets.Display; + +/** + * The main purpose of this class is to start a runnable in the + * display thread when data is available and to pretend no data + * is available after a given amount of time the runnable is running. + * + */ +public class TerminalInputStream extends InputStream { + /** + * The maximum time in milli seconds the {@link #fNotifyChange} runs until + * {@link #ready()} returns false. + */ + private final int fUITimeout; + /** + * The output stream used by the terminal backend to write to the terminal + */ + protected final OutputStream fOutputStream; + /** + * This runnable is called every time some characters are available from... + */ + private final Runnable fNotifyChange; + /** + * A shared timer for all terminals. This times is used to limit the + * time used in the display thread.... + */ + static Timer fgTimer=new Timer(false); + /** + * A blocking byte queue. + */ + private final BoundedByteBuffer fQueue; + + /** + * The maximum amount of data read and written in one shot. + * The timer cannot interrupt reading this amount of data. + * {@link #available()} and {@link #read(byte[], int, int)} + * This is used as optimization, because reading single characters + * can be very inefficient, because each call is synchronized. + */ + // block size must be smaller than the Queue capacity! + final int BLOCK_SIZE=64; + + + /** + * The runnable that si scheduled in the display tread. Takes care of + * the timeout management. It calls the {@link #fNotifyChange} + */ + // synchronized with fQueue! + private Runnable fRunnable; + + /** + * Used as flag to indicate that the current runnable + * has used enough time in the display thread. + * This variable is set by a timer thread after the + * Runnable starts to run in the Display thread after + * {@link #fUITimeout}. + */ + // synchronized with fQueue! + private boolean fEnoughDisplayTime; + + /** + * A byte bounded buffer used to synchronize the input and the output stream. + *

                + * Adapted from BoundedBufferWithStateTracking + * http://gee.cs.oswego.edu/dl/cpj/allcode.java + * http://gee.cs.oswego.edu/dl/cpj/ + *

                + * For some reasons a solution based on + * PipedOutputStream/PipedIntputStream + * does work *very* slowly: + * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4404700 + *

                + * + */ + class BoundedByteBuffer { + protected final byte[] fBuffer; // the elements + protected int fPutPos = 0; // circular indices + protected int fTakePos = 0; + protected int fUsedSlots = 0; // the count + public BoundedByteBuffer(int capacity) throws IllegalArgumentException { + // make sure we don't deadlock on too small capacity + if(capacityend) + n=end; + // now block the queue for the time we need to + // add some characters + synchronized(fQueue) { + for(int i=noff;i0)try {read(buff);} catch (IOException e) {break;}}};} + fOutputStream =new TerminalOutputStream(); + fNotifyChange=notifyChange; + fQueue=new BoundedByteBuffer(bufferSize); + fUITimeout=uiTimeout; + } + /** + * Posts the runnable {@link #fNotifyChange} to the display Thread, + * unless the runnable is already scheduled. + * It will make {@link #ready} return false after + * {@link #fUITimeout} milli seconds. + */ + void bytesAreAvailable() { + // synchronize on the Queue to reduce the locks + synchronized(fQueue) { + if(fRunnable==null) { + fRunnable=new Runnable(){ + public void run() { + // protect the access to fRunnable + synchronized(fQueue){ + fRunnable=null; + } + // end the reading after some time + startTimer(fUITimeout); + // and start the real runnable + fNotifyChange.run(); + } + + }; + // TODO: make sure we don't create a display if the display is disposed... + Display.getDefault().asyncExec(fRunnable); + } + } + + } + /** + * Starts a timer that sets {@link #fEnoughDisplayTime} to + * true after milliSec. + * @param milliSec The time after which fEnoughDisplayTime is set to true. + */ + void startTimer(int milliSec) { + synchronized(fQueue) { + fEnoughDisplayTime=false; + } + fgTimer.schedule(new TimerTask(){ + public void run() { + synchronized(fQueue) { + fEnoughDisplayTime=true; + // there is some data available + if(fQueue.size()>0) { + // schedule a new runnable to do the work + bytesAreAvailable(); + } + } + }}, milliSec); + } + /** + * @return the output stream used by the backend to write to the terminal. + */ + public OutputStream getOutputStream() { + return fOutputStream; + } + /** + * Must be called in the Display Thread! + * @return true if a character is available for the terminal to show. + */ + public int available() { + int available; + synchronized(fQueue) { + if(fEnoughDisplayTime) + return 0; + available=fQueue.size(); + } + // Limit the available amount of data. + // else our trick of limiting the time spend + // reading might not work. + if(available>BLOCK_SIZE) + available=BLOCK_SIZE; + return available; + } + /** + * @return the next available byte. Check with {@link #available} + * if characters are available. + */ + public int read() throws IOException { + try { + return fQueue.read(); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + return -1; + } + } + /** + * Closing a ByteArrayInputStream has no effect. The methods in + * this class can be called after the stream has been closed without + * generating an IOException. + *

                + */ + public void close() throws IOException { + } + + public int read(byte[] cbuf, int off, int len) throws IOException { + int n=0; + // read as much as we can using a single synchronized statement + synchronized (fQueue) { + try { + // The assumption is that the caller has used available to + // check if bytes are available! That's why we don't check + // for fEnoughDisplayTime! + // Make sure that not more than BLOCK_SIZE is read in one call + while(fQueue.size()>0 && n * @author Chris Thew */ -public class TerminalText implements Runnable, ControlListener { +public class TerminalText implements ControlListener { /** This is a character processing state: Initial state. */ protected static final int ANSISTATE_INITIAL = 0; @@ -88,19 +92,6 @@ public class TerminalText implements Runnable, ControlListener { */ protected StyledText text; - /** - * This field holds the characters received from the remote host before they - * are displayed to the user. Method {@link #processNewText()} scans this - * text looking for ANSI control characters and escape sequences. - */ - protected StringBuffer newText; - - /** - * This field holds the index of the current character while the text stored - * in field {@link #newText} is being processed. - */ - protected int characterIndex = 0; - /** * This field holds the width of a character (in pixels) for the font used * to display text. @@ -214,12 +205,6 @@ public class TerminalText implements Runnable, ControlListener { */ protected boolean reverseVideo = false; - /** - * This field holds the time (in milliseconds) of the previous call to - * method {@link #SetNewText()}. - */ - static long LastNewOutputTime = 0; - /** * Color object representing the color black. The Color class requires us to * call dispose() on this object when we no longer need it. We do that in @@ -278,6 +263,8 @@ public class TerminalText implements Runnable, ControlListener { protected boolean fLimitOutput; protected int fBufferLineLimit; + final TerminalInputStream fTerminalInputStream; + final Reader fReader; /** * The constructor. */ @@ -291,6 +278,19 @@ public class TerminalText implements Runnable, ControlListener { for (int i = 0; i < ansiParameters.length; ++i) { ansiParameters[i] = new StringBuffer(); } + fTerminalInputStream=new TerminalInputStream(1024, 100, new Runnable() { + public void run() { + processText(); + }}); + Reader reader=null; + try { + // TODO convert byte to char using "ISO-8859-1" + reader=new InputStreamReader(fTerminalInputStream,"ISO-8859-1"); //$NON-NLS-1$ + } catch (UnsupportedEncodingException e) { + // should never happen! + e.printStackTrace(); + } + fReader=reader; } /** @@ -346,64 +346,17 @@ public class TerminalText implements Runnable, ControlListener { /** * This method is required by interface ControlListener. It allows us to - * know when the StyledText widget is resized. This method must be - * synchronized to prevent it from executing at the same time as run(), - * which displays new text. We can't have the fields that represent the - * dimensions of the terminal changing while we are rendering text. + * know when the StyledText widget is resized. */ - public synchronized void controlResized(ControlEvent event) { + public void controlResized(ControlEvent event) { Logger.log("entered"); //$NON-NLS-1$ adjustTerminalDimensions(); } /** - * This method sets field {@link #newText} to a new value. This method must - * not execute at the same time as methods {@link #run()} and {@link - * #clearTerminal()}. - *

                - * - * IMPORTANT: This method must be called in strict alternation with method - * {@link #run()}. - *

                - * - * @param newBuffer - * The new buffer containing characters received from the remote - * host. + * This method erases all text from the Terminal view. */ - public synchronized void setNewText(StringBuffer newBuffer) { - if (Logger.isLogEnabled()) { - Logger.log("new text: '" + Logger.encode(newBuffer.toString()) + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - } - newText = newBuffer; - - // When continuous output is being processed by the Terminal view code, it - // consumes nearly 100% of the CPU. This fixes that. If this method is called - // too frequently, we explicitly sleep for a short time so that the thread - // executing this function (which is the thread reading from the socket or - // serial port) doesn't consume 100% of the CPU. Without this code, the - // Workbench GUI is practically hung when there is continuous output in the - // Terminal view. - - long CurrentTime = System.currentTimeMillis(); - - if (CurrentTime - LastNewOutputTime < 250 && newBuffer.length() > 10) { - try { - Thread.sleep(50); - } catch (InterruptedException ex) { - // Ignore. - } - } - - LastNewOutputTime = CurrentTime; - } - - /** - * This method erases all text from the Terminal view. This method is called - * when the user chooses "Clear all" from the Terminal view context menu, so - * we need to serialize this method with methods {@link #run()} and {@link - * #setNewText(StringBuffer)}. - */ - public synchronized void clearTerminal() { + public void clearTerminal() { Logger.log("entered"); //$NON-NLS-1$ text.setText(""); //$NON-NLS-1$ cursorColumn = 0; @@ -412,12 +365,9 @@ public class TerminalText implements Runnable, ControlListener { /** * This method is called when the user changes the Terminal view's font. We * attempt to recompute the pixel width of the new font's characters and fix - * the terminal's dimensions. This method must be synchronized to prevent it - * from executing at the same time as run(), which displays new text. We - * can't have the fields that represent the dimensions of the terminal - * changing while we are rendering text. + * the terminal's dimensions. */ - public synchronized void fontChanged() { + public void fontChanged() { Logger.log("entered"); //$NON-NLS-1$ characterPixelWidth = 0; @@ -425,7 +375,6 @@ public class TerminalText implements Runnable, ControlListener { if (text != null) adjustTerminalDimensions(); } - /** * This method executes in the Display thread to process data received from * the remote host by class {@link TelnetConnection} and @@ -434,7 +383,7 @@ public class TerminalText implements Runnable, ControlListener { *

                * These connectors write text to the terminal's buffer through * {@link TerminalControl#writeToTerminal(String)} and then have - * this run method exectued in the display thread. This method + * this run method executed in the display thread. This method * must not execute at the same time as methods * {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. *

                @@ -442,9 +391,7 @@ public class TerminalText implements Runnable, ControlListener { * {@link #setNewText(StringBuffer)}. *

                */ - public synchronized void run() { - Logger.log("entered"); //$NON-NLS-1$ - + void processText() { try { // This method can be called just after the user closes the view, so we // make sure not to cause a widget-disposed exception. @@ -471,20 +418,23 @@ public class TerminalText implements Runnable, ControlListener { // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? text.setCaretOffset(caretOffset); - - processNewText(); + try { + processNewText(); + } catch (IOException e) { + Logger.logException(e); + } caretOffset = text.getCaretOffset(); } catch (Exception ex) { Logger.logException(ex); } } - /** * This method scans the newly received text, processing ANSI control * characters and escape sequences and displaying normal text. + * @throws IOException */ - protected void processNewText() { + protected void processNewText() throws IOException { Logger.log("entered"); //$NON-NLS-1$ // Stop the StyledText widget from redrawing while we manipulate its contents. @@ -494,10 +444,8 @@ public class TerminalText implements Runnable, ControlListener { // Scan the newly received text. - characterIndex = 0; - - while (characterIndex < newText.length()) { - char character = newText.charAt(characterIndex); + while (hasNextChar()) { + char character = getNextChar(); switch (ansiState) { case ANSISTATE_INITIAL: @@ -530,7 +478,7 @@ public class TerminalText implements Runnable, ControlListener { break; default: - processNonControlCharacters(); + processNonControlCharacters(character); break; } break; @@ -614,15 +562,12 @@ public class TerminalText implements Runnable, ControlListener { ansiState = ANSISTATE_INITIAL; break; } - - ++characterIndex; } // Allow the StyledText widget to redraw itself. text.setRedraw(true); } - /** * This method is called when we have parsed an OS Command escape sequence. * The only one we support is "\e]0;...\u0007", which sets the terminal @@ -1093,7 +1038,7 @@ public class TerminalText implements Runnable, ControlListener { /** * Delete one or more lines of text. Any lines below the deleted lines move - * up, which we implmement by appending newlines to the end of the text. + * up, which we implement by appending newlines to the end of the text. */ protected void processAnsiCommand_M() { int totalLines = text.getLineCount(); @@ -1355,9 +1300,9 @@ public class TerminalText implements Runnable, ControlListener { /** * This method processes a single parameter character in an ANSI escape - * sequence. Paramters are the (optional) characters between the leading + * sequence. Parameters are the (optional) characters between the leading * "\e[" and the command character in an escape sequence (e.g., in the - * escape sequence "\e[20;10H", the paramter characters are "20;10"). + * escape sequence "\e[20;10H", the parameter characters are "20;10"). * Parameters are integers separated by one or more ';'s. */ protected void processAnsiParameterCharacter(char ch) { @@ -1368,44 +1313,35 @@ public class TerminalText implements Runnable, ControlListener { ansiParameters[nextAnsiParameter].append(ch); } } - /** * This method processes a contiguous sequence of non-control characters. * This is a performance optimization, so that we don't have to insert or * append each non-control character individually to the StyledText widget. * A non-control character is any character that passes the condition in the * below while loop. + * @throws IOException */ - protected void processNonControlCharacters() { - int firstNonControlCharacterIndex = characterIndex; - int newTextLength = newText.length(); - char character = newText.charAt(characterIndex); - + protected void processNonControlCharacters(char character) throws IOException { + StringBuffer buffer=new StringBuffer(); + buffer.append(character); // Identify a contiguous sequence of non-control characters, starting at // firstNonControlCharacterIndex in newText. - - while (character != '\u0000' && character != '\b' && character != '\t' - && character != '\u0007' && character != '\n' - && character != '\r' && character != '\u001b') { - ++characterIndex; - - if (characterIndex >= newTextLength) + while(hasNextChar()) { + character=getNextChar(); + if(character == '\u0000' || character == '\b' || character == '\t' + || character == '\u0007' || character == '\n' + || character == '\r' || character == '\u001b') { + pushBackChar(character); break; - - character = newText.charAt(characterIndex); + } + buffer.append(character); } - - // Move characterIndex back by one character because it gets incremented at the - // bottom of the loop in processNewText(). - - --characterIndex; - int preDisplayCaretOffset = text.getCaretOffset(); // Now insert the sequence of non-control characters in the StyledText widget // at the location of the cursor. - displayNewText(firstNonControlCharacterIndex, characterIndex); + displayNewText(buffer.toString()); // If any one of the current font style, foreground color or background color // differs from the defaults, apply the current style to the newly displayed @@ -1438,23 +1374,18 @@ public class TerminalText implements Runnable, ControlListener { * text being displayed by this method (this includes newlines, carriage * returns, and tabs). *

                - * - * @param first - * The index (within newText) of the first character to display. - * @param last - * The index (within newText) of the last character to display. */ - protected void displayNewText(int first, int last) { + protected void displayNewText(String buffer) { if (text.getCaretOffset() == text.getCharCount()) { // The cursor is at the very end of the terminal's text, so we append the // new text to the StyledText widget. - displayNewTextByAppending(first, last); + displayNewTextByAppending(buffer); } else { // The cursor is not at the end of the screen's text, so we have to // overwrite existing text. - displayNewTextByOverwriting(first, last); + displayNewTextByOverwriting(buffer); } } @@ -1467,14 +1398,11 @@ public class TerminalText implements Runnable, ControlListener { * text being displayed by this method (this includes newlines, carriage * returns, and tabs). *

                - * - * @param first - * The index (within newText) of the first character to display. - * @param last - * The index (within newText) of the last character to display. */ - protected void displayNewTextByAppending(int first, int last) { - int numCharsToOutput = last - first + 1; + protected void displayNewTextByAppending(String newText) { + int first=0; + int last=newText.length()-1; + int numCharsToOutput = newText.length(); int availableSpaceOnLine = widthInColumns - cursorColumn; if (numCharsToOutput >= availableSpaceOnLine) { @@ -1525,16 +1453,13 @@ public class TerminalText implements Runnable, ControlListener { * text being displayed by this method (this includes newlines, carriage * returns, and tabs). *

                - * - * @param first - * The index (within newText) of the first character to display. - * @param last - * The index (within newText) of the last character to display. */ - protected void displayNewTextByOverwriting(int first, int last) { + protected void displayNewTextByOverwriting(String newText) { // First, break new text into segments, based on where it needs to line wrap, // so that each segment contains text that will appear on a separate // line. + int first=0; + int last=newText.length()-1; List textSegments = new ArrayList(100); @@ -1569,7 +1494,7 @@ public class TerminalText implements Runnable, ControlListener { if (caretOffset == text.getCharCount()) { // The cursor is at the end of the text, so just append the current - // segement along with a newline. + // segment along with a newline. text.append(segment); @@ -1823,7 +1748,7 @@ public class TerminalText implements Runnable, ControlListener { // terminal. ITerminalConnector telnetConnection = terminal.getTerminalConnection(); - + // TODO MSA: send only if dimensions have really changed! if (telnetConnection != null && widthInColumns != 0 && heightInLines != 0) { telnetConnection.setTerminalSize(widthInColumns, heightInLines); } @@ -1898,7 +1823,7 @@ public class TerminalText implements Runnable, ControlListener { } /** - * This method returns the relative line number of the line comtaining the + * This method returns the relative line number of the line containing the * cursor. The returned line number is relative to the topmost visible line, * which has relative line number 0. * @@ -2077,4 +2002,43 @@ public class TerminalText implements Runnable, ControlListener { protected void setLimitOutput(boolean limitOutput) { fLimitOutput = limitOutput; } + + public OutputStream getOutputStream() { + return fTerminalInputStream.getOutputStream(); + } + + /** + * Buffer for {@link #pushBackChar(char)}. + */ + private int fNextChar=-1; + private char getNextChar() throws IOException { + int c=-1; + if(fNextChar!=-1) { + c= fNextChar; + fNextChar=-1; + } else { + c = fReader.read(); + } + // TODO: better end of file handling + if(c==-1) + c=0; + return (char)c; + } + + private boolean hasNextChar() throws IOException { + if(fNextChar>=0) + return true; + return fReader.ready(); + } + + /** + * Put back one character to the stream. This method can push + * back exactly one character. The character is the next character + * returned by {@link #getNextChar} + * @param c the character to be pushed back. + */ + void pushBackChar(char c) { + //assert fNextChar!=-1: "Already a character waiting:"+fNextChar; //$NON-NLS-1$ + fNextChar=c; + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 44ebd2f1dc3..bdb5655bac4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -280,8 +280,8 @@ public class TelnetConnection extends Thread implements TelnetCodes { return localEcho; } - private void writeToTerminal(String string) { - terminalControl.writeToTerminal(string); + private void displayTextInTerminal(String string) { + terminalControl.displayTextInTerminal(string); } /** @@ -304,7 +304,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { // Announce to the user that the remote endpoint has closed the // connection. - writeToTerminal("\r"+TelnetMessages.CONNECTION_CLOSED_BY_FOREIGN_HOST+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + displayTextInTerminal(TelnetMessages.CONNECTION_CLOSED_BY_FOREIGN_HOST); // Tell the ITerminalControl object that the connection is // closed. @@ -321,7 +321,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { int nProcessedBytes = processTelnetProtocol(nRawBytes); if (nProcessedBytes > 0) { - writeToTerminal(new String(processedBytes, 0, nProcessedBytes)); + terminalControl.getRemoteToTerminalOutputStream().write(processedBytes, 0, nProcessedBytes); } } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 91081a203e7..03fc62c9ef2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -135,8 +135,11 @@ public class TelnetConnector implements ITerminalConnector { public void setTelnetConnection(TelnetConnection connection) { fTelnetConnection=connection; } - public void writeToTerminal(String txt) { - fControl.writeToTerminal(txt); + public void displayTextInTerminal(String text) { + fControl.displayTextInTerminal(text); + } + public OutputStream getRemoteToTerminalOutputStream () { + return fControl.getRemoteToTerminalOutputStream(); } public void setState(TerminalState state) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java index 53f9460b7e7..a34830b3e3a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java @@ -11,6 +11,8 @@ *******************************************************************************/ package org.eclipse.tm.terminal; +import java.io.OutputStream; + import org.eclipse.swt.widgets.Shell; /** @@ -46,10 +48,11 @@ public interface ITerminalControl { void displayTextInTerminal(String text); /** - * Write a string directly to the terminal. - * @param txt + * @return a stream used to write to the terminal. Any bytes written to this + * stream appear in the terminal or are interpreted by the emulator as + * control sequences. */ - void writeToTerminal(String txt); + OutputStream getRemoteToTerminalOutputStream(); /** * Set the title of the terminal view. From b42541e9e829dd64d2b57425944bf41ce00d99c9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 4 May 2007 22:13:48 +0000 Subject: [PATCH 125/843] fixed spelling in comments --- .../src/org/eclipse/tm/terminal/ITerminalControl.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java index a34830b3e3a..63e67a7b8af 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/ITerminalControl.java @@ -36,14 +36,13 @@ public interface ITerminalControl { /** * A shell to show dialogs. * @return the shell in which the terminal is shown. - * TODO: Michael Scharf: it's not clear to me what the meaning of the open state is */ Shell getShell(); /** - * Show a text in the terminal. If pots newlines at the beginning and the end. + * Show a text in the terminal. If puts newlines at the beginning and the end. * @param text - * TODO: Michael Scharf: Is this really needed? (use {@link #displayTextInTerminal(String)} + * TODO: Michael Scharf: Is this really needed? */ void displayTextInTerminal(String text); @@ -63,7 +62,7 @@ public interface ITerminalControl { /** * Show an error message during connect. * @param msg - * TODO: Michael Scharf: Should be replaced by a better error notification mechansim! + * TODO: Michael Scharf: Should be replaced by a better error notification mechanism! */ void setMsg(String msg); From 2cb5f7c2bcd84e9575f856dcb6941cb53431274d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 4 May 2007 23:49:52 +0000 Subject: [PATCH 126/843] [185577] Put terminal in default state before reconnect --- .../terminal/control/impl/TerminalControl.java | 1 + .../terminal/control/impl/TerminalText.java | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 17baf916ebc..7fa1bd259a5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -238,6 +238,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro Logger.log("entered."); //$NON-NLS-1$ if(fConnector==null) return; + fTerminalText.resetState(); fConnector.connect(this); // clean the error message setMsg(""); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java index 07771b6c7cb..f2c27b3f264 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java @@ -308,10 +308,7 @@ public class TerminalText implements ControlListener { text.addControlListener(this); - currentForegroundColor = text.getForeground(); - currentBackgroundColor = text.getBackground(); - currentFontStyle = SWT.NORMAL; - reverseVideo = false; + resetState(); } @@ -1986,7 +1983,17 @@ public class TerminalText implements ControlListener { cursorColumn -= columnsToMove; } - + /** + * Resets the state of the terminal text (foreground color, background color, + * font style and other internal state). It essentially makes it ready for new input. + */ + public void resetState() { + ansiState=ANSISTATE_INITIAL; + currentForegroundColor = text.getForeground(); + currentBackgroundColor = text.getBackground(); + currentFontStyle = SWT.NORMAL; + reverseVideo = false; + } protected int getBufferLineLimit() { return fBufferLineLimit; } From 20cc78a40c0bbe4fd9ba6e4679cfd4e8cd6669e5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 7 May 2007 12:33:00 +0000 Subject: [PATCH 127/843] Fix Copyright Year --- .../tm/internal/terminal/serial/SerialMessages.properties | 2 +- .../eclipse/tm/internal/terminal/ssh/SshMessages.properties | 2 +- .../tm/internal/terminal/actions/ActionMessages.properties | 2 +- .../eclipse/tm/internal/terminal/view/ViewMessages.properties | 2 +- org.eclipse.tm.terminal/plugin.xml | 2 +- .../terminal/control/impl/TerminalMessages.properties | 2 +- .../eclipse/tm/internal/terminal/telnet/ITelnetSettings.java | 2 +- .../eclipse/tm/internal/terminal/telnet/NetworkPortMap.java | 2 +- .../org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java | 2 +- .../tm/internal/terminal/telnet/TelnetConnectWorker.java | 4 ++-- .../eclipse/tm/internal/terminal/telnet/TelnetConnection.java | 2 +- .../eclipse/tm/internal/terminal/telnet/TelnetConnector.java | 4 ++-- .../eclipse/tm/internal/terminal/telnet/TelnetMessages.java | 2 +- .../tm/internal/terminal/telnet/TelnetMessages.properties | 2 +- .../org/eclipse/tm/internal/terminal/telnet/TelnetOption.java | 2 +- .../eclipse/tm/internal/terminal/telnet/TelnetProperties.java | 2 +- .../eclipse/tm/internal/terminal/telnet/TelnetSettings.java | 2 +- .../tm/internal/terminal/telnet/TelnetSettingsPage.java | 2 +- .../src/org/eclipse/tm/terminal/ITerminalConnector.java | 4 ++-- .../src/org/eclipse/tm/terminal/ITerminalControl.java | 4 ++-- .../src/org/eclipse/tm/terminal/Logger.java | 2 +- .../org/eclipse/tm/terminal/TerminalConnectorExtension.java | 2 +- 22 files changed, 26 insertions(+), 26 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties index 92bacf91db2..bb98d9f381a 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties index eefa7b01e70..540e9c95459 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index 62cc371b0cf..7716ea26665 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index 72901a74a2a..46f4f6da329 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 19f2bc90e4d..2274c107522 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,7 +1,7 @@ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 69a825c8458..471ca9f96e5 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -19,6 +19,7 @@ + diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 16726811cf2..afaeae5074d 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -19,6 +19,7 @@ + From be0bde339e0eeff4b5f55d6de0382cf472cc8501 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 18 May 2007 13:22:03 +0000 Subject: [PATCH 137/843] make TerminalConnectionProxy private --- .../terminal/provisional/api/TerminalConnectorExtension.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index f699304c081..0367fd08dfb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -43,7 +43,7 @@ public class TerminalConnectorExtension { * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)} * */ - static public class TerminalConnectorProxy implements ITerminalConnector { + static private class TerminalConnectorProxy implements ITerminalConnector { /** * The connector */ From e5c1e2d013176e2464bdafacd62b373e47d3a6aa Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 18 May 2007 15:03:07 +0000 Subject: [PATCH 138/843] comment cleanup --- .../terminal/provisional/api/ITerminalConnector.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index e606c494d10..4c455c7c174 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -16,7 +16,7 @@ import java.io.OutputStream; /** * Manage a single connection. Implementations of this class are contributed - * via org.eclipse.tm.internal.terminal.provisional.api.terminalConnector extension point. + * via org.eclipse.tm.terminal.terminalConnector extension point. * * @author Michael Scharf *

                @@ -97,13 +97,15 @@ public interface ITerminalConnector { /** * @return a new page that can be used in a dialog to setup this connection. + * The dialog should persist its settings with the {@link #load(ISettingsStore)} + * and {@link #save(ISettingsStore)} methods. * */ ISettingsPage makeSettingsPage(); /** - * @return A string that represents the state of the connection. - * TODO: Michael Scharf: + * @return A string that represents the settings of the connection. This representation + * may be shown in the status line of the terminal view. */ String getSettingsSummary(); From 47899ae3c2db8eb8190821bb31197a942494692a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 24 May 2007 14:53:28 +0000 Subject: [PATCH 139/843] Update Copyright Dates --- .../tm/internal/terminal/provisional/api/ISettingsPage.java | 2 +- .../tm/internal/terminal/provisional/api/ISettingsStore.java | 2 +- .../tm/internal/terminal/provisional/api/TerminalState.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index d4c0faca7a1..0abc5b046e1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java index 1a1e1434d16..8bdd06ac1cd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java index de744502345..308bd9fdcfe 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -53,4 +53,4 @@ public class TerminalState { public String toString() { return fState; } -} \ No newline at end of file +} From 966d8da9e616ef1aa8a5733d863e72496ce8a6ce Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 25 May 2007 00:07:16 +0000 Subject: [PATCH 140/843] [188939] All terminal connections fail if RXTX is not available --- .../control/impl/TerminalControl.java | 31 ++++++++++--------- .../control/impl/TerminalMessages.java | 2 +- .../control/impl/TerminalMessages.properties | 1 + .../api/TerminalConnectorExtension.java | 6 ++-- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index d1b4e2a4dde..663f2c26ec9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -23,6 +23,7 @@ import java.net.SocketException; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.custom.VerifyKeyListener; @@ -239,7 +240,12 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro if(fConnector==null) return; fTerminalText.resetState(); - fConnector.connect(this); + try { + fConnector.connect(this); + } catch(RuntimeException e) { + showErrorMessage(NLS.bind(TerminalMessages.CannotConnectTo,new Object[]{fConnector.getName(),e.getMessage()})); + return; + } // clean the error message setMsg(""); //$NON-NLS-1$ waitForConnect(); @@ -272,8 +278,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } if (!getMsg().equals("")) //$NON-NLS-1$ { - String strTitle = TerminalMessages.TerminalError; - MessageDialog.openError( getShell(), strTitle, getMsg()); + showErrorMessage(getMsg()); disconnectTerminal(); return; @@ -282,6 +287,11 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro getCtlText().setFocus(); } + private void showErrorMessage(String message) { + String strTitle = TerminalMessages.TerminalError; + MessageDialog.openError( getShell(), strTitle, message); + } + protected void sendString(String string) { try { // Send the string after converting it to an array of bytes using the @@ -294,21 +304,16 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } catch (SocketException socketException) { displayTextInTerminal(socketException.getMessage()); - String strTitle = TerminalMessages.TerminalError; String strMsg = TerminalMessages.SocketError + "!\n" + socketException.getMessage(); //$NON-NLS-1$ + showErrorMessage(strMsg); - MessageDialog.openError(getShell(), strTitle, strMsg); Logger.logException(socketException); disconnectTerminal(); } catch (IOException ioException) { - displayTextInTerminal(ioException.getMessage()); + showErrorMessage(TerminalMessages.IOError + "!\n" + ioException.getMessage());//$NON-NLS-1$ - String strTitle = TerminalMessages.TerminalError; - String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ - - MessageDialog.openError(getShell(), strTitle, strMsg); Logger.logException(ioException); disconnectTerminal(); @@ -348,11 +353,10 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro displayTextInTerminal(socketException.getMessage()); - String strTitle = TerminalMessages.TerminalError; String strMsg = TerminalMessages.SocketError + "!\n" + socketException.getMessage(); //$NON-NLS-1$ - MessageDialog.openError(getShell(), strTitle, strMsg); + showErrorMessage(strMsg); Logger.logException(socketException); disconnectTerminal(); @@ -361,10 +365,9 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro displayTextInTerminal(ioException.getMessage()); - String strTitle = TerminalMessages.TerminalError; String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ - MessageDialog.openError(getShell(), strTitle, strMsg); + showErrorMessage(strMsg); Logger.logException(ioException); disconnectTerminal(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index 40a74cc6b25..97031d5c80d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -21,5 +21,5 @@ public class TerminalMessages extends NLS { public static String TerminalError; public static String SocketError; public static String IOError; - + public static String CannotConnectTo; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index 11796edc220..2c49b042ca5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -17,3 +17,4 @@ TerminalError = Terminal Error SocketError = Socket Error IOError = IO Error +CannotConnectTo = Cannot connect to {1}:\n{2} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 0367fd08dfb..05e59a42c11 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -84,7 +84,8 @@ public class TerminalConnectorExtension { if(!isInitialized()) { try { fConnector=createConnector(fConfig); - if(!fConnector.isInstalled()) + if(fConnector==null || !fConnector.isInstalled()) + // TODO MSA externalize throw new RuntimeException(getName()+ " is not properly installed!"); //$NON-NLS-1$ } catch (Exception e) { fException=e; @@ -92,9 +93,8 @@ public class TerminalConnectorExtension { if(fConnector!=null && fStore!=null) fConnector.load(fStore); } - if(fConnector==null) { + if(fException!=null) throw new RuntimeException(fException); - } return fConnector; } private boolean isInitialized() { From deea717d276d77c677a5a29329840968e90af657 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 26 May 2007 02:06:42 +0000 Subject: [PATCH 141/843] Logger logs errors to eclipse error log --- .../terminal/provisional/api/Logger.java | 33 +++++++++++-------- 1 file changed, 20 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index c70b1f0d580..ee986b9599a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -17,6 +17,10 @@ import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; + /** * A simple logger class. Every method in this class is static, so they can be * called from both class and instance methods. To use this class, write code @@ -163,25 +167,28 @@ public final class Logger { * log file. */ public static final void logException(Exception ex) { + // log in eclipse error log + TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, ex.getMessage(), ex)); // Read my own stack to get the class name, method name, and line number // of // where this method was called. + if(logStream!=null) { + StackTraceElement caller = new Throwable().getStackTrace()[1]; + int lineNumber = caller.getLineNumber(); + String className = caller.getClassName(); + String methodName = caller.getMethodName(); + className = className.substring(className.lastIndexOf('.') + 1); - StackTraceElement caller = new Throwable().getStackTrace()[1]; - int lineNumber = caller.getLineNumber(); - String className = caller.getClassName(); - String methodName = caller.getMethodName(); - className = className.substring(className.lastIndexOf('.') + 1); + PrintStream tmpStream = System.err; - PrintStream tmpStream = System.err; + if (logStream != null) { + tmpStream = logStream; + } - if (logStream != null) { - tmpStream = logStream; + tmpStream.println(className + + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + "Caught exception: " + ex); //$NON-NLS-1$ + ex.printStackTrace(tmpStream); } - - tmpStream.println(className - + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ - "Caught exception: " + ex); //$NON-NLS-1$ - ex.printStackTrace(tmpStream); } } From 13c7592a7dd8573da944293fc17721c1ae790cc9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sat, 26 May 2007 03:02:11 +0000 Subject: [PATCH 142/843] Adapt legal info for BoundedByteBuffer --- .../terminal/control/impl/TerminalInputStream.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java index 0691bc6075c..6cd7eff7de0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2007 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - initial API and implementation + * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -84,6 +85,13 @@ public class TerminalInputStream extends InputStream { * http://gee.cs.oswego.edu/dl/cpj/allcode.java * http://gee.cs.oswego.edu/dl/cpj/ *

                + * BoundedBufferWithStateTracking is part of the examples for the book + * Concurrent Programming in Java: Design Principles and Patterns by + * Doug Lea (ISBN 0-201-31009-0). Second edition published by + * Addison-Wesley, November 1999. The code is + * Copyright(c) Douglas Lea 1996, 1999 and released to the public domain + * and may be used for any purposes whatsoever. + *

                * For some reasons a solution based on * PipedOutputStream/PipedIntputStream * does work *very* slowly: From 9057a25e3663dded00cc6f08e59e35e10a7b40fc Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 26 May 2007 04:15:43 +0000 Subject: [PATCH 143/843] [188939] All terminal connections fail if RXTX is not available I did quite some refactoring: - I added ITerminalConnectorInfo - ITerminalConnectorInfo still returns a proxy to ITerminalConnector to deal with lazy initialization. - ITerminalConnector.isInstalled, getName and getId have been removed - ITerminalConnector now has a new initialize() method that can throw an Exception. This exception should have a localized massage that can be (and is) displayed in a dialog when something goes wrong. - If a ITerminalConnector has initialization problems, it is not shown in the terminal settings dialog for that connection --- .../terminal/serial/SerialConnector.java | 34 +++------ .../internal/terminal/ssh/SshConnector.java | 16 +--- .../terminal/view/TerminalSettingsDlg.java | 74 +++++++++++++++---- .../internal/terminal/view/TerminalView.java | 30 ++++---- .../internal/terminal/view/ViewMessages.java | 3 + .../terminal/view/ViewMessages.properties | 3 + .../control/ITerminalViewControl.java | 8 +- .../control/TerminalViewControlFactory.java | 4 +- .../control/impl/ITerminalControlForText.java | 4 +- .../control/impl/TerminalControl.java | 58 ++++++++------- .../control/impl/TerminalMessages.properties | 2 +- .../terminal/control/impl/TerminalText.java | 8 +- .../provisional/api/ITerminalConnector.java | 25 ++----- .../api/ITerminalConnectorInfo.java | 58 +++++++++++++++ .../api/TerminalConnectorExtension.java | 73 +++++++++--------- .../terminal/telnet/TelnetConnector.java | 11 +-- 16 files changed, 247 insertions(+), 164 deletions(-) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 6cc5df9a497..905c05b80e3 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -23,6 +23,7 @@ import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; @@ -40,34 +41,20 @@ public class SerialConnector implements ITerminalConnector { private CommPortIdentifier fSerialPortIdentifier; private SerialPortHandler fTerminalSerialPortHandler; private boolean fIsPortInUse; - private final SerialSettings fSettings; + private SerialSettings fSettings; public SerialConnector() { - SerialSettings settins=null; - try { - settins=new SerialSettings(); - } catch (NoClassDefFoundError e) { - // tell the user how to install the library - Activator.getDefault().getLog().log(new Status(IStatus.WARNING,Activator.PLUGIN_ID,0, SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); - } - fSettings=settins; - } - public String getId() { - return null; - } - public String getName() { - return null; - } - public boolean isInstalled() { - // check if serial is installed - try { - return SerialPort.class!=null; - } catch (Throwable e) { - return false; - } } public SerialConnector(SerialSettings settings) { fSettings=settings; } + public void initialize() throws Exception { + try { + fSettings=new SerialSettings(); + } catch (NoClassDefFoundError e) { + // tell the user how to install the library + throw new CoreException(new Status(IStatus.WARNING,Activator.PLUGIN_ID,0, SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); + } + } public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ fControl=control; @@ -203,5 +190,4 @@ public class SerialConnector implements ITerminalConnector { public void save(ISettingsStore store) { fSettings.save(store); } - } \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index ad348e8b5a0..6d45e3864c6 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -36,24 +36,12 @@ public class SshConnector implements ITerminalConnector { private int fHeight; public SshConnector() { this(new SshSettings()); - try { - fJsch=new JSch(); - } catch(NoClassDefFoundError e) { - // ignore - e.printStackTrace(); - } } public SshConnector(SshSettings settings) { fSettings=settings; } - public String getId() { - return null; - } - public String getName() { - return null; - } - public boolean isInstalled() { - return fJsch!=null; + public void initialize() throws Exception { + fJsch=new JSch(); } public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index cf897b697b9..48a34a2b4c8 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -16,9 +16,16 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; @@ -33,11 +40,11 @@ import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; class TerminalSettingsDlg extends Dialog { private Combo fCtlConnTypeCombo; - private final ITerminalConnector[] fConnectors; + private final ITerminalConnectorInfo[] fConnectors; private final ISettingsPage[] fPages; /** * Maps the fConnectors index to the fPages index @@ -48,9 +55,9 @@ class TerminalSettingsDlg extends Dialog { private PageBook fPageBook; private IDialogSettings fDialogSettings; - public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { + public TerminalSettingsDlg(Shell shell, ITerminalConnectorInfo[] connectors, ITerminalConnectorInfo connector) { super(shell); - fConnectors=connectors; + fConnectors=getValidConnectors(connectors); fPages=new ISettingsPage[fConnectors.length]; fPageIndex=new int[fConnectors.length]; fSelectedConnector=-1; @@ -59,28 +66,47 @@ class TerminalSettingsDlg extends Dialog { fSelectedConnector=i; } } + /** + * @param connectors + * @return connectors excluding connectors with errors + */ + private ITerminalConnectorInfo[] getValidConnectors(ITerminalConnectorInfo[] connectors) { + List list=new ArrayList(Arrays.asList(connectors)); + for (Iterator iterator = list.iterator(); iterator.hasNext();) { + ITerminalConnectorInfo info = (ITerminalConnectorInfo) iterator.next(); + if(info.isInitialized() && info.getInitializationErrorMessage()!=null) + iterator.remove(); + } + connectors=(ITerminalConnectorInfo[]) list.toArray(new ITerminalConnectorInfo[list.size()]); + return connectors; + } ISettingsPage getPage(int i) { if(fPages[i]==null) { - try { - fPages[i]=fConnectors[i].makeSettingsPage(); - // TODO: what happens if an error occurs while - // the control is partly created? - fPages[i].createControl(fPageBook); - } catch (final Exception e) { + if(fConnectors[i].getInitializationErrorMessage()!=null) { // create a error message + final ITerminalConnectorInfo conn=fConnectors[i]; fPages[i]=new ISettingsPage(){ public void createControl(Composite parent) { Label l=new Label(parent,SWT.WRAP); - l.setText("Error"); //$NON-NLS-1$ + String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName()); + l.setText(error); l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED)); - MessageDialog.openError(getShell(), "Initialization Problems!", e.getLocalizedMessage()); //$NON-NLS-1$ + MessageDialog.openError(getShell(), + error, + NLS.bind(ViewMessages.CANNOT_INITIALIZE, + conn.getName(), + conn.getInitializationErrorMessage())); } public void loadSettings() {} public void saveSettings() {} public boolean validateSettings() {return false;} }; - fPages[i].createControl(fPageBook); + } else { + fPages[i]=fConnectors[i].getConnector().makeSettingsPage(); } + // TODO: what happens if an error occurs while + // the control is partly created? + fPages[i].createControl(fPageBook); fPageIndex[i]=fNPages++; resize(); } @@ -136,6 +162,11 @@ class TerminalSettingsDlg extends Dialog { return ctlComposite; } + public void create() { + super.create(); + // initialize the OK button after creating the all dialog elements + updateOKButton(); + } private void initFields() { // Load controls for (int i = 0; i < fConnectors.length; i++) { @@ -189,7 +220,7 @@ class TerminalSettingsDlg extends Dialog { } }); } - public ITerminalConnector getConnector() { + public ITerminalConnectorInfo getConnector() { if(fSelectedConnector>=0) return fConnectors[fSelectedConnector]; return null; @@ -199,6 +230,21 @@ class TerminalSettingsDlg extends Dialog { getPage(index); Control[] pages=fPageBook.getChildren(); fPageBook.showPage(pages[fPageIndex[fSelectedConnector]]); + updateOKButton(); + + } + /** + * enables the OK button if the user can create a connection + */ + private void updateOKButton() { + // TODO: allow contributions to enable the OK button + // enable the OK button if we have a valid connection selected + if(getButton(IDialogConstants.OK_ID)!=null) { + boolean enable=false; + if(getConnector()!=null) + enable=getConnector().getInitializationErrorMessage()==null; + getButton(IDialogConstants.OK_ID).setEnabled(enable); + } } protected IDialogSettings getDialogBoundsSettings() { IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index fa051afe1db..0c16d92d46c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -50,7 +50,7 @@ import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; 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.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -162,7 +162,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi public void onTerminalConnect() { if (isConnected()) return; - if(fCtlTerminal.getTerminalConnection()==null) + if(fCtlTerminal.getTerminalConnectorInfo()==null) setConnector(showSettingsDialog()); fCtlTerminal.connectTerminal(); } @@ -195,7 +195,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalSettings() { - ITerminalConnector c=showSettingsDialog(); + ITerminalConnectorInfo c=showSettingsDialog(); if(c!=null) { setConnector(c); @@ -203,11 +203,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } } - private ITerminalConnector showSettingsDialog() { + private ITerminalConnectorInfo showSettingsDialog() { // When the settings dialog is opened, load the Terminal settings from the // persistent settings. - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnection()); + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnectorInfo()); Logger.log("opening Settings dialog."); //$NON-NLS-1$ @@ -224,7 +224,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi return dlgTerminalSettings.getConnector(); } - private void setConnector(ITerminalConnector connector) { + private void setConnector(ITerminalConnectorInfo connector) { fCtlTerminal.setConnector(connector); } @@ -246,7 +246,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // display in the view's content description line. This is used by class // TerminalText when it processes an ANSI OSC escape sequence that commands // the terminal to display text in its title bar. - } else if(fCtlTerminal.getTerminalConnection()==null){ + } else if(fCtlTerminal.getTerminalConnectorInfo()==null){ strTitle=ViewMessages.NO_CONNECTION_SELECTED; } else { // When parameter 'data' is null, we construct a descriptive string to @@ -257,7 +257,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi //In order to make the logic of assembling, and the separators, better adapt to foreign languages if(summary.length()>0) summary=summary+" - "; //$NON-NLS-1$ - String name=fCtlTerminal.getTerminalConnection().getName(); + String name=fCtlTerminal.getTerminalConnectorInfo().getName(); if(name.length()>0) { name+=": "; //$NON-NLS-1$ } @@ -276,7 +276,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // TODO: use another mechanism than "?" for the magic non initialized state // see TerminalConnectorProxy.getSettingsSummary String summary="?"; //$NON-NLS-1$ - if(fCtlTerminal.getTerminalConnection()!=null) + if(fCtlTerminal.getTerminalConnectorInfo()!=null) summary=fCtlTerminal.getSettingsSummary(); if("?".equals(summary)) { //$NON-NLS-1$ summary=fStore.get(STORE_SETTING_SUMMARY, ""); //$NON-NLS-1$ @@ -411,21 +411,21 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi * This method creates the top-level control for the Terminal view. */ protected void setupControls(Composite wndParent) { - ITerminalConnector[] connectors=TerminalConnectorExtension.getTerminalConnectors(); + ITerminalConnectorInfo[] connectors=TerminalConnectorExtension.getTerminalConnectors(); fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); String connectionType=fStore.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(connectors[i])); + connectors[i].getConnector().load(getStore(connectors[i])); if(connectors[i].getId().equals(connectionType)) fCtlTerminal.setConnector(connectors[i]); } setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ } - private void saveSettings(ITerminalConnector connector) { - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + private void saveSettings(ITerminalConnectorInfo connector) { + ITerminalConnectorInfo[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { - connectors[i].save(getStore(connectors[i])); + connectors[i].getConnector().save(getStore(connectors[i])); } if(connector!=null) { fStore.put(STORE_CONNECTION_TYPE,connector.getId()); @@ -445,7 +445,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fStore.put(STORE_SETTING_SUMMARY, getSettingsSummary()); fStore.saveState(memento); } - private ISettingsStore getStore(ITerminalConnector connector) { + private ISettingsStore getStore(ITerminalConnectorInfo connector) { return new SettingStorePrefixDecorator(fStore,connector.getId()+"."); //$NON-NLS-1$ } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index a6ae47f360e..81633071a23 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -38,5 +38,8 @@ public class ViewMessages extends NLS { public static String STATE_CONNECTING; public static String STATE_OPENED; public static String STATE_CLOSED; + + public static String CANNOT_INITIALIZE; + public static String CONNECTOR_NOT_AVAILABLE; } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index af72f181ce1..34c08082937 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -30,3 +30,6 @@ STATE_CONNECTED = CONNECTED STATE_CONNECTING = CONNECTING... STATE_OPENED = OPENED STATE_CLOSED = CLOSED + +CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} +CONNECTOR_NOT_AVAILABLE = Connector {0} not available! \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index df951caf813..d9c59a80838 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -14,7 +14,7 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.graphics.Font; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -36,10 +36,10 @@ public interface ITerminalViewControl { void disconnectTerminal(); void disposeTerminal(); String getSettingsSummary(); - ITerminalConnector[] getConnectors(); + ITerminalConnectorInfo[] getConnectors(); void setFocus(); - ITerminalConnector getTerminalConnection(); - void setConnector(ITerminalConnector connector); + ITerminalConnectorInfo getTerminalConnectorInfo(); + void setConnector(ITerminalConnectorInfo connector); void connectTerminal(); /** * @param write a single character to terminal diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 97dd54d44e5..a5453057aac 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -13,10 +13,10 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; public class TerminalViewControlFactory { - public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { + public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { return new TerminalControl(target, wndParent, connectors); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index a74893dc922..0e99bf61b57 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -13,7 +13,7 @@ package org.eclipse.tm.internal.terminal.control.impl; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -27,7 +27,7 @@ public interface ITerminalControlForText { void setState(TerminalState state); void setTerminalTitle(String title); - ITerminalConnector getTerminalConnection(); + ITerminalConnectorInfo getTerminalConnectorInfo(); void disconnectTerminal(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 663f2c26ec9..86bd2ea0353 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -49,6 +49,7 @@ import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -88,14 +89,14 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro private String fMsg = ""; //$NON-NLS-1$ private VerifyKeyListener fVerifyKeyListener; private FocusListener fFocusListener; - private ITerminalConnector fConnector; - private final ITerminalConnector[] fConnectors; + private ITerminalConnectorInfo fConnectorInfo; + private final ITerminalConnectorInfo[] fConnectors; private ICommandInputField fCommandInputField; private volatile TerminalState fState; - public TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { + public TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { fConnectors=connectors; fTerminalListener=target; setTerminalText(new TerminalText(this)); @@ -103,7 +104,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro setupTerminal(wndParent); } - public ITerminalConnector[] getConnectors() { + public ITerminalConnectorInfo[] getConnectors() { return fConnectors; } @@ -237,19 +238,28 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public void connectTerminal() { Logger.log("entered."); //$NON-NLS-1$ - if(fConnector==null) + if(getTerminalConnector()==null) return; fTerminalText.resetState(); - try { - fConnector.connect(this); - } catch(RuntimeException e) { - showErrorMessage(NLS.bind(TerminalMessages.CannotConnectTo,new Object[]{fConnector.getName(),e.getMessage()})); + if(fConnectorInfo.getInitializationErrorMessage()!=null) { + showErrorMessage(NLS.bind( + TerminalMessages.CannotConnectTo, + fConnectorInfo.getName(), + fConnectorInfo.getInitializationErrorMessage())); + // we cannot connect because the connector was not initialized return; } + getTerminalConnector().connect(this); // clean the error message setMsg(""); //$NON-NLS-1$ waitForConnect(); } + + private ITerminalConnector getTerminalConnector() { + if(fConnectorInfo==null) + return null; + return fConnectorInfo.getConnector(); + } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() */ @@ -259,9 +269,8 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro if (getState()==TerminalState.CLOSED) { return; } - if(fConnector!=null) { - fConnector.disconnect(); -// fConnector=null; + if(getTerminalConnector()!=null) { + getTerminalConnector().disconnect(); } } @@ -482,8 +491,8 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public OutputStream getOutputStream() { - if(fConnector!=null) - return fConnector.getOutputStream(); + if(getTerminalConnector()!=null) + return getTerminalConnector().getOutputStream(); return null; } @@ -523,10 +532,9 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro /** */ - public ITerminalConnector getTerminalConnection() { - return fConnector; + public ITerminalConnectorInfo getTerminalConnectorInfo() { + return fConnectorInfo; } - protected class TerminalModifyListener implements ModifyListener { public void modifyText(ModifyEvent e) { if (e.getSource() instanceof StyledText) { @@ -752,9 +760,9 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // locally, send a LF after sending a CR. // ISSUE: Is this absolutely required? - if (character == '\r' && getTerminalConnection() != null + if (character == '\r' && getTerminalConnectorInfo() != null && isConnected() - && getTerminalConnection().isLocalEcho()) { + && getTerminalConnectorInfo().getConnector().isLocalEcho()) { sendChar('\n', false); } @@ -773,8 +781,8 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // // o The character is the DELETE character. - if (getTerminalConnection() == null - || getTerminalConnection().isLocalEcho() == false || altKeyPressed + if (getTerminalConnectorInfo() == null + || getTerminalConnectorInfo().getConnector().isLocalEcho() == false || altKeyPressed || (character >= '\u0001' && character < '\t') || (character > '\t' && character < '\r') || (character > '\r' && character <= '\u001f') @@ -815,13 +823,13 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } public String getSettingsSummary() { - if(fConnector!=null) - return fConnector.getSettingsSummary(); + if(getTerminalConnector()!=null) + return getTerminalConnector().getSettingsSummary(); return ""; //$NON-NLS-1$ } - public void setConnector(ITerminalConnector connector) { - fConnector=connector; + public void setConnector(ITerminalConnectorInfo connector) { + fConnectorInfo=connector; } public ICommandInputField getCommandInputField() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index 2c49b042ca5..ee82aa2f003 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -17,4 +17,4 @@ TerminalError = Terminal Error SocketError = Socket Error IOError = IO Error -CannotConnectTo = Cannot connect to {1}:\n{2} \ No newline at end of file +CannotConnectTo = Cannot initialize {0}:\n{1} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java index 2443d091cb0..b2d966c738b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java @@ -1744,13 +1744,19 @@ public class TerminalText implements ControlListener { // there is nothing we can do to tell the remote host about the size of the // terminal. - ITerminalConnector telnetConnection = terminal.getTerminalConnection(); + ITerminalConnector telnetConnection = getConnector(); // TODO MSA: send only if dimensions have really changed! if (telnetConnection != null && widthInColumns != 0 && heightInLines != 0) { telnetConnection.setTerminalSize(widthInColumns, heightInLines); } } + private ITerminalConnector getConnector() { + if(terminal.getTerminalConnectorInfo()!=null) + return terminal.getTerminalConnectorInfo().getConnector(); + return null; + } + /** * This method computes the the pixel width of a character in the current * font. The Font object representing the font in the Terminal view doesn't diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 4c455c7c174..eea187f98d9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -28,27 +28,12 @@ import java.io.OutputStream; */ public interface ITerminalConnector { /** - * @return an ID of this connector. The id from the plugin.xml. - *

                Note: return null because the framework takes - * care to get the value from the plugin.xml + * Initializes the Connector. Some connector depend on external libraries that + * might not be installed. + * @throws Exception The exception should have a useful + * {@link Exception#getLocalizedMessage()} that explains the problem to the user. */ - // TODO: eliminate the need of implementing this NOOP method for extensions - String getId(); - - /** - * @return null the name (as specified in the plugin.xml) - *

                Note: return null because the framework takes - * care to get the value from the plugin.xml - */ - // TODO: eliminate the need of implementing this NOOP method for extensions - String getName(); - - /** - * @return true if the contribution is functioning (e.g. all external libraries are - * installed). This was added for the serial support, because it requires the java comm - * library, which is installed in the lib/ext directory of the - */ - boolean isInstalled(); + void initialize() throws Exception; /** * Connect using the current state of the settings. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java new file mode 100644 index 00000000000..4f83eea026e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +/** + * This class is a handle to a {@link ITerminalConnector connector} that comes from an + * extension. It maintains a proxy to the connector to allow lazy initialization of the + * real {@link ITerminalConnector connector} that comes from an extension. + * + */ +public interface ITerminalConnectorInfo { + /** + * @return an ID of this connector. The id from the plugin.xml. + *

                Note: return null because the framework takes + * care to get the value from the plugin.xml + */ + String getId(); + + /** + * @return null the name (as specified in the plugin.xml) + *

                Note: return null because the framework takes + * care to get the value from the plugin.xml + */ + String getName(); + + /** + * @return true if the ITerminalConnector has been initialized. + * If there was an initialization error, {@link #getInitializationErrorMessage()} + * returns the error message. + */ + boolean isInitialized(); + + /** + * This method initializes the connector if it is not initialized! + * If the connector was initialized successfully, null is + * returned. Otherwise an error message describing the problem is returned. + * @return null or a localized error message. + */ + String getInitializationErrorMessage(); + + /** + * Returns a proxy to the connector that is lazily initialized. + * The following methods can be called without initializing + * the contributed class: + * {@link ITerminalConnector#getSettingsSummary()}, {@link ITerminalConnector#load(ISettingsStore)}, + * {@link ITerminalConnector#save(ISettingsStore)}, {@link ITerminalConnector#setTerminalSize(int, int)} + * @return a proxy of the real connector. Some calls initialize the the connection. + */ + ITerminalConnector getConnector(); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 05e59a42c11..ca3d6bfde42 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -16,10 +16,7 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.RegistryFactory; -import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; /** * A factory to get {@link ITerminalConnector} instances. @@ -34,6 +31,28 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; *

                */ public class TerminalConnectorExtension { + static private class TerminalConnectorInfo implements ITerminalConnectorInfo { + TerminalConnectorProxy fProxy; + TerminalConnectorInfo(TerminalConnectorProxy proxy) { + fProxy=proxy; + } + public ITerminalConnector getConnector() { + return fProxy; + } + public String getId() { + return fProxy.getId(); + } + public String getName() { + return fProxy.getName(); + } + public String getInitializationErrorMessage() { + return fProxy.getLocalizedErrorMessage(); + } + public boolean isInitialized() { + return fProxy.isInitialized(); + } + + } /** * A placeholder for the ITerminalConnector. It gets initialized when * the real connector is needed. @@ -67,6 +86,12 @@ public class TerminalConnectorExtension { TerminalConnectorProxy(IConfigurationElement config) { fConfig=config; } + public String getLocalizedErrorMessage() { + getConnector(); + if(fException!=null) + return fException.getLocalizedMessage(); + return null; + } public String getId() { String id = fConfig.getAttribute("id"); //$NON-NLS-1$ if(id==null || id.length()==0) @@ -84,17 +109,15 @@ public class TerminalConnectorExtension { if(!isInitialized()) { try { fConnector=createConnector(fConfig); - if(fConnector==null || !fConnector.isInstalled()) - // TODO MSA externalize - throw new RuntimeException(getName()+ " is not properly installed!"); //$NON-NLS-1$ + fConnector.initialize(); } catch (Exception e) { fException=e; + // that's the place where we log the exception + Logger.logException(e); } if(fConnector!=null && fStore!=null) fConnector.load(fStore); } - if(fException!=null) - throw new RuntimeException(fException); return fConnector; } private boolean isInitialized() { @@ -116,11 +139,6 @@ public class TerminalConnectorExtension { // TODO: see TerminalView.getSettingsSummary return "?"; //$NON-NLS-1$ } - public boolean isInstalled() { - if(isInitialized() && fConnector==null) - return false; - return getConnector().isInstalled(); - } public boolean isLocalEcho() { return getConnector().isLocalEcho(); } @@ -137,7 +155,7 @@ public class TerminalConnectorExtension { public void save(ISettingsStore store) { // no need to save the settings: it cannot have changed // because we are not initialized.... - if(!isInstalled()) + if(fConnector!=null) getConnector().save(store); } public void setTerminalSize(int newWidth, int newHeight) { @@ -148,37 +166,26 @@ public class TerminalConnectorExtension { fConnector.setTerminalSize(newWidth, newHeight); } } + public void initialize() throws Exception { + throw new IllegalStateException("Connector already initialized!"); //$NON-NLS-1$ + } } /** * @return null or a new connector created from the extension */ static private ITerminalConnector createConnector(IConfigurationElement config) throws Exception { - try { - Object obj=config.createExecutableExtension("class"); //$NON-NLS-1$ - if(obj instanceof ITerminalConnector) { - ITerminalConnector conn=(ITerminalConnector) obj; - if(conn.isInstalled()) - return conn; - } - } catch (Exception e) { - log(e); - throw e; - } - return null; + return (ITerminalConnector)config.createExecutableExtension("class"); //$NON-NLS-1$ } /** - * @return a new list of ITerminalConnectors. + * @return a new list of ITerminalConnectorInfo. */ - public static ITerminalConnector[] getTerminalConnectors() { + public static ITerminalConnectorInfo[] getTerminalConnectors() { IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ List result=new ArrayList(); for (int i = 0; i < config.length; i++) { - result.add(new TerminalConnectorProxy(config[i])); + result.add(new TerminalConnectorInfo(new TerminalConnectorProxy(config[i]))); } - return (ITerminalConnector[]) result.toArray(new ITerminalConnector[result.size()]); + return (ITerminalConnectorInfo[]) result.toArray(new ITerminalConnectorInfo[result.size()]); } - private static void log(Throwable e) { - TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, e.getMessage(), e)); - } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 6a629fdac33..73097e4e442 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -41,15 +41,11 @@ public class TelnetConnector implements ITerminalConnector { public TelnetConnector() { this(new TelnetSettings()); } - public String getId() { - return null; - } - public String getName() { - return null; - } public TelnetConnector(TelnetSettings settings) { fSettings=settings; } + public void initialize() throws Exception { + } public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ fControl=control; @@ -165,7 +161,4 @@ public class TelnetConnector implements ITerminalConnector { public void save(ISettingsStore store) { fSettings.save(store); } - public boolean isInstalled() { - return true; - } } From 6f90e83fd3f8019285f9be44bbddff1abef90c48 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 29 May 2007 20:30:45 +0000 Subject: [PATCH 144/843] Update about.html date for Europa --- org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html | 2 +- .../sourceTemplatePlugin/about.html | 2 +- org.eclipse.tm.terminal.serial/about.html | 2 +- .../sourceTemplatePlugin/about.html | 2 +- org.eclipse.tm.terminal.ssh/about.html | 2 +- .../sourceTemplatePlugin/about.html | 2 +- org.eclipse.tm.terminal.view/about.html | 2 +- org.eclipse.tm.terminal/about.html | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html index 23d575ceea9..e7b57cffff2 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html index 23d575ceea9..e7b57cffff2 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.serial/about.html b/org.eclipse.tm.terminal.serial/about.html index 460233046ee..d4cc693f9f0 100644 --- a/org.eclipse.tm.terminal.serial/about.html +++ b/org.eclipse.tm.terminal.serial/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html index 23d575ceea9..e7b57cffff2 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.ssh/about.html b/org.eclipse.tm.terminal.ssh/about.html index 460233046ee..d4cc693f9f0 100644 --- a/org.eclipse.tm.terminal.ssh/about.html +++ b/org.eclipse.tm.terminal.ssh/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html index 23d575ceea9..e7b57cffff2 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal.view/about.html b/org.eclipse.tm.terminal.view/about.html index 460233046ee..d4cc693f9f0 100644 --- a/org.eclipse.tm.terminal.view/about.html +++ b/org.eclipse.tm.terminal.view/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise diff --git a/org.eclipse.tm.terminal/about.html b/org.eclipse.tm.terminal/about.html index 460233046ee..d4cc693f9f0 100644 --- a/org.eclipse.tm.terminal/about.html +++ b/org.eclipse.tm.terminal/about.html @@ -8,7 +8,7 @@

                About This Content

                -

                June 2, 2006

                +

                June 5, 2007

                License

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise From 121371bdbd8c4e2cb66981cf989fd18edf7f0b4c Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 30 May 2007 02:55:34 +0000 Subject: [PATCH 145/843] [189818] Terminal View : Connection Settings, Telnel and SSH : Time out value does not have unit specified. --- .../org/eclipse/tm/internal/terminal/ssh/SshMessages.properties | 2 +- .../tm/internal/terminal/telnet/TelnetMessages.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties index 3a3327ca7c3..b3e54267791 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties @@ -13,7 +13,7 @@ HOST = Host USER = User PORT = Port PASSWORD = Password -TIMEOUT = Timeout +TIMEOUT = Timeout (sec) WARNING = Warning INFO = Info diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties index 4eec9152803..31bf348bd7d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties @@ -17,4 +17,4 @@ PORT = Port HOST = Host CONNECTION_CLOSED_BY_FOREIGN_HOST= Connection closed by foreign host. -TIMEOUT = Timeout +TIMEOUT = Timeout (sec) From 6d8131c4c1b4a631617a053edf5107d0d21c180d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 1 Jun 2007 12:58:47 +0000 Subject: [PATCH 146/843] [189543] Fix feature licensing for Europa --- org.eclipse.tm.terminal-feature/feature.properties | 2 +- org.eclipse.tm.terminal-feature/license.html | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 +- org.eclipse.tm.terminal.sdk-feature/license.html | 2 +- org.eclipse.tm.terminal.serial-feature/feature.properties | 2 +- org.eclipse.tm.terminal.serial-feature/license.html | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.properties | 2 +- org.eclipse.tm.terminal.ssh-feature/license.html | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.view-feature/feature.properties | 2 +- org.eclipse.tm.terminal.view-feature/license.html | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplateFeature/license.html | 2 +- 18 files changed, 18 insertions(+), 18 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 11fc374b684..3bd5c1c9f70 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -78,7 +78,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal-feature/license.html b/org.eclipse.tm.terminal-feature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal-feature/license.html +++ b/org.eclipse.tm.terminal-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 73d15391431..940cbaee260 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 392ff35554f..1eca83042bc 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -78,7 +78,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.sdk-feature/license.html b/org.eclipse.tm.terminal.sdk-feature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.sdk-feature/license.html +++ b/org.eclipse.tm.terminal.sdk-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index 485d3734e19..eaadbe2bcd1 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/license.html b/org.eclipse.tm.terminal.serial-feature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.serial-feature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 0c1ce3a27b1..c411893848a 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 08e59dfce27..8f565798378 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/license.html b/org.eclipse.tm.terminal.ssh-feature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.ssh-feature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 79587f54824..af782af4bf0 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index ae6af030f58..cc9e692efa6 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.view-feature/license.html b/org.eclipse.tm.terminal.view-feature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.view-feature/license.html +++ b/org.eclipse.tm.terminal.view-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index b22eac61ab9..299b46bd07d 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -77,7 +77,7 @@ as downloadable archives ("Downloads").\n\ - Content may be structured and packaged into modules to facilitate delivering,\n\ extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java? ARchive)\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ in a directory named "plugins".\n\ - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ Each Feature may be packaged as a sub-directory in a directory named "features".\n\ diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html index c6af966b61e..d44d5debfba 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. From f3c09816b1253a48fafa1c3d41b7587b62432d80 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 4 Jun 2007 16:09:55 +0000 Subject: [PATCH 147/843] Restore apostrophe instead of ’ in license.html in order to be the verbatim notice.html --- org.eclipse.tm.terminal-feature/license.html | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.sdk-feature/license.html | 2 +- org.eclipse.tm.terminal.serial-feature/license.html | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.ssh-feature/license.html | 2 +- .../sourceTemplateFeature/license.html | 2 +- org.eclipse.tm.terminal.view-feature/license.html | 2 +- .../sourceTemplateFeature/license.html | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/license.html b/org.eclipse.tm.terminal-feature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal-feature/license.html +++ b/org.eclipse.tm.terminal-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.sdk-feature/license.html b/org.eclipse.tm.terminal.sdk-feature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.sdk-feature/license.html +++ b/org.eclipse.tm.terminal.sdk-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.serial-feature/license.html b/org.eclipse.tm.terminal.serial-feature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.serial-feature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.ssh-feature/license.html b/org.eclipse.tm.terminal.ssh-feature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.ssh-feature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.view-feature/license.html b/org.eclipse.tm.terminal.view-feature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.view-feature/license.html +++ b/org.eclipse.tm.terminal.view-feature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html index d44d5debfba..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html @@ -71,7 +71,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

                Cryptography

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country’s laws, regulations and policies concerning the import, + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

                Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. From 353abbbf0460c12179f87467a6f693484cdd8b03 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 12:47:09 +0000 Subject: [PATCH 148/843] [cleanup] Fix Terminal SSH Feature Copyright Dates --- org.eclipse.tm.terminal.ssh-feature/feature.properties | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 8f565798378..b44c5c22766 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -30,7 +30,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2006, 2007 Wind River Systems, Inc., IBM Corporation and others.\n\ +Copyright (c) 2000, 2007 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 471ca9f96e5..52528a0dabb 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -2,8 +2,8 @@ + provider-name="%providerName" + version="1.0.0.qualifier"> %description From 692fbe8e50cac2bba3d84ff814b17b801afbff90 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 12:48:29 +0000 Subject: [PATCH 149/843] [174162][api] Move Terminal Telnet Connector into a separate plugin --- .../build.properties | 1 + .../feature.xml | 8 + .../.project | 17 + .../build.properties | 14 + .../epl-v10.html | 328 ++++++++++++++++++ .../feature.properties | 143 ++++++++ .../feature.xml | 38 ++ .../license.html | 79 +++++ .../sourceTemplateFeature/epl-v10.html | 328 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 143 ++++++++ .../sourceTemplateFeature/license.html | 79 +++++ .../sourceTemplatePlugin/about.html | 33 ++ .../sourceTemplatePlugin/about.ini | 27 ++ .../sourceTemplatePlugin/about.mappings | 6 + .../sourceTemplatePlugin/about.properties | 25 ++ .../sourceTemplatePlugin/build.properties | 12 + .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 12 + org.eclipse.tm.terminal.telnet/.classpath | 7 + org.eclipse.tm.terminal.telnet/.cvsignore | 1 + org.eclipse.tm.terminal.telnet/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 66 ++++ .../.settings/org.eclipse.jdt.ui.prefs | 3 + .../META-INF/MANIFEST.MF | 13 + org.eclipse.tm.terminal.telnet/about.html | 28 ++ org.eclipse.tm.terminal.telnet/about.ini | 27 ++ org.eclipse.tm.terminal.telnet/about.mappings | 6 + .../about.properties | 25 ++ .../build.properties | 27 ++ org.eclipse.tm.terminal.telnet/eclipse32.png | Bin 0 -> 4594 bytes .../plugin.properties | 19 + org.eclipse.tm.terminal.telnet/plugin.xml | 19 + .../terminal/telnet/ITelnetSettings.java | 0 .../terminal/telnet/NetworkPortMap.java | 0 .../internal/terminal/telnet/TelnetCodes.java | 0 .../terminal/telnet/TelnetConnectWorker.java | 0 .../terminal/telnet/TelnetConnection.java | 0 .../terminal/telnet/TelnetConnector.java | 0 .../terminal/telnet/TelnetMessages.java | 0 .../terminal/telnet/TelnetMessages.properties | 0 .../terminal/telnet/TelnetOption.java | 0 .../terminal/telnet/TelnetProperties.java | 0 .../terminal/telnet/TelnetSettings.java | 0 .../terminal/telnet/TelnetSettingsPage.java | 0 org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 3 +- org.eclipse.tm.terminal/plugin.xml | 5 - .../terminal/control/impl/TerminalText.java | 3 +- 47 files changed, 1564 insertions(+), 9 deletions(-) create mode 100644 org.eclipse.tm.terminal.telnet-feature/.project create mode 100644 org.eclipse.tm.terminal.telnet-feature/build.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.telnet-feature/feature.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.telnet-feature/license.html create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties create mode 100644 org.eclipse.tm.terminal.telnet/.classpath create mode 100644 org.eclipse.tm.terminal.telnet/.cvsignore create mode 100644 org.eclipse.tm.terminal.telnet/.project create mode 100644 org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs create mode 100644 org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.telnet/about.html create mode 100644 org.eclipse.tm.terminal.telnet/about.ini create mode 100644 org.eclipse.tm.terminal.telnet/about.mappings create mode 100644 org.eclipse.tm.terminal.telnet/about.properties create mode 100644 org.eclipse.tm.terminal.telnet/build.properties create mode 100644 org.eclipse.tm.terminal.telnet/eclipse32.png create mode 100644 org.eclipse.tm.terminal.telnet/plugin.properties create mode 100644 org.eclipse.tm.terminal.telnet/plugin.xml rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java (100%) rename {org.eclipse.tm.terminal => org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java (100%) diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index ea6fc1c9ed6..3e746ac0468 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -16,4 +16,5 @@ bin.includes = feature.xml,\ generate.feature@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal generate.feature@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial generate.feature@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.feature@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet generate.feature@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index da8cdf8f5d7..76fdf207986 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -35,6 +35,10 @@ id="org.eclipse.tm.terminal.ssh" version="0.0.0"/> + + @@ -51,6 +55,10 @@ id="org.eclipse.tm.terminal.ssh.source" version="0.0.0"/> + + diff --git a/org.eclipse.tm.terminal.telnet-feature/.project b/org.eclipse.tm.terminal.telnet-feature/.project new file mode 100644 index 00000000000..c78da8d1f85 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.telnet-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/org.eclipse.tm.terminal.telnet-feature/build.properties new file mode 100644 index 00000000000..6c1e50644f2 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -0,0 +1,14 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html diff --git a/org.eclipse.tm.terminal.telnet-feature/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
                + +

                Eclipse Public License - v 1.0 +

                + +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

                + +

                1. DEFINITIONS

                + +

                "Contribution" means:

                + +

                a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
                +b) in the case of each subsequent Contributor:

                + +

                i) +changes to the Program, and

                + +

                ii) +additions to the Program;

                + +

                where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

                + +

                "Contributor" means any person or +entity that distributes the Program.

                + +

                "Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

                + +

                "Program" means the Contributions +distributed in accordance with this Agreement.

                + +

                "Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

                + +

                2. GRANT OF RIGHTS

                + +

                a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

                + +

                b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

                + +

                c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

                + +

                d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

                + +

                3. REQUIREMENTS

                + +

                A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

                + +

                a) +it complies with the terms and conditions of this Agreement; and

                + +

                b) +its license agreement:

                + +

                i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

                + +

                ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

                + +

                iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

                + +

                iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

                + +

                When the Program is made available in source +code form:

                + +

                a) +it must be made available under this Agreement; and

                + +

                b) a +copy of this Agreement must be included with each copy of the Program.

                + +

                Contributors may not remove or alter any +copyright notices contained within the Program.

                + +

                Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

                + +

                4. COMMERCIAL DISTRIBUTION

                + +

                Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

                + +

                For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

                + +

                5. NO WARRANTY

                + +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

                + +

                6. DISCLAIMER OF LIABILITY

                + +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

                + +

                7. GENERAL

                + +

                If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

                + +

                If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

                + +

                All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

                + +

                Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

                + +

                This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

                + +

                 

                + +
                + + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties new file mode 100644 index 00000000000..c96d51220ac --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -0,0 +1,143 @@ +############################################################################### +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Telnet Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml new file mode 100644 index 00000000000..81786ff3262 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -0,0 +1,38 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.telnet-feature/license.html b/org.eclipse.tm.terminal.telnet-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

                Eclipse Foundation Software User Agreement

                +

                March 17, 2005

                + +

                Usage Of Content

                + +

                THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                + +

                Applicable Licenses

                + +

                Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

                + +

                Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

                + +
                  +
                • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                • +
                • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                • +
                • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
                • +
                • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                • +
                + +

                The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

                + +
                  +
                • The top-level (root) directory
                • +
                • Plug-in and Fragment directories
                • +
                • Inside Plug-ins and Fragments packaged as JARs
                • +
                • Sub-directories of the directory named "src" of certain Plug-ins
                • +
                • Feature directories
                • +
                + +

                Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

                + +

                THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                + + + +

                IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                + +

                Cryptography

                + +

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

                + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..ed4b196655e --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,328 @@ + + + + + + + + +Eclipse Public License - Version 1.0 + + + + + + +
                + +

                Eclipse Public License - v 1.0 +

                + +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER +THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, +REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE +OF THIS AGREEMENT.

                + +

                1. DEFINITIONS

                + +

                "Contribution" means:

                + +

                a) +in the case of the initial Contributor, the initial code and documentation +distributed under this Agreement, and
                +b) in the case of each subsequent Contributor:

                + +

                i) +changes to the Program, and

                + +

                ii) +additions to the Program;

                + +

                where +such changes and/or additions to the Program originate from and are distributed +by that particular Contributor. A Contribution 'originates' from a Contributor +if it was added to the Program by such Contributor itself or anyone acting on +such Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in conjunction +with the Program under their own license agreement, and (ii) are not derivative +works of the Program.

                + +

                "Contributor" means any person or +entity that distributes the Program.

                + +

                "Licensed Patents " mean patent +claims licensable by a Contributor which are necessarily infringed by the use +or sale of its Contribution alone or when combined with the Program.

                + +

                "Program" means the Contributions +distributed in accordance with this Agreement.

                + +

                "Recipient" means anyone who +receives the Program under this Agreement, including all Contributors.

                + +

                2. GRANT OF RIGHTS

                + +

                a) +Subject to the terms of this Agreement, each Contributor hereby grants Recipient +a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly +display, publicly perform, distribute and sublicense the Contribution of such +Contributor, if any, and such derivative works, in source code and object code +form.

                + +

                b) +Subject to the terms of this Agreement, each Contributor hereby grants +Recipient a non-exclusive, worldwide, royalty-free +patent license under Licensed Patents to make, use, sell, offer to sell, import +and otherwise transfer the Contribution of such Contributor, if any, in source +code and object code form. This patent license shall apply to the combination +of the Contribution and the Program if, at the time the Contribution is added +by the Contributor, such addition of the Contribution causes such combination +to be covered by the Licensed Patents. The patent license shall not apply to +any other combinations which include the Contribution. No hardware per se is +licensed hereunder.

                + +

                c) +Recipient understands that although each Contributor grants the licenses to its +Contributions set forth herein, no assurances are provided by any Contributor +that the Program does not infringe the patent or other intellectual property +rights of any other entity. Each Contributor disclaims any liability to Recipient +for claims brought by any other entity based on infringement of intellectual +property rights or otherwise. As a condition to exercising the rights and +licenses granted hereunder, each Recipient hereby assumes sole responsibility +to secure any other intellectual property rights needed, if any. For example, +if a third party patent license is required to allow Recipient to distribute +the Program, it is Recipient's responsibility to acquire that license before +distributing the Program.

                + +

                d) +Each Contributor represents that to its knowledge it has sufficient copyright +rights in its Contribution, if any, to grant the copyright license set forth in +this Agreement.

                + +

                3. REQUIREMENTS

                + +

                A Contributor may choose to distribute the +Program in object code form under its own license agreement, provided that: +

                + +

                a) +it complies with the terms and conditions of this Agreement; and

                + +

                b) +its license agreement:

                + +

                i) +effectively disclaims on behalf of all Contributors all warranties and +conditions, express and implied, including warranties or conditions of title +and non-infringement, and implied warranties or conditions of merchantability +and fitness for a particular purpose;

                + +

                ii) +effectively excludes on behalf of all Contributors all liability for damages, +including direct, indirect, special, incidental and consequential damages, such +as lost profits;

                + +

                iii) +states that any provisions which differ from this Agreement are offered by that +Contributor alone and not by any other party; and

                + +

                iv) +states that source code for the Program is available from such Contributor, and +informs licensees how to obtain it in a reasonable manner on or through a +medium customarily used for software exchange.

                + +

                When the Program is made available in source +code form:

                + +

                a) +it must be made available under this Agreement; and

                + +

                b) a +copy of this Agreement must be included with each copy of the Program.

                + +

                Contributors may not remove or alter any +copyright notices contained within the Program.

                + +

                Each Contributor must identify itself as the +originator of its Contribution, if any, in a manner that reasonably allows +subsequent Recipients to identify the originator of the Contribution.

                + +

                4. COMMERCIAL DISTRIBUTION

                + +

                Commercial distributors of software may +accept certain responsibilities with respect to end users, business partners +and the like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create potential +liability for other Contributors. Therefore, if a Contributor includes the +Program in a commercial product offering, such Contributor ("Commercial +Contributor") hereby agrees to defend and indemnify every other +Contributor ("Indemnified Contributor") against any losses, damages and +costs (collectively "Losses") arising from claims, lawsuits and other +legal actions brought by a third party against the Indemnified Contributor to +the extent caused by the acts or omissions of such Commercial Contributor in +connection with its distribution of the Program in a commercial product +offering. The obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In order +to qualify, an Indemnified Contributor must: a) promptly notify the Commercial +Contributor in writing of such claim, and b) allow the Commercial Contributor +to control, and cooperate with the Commercial Contributor in, the defense and +any related settlement negotiations. The Indemnified Contributor may participate +in any such claim at its own expense.

                + +

                For example, a Contributor might include the +Program in a commercial product offering, Product X. That Contributor is then a +Commercial Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance claims and +warranties are such Commercial Contributor's responsibility alone. Under this +section, the Commercial Contributor would have to defend claims against the +other Contributors related to those performance claims and warranties, and if a +court requires any other Contributor to pay any damages as a result, the +Commercial Contributor must pay those damages.

                + +

                5. NO WARRANTY

                + +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, +WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, +MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and distributing the +Program and assumes all risks associated with its exercise of rights under this +Agreement , including but not limited to the risks and costs of program errors, +compliance with applicable laws, damage to or loss of data, programs or +equipment, and unavailability or interruption of operations.

                + +

                6. DISCLAIMER OF LIABILITY

                + +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS +AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY +OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF +THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF +THE POSSIBILITY OF SUCH DAMAGES.

                + +

                7. GENERAL

                + +

                If any provision of this Agreement is invalid +or unenforceable under applicable law, it shall not affect the validity or +enforceability of the remainder of the terms of this Agreement, and without +further action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable.

                + +

                If Recipient institutes patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Program itself (excluding combinations of the Program with +other software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the date +such litigation is filed.

                + +

                All Recipient's rights under this Agreement +shall terminate if it fails to comply with any of the material terms or +conditions of this Agreement and does not cure such failure in a reasonable +period of time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

                + +

                Everyone is permitted to copy and distribute +copies of this Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The Agreement +Steward reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement Steward has +the right to modify this Agreement. The Eclipse Foundation is the initial +Agreement Steward. The Eclipse Foundation may assign the responsibility to +serve as the Agreement Steward to a suitable separate entity. Each new version +of the Agreement will be given a distinguishing version number. The Program +(including Contributions) may always be distributed subject to the version of +the Agreement under which it was received. In addition, after a new version of +the Agreement is published, Contributor may elect to distribute the Program +(including its Contributions) under the new version. Except as expressly stated +in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to +the intellectual property of any Contributor under this Agreement, whether +expressly, by implication, estoppel or otherwise. All rights in the Program not +expressly granted under this Agreement are reserved.

                + +

                This Agreement is governed by the laws of the +State of New York and the intellectual property laws of the United States of +America. No party to this Agreement will bring a legal action under this +Agreement more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation.

                + +

                 

                + +
                + + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..eb7b7b67868 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,143 @@ +############################################################################### +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Telnet Connector Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

                Eclipse Foundation Software User Agreement

                +

                March 17, 2005

                + +

                Usage Of Content

                + +

                THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                + +

                Applicable Licenses

                + +

                Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

                + +

                Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

                + +
                  +
                • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                • +
                • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                • +
                • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
                • +
                • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                • +
                + +

                The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

                + +
                  +
                • The top-level (root) directory
                • +
                • Plug-in and Fragment directories
                • +
                • Inside Plug-ins and Fragments packaged as JARs
                • +
                • Sub-directories of the directory named "src" of certain Plug-ins
                • +
                • Feature directories
                • +
                + +

                Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

                + +

                THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                + + + +

                IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                + +

                Cryptography

                + +

                Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

                + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..e7b57cffff2 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

                About This Content

                + +

                June 5, 2007

                +

                License

                + +

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                + +

                If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                + +

                Source Code

                +

                This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini new file mode 100644 index 00000000000..fdd61ff0dd8 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=eclipse32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties new file mode 100644 index 00000000000..cabafe3c463 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties @@ -0,0 +1,25 @@ +################################################################################ +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=Target Management Terminal Telnet Connector Source\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..89c807a286c --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png new file mode 100644 index 0000000000000000000000000000000000000000..568fac1d05f4d05a2470f02033e92c77ce49a660 GIT binary patch literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO + + + + + + diff --git a/org.eclipse.tm.terminal.telnet/.cvsignore b/org.eclipse.tm.terminal.telnet/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/org.eclipse.tm.terminal.telnet/.project b/org.eclipse.tm.terminal.telnet/.project new file mode 100644 index 00000000000..141a2dcee8f --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tm.terminal.telnet + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..cb7a272ad2d --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,66 @@ +#Tue Jun 05 14:27:33 CEST 2007 +eclipse.preferences.version=1 +instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..9a20fca52a4 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Mon Jul 31 14:55:17 CEST 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..e6e1e91d535 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal +Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true +Eclipse-LazyStart: true diff --git a/org.eclipse.tm.terminal.telnet/about.html b/org.eclipse.tm.terminal.telnet/about.html new file mode 100644 index 00000000000..d4cc693f9f0 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                About This Content

                + +

                June 5, 2007

                +

                License

                + +

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                + +

                If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet/about.ini b/org.eclipse.tm.terminal.telnet/about.ini new file mode 100644 index 00000000000..fdd61ff0dd8 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=eclipse32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet/about.mappings b/org.eclipse.tm.terminal.telnet/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet/about.properties b/org.eclipse.tm.terminal.telnet/about.properties new file mode 100644 index 00000000000..c6b0c8536a8 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/about.properties @@ -0,0 +1,25 @@ +################################################################################ +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=Target Management Terminal Telnet Connector\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet/build.properties b/org.eclipse.tm.terminal.telnet/build.properties new file mode 100644 index 00000000000..d2372b688ec --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/build.properties @@ -0,0 +1,27 @@ +############################################################################### +# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +############################################################################### +bin.includes = .,\ + META-INF/,\ + plugin.xml,\ + plugin.properties,\ + about.html,about.ini,about.mappings,about.properties,\ + eclipse32.png + +source.. = src/ +output.. = bin/ +src.includes = about.html + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet/eclipse32.png b/org.eclipse.tm.terminal.telnet/eclipse32.png new file mode 100644 index 0000000000000000000000000000000000000000..568fac1d05f4d05a2470f02033e92c77ce49a660 GIT binary patch literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO + + + + + + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java rename to org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 61bf9a50cba..a1ddfdd674d 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -13,5 +13,4 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, - org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.view", - org.eclipse.tm.internal.terminal.telnet;x-internal:=true + org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view" diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 8cba54c9549..0f7e5294e56 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -13,11 +13,6 @@ --> - - - - From 9801edf8cac4cd7542cd57576e723ec5a9718617 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 12:51:06 +0000 Subject: [PATCH 150/843] [cleanup] Update Copyrights --- org.eclipse.tm.terminal.sdk-feature/build.properties | 2 +- org.eclipse.tm.terminal.telnet-feature/build.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- org.eclipse.tm.terminal.telnet/build.properties | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index 3e746ac0468..26bc2fd67f8 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/org.eclipse.tm.terminal.telnet-feature/build.properties index 6c1e50644f2..8babd3045ce 100644 --- a/org.eclipse.tm.terminal.telnet-feature/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties index 89c807a286c..d8761451956 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet/build.properties b/org.eclipse.tm.terminal.telnet/build.properties index d2372b688ec..e11f3e3df20 100644 --- a/org.eclipse.tm.terminal.telnet/build.properties +++ b/org.eclipse.tm.terminal.telnet/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -24,4 +24,4 @@ bin.includes = .,\ source.. = src/ output.. = bin/ src.includes = about.html - \ No newline at end of file + From 1856fb6363ae797bf76cbf939e900627330cd19c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 13:23:27 +0000 Subject: [PATCH 151/843] [IPBug:1565] Update epl-v10.html to cleaned-up simplified version --- org.eclipse.tm.terminal-feature/epl-v10.html | 488 ++++++++---------- .../sourceTemplateFeature/epl-v10.html | 488 ++++++++---------- .../epl-v10.html | 488 ++++++++---------- .../epl-v10.html | 488 ++++++++---------- .../sourceTemplateFeature/epl-v10.html | 488 ++++++++---------- .../epl-v10.html | 488 ++++++++---------- .../sourceTemplateFeature/epl-v10.html | 488 ++++++++---------- .../epl-v10.html | 488 ++++++++---------- .../sourceTemplateFeature/epl-v10.html | 488 ++++++++---------- .../epl-v10.html | 488 ++++++++---------- .../sourceTemplateFeature/epl-v10.html | 488 ++++++++---------- 11 files changed, 2288 insertions(+), 3080 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/epl-v10.html b/org.eclipse.tm.terminal-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal-feature/epl-v10.html +++ b/org.eclipse.tm.terminal-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.sdk-feature/epl-v10.html b/org.eclipse.tm.terminal.sdk-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.sdk-feature/epl-v10.html +++ b/org.eclipse.tm.terminal.sdk-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial-feature/epl-v10.html b/org.eclipse.tm.terminal.serial-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.serial-feature/epl-v10.html +++ b/org.eclipse.tm.terminal.serial-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh-feature/epl-v10.html b/org.eclipse.tm.terminal.ssh-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.ssh-feature/epl-v10.html +++ b/org.eclipse.tm.terminal.ssh-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.telnet-feature/epl-v10.html +++ b/org.eclipse.tm.terminal.telnet-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/epl-v10.html b/org.eclipse.tm.terminal.view-feature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.view-feature/epl-v10.html +++ b/org.eclipse.tm.terminal.view-feature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html index ed4b196655e..9321f4082e7 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html @@ -1,328 +1,256 @@ - + + - - - - - - -Eclipse Public License - Version 1.0 - - - - -
                -

                Eclipse Public License - v 1.0 -

                +Eclipse Public License - Version 1.0 -

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER -THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, -REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE -OF THIS AGREEMENT.

                + -

                1. DEFINITIONS

                +

                Eclipse Public License - v 1.0

                -

                "Contribution" means:

                +

                THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                -

                a) -in the case of the initial Contributor, the initial code and documentation -distributed under this Agreement, and
                -b) in the case of each subsequent Contributor:

                +

                1. DEFINITIONS

                -

                i) -changes to the Program, and

                +

                "Contribution" means:

                -

                ii) -additions to the Program;

                +

                a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                +

                b) in the case of each subsequent Contributor:

                +

                i) changes to the Program, and

                +

                ii) additions to the Program;

                +

                where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                -

                where -such changes and/or additions to the Program originate from and are distributed -by that particular Contributor. A Contribution 'originates' from a Contributor -if it was added to the Program by such Contributor itself or anyone acting on -such Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in conjunction -with the Program under their own license agreement, and (ii) are not derivative -works of the Program.

                +

                "Contributor" means any person or entity that distributes +the Program.

                -

                "Contributor" means any person or -entity that distributes the Program.

                +

                "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                -

                "Licensed Patents " mean patent -claims licensable by a Contributor which are necessarily infringed by the use -or sale of its Contribution alone or when combined with the Program.

                +

                "Program" means the Contributions distributed in accordance +with this Agreement.

                -

                "Program" means the Contributions -distributed in accordance with this Agreement.

                +

                "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                -

                "Recipient" means anyone who -receives the Program under this Agreement, including all Contributors.

                +

                2. GRANT OF RIGHTS

                -

                2. GRANT OF RIGHTS

                +

                a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                -

                a) -Subject to the terms of this Agreement, each Contributor hereby grants Recipient -a non-exclusive, worldwide, royalty-free copyright license to reproduce, prepare derivative works of, publicly -display, publicly perform, distribute and sublicense the Contribution of such -Contributor, if any, and such derivative works, in source code and object code -form.

                +

                b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                -

                b) -Subject to the terms of this Agreement, each Contributor hereby grants -Recipient a non-exclusive, worldwide, royalty-free -patent license under Licensed Patents to make, use, sell, offer to sell, import -and otherwise transfer the Contribution of such Contributor, if any, in source -code and object code form. This patent license shall apply to the combination -of the Contribution and the Program if, at the time the Contribution is added -by the Contributor, such addition of the Contribution causes such combination -to be covered by the Licensed Patents. The patent license shall not apply to -any other combinations which include the Contribution. No hardware per se is -licensed hereunder.

                +

                c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                -

                c) -Recipient understands that although each Contributor grants the licenses to its -Contributions set forth herein, no assurances are provided by any Contributor -that the Program does not infringe the patent or other intellectual property -rights of any other entity. Each Contributor disclaims any liability to Recipient -for claims brought by any other entity based on infringement of intellectual -property rights or otherwise. As a condition to exercising the rights and -licenses granted hereunder, each Recipient hereby assumes sole responsibility -to secure any other intellectual property rights needed, if any. For example, -if a third party patent license is required to allow Recipient to distribute -the Program, it is Recipient's responsibility to acquire that license before -distributing the Program.

                +

                d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                -

                d) -Each Contributor represents that to its knowledge it has sufficient copyright -rights in its Contribution, if any, to grant the copyright license set forth in -this Agreement.

                +

                3. REQUIREMENTS

                -

                3. REQUIREMENTS

                +

                A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                -

                A Contributor may choose to distribute the -Program in object code form under its own license agreement, provided that: -

                +

                a) it complies with the terms and conditions of this +Agreement; and

                -

                a) -it complies with the terms and conditions of this Agreement; and

                +

                b) its license agreement:

                -

                b) -its license agreement:

                +

                i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                -

                i) -effectively disclaims on behalf of all Contributors all warranties and -conditions, express and implied, including warranties or conditions of title -and non-infringement, and implied warranties or conditions of merchantability -and fitness for a particular purpose;

                +

                ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                -

                ii) -effectively excludes on behalf of all Contributors all liability for damages, -including direct, indirect, special, incidental and consequential damages, such -as lost profits;

                +

                iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                -

                iii) -states that any provisions which differ from this Agreement are offered by that -Contributor alone and not by any other party; and

                +

                iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                -

                iv) -states that source code for the Program is available from such Contributor, and -informs licensees how to obtain it in a reasonable manner on or through a -medium customarily used for software exchange.

                +

                When the Program is made available in source code form:

                -

                When the Program is made available in source -code form:

                +

                a) it must be made available under this Agreement; and

                -

                a) -it must be made available under this Agreement; and

                +

                b) a copy of this Agreement must be included with each +copy of the Program.

                -

                b) a -copy of this Agreement must be included with each copy of the Program.

                +

                Contributors may not remove or alter any copyright notices contained +within the Program.

                -

                Contributors may not remove or alter any -copyright notices contained within the Program.

                +

                Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                -

                Each Contributor must identify itself as the -originator of its Contribution, if any, in a manner that reasonably allows -subsequent Recipients to identify the originator of the Contribution.

                +

                4. COMMERCIAL DISTRIBUTION

                -

                4. COMMERCIAL DISTRIBUTION

                +

                Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                -

                Commercial distributors of software may -accept certain responsibilities with respect to end users, business partners -and the like. While this license is intended to facilitate the commercial use -of the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create potential -liability for other Contributors. Therefore, if a Contributor includes the -Program in a commercial product offering, such Contributor ("Commercial -Contributor") hereby agrees to defend and indemnify every other -Contributor ("Indemnified Contributor") against any losses, damages and -costs (collectively "Losses") arising from claims, lawsuits and other -legal actions brought by a third party against the Indemnified Contributor to -the extent caused by the acts or omissions of such Commercial Contributor in -connection with its distribution of the Program in a commercial product -offering. The obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In order -to qualify, an Indemnified Contributor must: a) promptly notify the Commercial -Contributor in writing of such claim, and b) allow the Commercial Contributor -to control, and cooperate with the Commercial Contributor in, the defense and -any related settlement negotiations. The Indemnified Contributor may participate -in any such claim at its own expense.

                +

                For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                -

                For example, a Contributor might include the -Program in a commercial product offering, Product X. That Contributor is then a -Commercial Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance claims and -warranties are such Commercial Contributor's responsibility alone. Under this -section, the Commercial Contributor would have to defend claims against the -other Contributors related to those performance claims and warranties, and if a -court requires any other Contributor to pay any damages as a result, the -Commercial Contributor must pay those damages.

                +

                5. NO WARRANTY

                -

                5. NO WARRANTY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT -WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, -WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, -MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and distributing the -Program and assumes all risks associated with its exercise of rights under this -Agreement , including but not limited to the risks and costs of program errors, -compliance with applicable laws, damage to or loss of data, programs or -equipment, and unavailability or interruption of operations.

                +

                6. DISCLAIMER OF LIABILITY

                -

                6. DISCLAIMER OF LIABILITY

                +

                EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                -

                EXCEPT AS EXPRESSLY SET FORTH IN THIS -AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY -OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF -THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF -THE POSSIBILITY OF SUCH DAMAGES.

                +

                7. GENERAL

                -

                7. GENERAL

                +

                If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                -

                If any provision of this Agreement is invalid -or unenforceable under applicable law, it shall not affect the validity or -enforceability of the remainder of the terms of this Agreement, and without -further action by the parties hereto, such provision shall be reformed to the -minimum extent necessary to make such provision valid and enforceable.

                +

                If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                -

                If Recipient institutes patent litigation -against any entity (including a cross-claim or counterclaim in a lawsuit) -alleging that the Program itself (excluding combinations of the Program with -other software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the date -such litigation is filed.

                - -

                All Recipient's rights under this Agreement -shall terminate if it fails to comply with any of the material terms or -conditions of this Agreement and does not cure such failure in a reasonable -period of time after becoming aware of such noncompliance. If all Recipient's -rights under this Agreement terminate, Recipient agrees to cease use and +

                All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable. However, Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                +Recipient relating to the Program shall continue and survive.

                -

                Everyone is permitted to copy and distribute -copies of this Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The Agreement -Steward reserves the right to publish new versions (including revisions) of -this Agreement from time to time. No one other than the Agreement Steward has -the right to modify this Agreement. The Eclipse Foundation is the initial -Agreement Steward. The Eclipse Foundation may assign the responsibility to -serve as the Agreement Steward to a suitable separate entity. Each new version -of the Agreement will be given a distinguishing version number. The Program -(including Contributions) may always be distributed subject to the version of -the Agreement under which it was received. In addition, after a new version of -the Agreement is published, Contributor may elect to distribute the Program -(including its Contributions) under the new version. Except as expressly stated -in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to -the intellectual property of any Contributor under this Agreement, whether -expressly, by implication, estoppel or otherwise. All rights in the Program not -expressly granted under this Agreement are reserved.

                +

                Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                -

                This Agreement is governed by the laws of the -State of New York and the intellectual property laws of the United States of -America. No party to this Agreement will bring a legal action under this -Agreement more than one year after the cause of action arose. Each party waives -its rights to a jury trial in any resulting litigation.

                +

                This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                -

                 

                - -
                - - - - \ No newline at end of file + \ No newline at end of file From c017711580808c59322706e4367fa8c21fc70a75 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 13:37:16 +0000 Subject: [PATCH 152/843] Fix Terminal Serial description to refer to RXTX rather than javacomm --- org.eclipse.tm.terminal.serial-feature/feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index eaadbe2bcd1..4ec3a6c70e1 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -26,7 +26,7 @@ tmMilestoneSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature -description=A serial line connector for the Terminal using javacomm API +description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index c411893848a..079161b99a2 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -26,7 +26,7 @@ tmMilestoneSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature -description=A serial line connector for the Terminal using javacomm API +description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ From ffe5878c105eb1ec9c60a0f965fa0fb6ad7a0a87 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 14:19:48 +0000 Subject: [PATCH 153/843] [releng] Generate source plugins instead of features for Terminal SDK --- .../build.properties | 10 +++++----- .../feature.xml | 20 ++++++++++++++----- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/org.eclipse.tm.terminal.sdk-feature/build.properties index 26bc2fd67f8..89790a04ee5 100644 --- a/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -13,8 +13,8 @@ bin.includes = feature.xml,\ feature.properties,\ license.html,\ eclipse_update_120.jpg -generate.feature@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal -generate.feature@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial -generate.feature@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh -generate.feature@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet -generate.feature@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet +generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 76fdf207986..3a1a522f5c7 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -43,24 +43,34 @@ id="org.eclipse.tm.terminal.view" version="0.0.0"/> - - - - -
                From aecee06706d4f2793330165fdfb6e4ccb6664885 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Jun 2007 19:46:41 +0000 Subject: [PATCH 154/843] [189269] Add version range specifiers with all plugin dependencies. Make features require plugins. Avoid Discovery require RSE. --- org.eclipse.tm.terminal-feature/feature.xml | 5 ++--- org.eclipse.tm.terminal.serial-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 8 ++++---- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- 9 files changed, 20 insertions(+), 21 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index ecc1431033d..ebaa4c3d445 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,8 +2,8 @@ + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -25,7 +25,6 @@ - + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -28,7 +28,7 @@ - + + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -25,9 +25,9 @@ - - + + + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -25,7 +25,7 @@ - + + version="1.0.0.qualifier" + provider-name="%providerName"> %description @@ -25,7 +25,7 @@ - + Date: Wed, 6 Jun 2007 16:36:32 +0000 Subject: [PATCH 155/843] [168291] Require jsch-0.1.31 --- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 9ed0bce9f7b..01737b63d4c 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -25,9 +25,9 @@ - + Date: Wed, 6 Jun 2007 17:35:35 +0000 Subject: [PATCH 156/843] [168291] Send terminal type "ansi" to jsch in order to fix scrolling in Terminal. This requires Eclipse 3.3RC3. --- .../src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 5ea97d2c985..dd339a68dec 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -98,6 +98,7 @@ class SshConnection extends Thread { session.connect(nTimeout); // making connection with timeout. ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ + channel.setPtyType("ansi"); //$NON-NLS-1$ channel.connect(); fConn.setInputStream(channel.getInputStream()); fConn.setOutputStream(channel.getOutputStream()); From 3ba17311317608e4f5ce998a0bf8f70cb541433c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 6 Jun 2007 17:37:04 +0000 Subject: [PATCH 157/843] [191305] Fix incorrect handling of errors during terminal connector initialization --- .../terminal/provisional/api/TerminalConnectorExtension.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index ca3d6bfde42..33e2006c5a2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -111,6 +111,7 @@ public class TerminalConnectorExtension { fConnector=createConnector(fConfig); fConnector.initialize(); } catch (Exception e) { + fConnector=null; fException=e; // that's the place where we log the exception Logger.logException(e); From 6389731b6fc06a36546feb53fdbae08907edc836 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 10 Jun 2007 22:13:27 +0000 Subject: [PATCH 158/843] Move from Milestone Update Site to Real Update Site --- org.eclipse.tm.terminal-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index ebaa4c3d445..8bb182759d1 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -18,8 +18,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 3a1a522f5c7..c4e4ccff04b 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -19,8 +19,8 @@ - - + + - - + + diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 01737b63d4c..afc6c2738f0 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -18,8 +18,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index 903d549837f..d024b7475b4 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -18,8 +18,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index af56ab46a74..6e3316b926c 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -18,8 +18,8 @@ - - + + From 699960aa48926dadfaee28c1e8fa13b197c5fd8f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 20 Jun 2007 13:40:04 +0000 Subject: [PATCH 159/843] [192999] Terminal will crashes eclipse.exe when it received too many lines. Now the limits in the terminal buffer lines preferences take effect --- .../internal/terminal/view/TerminalView.java | 39 ++++++++++++++----- .../control/ITerminalViewControl.java | 13 +++++++ .../control/impl/TerminalControl.java | 12 ++++++ 3 files changed, 55 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 0c16d92d46c..45d8b564f2b 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -16,6 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; +import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; @@ -106,18 +107,35 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private SettingsStore fStore; private CommandInputFieldWithHistory fCommandInputField; + + /** + * Listens to changes in the preferences + */ + private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { + public void propertyChange(PropertyChangeEvent event) { + if(event.getProperty().equals(TerminalPreferencePage.PREF_LIMITOUTPUT) + || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES)) { + updatePreferences(); + } + } + }; public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ } -// TODO MSA -// private void XXXXX() { -// Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); -// boolean bLimitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); -// int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); -// -// } + /** + * Update the text limits from the preferences + */ + private void updatePreferences() { + Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); + boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); + int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); + if(!limitOutput) + bufferLineLimit=-1; + fCtlTerminal.setBufferLineLimit(bufferLineLimit); + + } // TerminalTarget interface public void setState(final TerminalState state) { Runnable runnable=new Runnable() { @@ -382,12 +400,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi onTerminalStatus(); onTerminalFontChanged(); } - public void dispose() { Logger.log("entered."); //$NON-NLS-1$ setPartName("Terminal"); //$NON-NLS-1$ - + TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); MenuManager menuMgr = getEditMenuManager(); @@ -399,6 +416,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi menu.removeMenuListener(fMenuHandlerEdit); fCtlTerminal.disposeTerminal(); + super.dispose(); } /** * Passing the focus request to the viewer's control. @@ -420,6 +438,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fCtlTerminal.setConnector(connectors[i]); } setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ + updatePreferences(); + TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); + } private void saveSettings(ITerminalConnectorInfo connector) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index d9c59a80838..d9cfb5cbfb4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -60,4 +60,17 @@ public interface ITerminalViewControl { * @return null or the current input field */ ICommandInputField getCommandInputField(); + + /** + * @return the maximum number of lines to display + * in the terminal view. -1 means unlimited. + */ + public int getBufferLineLimit(); + + /** + * @param bufferLineLimit the maximum number of lines to show + * in the terminal view. -1 means unlimited. + */ + public void setBufferLineLimit(int bufferLineLimit); + } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 86bd2ea0353..44e95db74d6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -844,4 +844,16 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro fCommandInputField.createControl(fWndParent, this); fWndParent.layout(true); } + + public int getBufferLineLimit() { + if(getTerminalText().isLimitOutput()) + return getTerminalText().getBufferLineLimit(); + return -1; + } + + public void setBufferLineLimit(int bufferLineLimit) { + getTerminalText().setLimitOutput(bufferLineLimit!=-1); + getTerminalText().setBufferLineLimit(bufferLineLimit); + + } } From 1cd3d6daad918b3f5a9ef4478871282f619941db Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 26 Jun 2007 04:01:01 +0000 Subject: [PATCH 160/843] put the experimental warning into the javadoc --- .../terminal/provisional/api/ITerminalConnectorInfo.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java index 4f83eea026e..54c5a9cfcf0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java @@ -15,6 +15,12 @@ package org.eclipse.tm.internal.terminal.provisional.api; * extension. It maintains a proxy to the connector to allow lazy initialization of the * real {@link ITerminalConnector connector} that comes from an extension. * + *

                + * EXPERIMENTAL. This class or interface has been added as + * part of a work in progress. There is no guarantee that this API will + * work or that it will remain the same. Please do not use this API without + * consulting with the Target Management team. + *

                */ public interface ITerminalConnectorInfo { /** From 405c61ee635dc81c1ccbfc3267a127112aea838e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 3 Aug 2007 10:37:46 +0000 Subject: [PATCH 161/843] [198790] make SSH createSession() protected --- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- .../tm/internal/terminal/ssh/SshConnection.java | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 8b8aba3d678..dfbba0111b1 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 1.0.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index dd339a68dec..9c31af994b4 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API * - copied code from org.eclipse.team.cvs.ssh2/JSchSession (Copyright IBM) + * Martin Oberhuber (Wind River) - [198790] make SSH createSession() protected *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -50,7 +51,14 @@ class SshConnection extends Thread { // //---------------------------------------------------------------------- - private static Session createSession(String username, String password, String hostname, int port, UserInfo wrapperUI, IProgressMonitor monitor) throws JSchException { + /** + * Create a Jsch session. + * Subclasses can override in order to replace the UserInfo wrapper + * (for non-interactive usage, for instance), or in order to change + * the Jsch config (for instance, in order to switch off strict + * host key checking or in order to add specific ciphers). + */ + protected Session createSession(String username, String password, String hostname, int port, UserInfo wrapperUI, IProgressMonitor monitor) throws JSchException { IJSchService service = Activator.getDefault().getJSchService(); if (service == null) return null; From 364b88ed63a181e3a4355b7c01a254f0bb903665 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 3 Aug 2007 11:22:00 +0000 Subject: [PATCH 162/843] [198790] rev up terminal SSH feature versions --- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index c4e4ccff04b..f122d15c8bd 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index afc6c2738f0..90a394fbef0 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -2,7 +2,7 @@ From a5c3b15c0798fc8bad94e117e8578cf7cffaf783 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 3 Aug 2007 15:33:15 +0000 Subject: [PATCH 163/843] Initial version --- org.eclipse.tm.terminal.test/.classpath | 7 +++++ org.eclipse.tm.terminal.test/.project | 28 +++++++++++++++++++ .../.settings/org.eclipse.jdt.core.prefs | 7 +++++ .../META-INF/MANIFEST.MF | 10 +++++++ org.eclipse.tm.terminal.test/build.properties | 4 +++ .../plugin.properties | 17 +++++++++++ 6 files changed, 73 insertions(+) create mode 100644 org.eclipse.tm.terminal.test/.classpath create mode 100644 org.eclipse.tm.terminal.test/.project create mode 100644 org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.test/build.properties create mode 100644 org.eclipse.tm.terminal.test/plugin.properties diff --git a/org.eclipse.tm.terminal.test/.classpath b/org.eclipse.tm.terminal.test/.classpath new file mode 100644 index 00000000000..ce73933404a --- /dev/null +++ b/org.eclipse.tm.terminal.test/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.eclipse.tm.terminal.test/.project b/org.eclipse.tm.terminal.test/.project new file mode 100644 index 00000000000..492f603b4c0 --- /dev/null +++ b/org.eclipse.tm.terminal.test/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tm.terminal.test + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..d4ce580d8a5 --- /dev/null +++ b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +#Fri Aug 03 17:25:20 CEST 2007 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..df2c0fd4454 --- /dev/null +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -0,0 +1,10 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.test +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Require-Bundle: org.junit, + org.eclipse.tm.terminal +Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties new file mode 100644 index 00000000000..34d2e4d2dad --- /dev/null +++ b/org.eclipse.tm.terminal.test/build.properties @@ -0,0 +1,4 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + . diff --git a/org.eclipse.tm.terminal.test/plugin.properties b/org.eclipse.tm.terminal.test/plugin.properties new file mode 100644 index 00000000000..f7fa5add101 --- /dev/null +++ b/org.eclipse.tm.terminal.test/plugin.properties @@ -0,0 +1,17 @@ +############################################################################### +# Copyright (c) 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +############################################################################### +pluginName = Target Management Terminal Tests +providerName = Eclipse.org From b7e56e84b8afdaac2d38dc15ac1b2c9e3ea39e80 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 3 Aug 2007 15:40:25 +0000 Subject: [PATCH 164/843] fixed build error --- org.eclipse.tm.terminal.test/src/readme.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.tm.terminal.test/src/readme.txt diff --git a/org.eclipse.tm.terminal.test/src/readme.txt b/org.eclipse.tm.terminal.test/src/readme.txt new file mode 100644 index 00000000000..e69de29bb2d From 7910c3e1f0264ff57b16a83d8d94a05924d58096 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 31 Aug 2007 14:06:02 +0000 Subject: [PATCH 165/843] [201864] Fix Terminal SSH keyboard interactive authentication --- .../org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 9c31af994b4..316755146fe 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -11,6 +11,7 @@ * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API * - copied code from org.eclipse.team.cvs.ssh2/JSchSession (Copyright IBM) * Martin Oberhuber (Wind River) - [198790] make SSH createSession() protected + * Mikhail Kalugin - [201864] Fix Terminal SSH keyboard interactive authentication *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -33,6 +34,7 @@ import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; +import com.jcraft.jsch.UIKeyboardInteractive; import com.jcraft.jsch.UserInfo; class SshConnection extends Thread { @@ -169,7 +171,7 @@ class SshConnection extends Thread { return display; } - private static class MyUserInfo implements UserInfo { + private static class MyUserInfo implements UserInfo, UIKeyboardInteractive { private final String fConnectionId; private final String fUser; private String fPassword; From ed01e4f3c86e128b756a8582306058b3b268acb7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 3 Sep 2007 15:20:54 +0000 Subject: [PATCH 166/843] [201867] Improve Terminal SSH connection summary string --- .../org/eclipse/tm/internal/terminal/ssh/SshSettings.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index af9a684ed3a..45c469dff73 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Mikhail Kalugin - [201867] Improve Terminal SSH connection summary string *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -28,8 +29,11 @@ public class SshSettings implements ISshSettings { } public String getSummary() { - return getHost() + ":" + getUser(); //$NON-NLS-1$ - + String settings = getUser()+'@'+getHost(); + if(getPort()!=22) { + settings += ':' + getPort(); + } + return settings; } public void load(ISettingsStore store) { From b650d3043b2505e95f78e2a96ba265892141e5ec Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 19 Sep 2007 02:11:40 +0000 Subject: [PATCH 167/843] Merge R2_0_terminal_performance changes --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../internal/terminal/view/TerminalView.java | 7 +- org.eclipse.tm.terminal/.options | 6 +- .../.settings/org.eclipse.jdt.core.prefs | 7 +- .../.settings/org.eclipse.jdt.ui.prefs | 3 - org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 8 +- org.eclipse.tm.terminal/build.properties | 2 + .../control/CommandInputFieldWithHistory.java | 4 +- .../control/ITerminalViewControl.java | 6 +- .../control/TerminalViewControlFactory.java | 7 +- .../control/impl/TerminalControl.java | 12 +- .../emulator/IVT100EmulatorBackend.java | 172 +++ .../emulator/VT100BackendTraceDecorator.java | 144 ++ .../terminal/emulator/VT100Emulator.java | 1171 +++++++++++++++++ .../emulator/VT100EmulatorBackend.java | 387 ++++++ .../emulator/VT100TerminalControl.java | 906 +++++++++++++ .../terminal/model/ISnapshotChanges.java | 80 ++ .../terminal/model/SnapshotChanges.java | 381 ++++++ .../model/SynchronizedTerminalTextData.java | 100 ++ .../terminal/model/TerminalTextData.java | 220 ++++ .../model/TerminalTextDataFastScroll.java | 250 ++++ .../model/TerminalTextDataSnapshot.java | 299 +++++ .../terminal/model/TerminalTextDataStore.java | 333 +++++ .../model/TerminalTextDataWindow.java | 198 +++ .../terminal/provisional/api/Logger.java | 5 +- .../textcanvas/AbstractTextCanvasModel.java | 289 ++++ .../terminal/textcanvas/GridCanvas.java | 183 +++ .../terminal/textcanvas/ILinelRenderer.java | 22 + .../terminal/textcanvas/ITextCanvasModel.java | 79 ++ .../textcanvas/ITextCanvasModelListener.java | 25 + .../terminal/textcanvas/PipedInputStream.java | 305 +++++ .../textcanvas/PollingTextCanvasModel.java | 35 + .../terminal/textcanvas/StyleMap.java | 107 ++ .../terminal/textcanvas/TextCanvas.java | 213 +++ .../terminal/textcanvas/TextLineRenderer.java | 141 ++ .../terminal/textcanvas/VirtualCanvas.java | 353 +++++ .../tm/terminal/model/ITerminalTextData.java | 151 +++ .../model/ITerminalTextDataReadOnly.java | 72 + .../model/ITerminalTextDataSnapshot.java | 212 +++ .../tm/terminal/model/LineSegment.java | 35 + .../org/eclipse/tm/terminal/model/Style.java | 154 +++ .../eclipse/tm/terminal/model/StyleColor.java | 54 + .../model/TerminalTextDataFactory.java | 20 + 45 files changed, 7137 insertions(+), 27 deletions(-) delete mode 100644 org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 8bb182759d1..dec05659730 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 6e3316b926c..3a7af44dfeb 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 15a4f49a770..6ac93261e5b 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 1.0.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 45d8b564f2b..c6d29d91e33 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -28,11 +28,11 @@ import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; -import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; import org.eclipse.tm.internal.terminal.actions.TerminalAction; @@ -522,12 +522,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } protected void setupContextMenus() { - StyledText ctlText; + Control ctlText; MenuManager menuMgr; Menu menu; TerminalContextMenuHandler contextMenuHandler; - ctlText = fCtlTerminal.getCtlText(); + ctlText = fCtlTerminal.getControl(); menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menu = menuMgr.createContextMenu(ctlText); contextMenuHandler = new TerminalContextMenuHandler(); @@ -675,6 +675,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fMenuAboutToShow = true; updateEditCopy(); updateEditCut(); + updateEditSelectAll(); updateEditPaste(); updateEditClearAll(); diff --git a/org.eclipse.tm.terminal/.options b/org.eclipse.tm.terminal/.options index 5335bdd53c3..7e0cf7ac0ec 100644 --- a/org.eclipse.tm.terminal/.options +++ b/org.eclipse.tm.terminal/.options @@ -1,8 +1,8 @@ -org.eclipse.tm.terminal/debug = true -org.eclipse.tm.terminal/debug/flag = true -org.eclipse.tm.terminal/debug/filter = * +org.eclipse.tm.terminal/debug/log/directory = /tmp/ org.eclipse.tm.terminal/debug/log = true org.eclipse.tm.terminal/debug/log/error = true org.eclipse.tm.terminal/debug/log/info = false org.eclipse.tm.terminal/debug/log/char = false org.eclipse.tm.terminal/debug/log/buffer/size = false +org.eclipse.tm.terminal/debug/log/VT100Backend = false +org.eclipse.tm.terminal/debug/use_old_implementation = false \ No newline at end of file diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index d141d33956c..e06a0de226b 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,8 @@ -#Tue Jan 30 22:33:44 CET 2007 +#Thu Aug 09 03:12:08 CEST 2007 eclipse.preferences.version=1 +instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning @@ -67,4 +68,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 9a20fca52a4..00000000000 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Jul 31 14:55:17 CEST 2006 -eclipse.preferences.version=1 -internal.default.compliance=user diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index a1ddfdd674d..28ebaa8b016 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 1.0.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -13,4 +13,8 @@ Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, - org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view" + org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.terminal.model diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index 50dc00bf907..f3c88941ea4 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -28,4 +28,6 @@ output.. = bin/ src.includes = schema/,\ README.txt,\ about.html +javacSource=1.4 +javacTarget=1.4 \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index f117fc5cd2b..ca9fbe77789 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -149,8 +149,8 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } public void createControl(Composite parent,final ITerminalViewControl terminal) { fInputField=new Text(parent, SWT.SINGLE|SWT.BORDER); - fInputField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); - fInputField.setFont(terminal.getCtlText().getFont()); + fInputField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + fInputField.setFont(terminal.getFont()); fInputField.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { if(e.keyCode=='\n' || e.keyCode=='\r') { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index d9cfb5cbfb4..d498d97ac64 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -11,9 +11,9 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; -import org.eclipse.swt.custom.StyledText; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Control; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -24,7 +24,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; public interface ITerminalViewControl { boolean isEmpty(); void setFont(Font font); - StyledText getCtlText(); + Font getFont(); + Control getControl(); boolean isDisposed(); void selectAll(); void clearTerminal(); @@ -72,5 +73,4 @@ public interface ITerminalViewControl { * in the terminal view. -1 means unlimited. */ public void setBufferLineLimit(int bufferLineLimit); - } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index a5453057aac..bdd9b89b8b3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -13,10 +13,15 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; public class TerminalViewControlFactory { public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { - return new TerminalControl(target, wndParent, connectors); + if(TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/use_old_implementation")) //$NON-NLS-1$ + return new TerminalControl(target, wndParent, connectors); + else + return new VT100TerminalControl(target, wndParent, connectors); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 44e95db74d6..f528280bd86 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -406,7 +406,12 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro getTerminalText().fontChanged(); } - + public Font getFont() { + return getCtlText().getFont(); + } + public Control getControl() { + return fCtlText; + } protected void setupControls(Composite parent) { // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it // can't have a horizontal scroll bar (but a vertical one is ok). Also, do @@ -423,8 +428,8 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro fWndParent.setLayout(layout); setCtlText(new StyledText(fWndParent, SWT.V_SCROLL)); fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + //fCtlText.setWordWrap(false); - fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); // fViewer.setDocument(new TerminalDocument()); @@ -515,7 +520,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getCtlText() */ - public StyledText getCtlText() { + protected StyledText getCtlText() { return fCtlText; } @@ -856,4 +861,5 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro getTerminalText().setBufferLineLimit(bufferLineLimit); } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java new file mode 100644 index 00000000000..362aa26d237 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java @@ -0,0 +1,172 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import org.eclipse.tm.terminal.model.Style; + +public interface IVT100EmulatorBackend { + + /** + * This method erases all text from the Terminal view. Including the history + */ + void clearAll(); + + /** + * Sets the Dimensions of the addressable scroll space of the screen.... + * Keeps the cursor position relative to the bottom of the screen! + * @param lines + * @param cols + */ + void setDimensions(int lines, int cols); + + /** + * This method makes room for N characters on the current line at the cursor + * position. Text under the cursor moves right without wrapping at the end + * of the line. + * 01234 + * 0 123 + */ + void insertCharacters(int charactersToInsert); + + /** + * Erases from cursor to end of screen, including cursor position. Cursor does not move. + */ + void eraseToEndOfScreen(); + + /** + * Erases from beginning of screen to cursor, including cursor position. Cursor does not move. + */ + void eraseToCursor(); + + /** + * Erases complete display. All lines are erased and changed to single-width. Cursor does not move. + */ + void eraseAll(); + + /** + * Erases complete line. + */ + void eraseLine(); + + /** + * Erases from cursor to end of line, including cursor position. + */ + void eraseLineToEnd(); + + /** + * Erases from beginning of line to cursor, including cursor position. + */ + void eraseLineToCursor(); + + /** + * Inserts n lines at line with cursor. Lines displayed below cursor move down. + * Lines moved past the bottom margin are lost. This sequence is ignored when + * cursor is outside scrolling region. + * @param n the number of lines to insert + */ + void insertLines(int n); + + /** + * Deletes n characters, starting with the character at cursor position. + * When a character is deleted, all characters to the right of cursor move + * left. This creates a space character at right margin. This character + * has same character attribute as the last character moved left. + * @param n + * 012345 + * 0145xx + */ + void deleteCharacters(int n); + + /** + * Deletes n lines, starting at line with cursor. As lines are deleted, + * lines displayed below cursor move up. Lines added to bottom of screen + * have spaces with same character attributes as last line moved up. This + * sequence is ignored when cursor is outside scrolling region. + * @param n the number of lines to delete + */ + void deleteLines(int n); + + Style getDefaultStyle(); + + void setDefaultStyle(Style defaultStyle); + + Style getStyle(); + + /** + * Sets the style to be used from now on + * @param style + */ + void setStyle(Style style); + + /** + * This method displays a subset of the newly-received text in the Terminal + * view, wrapping text at the right edge of the screen and overwriting text + * when the cursor is not at the very end of the screen's text. + *

                + * + * There are never any ANSI control characters or escape sequences in the + * text being displayed by this method (this includes newlines, carriage + * returns, and tabs). + *

                + */ + void appendString(String buffer); + + /** + * Process a newline (Control-J) character. A newline (NL) character just + * moves the cursor to the same column on the next line, creating new lines + * when the cursor reaches the bottom edge of the terminal. This is + * counter-intuitive, especially to UNIX programmers who are taught that + * writing a single NL to a terminal is sufficient to move the cursor to the + * first column of the next line, as if a carriage return (CR) and a NL were + * written. + *

                + * + * UNIX terminals typically display a NL character as a CR followed by a NL + * because the terminal device typically has the ONLCR attribute bit set + * (see the termios(4) man page for details), which causes the terminal + * device driver to translate NL to CR + NL on output. The terminal itself + * (i.e., a hardware terminal or a terminal emulator, like xterm or this + * code) _always_ interprets a CR to mean "move the cursor to the beginning + * of the current line" and a NL to mean "move the cursor to the same column + * on the next line". + *

                + */ + void processNewline(); + + /** + * This method returns the relative line number of the line containing the + * cursor. The returned line number is relative to the topmost visible line, + * which has relative line number 0. + * + * @return The relative line number of the line containing the cursor. + */ + int getCursorLine(); + + int getCursorColumn(); + + /** + * This method moves the cursor to the specified line and column. Parameter + * targetLine is the line number of a screen line, so it has a + * minimum value of 0 (the topmost screen line) and a maximum value of + * heightInLines - 1 (the bottommost screen line). A line does not have to + * contain any text to move the cursor to any column in that line. + */ + void setCursor(int targetLine, int targetColumn); + + void setCursorColumn(int targetColumn); + + void setCursorLine(int targetLine); + + int getLines(); + + int getColumns(); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java new file mode 100644 index 00000000000..c4d57ab98bc --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java @@ -0,0 +1,144 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import java.io.PrintStream; + +import org.eclipse.tm.terminal.model.Style; + +public class VT100BackendTraceDecorator implements IVT100EmulatorBackend { + final IVT100EmulatorBackend fBackend; + final PrintStream fWriter; + public VT100BackendTraceDecorator(IVT100EmulatorBackend backend, PrintStream out) { + fBackend = backend; + fWriter=out; + } + + public void appendString(String buffer) { + fWriter.println("appendString(\""+buffer+"\")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.appendString(buffer); + } + + public void clearAll() { + fWriter.println("clearAll()"); //$NON-NLS-1$ + fBackend.clearAll(); + } + + public void deleteCharacters(int n) { + fWriter.println("deleteCharacters("+n+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.deleteCharacters(n); + } + + public void deleteLines(int n) { + fWriter.println("deleteLines("+n+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.deleteLines(n); + } + + public void eraseAll() { + fWriter.println("eraseAll()"); //$NON-NLS-1$ + fBackend.eraseAll(); + } + + public void eraseLine() { + fWriter.println("eraseLine()"); //$NON-NLS-1$ + fBackend.eraseLine(); + } + + public void eraseLineToCursor() { + fWriter.println("eraseLineToCursor()"); //$NON-NLS-1$ + fBackend.eraseLineToCursor(); + } + + public void eraseLineToEnd() { + fWriter.println("eraseLineToEnd()"); //$NON-NLS-1$ + fBackend.eraseLineToEnd(); + } + + public void eraseToCursor() { + fWriter.println("eraseToCursor()"); //$NON-NLS-1$ + fBackend.eraseToCursor(); + } + + public void eraseToEndOfScreen() { + fWriter.println("eraseToEndOfScreen()"); //$NON-NLS-1$ + fBackend.eraseToEndOfScreen(); + } + + public int getColumns() { + return fBackend.getColumns(); + } + + public int getCursorColumn() { + return fBackend.getCursorColumn(); + } + + public int getCursorLine() { + return fBackend.getCursorLine(); + } + + public Style getDefaultStyle() { + return fBackend.getDefaultStyle(); + } + + public int getLines() { + return fBackend.getLines(); + } + + public Style getStyle() { + return fBackend.getStyle(); + } + + public void insertCharacters(int charactersToInsert) { + fWriter.println("insertCharacters("+charactersToInsert+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.insertCharacters(charactersToInsert); + } + + public void insertLines(int n) { + fWriter.println("insertLines("+n+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.insertLines(n); + } + + public void processNewline() { + fWriter.println("processNewline()"); //$NON-NLS-1$ + fBackend.processNewline(); + } + + public void setCursor(int targetLine, int targetColumn) { + fWriter.println("setCursor("+targetLine+", "+targetColumn+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + fBackend.setCursor(targetLine, targetColumn); + } + + public void setCursorColumn(int targetColumn) { + fWriter.println("setCursorColumn("+targetColumn+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setCursorColumn(targetColumn); + } + + public void setCursorLine(int targetLine) { + fWriter.println("setCursorLine("+targetLine+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setCursorLine(targetLine); + } + + public void setDefaultStyle(Style defaultStyle) { + fWriter.println("setDefaultStyle("+defaultStyle+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setDefaultStyle(defaultStyle); + } + + public void setDimensions(int lines, int cols) { + fWriter.println("setDimensions("+lines+","+cols+")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + fBackend.setDimensions(lines, cols); + } + + public void setStyle(Style style) { + fWriter.println("setStyle("+style+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setStyle(style); + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java new file mode 100644 index 00000000000..0caa98ef586 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -0,0 +1,1171 @@ +/******************************************************************************* + * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.io.Reader; +import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; + +import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.ControlListener; +import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; +import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.Style; + +/** + * This class processes character data received from the remote host and + * displays it to the user using the Terminal view's StyledText widget. This + * class processes ANSI control characters, including NUL, backspace, carriage + * return, linefeed, and a subset of ANSI escape sequences sufficient to allow + * use of screen-oriented applications, such as vi, Emacs, and any GNU + * readline-enabled application (Bash, bc, ncftp, etc.). + *

                + * + * @author Fran Litterio + * @author Chris Thew + */ +public class VT100Emulator implements ControlListener { + /** This is a character processing state: Initial state. */ + private static final int ANSISTATE_INITIAL = 0; + + /** This is a character processing state: We've seen an escape character. */ + private static final int ANSISTATE_ESCAPE = 1; + + /** + * This is a character processing state: We've seen a '[' after an escape + * character. Expecting a parameter character or a command character next. + */ + private static final int ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND = 2; + + /** + * This is a character processing state: We've seen a ']' after an escape + * character. We are now expecting an operating system command that + * reprograms an intelligent terminal. + */ + private static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; + + /** + * This field holds the current state of the Finite TerminalState Automaton (FSA) + * that recognizes ANSI escape sequences. + * + * @see #processNewText() + */ + private int ansiState = ANSISTATE_INITIAL; + + /** + * This field holds a reference to the {@link TerminalControl} object that + * instantiates this class. + */ + private ITerminalControlForText terminal; + + /** + * This field holds a reference to the StyledText widget that is used to + * display text to the user. + */ + final private IVT100EmulatorBackend text; + /** + * This field hold the saved absolute line number of the cursor when + * processing the "ESC 7" and "ESC 8" command sequences. + */ + private int savedCursorLine = 0; + + /** + * This field hold the saved column number of the cursor when processing the + * "ESC 7" and "ESC 8" command sequences. + */ + private int savedCursorColumn = 0; + + /** + * This field holds an array of StringBuffer objects, each of which is one + * parameter from the current ANSI escape sequence. For example, when + * parsing the escape sequence "\e[20;10H", this array holds the strings + * "20" and "10". + */ + private StringBuffer[] ansiParameters = new StringBuffer[16]; + + /** + * This field holds the OS-specific command found in an escape sequence of + * the form "\e]...\u0007". + */ + private StringBuffer ansiOsCommand = new StringBuffer(128); + + /** + * This field holds the index of the next unused element of the array stored + * in field {@link #ansiParameters}. + */ + private int nextAnsiParameter = 0; + + final Reader fReader; + + boolean fCrAfterNewLine; + /** + * The constructor. + */ + public VT100Emulator(ITerminalTextData data,ITerminalControlForText terminal,InputStream input) { + super(); + + Logger.log("entered"); //$NON-NLS-1$ + + this.terminal = terminal; + + for (int i = 0; i < ansiParameters.length; ++i) { + ansiParameters[i] = new StringBuffer(); + } + Reader reader=null; + try { + // TODO convert byte to char using "ISO-8859-1" + reader=new InputStreamReader(input,"ISO-8859-1"); //$NON-NLS-1$ + } catch (UnsupportedEncodingException e) { + // should never happen! + e.printStackTrace(); + } + fReader=reader; + if(TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/log/VT100Backend")) //$NON-NLS-1$ + text=new VT100BackendTraceDecorator(new VT100EmulatorBackend(data),System.out); + else + text=new VT100EmulatorBackend(data); + + text.setDimensions(24, 80); + Style style=Style.getStyle("BLACK", "WHITE"); //$NON-NLS-1$ //$NON-NLS-2$ + text.setDefaultStyle(style); + text.setStyle(style); + } + public void setDimensions(int lines,int cols) { + // TODO allow to set the dimension in the UI and or prefs + lines=Math.max(3, lines); + cols=Math.max(10, cols); + text.setDimensions(lines, cols); + ITerminalConnector telnetConnection = getConnector(); + if (telnetConnection != null) { + telnetConnection.setTerminalSize(text.getColumns(), text.getLines()); + } + + } + + /** + * This method performs clean up when this VT100Emulator object is no longer + * needed. After calling this method, no other method on this object should + * be called. + */ + public void dispose() { + } + + /** + * This method is required by interface ControlListener. It allows us to + * know when the StyledText widget is moved. + */ + public void controlMoved(ControlEvent event) { + Logger.log("entered"); //$NON-NLS-1$ + // Empty. + } + + /** + * This method is required by interface ControlListener. It allows us to + * know when the StyledText widget is resized. + */ + public void controlResized(ControlEvent event) { + Logger.log("entered"); //$NON-NLS-1$ + adjustTerminalDimensions(); + } + + /** + * This method erases all text from the Terminal view. + */ + public void clearTerminal() { + Logger.log("entered"); //$NON-NLS-1$ + text.clearAll(); + } + + /** + * This method is called when the user changes the Terminal view's font. We + * attempt to recompute the pixel width of the new font's characters and fix + * the terminal's dimensions. + */ + public void fontChanged() { + Logger.log("entered"); //$NON-NLS-1$ + + if (text != null) + adjustTerminalDimensions(); + } +// /** +// * This method executes in the Display thread to process data received from +// * the remote host by class {@link org.eclipse.tm.internal.terminal.telnet.TelnetConnection} and +// * other implementors of {@link ITerminalConnector}, like the +// * SerialPortHandler. +// *

                +// * These connectors write text to the terminal's buffer through +// * {@link TerminalControl#writeToTerminal(String)} and then have +// * this run method executed in the display thread. This method +// * must not execute at the same time as methods +// * {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. +// *

                +// * IMPORTANT: This method must be called in strict alternation with method +// * {@link #setNewText(StringBuffer)}. +// *

                +// */ + public void processText() { + try { + // If the status bar is showing "OPENED", change it to "CONNECTED". + + if (terminal.getState()==TerminalState.OPENED) { + // TODO Why???? + terminal.setState(TerminalState.CONNECTED); + } + + // Find the width and height of the terminal, and resize it to display an + // integral number of lines and columns. + + adjustTerminalDimensions(); + + // Restore the caret offset, process and display the new text, then save + // the caret offset. See the documentation for field caretOffset for + // details. + + // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? + + try { + processNewText(); + } catch (IOException e) { + Logger.logException(e); + } + + } catch (Exception ex) { + Logger.logException(ex); + } + } + /** + * This method scans the newly received text, processing ANSI control + * characters and escape sequences and displaying normal text. + * @throws IOException + */ + private void processNewText() throws IOException { + Logger.log("entered"); //$NON-NLS-1$ + + + // Scan the newly received text. + + while (hasNextChar()) { + char character = getNextChar(); + + switch (ansiState) { + case ANSISTATE_INITIAL: + switch (character) { + case '\u0000': + break; // NUL character. Ignore it. + + case '\u0007': + processBEL(); // BEL (Control-G) + break; + + case '\b': + processBackspace(); // Backspace + break; + + case '\t': + processTab(); // Tab. + break; + + case '\n': + processNewline(); // Newline (Control-J) + if(fCrAfterNewLine) + processCarriageReturn(); // Carriage Return (Control-M) + break; + + case '\r': + processCarriageReturn(); // Carriage Return (Control-M) + break; + + case '\u001b': + ansiState = ANSISTATE_ESCAPE; // Escape. + break; + + default: + processNonControlCharacters(character); + break; + } + break; + + case ANSISTATE_ESCAPE: + // We've seen an escape character. Here, we process the character + // immediately following the escape. + + switch (character) { + case '[': + ansiState = ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND; + nextAnsiParameter = 0; + + // Erase the parameter strings in preparation for optional + // parameter characters. + + for (int i = 0; i < ansiParameters.length; ++i) { + ansiParameters[i].delete(0, ansiParameters[i].length()); + } + break; + + case ']': + ansiState = ANSISTATE_EXPECTING_OS_COMMAND; + ansiOsCommand.delete(0, ansiOsCommand.length()); + break; + + case '7': + // Save cursor position and character attributes + + ansiState = ANSISTATE_INITIAL; + savedCursorLine = relativeCursorLine(); + savedCursorColumn = getCursorColumn(); + break; + + case '8': + // Restore cursor and attributes to previously saved + // position + + ansiState = ANSISTATE_INITIAL; + moveCursor(savedCursorLine, savedCursorColumn); + break; + + case 'c': + // Reset the terminal + ansiState = ANSISTATE_INITIAL; + resetTerminal(); + break; + + default: + Logger + .log("Unsupported escape sequence: escape '" + character + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + ansiState = ANSISTATE_INITIAL; + break; + } + break; + + case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: + // Parameters can appear after the '[' in an escape sequence, but they + // are optional. + + if (character == '@' || (character >= 'A' && character <= 'Z') + || (character >= 'a' && character <= 'z')) { + ansiState = ANSISTATE_INITIAL; + processAnsiCommandCharacter(character); + } else { + processAnsiParameterCharacter(character); + } + break; + + case ANSISTATE_EXPECTING_OS_COMMAND: + // A BEL (\u0007) character marks the end of the OSC sequence. + + if (character == '\u0007') { + ansiState = ANSISTATE_INITIAL; + processAnsiOsCommand(); + } else { + ansiOsCommand.append(character); + } + break; + + default: + // This should never happen! If it does happen, it means there is a + // bug in the FSA. For robustness, we return to the initial + // state. + + Logger.log("INVALID ANSI FSA STATE: " + ansiState); //$NON-NLS-1$ + ansiState = ANSISTATE_INITIAL; + break; + } + } + } + private void resetTerminal() { + text.eraseAll(); + text.setCursor(0, 0); + text.setStyle(text.getDefaultStyle()); + } + /** + * This method is called when we have parsed an OS Command escape sequence. + * The only one we support is "\e]0;...\u0007", which sets the terminal + * title. + */ + private void processAnsiOsCommand() { + if (ansiOsCommand.charAt(0) != '0' || ansiOsCommand.charAt(1) != ';') { + Logger + .log("Ignoring unsupported ANSI OSC sequence: '" + ansiOsCommand + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + return; + } + terminal.setTerminalTitle(ansiOsCommand.substring(2)); + } + + /** + * This method dispatches control to various processing methods based on the + * command character found in the most recently received ANSI escape + * sequence. This method only handles command characters that follow the + * ANSI standard Control Sequence Introducer (CSI), which is "\e[...", where + * "..." is an optional ';'-separated sequence of numeric parameters. + *

                + */ + private void processAnsiCommandCharacter(char ansiCommandCharacter) { + // If the width or height of the terminal is ridiculously small (one line or + // column or less), don't even try to process the escape sequence. This avoids + // throwing an exception (SPR 107450). The display will be messed up, but what + // did you user expect by making the terminal so small? + + switch (ansiCommandCharacter) { + case '@': + // Insert character(s). + processAnsiCommand_atsign(); + break; + + case 'A': + // Move cursor up N lines (default 1). + processAnsiCommand_A(); + break; + + case 'B': + // Move cursor down N lines (default 1). + processAnsiCommand_B(); + break; + + case 'C': + // Move cursor forward N columns (default 1). + processAnsiCommand_C(); + break; + + case 'D': + // Move cursor backward N columns (default 1). + processAnsiCommand_D(); + break; + + case 'E': + // Move cursor to first column of Nth next line (default 1). + processAnsiCommand_E(); + break; + + case 'F': + // Move cursor to first column of Nth previous line (default 1). + processAnsiCommand_F(); + break; + + case 'G': + // Move to column N of current line (default 1). + processAnsiCommand_G(); + break; + + case 'H': + // Set cursor Position. + processAnsiCommand_H(); + break; + + case 'J': + // Erase part or all of display. Cursor does not move. + processAnsiCommand_J(); + break; + + case 'K': + // Erase in line (cursor does not move). + processAnsiCommand_K(); + break; + + case 'L': + // Insert line(s) (current line moves down). + processAnsiCommand_L(); + break; + + case 'M': + // Delete line(s). + processAnsiCommand_M(); + break; + + case 'm': + // Set Graphics Rendition (SGR). + processAnsiCommand_m(); + break; + + case 'n': + // Device Status Report (DSR). + processAnsiCommand_n(); + break; + + case 'P': + // Delete character(s). + processAnsiCommand_P(); + break; + + case 'S': + // Scroll up. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'T': + // Scroll down. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'X': + // Erase character. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + case 'Z': + // Cursor back tab. + // Emacs, vi, and GNU readline don't seem to use this command, so we ignore + // it for now. + break; + + default: + Logger.log("Ignoring unsupported ANSI command character: '" + //$NON-NLS-1$ + ansiCommandCharacter + "'"); //$NON-NLS-1$ + break; + } + } + + /** + * This method makes room for N characters on the current line at the cursor + * position. Text under the cursor moves right without wrapping at the end + * of the line. + */ + private void processAnsiCommand_atsign() { + int charactersToInsert = getAnsiParameter(0); + text.insertCharacters(charactersToInsert); + } + + /** + * This method moves the cursor up by the number of lines specified by the + * escape sequence parameter (default 1). + */ + private void processAnsiCommand_A() { + moveCursorUp(getAnsiParameter(0)); + } + + /** + * This method moves the cursor down by the number of lines specified by the + * escape sequence parameter (default 1). + */ + private void processAnsiCommand_B() { + moveCursorDown(getAnsiParameter(0)); + } + + /** + * This method moves the cursor forward by the number of columns specified + * by the escape sequence parameter (default 1). + */ + private void processAnsiCommand_C() { + moveCursorForward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor backward by the number of columns specified + * by the escape sequence parameter (default 1). + */ + private void processAnsiCommand_D() { + moveCursorBackward(getAnsiParameter(0)); + } + + /** + * This method moves the cursor to the first column of the Nth next line, + * where N is specified by the ANSI parameter (default 1). + */ + private void processAnsiCommand_E() { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() + linesToMove, 0); + } + + /** + * This method moves the cursor to the first column of the Nth previous + * line, where N is specified by the ANSI parameter (default 1). + */ + private void processAnsiCommand_F() { + int linesToMove = getAnsiParameter(0); + + moveCursor(relativeCursorLine() - linesToMove, 0); + } + + /** + * This method moves the cursor within the current line to the column + * specified by the ANSI parameter (default is column 1). + */ + private void processAnsiCommand_G() { + int targetColumn = 1; + + if (ansiParameters[0].length() > 0) + targetColumn = getAnsiParameter(0) - 1; + + moveCursor(relativeCursorLine(), targetColumn); + } + + /** + * This method sets the cursor to a position specified by the escape + * sequence parameters (default is the upper left corner of the screen). + */ + private void processAnsiCommand_H() { + moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); + } + + /** + * This method deletes some (or all) of the text on the screen without + * moving the cursor. + */ + private void processAnsiCommand_J() { + int ansiParameter; + + if (ansiParameters[0].length() == 0) + ansiParameter = 0; + else + ansiParameter = getAnsiParameter(0); + + switch (ansiParameter) { + case 0: + text.eraseToEndOfScreen(); + break; + + case 1: + // Erase from beginning to current position (inclusive). + text.eraseToCursor(); + break; + + case 2: + // Erase entire display. + + text.eraseAll(); + break; + + default: + Logger.log("Unexpected J-command parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + } + + /** + * This method deletes some (or all) of the text in the current line without + * moving the cursor. + */ + private void processAnsiCommand_K() { + int ansiParameter = getAnsiParameter(0); + + switch (ansiParameter) { + case 0: + // Erase from beginning to current position (inclusive). + text.eraseLineToCursor(); + break; + + case 1: + // Erase from current position to end (inclusive). + text.eraseLineToEnd(); + break; + + case 2: + // Erase entire line. + text.eraseLine(); + break; + + default: + Logger.log("Unexpected K-command parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + } + + /** + * Insert one or more blank lines. The current line of text moves down. Text + * that falls off the bottom of the screen is deleted. + */ + private void processAnsiCommand_L() { + text.insertLines(getAnsiParameter(0)); + } + + /** + * Delete one or more lines of text. Any lines below the deleted lines move + * up, which we implement by appending newlines to the end of the text. + */ + private void processAnsiCommand_M() { + text.deleteLines(getAnsiParameter(0)); + } + + /** + * This method sets a new graphics rendition mode, such as + * foreground/background color, bold/normal text, and reverse video. + */ + private void processAnsiCommand_m() { + if (ansiParameters[0].length() == 0) { + // This a special case: when no ANSI parameter is specified, act like a + // single parameter equal to 0 was specified. + + ansiParameters[0].append('0'); + } + Style style=text.getStyle(); + // There are a non-zero number of ANSI parameters. Process each one in + // order. + + int totalParameters = ansiParameters.length; + int parameterIndex = 0; + + while (parameterIndex < totalParameters + && ansiParameters[parameterIndex].length() > 0) { + int ansiParameter = getAnsiParameter(parameterIndex); + + switch (ansiParameter) { + case 0: + // Reset all graphics modes. + text.setStyle(text.getDefaultStyle()); + break; + + case 1: + text.setStyle(style.setBold(true)); + break; + + case 7: + text.setStyle(style.setReverse(true)); + break; + + case 10: // Set primary font. Ignored. + break; + +// case 22: +// // TODO +// //currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes +// // only. +// break; + + case 27: + text.setStyle(style.setReverse(false)); + break; + + case 30: + text.setStyle(style.setForground("BLACK")); //$NON-NLS-1$ + break; + + case 31: + text.setStyle(style.setForground("RED")); //$NON-NLS-1$ + break; + + case 32: + text.setStyle(style.setForground("GREEN")); //$NON-NLS-1$ + break; + + case 33: + text.setStyle(style.setForground("YELLOW")); //$NON-NLS-1$ + break; + + case 34: + text.setStyle(style.setForground("BLUE")); //$NON-NLS-1$ + break; + + case 35: + text.setStyle(style.setForground("MAGENTA")); //$NON-NLS-1$ + break; + + case 36: + text.setStyle(style.setForground("CYAN")); //$NON-NLS-1$ + break; + + case 37: + text.setStyle(style.setForground("WHITE")); //$NON-NLS-1$ + break; + + case 40: + text.setStyle(style.setBackground("BLACK")); //$NON-NLS-1$ + break; + + case 41: + text.setStyle(style.setBackground("RED")); //$NON-NLS-1$ + break; + + case 42: + text.setStyle(style.setBackground("GREEN")); //$NON-NLS-1$ + break; + + case 43: + text.setStyle(style.setBackground("YELLOW")); //$NON-NLS-1$ + break; + + case 44: + text.setStyle(style.setBackground("BLUE")); //$NON-NLS-1$ + break; + + case 45: + text.setStyle(style.setBackground("MAGENTA")); //$NON-NLS-1$ + break; + + case 46: + text.setStyle(style.setBackground("CYAN")); //$NON-NLS-1$ + break; + + case 47: + text.setStyle(style.setBackground("WHITE")); //$NON-NLS-1$ + break; + + default: + Logger + .log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ + break; + } + + ++parameterIndex; + } + } + + /** + * This method responds to an ANSI Device Status Report (DSR) command from + * the remote endpoint requesting the cursor position. Requests for other + * kinds of status are ignored. + */ + private void processAnsiCommand_n() { + // Do nothing if the numeric parameter was not 6 (which means report cursor + // position). + + if (getAnsiParameter(0) != 6) + return; + + // Send the ANSI cursor position (which is 1-based) to the remote endpoint. + + String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ + (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ + + OutputStreamWriter streamWriter = new OutputStreamWriter(terminal + .getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ + + try { + streamWriter.write(positionReport, 0, positionReport.length()); + streamWriter.flush(); + } catch (IOException ex) { + Logger.log("Caught IOException!"); //$NON-NLS-1$ + } + } + + /** + * Deletes one or more characters starting at the current cursor position. + * Characters on the same line and to the right of the deleted characters + * move left. If there are no characters on the current line at or to the + * right of the cursor column, no text is deleted. + */ + private void processAnsiCommand_P() { + text.deleteCharacters(getAnsiParameter(0)); + } + + /** + * This method returns one of the numeric ANSI parameters received in the + * most recent escape sequence. + * + * @return The parameterIndexth numeric ANSI parameter or -1 if the + * index is out of range. + */ + private int getAnsiParameter(int parameterIndex) { + if (parameterIndex < 0 || parameterIndex >= ansiParameters.length) { + // This should never happen. + return -1; + } + + String parameter = ansiParameters[parameterIndex].toString(); + + if (parameter.length() == 0) + return 1; + + int parameterValue = 1; + + // Don't trust the remote endpoint to send well formed numeric + // parameters. + + try { + parameterValue = Integer.parseInt(parameter); + } catch (NumberFormatException ex) { + parameterValue = 1; + } + + return parameterValue; + } + + /** + * This method processes a single parameter character in an ANSI escape + * sequence. Parameters are the (optional) characters between the leading + * "\e[" and the command character in an escape sequence (e.g., in the + * escape sequence "\e[20;10H", the parameter characters are "20;10"). + * Parameters are integers separated by one or more ';'s. + */ + private void processAnsiParameterCharacter(char ch) { + if (ch == ';') { + ++nextAnsiParameter; + } else { + if (nextAnsiParameter < ansiParameters.length) + ansiParameters[nextAnsiParameter].append(ch); + } + } + /** + * This method processes a contiguous sequence of non-control characters. + * This is a performance optimization, so that we don't have to insert or + * append each non-control character individually to the StyledText widget. + * A non-control character is any character that passes the condition in the + * below while loop. + * @throws IOException + */ + private void processNonControlCharacters(char character) throws IOException { + StringBuffer buffer=new StringBuffer(); + buffer.append(character); + // Identify a contiguous sequence of non-control characters, starting at + // firstNonControlCharacterIndex in newText. + while(hasNextChar()) { + character=getNextChar(); + if(character == '\u0000' || character == '\b' || character == '\t' + || character == '\u0007' || character == '\n' + || character == '\r' || character == '\u001b') { + pushBackChar(character); + break; + } + buffer.append(character); + } + + // Now insert the sequence of non-control characters in the StyledText widget + // at the location of the cursor. + + displayNewText(buffer.toString()); + } + + /** + * This method displays a subset of the newly-received text in the Terminal + * view, wrapping text at the right edge of the screen and overwriting text + * when the cursor is not at the very end of the screen's text. + *

                + * + * There are never any ANSI control characters or escape sequences in the + * text being displayed by this method (this includes newlines, carriage + * returns, and tabs). + *

                + */ + private void displayNewText(String buffer) { + text.appendString(buffer); + } + + + /** + * Process a BEL (Control-G) character. + */ + private void processBEL() { + // TODO + //Display.getDefault().beep(); + } + + /** + * Process a backspace (Control-H) character. + */ + private void processBackspace() { + moveCursorBackward(1); + } + + /** + * Process a tab (Control-I) character. We don't insert a tab character into + * the StyledText widget. Instead, we move the cursor forward to the next + * tab stop, without altering any of the text. Tab stops are every 8 + * columns. The cursor will never move past the rightmost column. + */ + private void processTab() { + moveCursorForward(8 - (getCursorColumn() % 8)); + } + + /** + * Process a newline (Control-J) character. A newline (NL) character just + * moves the cursor to the same column on the next line, creating new lines + * when the cursor reaches the bottom edge of the terminal. This is + * counter-intuitive, especially to UNIX programmers who are taught that + * writing a single NL to a terminal is sufficient to move the cursor to the + * first column of the next line, as if a carriage return (CR) and a NL were + * written. + *

                + * + * UNIX terminals typically display a NL character as a CR followed by a NL + * because the terminal device typically has the ONLCR attribute bit set + * (see the termios(4) man page for details), which causes the terminal + * device driver to translate NL to CR + NL on output. The terminal itself + * (i.e., a hardware terminal or a terminal emulator, like xterm or this + * code) _always_ interprets a CR to mean "move the cursor to the beginning + * of the current line" and a NL to mean "move the cursor to the same column + * on the next line". + *

                + */ + private void processNewline() { + text.processNewline(); + } + + /** + * Process a Carriage Return (Control-M). + */ + private void processCarriageReturn() { + text.setCursorColumn(0); + } + + /** + * This method computes the width of the terminal in columns and its height + * in lines, then adjusts the width and height of the view's StyledText + * widget so that it displays an integral number of lines and columns of + * text. The adjustment is always to shrink the widget vertically or + * horizontally, because if the control were to grow, it would be clipped by + * the edges of the view window (i.e., the view window does not become + * larger to accommodate its contents becoming larger). + *

                + * + * This method must be called immediately before each time text is written + * to the terminal so that we can properly line wrap text. Because it is + * called so frequently, it must be fast when there is no resizing to be + * done. + *

                + */ + private void adjustTerminalDimensions() { + // Compute how many pixels we need to shrink the StyledText control vertically + // to make it display an integral number of lines of text. + + // TODO +// if(text.getColumns()!=80 && text.getLines()!=80) +// text.setDimensions(24, 80); + // If we are in a TELNET connection and we know the dimensions of the terminal, + // we give the size information to the TELNET connection object so it can + // communicate it to the TELNET server. If we are in a serial connection, + // there is nothing we can do to tell the remote host about the size of the + // terminal. + ITerminalConnector telnetConnection = getConnector(); + // TODO MSA: send only if dimensions have really changed! + if (telnetConnection != null) { + telnetConnection.setTerminalSize(text.getColumns(), text.getLines()); + } + + } + + private ITerminalConnector getConnector() { + if(terminal.getTerminalConnectorInfo()!=null) + return terminal.getTerminalConnectorInfo().getConnector(); + return null; + } + + /** + * This method returns the relative line number of the line containing the + * cursor. The returned line number is relative to the topmost visible line, + * which has relative line number 0. + * + * @return The relative line number of the line containing the cursor. + */ + private int relativeCursorLine() { + return text.getCursorLine(); + } + + /** + * This method moves the cursor to the specified line and column. Parameter + * targetLine is the line number of a screen line, so it has a + * minimum value of 0 (the topmost screen line) and a maximum value of + * heightInLines - 1 (the bottommost screen line). A line does not have to + * contain any text to move the cursor to any column in that line. + */ + private void moveCursor(int targetLine, int targetColumn) { + text.setCursor(targetLine,targetColumn); + } + + /** + * This method moves the cursor down lines lines, but won't move the + * cursor past the bottom of the screen. This method does not cause any + * scrolling. + */ + private void moveCursorDown(int lines) { + moveCursor(relativeCursorLine() + lines, getCursorColumn()); + } + + /** + * This method moves the cursor up lines lines, but won't move the + * cursor past the top of the screen. This method does not cause any + * scrolling. + */ + private void moveCursorUp(int lines) { + moveCursor(relativeCursorLine() - lines, getCursorColumn()); + } + + /** + * This method moves the cursor forward columns columns, but won't + * move the cursor past the right edge of the screen, nor will it move the + * cursor onto the next line. This method does not cause any scrolling. + */ + private void moveCursorForward(int columnsToMove) { + moveCursor(relativeCursorLine(), getCursorColumn() + columnsToMove); + } + + /** + * This method moves the cursor backward columnsToMove columns, but + * won't move the cursor past the left edge of the screen, nor will it move + * the cursor onto the previous line. This method does not cause any + * scrolling. + */ + private void moveCursorBackward(int columnsToMove) { + moveCursor(relativeCursorLine(), getCursorColumn() - columnsToMove); + } + /** + * Resets the state of the terminal text (foreground color, background color, + * font style and other internal state). It essentially makes it ready for new input. + */ + public void resetState() { + ansiState=ANSISTATE_INITIAL; + text.setStyle(text.getDefaultStyle()); + } + +// public OutputStream getOutputStream() { +// return fTerminalInputStream.getOutputStream(); +// } + + /** + * Buffer for {@link #pushBackChar(char)}. + */ + private int fNextChar=-1; + private char getNextChar() throws IOException { + int c=-1; + if(fNextChar!=-1) { + c= fNextChar; + fNextChar=-1; + } else { + c = fReader.read(); + } + // TODO: better end of file handling + if(c==-1) + c=0; + return (char)c; + } + + private boolean hasNextChar() throws IOException { + if(fNextChar>=0) + return true; + return fReader.ready(); + } + + /** + * Put back one character to the stream. This method can push + * back exactly one character. The character is the next character + * returned by {@link #getNextChar} + * @param c the character to be pushed back. + */ + void pushBackChar(char c) { + //assert fNextChar!=-1: "Already a character waiting:"+fNextChar; //$NON-NLS-1$ + fNextChar=c; + } + private int getCursorColumn() { + return text.getCursorColumn(); + } + public boolean isCrAfterNewLine() { + return fCrAfterNewLine; + } + public void setCrAfterNewLine(boolean crAfterNewLine) { + fCrAfterNewLine = crAfterNewLine; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java new file mode 100644 index 00000000000..cda57c62c3a --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -0,0 +1,387 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.Style; + +/** + * + */ +public class VT100EmulatorBackend implements IVT100EmulatorBackend { + + /** + * This field holds the number of the column in which the cursor is + * logically positioned. The leftmost column on the screen is column 0, and + * column numbers increase to the right. The maximum value of this field is + * {@link #widthInColumns} - 1. We track the cursor column using this field + * to avoid having to recompute it repeatly using StyledText method calls. + *

                + * + * The StyledText widget that displays text has a vertical bar (called the + * "caret") that appears _between_ character cells, but ANSI terminals have + * the concept of a cursor that appears _in_ a character cell, so we need a + * convention for which character cell the cursor logically occupies when + * the caret is physically between two cells. The convention used in this + * class is that the cursor is logically in column N when the caret is + * physically positioned immediately to the _left_ of column N. + *

                + * + * When fCursorColumn is N, the next character output to the terminal appears + * in column N. When a character is output to the rightmost column on a + * given line (column widthInColumns - 1), the cursor moves to column 0 on + * the next line after the character is drawn (this is how line wrapping is + * implemented). If the cursor is in the bottommost line when line wrapping + * occurs, the topmost visible line is scrolled off the top edge of the + * screen. + *

                + */ + private int fCursorColumn; + private int fCursorLine; + private Style fDefaultStyle; + private Style fStyle; + int fLines; + int fColumns; + final private ITerminalTextData fTerminal; + public VT100EmulatorBackend(ITerminalTextData terminal) { + fTerminal=terminal; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#clearAll() + */ + public void clearAll() { + synchronized (fTerminal) { + // clear the history + int n=fTerminal.getHeight(); + for (int line = 0; line < n; line++) { + fTerminal.cleanLine(line); + } + fTerminal.setDimensions(fLines, fTerminal.getWidth()); + setStyle(getDefaultStyle()); + setCursor(0, 0); + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setDimensions(int, int) + */ + public void setDimensions(int lines, int cols) { + synchronized (fTerminal) { + if(lines==fLines && cols==fColumns) + return; // nothing to do + // cursor line from the bottom + int cl=fLines-getCursorLine(); + int cc=getCursorColumn(); + + fLines=lines; + fColumns=cols; + // make the terminal at least as high as we need lines + fTerminal.setDimensions(Math.max(fLines,fTerminal.getHeight()), fColumns); + setCursor(fLines-cl, cc); + } + } + + int toAbsoluteLine(int line) { + synchronized (fTerminal) { + return fTerminal.getHeight()-fLines+line; + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#insertCharacters(int) + */ + public void insertCharacters(int charactersToInsert) { + synchronized (fTerminal) { + int line=toAbsoluteLine(fCursorLine); + int n=charactersToInsert; + for (int col = fColumns-1; col >=fCursorColumn+n; col--) { + char c=fTerminal.getChar(line, col-n); + Style style=fTerminal.getStyle(line, col-n); + fTerminal.setChar(line, col,c, style); + } + int last=Math.min(fCursorColumn+n, fColumns); + for (int col = fCursorColumn; col 0; + int line=toAbsoluteLine(fCursorLine); + int nLines=fTerminal.getHeight()-line; + fTerminal.scroll(line, nLines, n); + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#deleteCharacters(int) + */ + public void deleteCharacters(int n) { + synchronized (fTerminal) { + int line=toAbsoluteLine(fCursorLine); + for (int col = fCursorColumn+n; col < fColumns; col++) { + char c=fTerminal.getChar(line, col); + Style style=fTerminal.getStyle(line, col); + fTerminal.setChar(line, col-n,c, style); + } + int first=Math.max(fCursorColumn, fColumns-n); + for (int col = first; col 0; + int line=toAbsoluteLine(fCursorLine); + int nLines=fTerminal.getHeight()-line; + fTerminal.scroll(line, nLines, -n); + } + } + private boolean isCusorInScrollingRegion() { + // TODO Auto-generated method stub + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getDefaultStyle() + */ + public Style getDefaultStyle() { + synchronized (fTerminal) { + return fDefaultStyle; + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setDefaultStyle(org.eclipse.tm.terminal.model.Style) + */ + public void setDefaultStyle(Style defaultStyle) { + synchronized (fTerminal) { + fDefaultStyle = defaultStyle; + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getStyle() + */ + public Style getStyle() { + synchronized (fTerminal) { + if(fStyle==null) + return fDefaultStyle; + return fStyle; + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setStyle(org.eclipse.tm.terminal.model.Style) + */ + public void setStyle(Style style) { + synchronized (fTerminal) { + fStyle=style; + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#appendString(java.lang.String) + */ + public void appendString(String buffer) { + synchronized (fTerminal) { + char[] chars=buffer.toCharArray(); + int line=toAbsoluteLine(fCursorLine); + int i=0; + while (i < chars.length) { + int n=Math.min(fColumns-fCursorColumn,chars.length-i); + fTerminal.setChars(line, fCursorColumn, chars, i, n, fStyle); + int col=fCursorColumn+n; + i+=n; + // wrap needed? + if(col>=fColumns) { + doNewline(); + line=toAbsoluteLine(fCursorLine); + setCursorColumn(0); + } else { + setCursorColumn(col); + } + } + } + } + + /** + * MUST be called from a synchronized block! + */ + private void doNewline() { + if(fCursorLine+1>=fLines) { + int h=fTerminal.getHeight(); + fTerminal.addLine(); + if(h!=fTerminal.getHeight()) + setCursorLine(fCursorLine+1); + } else { + setCursorLine(fCursorLine+1); + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#processNewline() + */ + public void processNewline() { + synchronized (fTerminal) { + doNewline(); + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getCursorLine() + */ + public int getCursorLine() { + synchronized (fTerminal) { + return fCursorLine; + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getCursorColumn() + */ + public int getCursorColumn() { + synchronized (fTerminal) { + return fCursorColumn; + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setCursor(int, int) + */ + public void setCursor(int targetLine, int targetColumn) { + synchronized (fTerminal) { + setCursorLine(targetLine); + setCursorColumn(targetColumn); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setCursorColumn(int) + */ + public void setCursorColumn(int targetColumn) { + synchronized (fTerminal) { + if(targetColumn<0) + targetColumn=0; + else if(targetColumn>=fColumns) + targetColumn=fColumns-1; + fCursorColumn=targetColumn; + // We make the assumption that nobody is changing the + // terminal cursor except this class! + // This assumption gives a huge performance improvement + fTerminal.setCursorColumn(targetColumn); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#setCursorLine(int) + */ + public void setCursorLine(int targetLine) { + synchronized (fTerminal) { + if(targetLine<0) + targetLine=0; + else if(targetLine>=fLines) + targetLine=fLines-1; + fCursorLine=targetLine; + // We make the assumption that nobody is changing the + // terminal cursor except this class! + // This assumption gives a huge performance improvement + fTerminal.setCursorLine(toAbsoluteLine(targetLine)); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getLines() + */ + public int getLines() { + synchronized (fTerminal) { + return fLines; + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.emulator.IVT100EmulatorBackend#getColumns() + */ + public int getColumns() { + synchronized (fTerminal) { + return fColumns; + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java new file mode 100644 index 00000000000..441d0c98071 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -0,0 +1,906 @@ +/******************************************************************************* + * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; +import java.net.SocketException; + +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.KeyAdapter; +import org.eclipse.swt.events.KeyEvent; +import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Rectangle; +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.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.control.ICommandInputField; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; +import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.textcanvas.ITextCanvasModel; +import org.eclipse.tm.internal.terminal.textcanvas.PipedInputStream; +import org.eclipse.tm.internal.terminal.textcanvas.PollingTextCanvasModel; +import org.eclipse.tm.internal.terminal.textcanvas.TextCanvas; +import org.eclipse.tm.internal.terminal.textcanvas.TextLineRenderer; +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; +import org.eclipse.tm.terminal.model.TerminalTextDataFactory; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; +import org.eclipse.ui.keys.IBindingService; + +/** + * + * This class was originally written to use nested classes, which unfortunately makes + * this source file larger and more complex than it needs to be. In particular, the + * methods in the nested classes directly access the fields of the enclosing class. + * One day we should pull the nested classes out into their own source files (but still + * in this package). + * + * @author Chris Thew + */ +public class VT100TerminalControl implements ITerminalControlForText, ITerminalControl, ITerminalViewControl +{ + protected final static String[] LINE_DELIMITERS = { "\n" }; //$NON-NLS-1$ + + /** + * This field holds a reference to a TerminalText object that performs all ANSI + * text processing on data received from the remote host and controls how text is + * displayed using the view's StyledText widget. + */ + private VT100Emulator fTerminalText; + private Display fDisplay; + private TextCanvas fCtlText; + private Composite fWndParent; + private Clipboard fClipboard; + private KeyListener fKeyHandler; + private ITerminalListener fTerminalListener; + private String fMsg = ""; //$NON-NLS-1$ + private FocusListener fFocusListener; + private ITerminalConnectorInfo fConnectorInfo; + private final ITerminalConnectorInfo[] fConnectors; + PipedInputStream fInputStream; + + private ICommandInputField fCommandInputField; + + private volatile TerminalState fState; + + private ITerminalTextData fTerminalModel; + + volatile private Job fJob; + + public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { + fConnectors=connectors; + fTerminalListener=target; + fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); + fTerminalModel.setDimensions(24, 80); + fTerminalModel.setMaxHeight(1000); + fInputStream=new PipedInputStream(8*1024); + fTerminalText=new VT100Emulator(fTerminalModel,this,fInputStream); + + setupTerminal(wndParent); + } + + public ITerminalConnectorInfo[] getConnectors() { + return fConnectors; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy() + */ + public void copy() { + getCtlText().copy(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste() + */ + public void paste() { + TextTransfer textTransfer = TextTransfer.getInstance(); + String strText = (String) fClipboard.getContents(textTransfer); + pasteString(strText); +// TODO paste in another thread.... to avoid blocking +// new Thread() { +// public void run() { +// for (int i = 0; i < strText.length(); i++) { +// sendChar(strText.charAt(i), false); +// } +// +// } +// }.start(); + } + + /** + * @param strText + */ + public boolean pasteString(String strText) { + if(!isConnected()) + return false; + if (strText == null) + return false; + for (int i = 0; i < strText.length(); i++) { + sendChar(strText.charAt(i), false); + } + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#selectAll() + */ + public void selectAll() { + getCtlText().selectAll(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#sendKey(char) + */ + public void sendKey(char character) { + Event event; + KeyEvent keyEvent; + + event = new Event(); + event.widget = getCtlText(); + event.character = character; + event.keyCode = 0; + event.stateMask = 0; + event.doit = true; + keyEvent = new KeyEvent(event); + + fKeyHandler.keyPressed(keyEvent); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#clearTerminal() + */ + public void clearTerminal() { + // The TerminalText object does all text manipulation. + + getTerminalText().clearTerminal(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getClipboard() + */ + public Clipboard getClipboard() { + return fClipboard; + } + + /** + * @return non null selection + */ + public String getSelection() { + String txt= fCtlText.getSelectionText(); + if(txt==null) + txt=""; //$NON-NLS-1$ + return txt; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setFocus() + */ + public void setFocus() { + getCtlText().setFocus(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isEmpty() + */ + public boolean isEmpty() { + return getCtlText().isEmpty(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isDisposed() + */ + public boolean isDisposed() { + return getCtlText().isDisposed(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnected() + */ + public boolean isConnected() { + return fState==TerminalState.CONNECTED; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disposeTerminal() + */ + public void disposeTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + disconnectTerminal(); + fClipboard.dispose(); + getTerminalText().dispose(); + } + + public void connectTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + if(getTerminalConnector()==null) + return; + fTerminalText.resetState(); + if(fConnectorInfo.getInitializationErrorMessage()!=null) { + showErrorMessage(NLS.bind( + TerminalMessages.CannotConnectTo, + fConnectorInfo.getName(), + fConnectorInfo.getInitializationErrorMessage())); + // we cannot connect because the connector was not initialized + return; + } + getTerminalConnector().connect(this); + // clean the error message + setMsg(""); //$NON-NLS-1$ + waitForConnect(); + } + + private ITerminalConnector getTerminalConnector() { + if(fConnectorInfo==null) + return null; + return fConnectorInfo.getConnector(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() + */ + public void disconnectTerminal() { + Logger.log("entered."); //$NON-NLS-1$ + + if (getState()==TerminalState.CLOSED) { + return; + } + if(getTerminalConnector()!=null) { + getTerminalConnector().disconnect(); + } + } + + // TODO + private void waitForConnect() { + Logger.log("entered."); //$NON-NLS-1$ + // TODO + // Eliminate this code + while (getState()==TerminalState.CONNECTING) { + if (fDisplay.readAndDispatch()) + continue; + + fDisplay.sleep(); + } + if (!getMsg().equals("")) //$NON-NLS-1$ + { + showErrorMessage(getMsg()); + + disconnectTerminal(); + return; + } + getCtlText().setFocus(); + startReaderJob(); + + } + + private void startReaderJob() { + if(fJob==null) { + fJob=new Job("Terminal data reader") { //$NON-NLS-1$ + protected IStatus run(IProgressMonitor monitor) { + IStatus status=Status.OK_STATUS; + while(true) { + while(fInputStream.available()==0 && !monitor.isCanceled()) { + try { + fInputStream.waitForAvailable(500); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + if(monitor.isCanceled()) { + disconnectTerminal(); + status=Status.CANCEL_STATUS; + break; + } + try { + // TODO: should block when no text is available! + fTerminalText.processText(); + + } catch (Exception e) { + disconnectTerminal(); + status=new Status(IStatus.ERROR,TerminalPlugin.PLUGIN_ID,e.getLocalizedMessage(),e); + break; + } + } + // clean the job: start a new one when the connection getst restarted + fJob=null; + return status; + } + + }; + fJob.setSystem(true); + fJob.schedule(); + } + } + + private void showErrorMessage(String message) { + String strTitle = TerminalMessages.TerminalError; + MessageDialog.openError( getShell(), strTitle, message); + } + + protected void sendString(String string) { + try { + // Send the string after converting it to an array of bytes using the + // platform's default character encoding. + // + // TODO: Find a way to force this to use the ISO Latin-1 encoding. + + getOutputStream().write(string.getBytes()); + getOutputStream().flush(); + } catch (SocketException socketException) { + displayTextInTerminal(socketException.getMessage()); + + String strMsg = TerminalMessages.SocketError + + "!\n" + socketException.getMessage(); //$NON-NLS-1$ + showErrorMessage(strMsg); + + Logger.logException(socketException); + + disconnectTerminal(); + } catch (IOException ioException) { + showErrorMessage(TerminalMessages.IOError + "!\n" + ioException.getMessage());//$NON-NLS-1$ + + Logger.logException(ioException); + + disconnectTerminal(); + } + } + + public Shell getShell() { + return getCtlText().getShell(); + } + + protected void sendChar(char chKey, boolean altKeyPressed) { + try { + int byteToSend = chKey; + + if (altKeyPressed) { + // When the ALT key is pressed at the same time that a character is + // typed, translate it into an ESCAPE followed by the character. The + // alternative in this case is to set the high bit of the character + // being transmitted, but that will cause input such as ALT-f to be + // seen as the ISO Latin-1 character '�', which can be confusing to + // European users running Emacs, for whom Alt-f should move forward a + // word instead of inserting the '�' character. + // + // TODO: Make the ESCAPE-vs-highbit behavior user configurable. + + Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write('\u001b'); + getOutputStream().write(byteToSend); + } else { + Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write(byteToSend); + } + + getOutputStream().flush(); + } catch (SocketException socketException) { + Logger.logException(socketException); + + displayTextInTerminal(socketException.getMessage()); + + String strMsg = TerminalMessages.SocketError + + "!\n" + socketException.getMessage(); //$NON-NLS-1$ + + showErrorMessage(strMsg); + Logger.logException(socketException); + + disconnectTerminal(); + } catch (IOException ioException) { + Logger.logException(ioException); + + displayTextInTerminal(ioException.getMessage()); + + String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ + + showErrorMessage(strMsg); + Logger.logException(ioException); + + disconnectTerminal(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal() + */ + public void setupTerminal(Composite parent) { + fState=TerminalState.CLOSED; + setupControls(parent); + setupListeners(); + setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#onFontChanged() + */ + public void setFont(Font font) { + getCtlText().setFont(font); + if(fCommandInputField!=null) { + fCommandInputField.setFont(font); + } + + // Tell the TerminalControl singleton that the font has changed. + + getTerminalText().fontChanged(); + } + public Font getFont() { + return getCtlText().getFont(); + } + public Control getControl() { + return fCtlText; + } + protected void setupControls(Composite parent) { + // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it + // can't have a horizontal scroll bar (but a vertical one is ok). Also, do + // _not_ make the TextViewer read-only, because that prevents it from seeing a + // TAB character when the user presses TAB (instead, the TAB causes focus to + // switch to another Workbench control). We prevent local keyboard input from + // modifying the text in method TerminalVerifyKeyListener.verifyKey(). + + fWndParent=new Composite(parent,SWT.NONE); + GridLayout layout=new GridLayout(); + layout.marginWidth=0; + layout.marginHeight=0; + + fWndParent.setLayout(layout); + + ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); + // TODO how to get the initial size correctly! + snapshot.updateSnapshot(false); + ITextCanvasModel canvasModel=new PollingTextCanvasModel(snapshot); + fCtlText=new TextCanvas(fWndParent,canvasModel,SWT.NONE); + fCtlText.setCellRenderer(new TextLineRenderer(fCtlText,canvasModel)); + + fCtlText.setLayoutData(new GridData(GridData.FILL_BOTH)); + fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + fCtlText.addListener(SWT.Resize, new Listener() { + public void handleEvent(Event e) { + Rectangle bonds=fCtlText.getClientArea(); + int lines=bonds.height/fCtlText.getCellHeight(); + int columns=bonds.width/fCtlText.getCellWidth(); + fTerminalText.setDimensions(lines, columns); + } + }); + + + fDisplay = getCtlText().getDisplay(); + fClipboard = new Clipboard(fDisplay); +// fViewer.setDocument(new TerminalDocument()); + setFont(JFaceResources.getTextFont()); + } + + protected void setupListeners() { + fKeyHandler = new TerminalKeyHandler(); + fFocusListener = new TerminalFocusListener(); + + getCtlText().addKeyListener(fKeyHandler); + getCtlText().addFocusListener(fFocusListener); + + } + + /** + * Setup all the help contexts for the controls. + */ + protected void setupHelp(Composite parent, String id) { + Control[] children = parent.getChildren(); + + for (int nIndex = 0; nIndex < children.length; nIndex++) { + if (children[nIndex] instanceof Composite) { + setupHelp((Composite) children[nIndex], id); + } + } + + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, id); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#displayTextInTerminal(java.lang.String) + */ + public void displayTextInTerminal(String text) { + writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } + private void writeToTerminal(String text) { + try { + getRemoteToTerminalOutputStream().write(text.getBytes("ISO-8859-1")); //$NON-NLS-1$ + } catch (UnsupportedEncodingException e) { + // should never happen! + e.printStackTrace(); + } catch (IOException e) { + // should never happen! + e.printStackTrace(); + } + + } + + public OutputStream getRemoteToTerminalOutputStream() { + return fInputStream.getOutputStream(); + } + protected boolean isLogCharEnabled() { + return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); + } + protected boolean isLogBufferSizeEnabled() { + return TerminalPlugin + .isOptionEnabled(Logger.TRACE_DEBUG_LOG_BUFFER_SIZE); + } + + + public OutputStream getOutputStream() { + if(getTerminalConnector()!=null) + return getTerminalConnector().getOutputStream(); + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setMsg(java.lang.String) + */ + public void setMsg(String msg) { + fMsg = msg; + } + + public String getMsg() { + return fMsg; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getCtlText() + */ + protected TextCanvas getCtlText() { + return fCtlText; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getTerminalText() + */ + public VT100Emulator getTerminalText() { + return fTerminalText; + } + + /** + */ + public ITerminalConnectorInfo getTerminalConnectorInfo() { + return fConnectorInfo; + } + + protected class TerminalFocusListener implements FocusListener { + private IContextActivation contextActivation = null; + + protected TerminalFocusListener() { + super(); + } + + public void focusGained(FocusEvent event) { + // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view + // can see every keystroke. Without this, Emacs, vi, and Bash are unusable + // in the Terminal view. + + IBindingService bindingService = (IBindingService) PlatformUI + .getWorkbench().getAdapter(IBindingService.class); + bindingService.setKeyFilterEnabled(false); + + // The above code fails to cause Eclipse to disable menu-activation + // accelerators (e.g., Alt-F for the File menu), so we set the command + // context to be the Terminal view's command context. This enables us to + // override menu-activation accelerators with no-op commands in our + // plugin.xml file, which enables the Terminal view to see absolutly _all_ + // key-presses. + + IContextService contextService = (IContextService) PlatformUI + .getWorkbench().getAdapter(IContextService.class); + contextActivation = contextService + .activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ + } + + public void focusLost(FocusEvent event) { + // Enable all keybindings. + + IBindingService bindingService = (IBindingService) PlatformUI + .getWorkbench().getAdapter(IBindingService.class); + bindingService.setKeyFilterEnabled(true); + + // Restore the command context to its previous value. + + IContextService contextService = (IContextService) PlatformUI + .getWorkbench().getAdapter(IContextService.class); + contextService.deactivateContext(contextActivation); + } + } + + protected class TerminalKeyHandler extends KeyAdapter { + public void keyPressed(KeyEvent event) { + if (getState()==TerminalState.CONNECTING) + return; + + // We set the event.doit to false to prevent any further processing of this + // key event. The only reason this is here is because I was seeing the F10 + // key both send an escape sequence (due to this method) and switch focus + // to the Workbench File menu (forcing the user to click in the Terminal + // view again to continue entering text). This fixes that. + + event.doit = false; + + char character = event.character; + + if (!isConnected()) { + // Pressing ENTER while not connected causes us to connect. + if (character == '\r') { + connectTerminal(); + return; + } + + // Ignore all other keyboard input when not connected. + return; + } + + // If the event character is NUL ('\u0000'), then a special key was pressed + // (e.g., PageUp, PageDown, an arrow key, a function key, Shift, Alt, + // Control, etc.). The one exception is when the user presses Control-@, + // which sends a NUL character, in which case we must send the NUL to the + // remote endpoint. This is necessary so that Emacs will work correctly, + // because Control-@ (i.e., NUL) invokes Emacs' set-mark-command when Emacs + // is running on a terminal. When the user presses Control-@, the keyCode + // is 50. + + if (character == '\u0000' && event.keyCode != 50) { + // A special key was pressed. Figure out which one it was and send the + // appropriate ANSI escape sequence. + // + // IMPORTANT: Control will not enter this method for these special keys + // unless certain tags are present in the plugin.xml file + // for the Terminal view. Do not delete those tags. + + switch (event.keyCode) { + case 0x1000001: // Up arrow. + sendString("\u001b[A"); //$NON-NLS-1$ + break; + + case 0x1000002: // Down arrow. + sendString("\u001b[B"); //$NON-NLS-1$ + break; + + case 0x1000003: // Left arrow. + sendString("\u001b[D"); //$NON-NLS-1$ + break; + + case 0x1000004: // Right arrow. + sendString("\u001b[C"); //$NON-NLS-1$ + break; + + case 0x1000005: // PgUp key. + sendString("\u001b[I"); //$NON-NLS-1$ + break; + + case 0x1000006: // PgDn key. + sendString("\u001b[G"); //$NON-NLS-1$ + break; + + case 0x1000007: // Home key. + sendString("\u001b[H"); //$NON-NLS-1$ + break; + + case 0x1000008: // End key. + sendString("\u001b[F"); //$NON-NLS-1$ + break; + + case 0x100000a: // F1 key. + sendString("\u001b[M"); //$NON-NLS-1$ + break; + + case 0x100000b: // F2 key. + sendString("\u001b[N"); //$NON-NLS-1$ + break; + + case 0x100000c: // F3 key. + sendString("\u001b[O"); //$NON-NLS-1$ + break; + + case 0x100000d: // F4 key. + sendString("\u001b[P"); //$NON-NLS-1$ + break; + + case 0x100000e: // F5 key. + sendString("\u001b[Q"); //$NON-NLS-1$ + break; + + case 0x100000f: // F6 key. + sendString("\u001b[R"); //$NON-NLS-1$ + break; + + case 0x1000010: // F7 key. + sendString("\u001b[S"); //$NON-NLS-1$ + break; + + case 0x1000011: // F8 key. + sendString("\u001b[T"); //$NON-NLS-1$ + break; + + case 0x1000012: // F9 key. + sendString("\u001b[U"); //$NON-NLS-1$ + break; + + case 0x1000013: // F10 key. + sendString("\u001b[V"); //$NON-NLS-1$ + break; + + case 0x1000014: // F11 key. + sendString("\u001b[W"); //$NON-NLS-1$ + break; + + case 0x1000015: // F12 key. + sendString("\u001b[X"); //$NON-NLS-1$ + break; + + default: + // Ignore other special keys. Control flows through this case when + // the user presses SHIFT, CONTROL, ALT, and any other key not + // handled by the above cases. + break; + } + + // It's ok to return here, because we never locally echo special keys. + + return; + } + + // To fix SPR 110341, we consider the Alt key to be pressed only when the + // Control key is _not_ also pressed. This works around a bug in SWT where, + // on European keyboards, the AltGr key being pressed appears to us as Control + // + Alt being pressed simultaneously. + + Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ + + boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && ((event.stateMask & SWT.CTRL) == 0)); + + if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 + && character == ' ') { + // Send a NUL character -- many terminal emulators send NUL when + // Control-Space is pressed. This is used to set the mark in Emacs. + + character = '\u0000'; + } + + sendChar(character, altKeyPressed); + + // Special case: When we are in a TCP connection and echoing characters + // locally, send a LF after sending a CR. + // ISSUE: Is this absolutely required? + + if (character == '\r' && getTerminalConnectorInfo() != null + && isConnected() + && getTerminalConnectorInfo().getConnector().isLocalEcho()) { + sendChar('\n', false); + } + + // Now decide if we should locally echo the character we just sent. We do + // _not_ locally echo the character if any of these conditions are true: + // + // o This is a serial connection. + // + // o This is a TCP connection (i.e., m_telnetConnection is not null) and + // the remote endpoint is not a TELNET server. + // + // o The ALT (or META) key is pressed. + // + // o The character is any of the first 32 ISO Latin-1 characters except + // Control-I or Control-M. + // + // o The character is the DELETE character. + + if (getTerminalConnectorInfo() == null + || getTerminalConnectorInfo().getConnector().isLocalEcho() == false || altKeyPressed + || (character >= '\u0001' && character < '\t') + || (character > '\t' && character < '\r') + || (character > '\r' && character <= '\u001f') + || character == '\u007f') { + // No local echoing. + return; + } + + // Locally echo the character. + + StringBuffer charBuffer = new StringBuffer(); + charBuffer.append(character); + + // If the character is a carriage return, we locally echo it as a CR + LF + // combination. + + if (character == '\r') + charBuffer.append('\n'); + + writeToTerminal(charBuffer.toString()); + } + + } + + public void setTerminalTitle(String title) { + fTerminalListener.setTerminalTitle(title); + } + + + public TerminalState getState() { + return fState; + } + + + public void setState(TerminalState state) { + fState=state; + fTerminalListener.setState(state); + } + + public String getSettingsSummary() { + if(getTerminalConnector()!=null) + return getTerminalConnector().getSettingsSummary(); + return ""; //$NON-NLS-1$ + } + + public void setConnector(ITerminalConnectorInfo connector) { + fConnectorInfo=connector; + + } + public ICommandInputField getCommandInputField() { + return fCommandInputField; + } + + public void setCommandInputField(ICommandInputField inputField) { + if(fCommandInputField!=null) + fCommandInputField.dispose(); + fCommandInputField=inputField; + if(fCommandInputField!=null) + fCommandInputField.createControl(fWndParent, this); + fWndParent.layout(true); + } + + public int getBufferLineLimit() { + return fTerminalModel.getMaxHeight(); + } + + public void setBufferLineLimit(int bufferLineLimit) { + if(bufferLineLimit<=0) + return; + synchronized (fTerminalModel) { + if(fTerminalModel.getHeight()>bufferLineLimit) + fTerminalModel.setDimensions(bufferLineLimit, fTerminalModel.getWidth()); + fTerminalModel.setMaxHeight(bufferLineLimit); + } + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java new file mode 100644 index 00000000000..15d7d9bf1f6 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java @@ -0,0 +1,80 @@ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +public interface ISnapshotChanges { + + /** + * @param line might bigger than the number of lines.... + */ + void markLineChanged(int line); + + /** + * Marks all lines in the range as changed + * @param line >=0 + * @param n might be out of range + */ + void markLinesChanged(int line, int n); + + /** + * Marks all lines within the scrolling region + * changed and resets the scrolling information + */ + void convertScrollingIntoChanges(); + + /** + * @return true if something has changed + */ + boolean hasChanged(); + + /** + * @param startLine + * @param size + * @param shift + */ + void scroll(int startLine, int size, int shift); + + /** + * Mark all lines changed + * @param height if no window is set this is the number of + * lines that are marked as changed + */ + void setAllChanged(int height); + + int getFirstChangedLine(); + + int getLastChangedLine(); + + int getScrollWindowStartLine(); + + int getScrollWindowSize(); + + int getScrollWindowShift(); + + boolean hasLineChanged(int line); + + void markDimensionsChanged(); + boolean hasDimensionsChanged(); + void markCursorChanged(); + + /** + * @return true if the terminal data has changed + */ + boolean hasTerminalChanged(); + /** + * mark the terminal as changed + */ + void setTerminalChanged(); + + + void copyChangedLines(ITerminalTextData dest, ITerminalTextData source); + + /** + * @param startLine -1 means follow the end of the data + * @param size number of lines to follow + */ + void setInterestWindow(int startLine, int size); + int getInterestWindowStartLine(); + int getInterestWindowSize(); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java new file mode 100644 index 00000000000..91b72481a93 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java @@ -0,0 +1,381 @@ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + + +/** + * Collects the changes of the {@link ITerminalTextData} + * + */ +public class SnapshotChanges implements ISnapshotChanges { + /** + * The first line changed + */ + private int fFirstChangedLine; + /** + * The last line changed + */ + private int fLastChangedLine; + private int fScrollWindowStartLine; + private int fScrollWindowSize; + private int fScrollWindowShift; + /** + * true, if scrolling should not tracked anymore + */ + private boolean fScrollDontTrack; + /** + * The lines that need to be copied + * into the snapshot (lines that have + * not changed don't have to be copied) + */ + private boolean[] fChangedLines; + + private int fInterestWindowSize; + private int fInterestWindowStartLine; + private boolean fDimensionsChanged; + private boolean fTerminalHasChanged; + private boolean fCursorHasChanged; + + public SnapshotChanges(int nLines) { + setChangedLinesLength(nLines); + fFirstChangedLine=Integer.MAX_VALUE; + fLastChangedLine=-1; + } + public SnapshotChanges(int windowStart, int windowSize) { + setChangedLinesLength(windowStart+windowSize); + fFirstChangedLine=Integer.MAX_VALUE; + fLastChangedLine=-1; + fInterestWindowStartLine=windowStart; + fInterestWindowSize=windowSize; + + } + /** + * This is used in asserts to throw an {@link RuntimeException}. + * This is useful for tests. + * @return never -- throws an exception + */ + private boolean throwRuntimeException() { + throw new RuntimeException(); + } + /** + * @param line + * @param size + * @return true if the range overlaps with the interest window + */ + boolean isInInterestWindow(int line, int size) { + if(fInterestWindowSize<=0) + return true; + if(line+size<=fInterestWindowStartLine || line>=fInterestWindowStartLine+fInterestWindowSize) + return false; + return true; + } + /** + * @param line + * @return true if the line is within the interest window + */ + boolean isInInterestWindow(int line) { + if(fInterestWindowSize<=0) + return true; + if(line=fInterestWindowStartLine+fInterestWindowSize) + return false; + return true; + } + /** + * @param line + * @return the line within the window + */ + int fitLineToWindow(int line) { + if(fInterestWindowSize<=0) + return line; + if(linebefore {@link #fitLineToWindow(int)} has been called! + * @param size + * @return the adjusted size. + *

                Note:

                {@link #fitLineToWindow(int)} has to be called on the line to + * move the window correctly! + */ + int fitSizeToWindow(int line, int size) { + if(fInterestWindowSize<=0) + return size; + if(linefInterestWindowStartLine+fInterestWindowSize) + size=fInterestWindowStartLine+fInterestWindowSize-line; + return size; + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ISnapshotChanges#markLineChanged(int) + */ + public void markLineChanged(int line) { + if(!isInInterestWindow(line)) + return; + line=fitLineToWindow(line); + if(linefLastChangedLine) + fLastChangedLine=line; + // in case the terminal got resized we expand + // don't remember the changed line because + // there is nothing to copy + if(line0 || fScrollWindowShift!=0 ||fDimensionsChanged || fCursorHasChanged) + return true; + return false; + } + public void markDimensionsChanged() { + fDimensionsChanged=true; + } + public boolean hasDimensionsChanged() { + return fDimensionsChanged; + } + public boolean hasTerminalChanged() { + return fTerminalHasChanged; + } + public void setTerminalChanged() { + fTerminalHasChanged=true; + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ISnapshotChanges#scroll(int, int, int) + */ + public void scroll(int startLine, int size, int shift) { + size=fitSizeToWindow(startLine, size); + startLine=fitLineToWindow(startLine); + // let's track only negative shifts + if(fScrollDontTrack) { + // we are in a state where we cannot track scrolling + // so let's simply mark the scrolled lines as changed + markLinesChanged(startLine, size); + } else if(shift>=0) { + // we cannot handle positive scroll + // forget about clever caching of scroll events + doNotTrackScrollingAnymore(); + // mark all lines inside the scroll region as changed + markLinesChanged(startLine, size); + } else { + // we have already scrolled + if(fScrollWindowShift<0) { + // we have already scrolled + if(fScrollWindowStartLine==startLine && fScrollWindowSize==size) { + // we are scrolling the same region again? + fScrollWindowShift+=shift; + scrollChangesLinesWithNegativeShift(startLine,size,shift); + } else { + // mark all lines in the old scroll region as changed + doNotTrackScrollingAnymore(); + // mark all lines changed, because + markLinesChanged(startLine, size); + } + } else { + // first scroll in this change -- we just notify it + fScrollWindowStartLine=startLine; + fScrollWindowSize=size; + fScrollWindowShift=shift; + scrollChangesLinesWithNegativeShift(startLine,size,shift); + } + } + } + /** + * Some incompatible scrolling occurred. We cannot do the + * scroll optimization anymore... + */ + private void doNotTrackScrollingAnymore() { + if(fScrollWindowSize>0) { + // convert the current scrolling into changes + markLinesChanged(fScrollWindowStartLine, fScrollWindowSize); + fScrollWindowStartLine=0; + fScrollWindowSize=0; + fScrollWindowShift=0; + } + // don't be clever on scrolling anymore + fScrollDontTrack=true; + } + /** + * Scrolls the changed lines data + * + * @param line + * @param n + * @param shift must be negative! + */ + private void scrollChangesLinesWithNegativeShift(int line, int n, int shift) { + assert shift <0 || throwRuntimeException(); + // scroll the region + // don't run out of bounds! + int m=Math.min(line+n+shift,getChangedLineLength()+shift); + for (int i = line; i < m; i++) { + setChangedLine(i, hasLineChanged(i-shift)); + // move the first changed line up. + // We don't have to move the maximum down, + // because with a shift scroll, the max is moved + // my the next loop in this method + if(i0) { + int shift=oldStartLine-startLine; + if(shift==0) { + if(size>oldSize) { + // add lines to the end + markLinesChanged(oldStartLine+oldSize, size-oldSize); + } + // else no lines within the window have changed + + } else if(Math.abs(shift)oldHeight) { + //the line was appended + sendLinesChangedToSnapshot(oldHeight, 1); + int width=getWidth(); + sendDimensionsChanged(oldHeight, width, newHeight, width); + + } else { + // the line was scrolled + sendScrolledToSnapshots(0, oldHeight, -1); + } + + } + + public void copy(ITerminalTextData source) { + fData.copy(source); + fCursorLine=source.getCursorLine(); + fCursorColumn=source.getCursorColumn(); + } + + public void copyLine(ITerminalTextData source, int sourceLine, int destLine) { + fData.copyLine(source, sourceLine, destLine); + } + public void copyRange(ITerminalTextData source, int sourceStartLine, int destStartLine, int length) { + fData.copyRange(source, sourceStartLine, destStartLine, length); + } + public char[] getChars(int line) { + return fData.getChars(line); + } + public Style[] getStyles(int line) { + return fData.getStyles(line); + } + public int getMaxHeight() { + return fData.getMaxHeight(); + } + public void setMaxHeight(int height) { + fData.setMaxHeight(height); + } + public void cleanLine(int line) { + fData.cleanLine(line); + sendLineChangedToSnapshots(line); + } + public int getCursorColumn() { + return fCursorColumn; + } + public int getCursorLine() { + return fCursorLine; + } + public void setCursorColumn(int column) { + fCursorColumn=column; + sendCursorChanged(); + } + public void setCursorLine(int line) { + fCursorLine=line; + sendCursorChanged(); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java new file mode 100644 index 00000000000..6038241ca48 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java @@ -0,0 +1,250 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; +import org.eclipse.tm.terminal.model.LineSegment; +import org.eclipse.tm.terminal.model.Style; + +/** + * This class is optimized for scrolling the entire {@link #getHeight()}. + * The scrolling is done by moving an offset into the data and using + * the modulo operator. + * + */ +public class TerminalTextDataFastScroll implements ITerminalTextData { + + final ITerminalTextData fData; + private int fHeight; + private int fMaxHeight; + /** + * The offset into the array. + */ + int fOffset; + public TerminalTextDataFastScroll(ITerminalTextData data,int maxHeight) { + fMaxHeight=maxHeight; + fData=data; + fData.setDimensions(maxHeight, fData.getWidth()); + if(maxHeight>2) + assert shiftOffset(-2) || throwRuntimeException(); + } + public TerminalTextDataFastScroll(int maxHeight) { + this(new TerminalTextDataStore(),maxHeight); + } + public TerminalTextDataFastScroll() { + this(new TerminalTextDataStore(),1); + } + /** + * This is used in asserts to throw an {@link RuntimeException}. + * This is useful for tests. + * @return never -- throws an exception + */ + private boolean throwRuntimeException() { + throw new RuntimeException(); + } + /** + * + * @param line + * @return the actual line number in {@link #fData} + */ + int getPositionOfLine(int line) { + return (line+fOffset)%fMaxHeight; + } + /** + * Moves offset by delta. This does not move the data! + * @param delta + */ + void moveOffset(int delta) { + assert Math.abs(delta)=0 && destStartLine+length<=fHeight) || throwRuntimeException(); + for (int i = 0; i < length; i++) { + fData.copyLine(source, i+sourceStartLine, getPositionOfLine(i+destStartLine)); + } + } + + public char getChar(int line, int column) { + assert (line>=0 && line=0 && line=0 && line=0 && line=0 && line=0 && startLine+size<=fHeight) || throwRuntimeException(); + if(shift>=fMaxHeight || -shift>=fMaxHeight) { + cleanLines(startLine, fMaxHeight-startLine); + return; + } + if(size==fHeight) { + // This is the case this class is optimized for! + moveOffset(-shift); + // we only have to clean the lines that appear by the move + if(shift<0) { + cleanLines(Math.max(startLine, startLine+size+shift),Math.min(-shift, getHeight()-startLine)); + } else { + cleanLines(startLine, Math.min(shift, getHeight()-startLine)); + } + } else { + // we have to copy the lines. + if(shift<0) { + // move the region up + // shift is negative!! + for (int i = startLine; i < startLine+size+shift; i++) { + fData.copyLine(fData, getPositionOfLine(i-shift), getPositionOfLine(i)); + } + // then clean the opened lines + cleanLines(Math.max(0, startLine+size+shift),Math.min(-shift, getHeight()-startLine)); + } else { + for (int i = startLine+size-1; i >=startLine && i-shift>=0; i--) { + fData.copyLine(fData, getPositionOfLine(i-shift), getPositionOfLine(i)); + } + cleanLines(startLine, Math.min(shift, getHeight()-startLine)); + } + } + } + + public void setChar(int line, int column, char c, Style style) { + assert (line>=0 && line=0 && line=0 && line=0 || throwRuntimeException(); + assert width>=0 || throwRuntimeException(); + if(height > fMaxHeight) + setMaxHeight(height); + fHeight=height; + if(width!=fData.getWidth()) + fData.setDimensions(fMaxHeight, width); + } + + public void setMaxHeight(int maxHeight) { + assert maxHeight>=fHeight || throwRuntimeException(); + // move everything to offset0 + int start=getPositionOfLine(0); + if(start!=0) { + // invent a more efficient algorithm.... + ITerminalTextData buffer=new TerminalTextDataStore(); + // create a buffer with the expected height + buffer.setDimensions(maxHeight, getWidth()); + int n=Math.min(fMaxHeight-start,maxHeight); + // copy the first part + buffer.copyRange(fData, start, 0, n); + // copy the second part + if(nnot threadsafe! + */ +class TerminalTextDataSnapshot implements ITerminalTextDataSnapshot { + /** + * The changes of the current snapshot relative to the + * previous snapshot + */ + volatile ISnapshotChanges fCurrentChanges; + /** + * Keeps track of changes that happened since the current + * snapshot has been made. + */ + ISnapshotChanges fFutureChanges; + /** + * Is used as lock and is the reference to the terminal we take snapshots from. + */ + final TerminalTextData fTerminal; + /** + * A snapshot copy of of fTerminal + */ + // snapshot does not need internal synchronisation + final TerminalTextDataWindow fSnapshot; + // this variable is synchronized on fTerminal! + private SnapshotOutOfDateListener[] fListener=new SnapshotOutOfDateListener[0]; + // this variable is synchronized on fTerminal! + private boolean fListenersNeedNotify; + private int fInterestWindowSize; + private int fInterestWindowStartLine; + + TerminalTextDataSnapshot(TerminalTextData terminal) { + fSnapshot = new TerminalTextDataWindow(); + fTerminal = terminal; + fCurrentChanges = new SnapshotChanges(fTerminal.getHeight()); + fCurrentChanges.setTerminalChanged(); + fFutureChanges = new SnapshotChanges(fTerminal.getHeight()); + fFutureChanges.markLinesChanged(0, fTerminal.getHeight()); + fListenersNeedNotify=true; + fInterestWindowSize=-1; + } + /** + * This is used in asserts to throw an {@link RuntimeException}. + * This is useful for tests. + * @return never -- throws an exception + */ + private boolean throwRuntimeException() { + throw new RuntimeException(); + } + + public void detach() { + fTerminal.removeSnapshot(this); + } + + public boolean isOutOfDate() { + // this is called from fTerminal, therefore we lock on fTerminal + synchronized (fTerminal) { + return fFutureChanges.hasChanged(); + } + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#snapshot() + */ + public void updateSnapshot(boolean detectScrolling) { + // make sure terminal does not change while we make the snapshot + synchronized (fTerminal) { + // let's make the future changes current + fCurrentChanges=fFutureChanges; + fFutureChanges=new SnapshotChanges(fTerminal.getHeight()); + fFutureChanges.setInterestWindow(fInterestWindowStartLine, fInterestWindowSize); + // and update the snapshot + if(fSnapshot.getHeight()!=fTerminal.getHeight()||fSnapshot.getWidth()!=fTerminal.getWidth()) { + if(fInterestWindowSize==-1) + fSnapshot.setWindow(0, fTerminal.getHeight()); + // if the dimensions have changed, we need a full copy + fSnapshot.copy(fTerminal); + // and we mark all lines as changed + fCurrentChanges.setAllChanged(fTerminal.getHeight()); + } else { + // first we do the scroll on the copy + int start=fCurrentChanges.getScrollWindowStartLine(); + int lines=Math.min(fCurrentChanges.getScrollWindowSize(), fSnapshot.getHeight()-start); + fSnapshot.scroll(start, lines, fCurrentChanges.getScrollWindowShift()); + // and then create the snapshot of the changed lines + fCurrentChanges.copyChangedLines(fSnapshot, fTerminal); + } + fListenersNeedNotify=true; + fSnapshot.setCursorLine(fTerminal.getCursorLine()); + fSnapshot.setCursorColumn(fTerminal.getCursorColumn()); + } + if(!detectScrolling) { + // let's pretend there was no scrolling and + // convert the scrolling into line changes + fCurrentChanges.convertScrollingIntoChanges(); + } + } + + public char getChar(int line, int column) { + return fSnapshot.getChar(line, column); + } + + public int getHeight() { + return fSnapshot.getHeight(); + } + + public LineSegment[] getLineSegments(int line, int column, int len) { + return fSnapshot.getLineSegments(line, column, len); + } + + public Style getStyle(int line, int column) { + return fSnapshot.getStyle(line, column); + } + + public int getWidth() { + return fSnapshot.getWidth(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#getFirstChangedLine() + */ + public int getFirstChangedLine() { + return fCurrentChanges.getFirstChangedLine(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#getLastChangedLine() + */ + public int getLastChangedLine() { + return fCurrentChanges.getLastChangedLine(); + } + + public boolean hasLineChanged(int line) { + return fCurrentChanges.hasLineChanged(line); + } + public boolean hasDimensionsChanged() { + return fCurrentChanges.hasDimensionsChanged(); + } + public boolean hasTerminalChanged() { + return fCurrentChanges.hasTerminalChanged(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#getScrollChangeY() + */ + public int getScrollWindowStartLine() { + return fCurrentChanges.getScrollWindowStartLine(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#getScrollChangeN() + */ + public int getScrollWindowSize() { + return fCurrentChanges.getScrollWindowSize(); + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.model.ITerminalTextDataSnapshot#getScrollChangeShift() + */ + public int getScrollWindowShift() { + return fCurrentChanges.getScrollWindowShift(); + } + + /** + * Announces a change in line line + * @param line + */ + void markLineChanged(int line) { + // threading + fFutureChanges.markLineChanged(line); + fFutureChanges.setTerminalChanged(); + notifyListers(); + } + /** + * Announces a change of n lines beginning with line line + * @param line + * @param n + */ + void markLinesChanged(int line,int n) { + fFutureChanges.markLinesChanged(line,n); + fFutureChanges.setTerminalChanged(); + notifyListers(); + } + + void markDimensionsChanged() { + fFutureChanges.markDimensionsChanged(); + fFutureChanges.setTerminalChanged(); + notifyListers(); + } + void markCursorChanged() { + fFutureChanges.markCursorChanged(); + fFutureChanges.setTerminalChanged(); + notifyListers(); + } + + /** + * @param startLine + * @param size + * @param shift + */ + void scroll(int startLine, int size, int shift) { + fFutureChanges.scroll(startLine,size,shift); + fFutureChanges.setTerminalChanged(); + notifyListers(); + } + /** + * Notifies listeners about the change + */ + private void notifyListers() { + // this code has to be called from a block synchronized on fTerminal + synchronized (fTerminal) { + if(fListenersNeedNotify) { + for (int i = 0; i < fListener.length; i++) { + fListener[i].snapshotOutOfDate(this); + } + fListenersNeedNotify=false; + } + } + } + public ITerminalTextDataSnapshot makeSnapshot() { + return fSnapshot.makeSnapshot(); + } + + synchronized public void addListener(SnapshotOutOfDateListener listener) { + List list=new ArrayList(); + list.addAll(Arrays.asList(fListener)); + list.add(listener); + fListener=(SnapshotOutOfDateListener[]) list.toArray(new SnapshotOutOfDateListener[list.size()]); + } + + synchronized public void removeListener(SnapshotOutOfDateListener listener) { + List list=new ArrayList(); + list.addAll(Arrays.asList(fListener)); + list.remove(listener); + fListener=(SnapshotOutOfDateListener[]) list.toArray(new SnapshotOutOfDateListener[list.size()]); + } + public String toString() { + return fSnapshot.toString(); + } + + + public int getInterestWindowSize() { + return fInterestWindowSize; + } + + + public int getInterestWindowStartLine() { + return fInterestWindowStartLine; + } + + public void setInterestWindow(int startLine, int size) { + assert startLine>=0 || throwRuntimeException(); + assert size>=0 || throwRuntimeException(); + fInterestWindowStartLine=startLine; + fInterestWindowSize=size; + fSnapshot.setWindow(startLine, size); + fFutureChanges.setInterestWindow(startLine, size); + notifyListers(); + } + + + public char[] getChars(int line) { + return fSnapshot.getChars(line); + } + + + public Style[] getStyles(int line) { + return fSnapshot.getStyles(line); + } + public int getCursorColumn() { + return fSnapshot.getCursorColumn(); + } + public int getCursorLine() { + return fSnapshot.getCursorLine(); + } + public ITerminalTextData getTerminalTextData() { + return fTerminal; + } +} + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java new file mode 100644 index 00000000000..fd85cc35e3d --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java @@ -0,0 +1,333 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; +import org.eclipse.tm.terminal.model.LineSegment; +import org.eclipse.tm.terminal.model.Style; + +/** + * This class is thread safe. + * + */ +public class TerminalTextDataStore implements ITerminalTextData { + private char[][] fChars; + private Style[][] fStyle; + private int fWidth; + private int fHeight; + private int fMaxHeight; + private int fCursorColumn; + private int fCursorLine; + public TerminalTextDataStore() { + fChars=new char[0][]; + fStyle=new Style[0][]; + fWidth=0; + } + /** + * This is used in asserts to throw an {@link RuntimeException}. + * This is useful for tests. + * @return never -- throws an exception + */ + private boolean throwRuntimeException() { + throw new RuntimeException(); + } + + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#getWidth() + */ + public int getWidth() { + return fWidth; + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#getHeight() + */ + public int getHeight() { + return fHeight; + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#setDimensions(int, int) + */ + public void setDimensions(int height, int width) { + assert height>=0 || throwRuntimeException(); + assert width>=0 || throwRuntimeException(); + // just extend the region + if(height>fChars.length) { + int h=4*height/3; + if(fMaxHeight>0 && h>fMaxHeight) + h=fMaxHeight; + fStyle=(Style[][]) resizeArray(fStyle, height); + fChars=(char[][]) resizeArray(fChars, height); + } + // clean the new lines + if(height>fHeight) { + for (int i = fHeight; i < height; i++) { + fStyle[i]=null; + fChars[i]=null; + } + } + // set dimensions after successful resize! + fWidth=width; + fHeight=height; + } + /** + * Reallocates an array with a new size, and copies the contents of the old + * array to the new array. + * + * @param origArray the old array, to be reallocated. + * @param newSize the new array size. + * @return A new array with the same contents (chopped off if needed or filled with 0 or null). + */ + private Object resizeArray(Object origArray, int newSize) { + int oldSize = Array.getLength(origArray); + if(oldSize==newSize) + return origArray; + Class elementType = origArray.getClass().getComponentType(); + Object newArray = Array.newInstance(elementType, newSize); + int preserveLength = Math.min(oldSize, newSize); + if (preserveLength > 0) + System.arraycopy(origArray, 0, newArray, 0, preserveLength); + return newArray; + } + + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#getLineSegments(int, int, int) + */ + public LineSegment[] getLineSegments(int line, int column, int len) { + // get the styles and chars for this line + Style[] styles=fStyle[line]; + char[] chars=fChars[line]; + int col=column; + int n=column+len; + + // expand the line if needed.... + if(styles==null) + styles=new Style[n]; + else if(styles.length=fChars[line].length) + return 0; + return fChars[line][column]; + } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#getStyle(int, int) + */ + public Style getStyle(int line, int column) { + assert column=fStyle[line].length) + return null; + return fStyle[line][column]; + } + + void ensureLineLength(int iLine, int length) { + if(length>fWidth) + throw new RuntimeException(); + if(fChars[iLine]==null) { + fChars[iLine]=new char[length]; + } else if(fChars[iLine].length=startLine && i-shift>=0; i--) { + fChars[i]=fChars[i-shift]; + fStyle[i]=fStyle[i-shift]; + } + cleanLines(startLine, Math.min(shift, getHeight()-startLine)); + } + } + /** + * Replaces the lines with new empty data + * @param line + * @param len + */ + private void cleanLines(int line, int len) { + for (int i = line; i < line+len; i++) { + fChars[i]=null; + fStyle[i]=null; + } + } + + /* + * @return a text representation of the object. + * Lines are separated by '\n'. No style information is returned. + */ + public String toString() { + StringBuffer buff=new StringBuffer(); + for (int line = 0; line < getHeight(); line++) { + if(line>0) + buff.append("\n"); //$NON-NLS-1$ + for (int column = 0; column < fWidth; column++) { + buff.append(getChar(line, column)); + } + } + return buff.toString(); + } + + + public ITerminalTextDataSnapshot makeSnapshot() { + throw new UnsupportedOperationException(); + } + + public void addLine() { + if(fMaxHeight>0 && getHeight()char=='\000' and style=null. + * + */ +public class TerminalTextDataWindow implements ITerminalTextData { + final ITerminalTextData fData; + int fWindowStartLine; + int fWindowSize; + int fHeight; + int fMaxHeight; + public TerminalTextDataWindow(ITerminalTextData data) { + fData=data; + } + public TerminalTextDataWindow() { + this(new TerminalTextDataStore()); + } + /** + * This is used in asserts to throw an {@link RuntimeException}. + * This is useful for tests. + * @return never -- throws an exception + */ + private boolean throwRuntimeException() { + throw new RuntimeException(); + } + /** + * @param line + * @return true if the line is within the window + */ + boolean isInWindow(int line) { + return line>=fWindowStartLine && line0 && getHeight()0) + fData.copyRange(source, fWindowStartLine, 0, n); + } + public void copyRange(ITerminalTextData source, int sourceStartLine, int destStartLine, int length) { + int n=length; + int dStart=destStartLine-fWindowStartLine; + int sStart=sourceStartLine; + // if start outside our range, cut the length to copy + if(dStart<0) { + n+=dStart; + sStart-=dStart; + dStart=0; + } + // do not exceed the window size + n=Math.min(n,fWindowSize); + if(n>0) + fData.copyRange(source, sStart, dStart, n); + + } + public void copyLine(ITerminalTextData source, int sourceLine, int destLine) { + if(isInWindow(destLine)) + fData.copyLine(source, sourceLine, destLine-fWindowStartLine); + } + public void scroll(int startLine, int size, int shift) { + assert (startLine>=0 && startLine+size<=fHeight) || throwRuntimeException(); + int n=size; + int start=startLine-fWindowStartLine; + // if start outside our range, cut the length to copy + if(start<0) { + n+=start; + start=0; + } + n=Math.min(n,fWindowSize-start); + // do not exceed the window size + if(n>0) + fData.scroll(start, n, shift); + } + public void setChar(int line, int column, char c, Style style) { + if(!isInWindow(line)) + return; + fData.setChar(line-fWindowStartLine, column, c, style); + } + public void setChars(int line, int column, char[] chars, int start, int len, Style style) { + if(!isInWindow(line)) + return; + fData.setChars(line-fWindowStartLine, column, chars, start, len, style); + } + public void setChars(int line, int column, char[] chars, Style style) { + if(!isInWindow(line)) + return; + fData.setChars(line-fWindowStartLine, column, chars, style); + } + public void setDimensions(int height, int width) { + assert height>=0 || throwRuntimeException(); + fData.setDimensions(fWindowSize, width); + fHeight=height; + } + public void setMaxHeight(int height) { + fMaxHeight=height; + } + public void setWindow(int startLine, int size) { +// assert startLine+size<=getHeight()||throwRuntimeException(); + fWindowStartLine=startLine; + fWindowSize=size; + fData.setDimensions(fWindowSize, getWidth()); + } + public int getWindowStartLine() { + return fWindowStartLine; + } + public int getWindowSize() { + return fWindowSize; + } + public void setHeight(int height) { + fHeight = height; + } + public void cleanLine(int line) { + if(isInWindow(line)) + fData.cleanLine(line-fWindowStartLine); + } + public int getCursorColumn() { + return fData.getCursorColumn(); + } + public int getCursorLine() { + return fData.getCursorLine(); + } + public void setCursorColumn(int column) { + fData.setCursorColumn(column); + } + public void setCursorLine(int line) { + fData.setCursorLine(line); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index ee986b9599a..a45b7fa61d5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -168,7 +168,8 @@ public final class Logger { */ public static final void logException(Exception ex) { // log in eclipse error log - TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, ex.getMessage(), ex)); + if(TerminalPlugin.getDefault()!=null) + TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, ex.getMessage(), ex)); // Read my own stack to get the class name, method name, and line number // of // where this method was called. @@ -189,6 +190,8 @@ public final class Logger { + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ "Caught exception: " + ex); //$NON-NLS-1$ ex.printStackTrace(tmpStream); + } else { + ex.printStackTrace(); } } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java new file mode 100644 index 00000000000..f5491f7cf04 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -0,0 +1,289 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; + +abstract public class AbstractTextCanvasModel implements ITextCanvasModel { + protected List fListeners = new ArrayList(); + private int fCursorLine; + private int fCursorColumn; + private boolean fShowCursor; + private long fCursorTime; + private boolean fCursorIsEnabled; + private final ITerminalTextDataSnapshot fSnapshot; + private int fLines; + + private int fSelectionStartLine; + private int fSeletionEndLine; + private int fSelectionStartCoumn; + private int fSelectionEndColumn; + private ITerminalTextDataSnapshot fSelectionSnapshot; + + public AbstractTextCanvasModel(ITerminalTextDataSnapshot snapshot) { + fSnapshot=snapshot; + fLines=fSnapshot.getHeight(); + } + public void addCellCanvasModelListener(ITextCanvasModelListener listener) { + fListeners.add(listener); + } + + public void removeCellCanvasModelListener(ITextCanvasModelListener listener) { + fListeners.remove(listener); + } + + protected void fireCellRangeChanged(int x, int y, int width, int height) { + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + listener.rangeChanged(x, y, width, height); + } + } + protected void fireDimensionsChanged( int width,int height) { + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + listener.dimensionsChanged(width,height); + } + + } + protected void fireTerminalDataChanged() { + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + listener.terminalDataChanged(); + } + + } + public ITerminalTextDataReadOnly getTerminalText() { + return fSnapshot; + } + protected ITerminalTextDataSnapshot getSnapshot() { + return fSnapshot; + } + protected void updateSnapshot() { + if(fSnapshot.isOutOfDate()) { + fSnapshot.updateSnapshot(false); + if(fSnapshot.hasTerminalChanged()) + fireTerminalDataChanged(); + // TODO why does hasDimensionsChanged not work?????? + // if(fSnapshot.hasDimensionsChanged()) + // fireDimensionsChanged(); + if(fLines!=fSnapshot.getHeight()) { + fireDimensionsChanged(fSnapshot.getWidth(),fSnapshot.getHeight()); + fLines=fSnapshot.getHeight(); + } + int y=fSnapshot.getFirstChangedLine(); + // has any line changed? + if(y=getSnapshot().getHeight()) { + cursorLine=getSnapshot().getHeight()-1; + cursorColumn=getSnapshot().getWidth()-1; + } + // has the cursor moved? + if(fCursorLine!=cursorLine || fCursorColumn!=cursorColumn) { + // hide the old cursor! + fShowCursor=false; + // clean the previous cursor + fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + // the cursor is shown when it moves! + fShowCursor=true; + fCursorTime=System.currentTimeMillis(); + fCursorLine=cursorLine; + fCursorColumn=cursorColumn; + // and draw the new cursor + fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + } else { + long t=System.currentTimeMillis(); + // TODO make the cursor blink time customisable + if(t-fCursorTime>500) { + fShowCursor=!fShowCursor; + fCursorTime=t; + fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + } + } + } + public void setVisibleRectangle(int startLine, int startCol, int height, int width) { + fSnapshot.setInterestWindow(Math.max(0,startLine), Math.max(1,Math.min(fSnapshot.getHeight(),height))); + update(); + } + protected void showCursor(boolean show) { + fShowCursor=true; + } + public void setCursorEnabled(boolean visible) { + fCursorTime=System.currentTimeMillis(); + fShowCursor=visible; + fCursorIsEnabled=visible; + fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + } + public boolean isCursorEnabled() { + return fCursorIsEnabled; + } + + public Point getSelectionEnd() { + if(fSelectionStartLine<0) + return null; + else + return new Point(fSelectionEndColumn, fSeletionEndLine); + } + + public Point getSelectionStart() { + if (fSelectionStartLine < 0) + return null; + else + return new Point(fSelectionStartCoumn,fSelectionStartLine); + } + + public void setSelection(int startLine, int endLine, int startColumn, int endColumn) { + assert(startLine<0 || startLine<=endLine); + if(startLine>=0) { + if(fSelectionSnapshot==null) { + fSelectionSnapshot=fSnapshot.getTerminalTextData().makeSnapshot(); + fSelectionSnapshot.updateSnapshot(true); + } + } else if(fSelectionSnapshot!=null) { + fSelectionSnapshot.detach(); + fSelectionSnapshot=null; + } + int oldStart=fSelectionStartLine; + int oldEnd=fSeletionEndLine; + fSelectionStartLine = startLine; + fSeletionEndLine = endLine; + fSelectionStartCoumn = startColumn; + fSelectionEndColumn = endColumn; + if(fSelectionSnapshot!=null) { + fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine); + } + int changedStart; + int changedEnd; + if(oldStart<0) { + changedStart=fSelectionStartLine; + changedEnd=fSeletionEndLine; + } else if(fSelectionStartLine<0) { + changedStart=oldStart; + changedEnd=oldEnd; + } else { + changedStart=Math.min(oldStart, fSelectionStartLine); + changedEnd=Math.max(oldEnd, fSeletionEndLine); + } + if(changedStart>=0) { + fireCellRangeChanged(0, changedStart, fSnapshot.getWidth(), changedEnd-changedStart+1); + } + } + + public boolean hasLineSelection(int line) { + if (fSelectionStartLine < 0) + return false; + else + return line >= fSelectionStartLine && line <= fSeletionEndLine; + } + + public String getSelectedText() { + if(fSelectionStartLine<0 || fSelectionSnapshot==null) + return ""; //$NON-NLS-1$ + if(fSelectionStartLine<0 || fSelectionSnapshot==null) + return ""; //$NON-NLS-1$ + StringBuffer buffer=new StringBuffer(); + for (int line = fSelectionStartLine; line <= fSeletionEndLine; line++) { + String text; + char[] chars=fSelectionSnapshot.getChars(line); + if(chars!=null) { + text=new String(chars); + if(line==fSeletionEndLine) + text=text.substring(0, Math.min(fSelectionEndColumn,text.length())); + if(line==fSelectionStartLine) + text=text.substring(Math.min(fSelectionStartCoumn,text.length())); + // get rid of the empty space at the end of the lines + text=text.replaceAll("\000+$",""); //$NON-NLS-1$//$NON-NLS-2$ + // null means space + text=text.replace('\000', ' '); + } else { + text=""; //$NON-NLS-1$ + } + buffer.append(text); + if(line < fSeletionEndLine) + buffer.append('\n'); + } + return buffer.toString(); + } + private void updateSelection() { + if (fSelectionSnapshot != null && fSelectionSnapshot.isOutOfDate()) { + // let's see if the selection text has changed since the last snapshot + String oldSelection = getSelectedText(); + fSelectionSnapshot.updateSnapshot(true); + // has the selection moved? + if (fSelectionSnapshot != null && fSelectionStartLine >= 0 && fSelectionSnapshot.getScrollWindowSize() > 0) { + int start = fSelectionStartLine + fSelectionSnapshot.getScrollWindowShift(); + int end = fSeletionEndLine + fSelectionSnapshot.getScrollWindowShift(); + if (start < 0) + if (end >= 0) + start = 0; + else + start = -1; + setSelection(start, end, fSelectionStartCoumn, fSelectionEndColumn); + } + // have lines inside the selection changed? + if (fSelectionSnapshot != null && fSelectionSnapshot.getFirstChangedLine() <= fSeletionEndLine && + fSelectionSnapshot.getLastChangedLine() >= fSelectionStartLine) { + // has the selected text changed? + String newSelection = getSelectedText(); + if (!oldSelection.equals(newSelection)) + setSelection(-1, -1, -1, -1); + } + // update the observed window... + if (fSelectionSnapshot != null) + // todo make -1 to work! + fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine); + } + } + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java new file mode 100644 index 00000000000..60dd821c621 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java @@ -0,0 +1,183 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; + +/** + * A Grid based Canvas. The canvas has rows and columns. + * CellPainting is done with the abstract method drawCell + */ +abstract public class GridCanvas extends VirtualCanvas { + /** width of a cell */ + private int fCellWidth; + /** height of a cell */ + private int fCellHeight; + + public GridCanvas(Composite parent, int style) { + super(parent, style); + addListener(SWT.MouseWheel, new Listener() { + public void handleEvent(Event event) { + if(getVerticalBar().isVisible()) { + int delta=-fCellHeight; + if(event.count<0) + delta=-delta; + scrollYDelta(delta); + } + event.doit=false; + } + }); + + } + + /** template method paint. + * iterates over all cells in the clipping rectangle and paints them. + */ + protected void paint(GC gc) { + Rectangle clipping=gc.getClipping(); + if(clipping.width==0 || clipping.height==0) + return; + Rectangle clientArea= getScreenRectInVirtualSpace(); + // Beginning coordinates + int xOffset=clientArea.x; + int yOffset=clientArea.y; + int colFirst=virtualXToCell(xOffset+clipping.x); + if(colFirst>getCols()) + colFirst=getCols(); + int rowFirst=virtualYToCell(yOffset+clipping.y); + // End coordinates + int colLast=virtualXToCell(xOffset+clipping.x+clipping.width+fCellWidth); + if(colLast>getCols()) + colLast=getCols(); + int rowLast=virtualYToCell(yOffset+clipping.y+clipping.height+fCellHeight); + if(rowLast>getRows()) + rowLast=getRows(); + // System.out.println(rowFirst+"->"+rowLast+" "+System.currentTimeMillis()); + // draw the cells + for(int row=rowFirst;row<=rowLast;row++) { + int cx=colFirst*fCellWidth-xOffset; + int cy=row*fCellHeight-yOffset; + drawLine(gc,row,cx,cy,colFirst,colLast); + } + paintUnoccupiedSpace(gc,clipping); + } + /** + * @param gc + * @param row the line to draw + * @param x coordinate on screen + * @param y coordinate on screen + * @param colFirst first column to draw + * @param colLast last column to draw + */ + abstract void drawLine(GC gc, int row, int x, int y, int colFirst, int colLast); + + abstract protected int getRows(); + abstract protected int getCols(); + + protected void setCellWidth(int cellWidth) { + fCellWidth = cellWidth; + getHorizontalBar().setIncrement(fCellWidth); + } + + public int getCellWidth() { + return fCellWidth; + } + + protected void setCellHeight(int cellHeight) { + fCellHeight = cellHeight; + getVerticalBar().setIncrement(fCellHeight); + } + + public int getCellHeight() { + return fCellHeight; + } + + int virtualXToCell(int x) { + return x/fCellWidth; + } + + int virtualYToCell(int y) { + return y/fCellHeight; + } + + protected Point screenPointToCell(int x, int y) { + x=screenXtoVirtual(x)/fCellWidth; + y=screenYtoVirtual(y)/fCellHeight; + return new Point(x,y); + } + + Point screenPointToCell(Point point) { + return screenPointToCell(point.x,point.y); + } + + protected Point cellToOriginOnScreen(int x, int y) { + x=virtualXtoScreen(fCellWidth*x); + y=virtualYtoScreen(fCellHeight*y); + return new Point(x,y); + } + + Point cellToOriginOnScreen(Point cell) { + return cellToOriginOnScreen(cell.x,cell.y); + } + + Rectangle getCellScreenRect(Point cell) { + return getCellScreenRect(cell.x,cell.y); + } + + Rectangle getCellScreenRect(int x, int y) { + x=fCellWidth*virtualXtoScreen(x); + y=fCellHeight*virtualYtoScreen(y); + return new Rectangle(x,y,fCellWidth,fCellHeight); + } + + protected Rectangle getCellVirtualRect(Point cell) { + return getCellVirtualRect(cell.x,cell.y); + } + + Rectangle getCellVirtualRect(int x, int y) { + x=fCellWidth*x; + y=fCellHeight*y; + return new Rectangle(x,y,fCellWidth,fCellHeight); + } + protected void viewRectangleChanged(int x, int y, int width, int height) { + int cellX=virtualXToCell(x); + int cellY=virtualYToCell(y); + // End coordinates + int xE=virtualXToCell(x+fCellWidth+width-1); + if(xE>getCols()) + xE=getCols(); + int yE=virtualYToCell(y+fCellHeight+height-1); + if(yE>getRows()) + yE=getRows(); + visibleCellRectangleChanged(cellX,cellY,xE-cellX,yE-cellY); + } + + /** + * Called when the viewed part has changed. + * Override when you need this information.... + * Is only called if the values change (well, almost) + * @param x origin of visible cells + * @param y + * @param width number of cells visible in x direction + * @param height + */ + protected void visibleCellRectangleChanged(int x, int y, int width, int height) { + } + +} + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java new file mode 100644 index 00000000000..d217186a996 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import org.eclipse.swt.graphics.GC; + +/** + * + */ +public interface ILinelRenderer { + int getCellWidth(); + int getCellHeight(); + void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java new file mode 100644 index 00000000000..d802b996840 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java @@ -0,0 +1,79 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; + +public interface ITextCanvasModel { + void addCellCanvasModelListener(ITextCanvasModelListener listener); + void removeCellCanvasModelListener(ITextCanvasModelListener listener); + + ITerminalTextDataReadOnly getTerminalText(); + /** + * This is is + * @param startLine + * @param startCol + * @param height + * @param width + */ + void setVisibleRectangle(int startLine, int startCol, int height, int width); + + /** + * @return true when the cursor is shown (used for blinking cursors) + */ + boolean isCursorOn(); + /** + * Show/Hide the cursor. + * @param visible + */ + void setCursorEnabled(boolean visible); + + /** + * @return true if the cursor is shown. + */ + boolean isCursorEnabled(); + + /** + * @return the line of the cursor + */ + int getCursorLine(); + /** + * @return the column of the cursor + */ + int getCursorColumn(); + + /** + * @return the start of the selection or null if nothing is selected + * {@link Point#x} is the column and {@link Point#y} is the line. + */ + Point getSelectionStart(); + /** + * @return the end of the selection or null if nothing is selected + * {@link Point#x} is the column and {@link Point#y} is the line. + */ + Point getSelectionEnd(); + /** + * @param startLine + * @param endLine + * @param startColumn + * @param endColumn + */ + void setSelection(int startLine, int endLine, int startColumn, int endColumn); + + /** + * @param line + * @return true if line is part of the selection + */ + boolean hasLineSelection(int line); + + String getSelectedText(); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java new file mode 100644 index 00000000000..cb52c8cf529 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +/** + */ +public interface ITextCanvasModelListener { + void cellSizeChanged(); + void rangeChanged(int col, int line, int width, int height); + void dimensionsChanged(int cols, int rows); + /** + * Called when any text change happened. Used to scroll to the + * end of text in auto scroll mode. This does not get fired + * when the window of interest has changed! + */ + void terminalDataChanged(); +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java new file mode 100644 index 00000000000..c522626f246 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -0,0 +1,305 @@ +/******************************************************************************* + * Copyright (c) 1996, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer + * Martin Oberhuber (Wind River) - the waitForAvailable method + *******************************************************************************/ + +package org.eclipse.tm.internal.terminal.textcanvas; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * The main purpose of this class is to start a runnable in the + * display thread when data is available and to pretend no data + * is available after a given amount of time the runnable is running. + * + */ +public class PipedInputStream extends InputStream { + /** + * The output stream used by the terminal backend to write to the terminal + */ + protected final OutputStream fOutputStream; + /** + * A blocking byte queue. + */ + private final BoundedByteBuffer fQueue; + + /** + * A byte bounded buffer used to synchronize the input and the output stream. + *

                + * Adapted from BoundedBufferWithStateTracking + * http://gee.cs.oswego.edu/dl/cpj/allcode.java + * http://gee.cs.oswego.edu/dl/cpj/ + *

                + * BoundedBufferWithStateTracking is part of the examples for the book + * Concurrent Programming in Java: Design Principles and Patterns by + * Doug Lea (ISBN 0-201-31009-0). Second edition published by + * Addison-Wesley, November 1999. The code is + * Copyright(c) Douglas Lea 1996, 1999 and released to the public domain + * and may be used for any purposes whatsoever. + *

                + * For some reasons a solution based on + * PipedOutputStream/PipedIntputStream + * does work *very* slowly: + * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4404700 + *

                + * + */ + private class BoundedByteBuffer { + protected final byte[] fBuffer; // the elements + protected int fPutPos = 0; // circular indices + protected int fTakePos = 0; + protected int fUsedSlots = 0; // the count + private boolean fClosed; + public BoundedByteBuffer(int capacity) throws IllegalArgumentException { + // make sure we don't deadlock on too small capacity + if (capacity <= 0) + throw new IllegalArgumentException(); + fBuffer = new byte[capacity]; + } + /** + * @return the bytes available for {@link #read()} + * Must be called with a lock on this! + */ + public int available() { + return fUsedSlots; + } + /** + * Writes a single byte to the buffer. Blocks if the buffer is full. + * @param b + * @throws InterruptedException + * Must be called with a lock on this! + */ + public void write(byte b) throws InterruptedException { + while (fUsedSlots == fBuffer.length) + // wait until not full + wait(); + + fBuffer[fPutPos] = b; + fPutPos = (fPutPos + 1) % fBuffer.length; // cyclically increment + + if (fUsedSlots++ == 0) // signal if was empty + notifyAll(); + } + public int getFreeSlots() { + return fBuffer.length - fUsedSlots; + } + public void write(byte[] b, int off, int len) throws InterruptedException { + assert len<=getFreeSlots(); + while (fUsedSlots == fBuffer.length) + // wait until not full + wait(); + int n = Math.min(len, fBuffer.length - fPutPos); + System.arraycopy(b, off, fBuffer, fPutPos, n); + if (fPutPos + len > n) + System.arraycopy(b, off + n, fBuffer, 0, len - n); + fPutPos = (fPutPos + len) % fBuffer.length; // cyclically increment + boolean wasEmpty = fUsedSlots == 0; + fUsedSlots += len; + if (wasEmpty) // signal if was empty + notifyAll(); + } + /** + * Read a single byte. Blocks until a byte is available. + * @return a byte from the buffer + * @throws InterruptedException + * Must be called with a lock on this! + */ + public int read() throws InterruptedException { + while (fUsedSlots == 0) { + if(fClosed) + return -1; + // wait until not empty + wait(); + } + byte b = fBuffer[fTakePos]; + fTakePos = (fTakePos + 1) % fBuffer.length; + + if (fUsedSlots-- == fBuffer.length) // signal if was full + notifyAll(); + return b; + } + public int read(byte[] cbuf, int off, int len) throws InterruptedException { + assert len<=available(); + while (fUsedSlots == 0) { + if(fClosed) + return 0; + // wait until not empty + wait(); + } + int n = Math.min(len, fBuffer.length - fTakePos); + System.arraycopy(fBuffer, fTakePos, cbuf, off, n); + if (fTakePos + len > n) + System.arraycopy(fBuffer, 0, cbuf, off + n, len - n); + fTakePos = (fTakePos + len) % fBuffer.length; + boolean wasFull = fUsedSlots == fBuffer.length; + fUsedSlots -= len; + if(wasFull) + notifyAll(); + + return len; + } + public void close() { + fClosed=true; + notifyAll(); + } + public boolean isClosed() { + return fClosed; + } + } + + /** + * An output stream that calls {@link PipedInputStream#textAvailable} + * every time data is written to the stream. The data is written to + * {@link PipedInputStream#fQueue}. + * + */ + class PipedOutputStream extends OutputStream { + public void write(byte[] b, int off, int len) throws IOException { + try { + synchronized (fQueue) { + if(fQueue.isClosed()) + throw new IOException("Stream is closed!"); //$NON-NLS-1$ + int written=0; + while(writtenPipedInputStream has no effect. The methods in + * this class can be called after the stream has been closed without + * generating an IOException. + *

                + */ + public void close() throws IOException { + } + + public int read(byte[] cbuf, int off, int len) throws IOException { + int n=0; + if(len==0) + return 0; + // read as much as we can using a single synchronized statement + try { + synchronized (fQueue) { + // if nothing available, block and read one byte + if (fQueue.available() == 0) { + // block now until at least one byte is available + int c = fQueue.read(); + // are we at the end of stream + if (c == -1) + return -1; + cbuf[off] = (byte) c; + n++; + } + // is there more data available? + if (n < len && fQueue.available() > 0) { + // read at most available() + int nn = Math.min(fQueue.available(), len - n); + // are we at the end of the stream? + if (nn == 0 && fQueue.isClosed()) { + // if no byte was read, return -1 to indicate end of stream + // else return the bytes we read up to now + if (n == 0) + n = -1; + return n; + } + fQueue.read(cbuf, off + n, nn); + n += nn; + } + + } + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + return n; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java new file mode 100644 index 00000000000..9ca030403be --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; + +/** + * @author Michael.Scharf@scharf-software.com + * + */ +public class PollingTextCanvasModel extends AbstractTextCanvasModel { + int fPollInterval=50; + /** + * + */ + public PollingTextCanvasModel(ITerminalTextDataSnapshot snapshot) { + super(snapshot); + Display.getDefault().timerExec(fPollInterval,new Runnable(){ + public void run() { + update(); + Display.getDefault().timerExec(fPollInterval,this); + }}); + } + public void setUpdateInterval(int t) { + fPollInterval=t; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java new file mode 100644 index 00000000000..1311cf3fe89 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -0,0 +1,107 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +public class StyleMap { + String fFontName=JFaceResources.TEXT_FONT; + Map fColorMap=new HashMap(); + Map fFontMap=new HashMap(); + private Point fCharSize; + private Style fDefaultStyle; + StyleMap() { + Display display=Display.getCurrent(); + fColorMap.put(StyleColor.getStyleColor("white"), new Color(display,255,255,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("black"), new Color(display,0,0,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("red"), new Color(display,255,128,128)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("green"), new Color(display,128,255,128)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("blue"), new Color(display,128,128,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("yellow"), new Color(display,255,255,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("cyan"), new Color(display,0,255,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("magenta"), new Color(display,255,255,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("gray"), new Color(display,128,128,128)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("WHITE"), new Color(display,255,255,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("BLACK"), new Color(display,0,0,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("RED"), new Color(display,255,128,128)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("GREEN"), new Color(display,128,255,128)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("BLUE"), new Color(display,128,128,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("YELLOW"), new Color(display,255,255,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("CYAN"), new Color(display,0,255,255)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("MAGENTA"), new Color(display,255,255,0)); //$NON-NLS-1$ + fColorMap.put(StyleColor.getStyleColor("GRAY"), new Color(display,128,128,128)); //$NON-NLS-1$ + fDefaultStyle=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("white")); //$NON-NLS-1$ //$NON-NLS-2$ + GC gc = new GC (display); + gc.setFont(getFont()); + fCharSize = gc.textExtent ("W"); //$NON-NLS-1$ + gc.dispose (); + + } + public Color getColor(StyleColor colorName) { + return (Color) fColorMap.get(colorName); + } + public Color getForegrondColor(Style style) { + style = defaultIfNull(style); + if(style.isReverse()) + return getColor(style.getBackground()); + else + return getColor(style.getForground()); + } + private Style defaultIfNull(Style style) { + if(style==null) + style=fDefaultStyle; + return style; + } + public Color getBackgroundColor(Style style) { + style = defaultIfNull(style); + if(style.isReverse()) + return getColor(style.getForground()); + else + return getColor(style.getBackground()); + } +// static Font getBoldFont(Font font) { +// FontData fontDatas[] = font.getFontData(); +// FontData data = fontDatas[0]; +// return new Font(Display.getCurrent(), data.getName(), data.getHeight(), data.getStyle()|SWT.BOLD); +// } + + public Font getFont(Style style) { + style = defaultIfNull(style); + if(style.isBold()) { + return JFaceResources.getFontRegistry().getBold(fFontName); + } else if(style.isUnderline()) { + return JFaceResources.getFontRegistry().getItalic(fFontName); + + } + return JFaceResources.getFontRegistry().get(fFontName); + } + + public Font getFont() { + return JFaceResources.getFontRegistry().get(fFontName); + + } + public int getFontWidth() { + return fCharSize.x; + } + public int getFontHeight() { + return fCharSize.y; + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java new file mode 100644 index 00000000000..1decdda14a9 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -0,0 +1,213 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + + +import org.eclipse.swt.SWT; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.events.FocusEvent; +import org.eclipse.swt.events.FocusListener; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseListener; +import org.eclipse.swt.events.MouseMoveListener; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; + +/** + * A cell oriented Canvas. Maintains a list of "cells". + * It can either be vertically or horizontally scrolled. + * The CellRenderer is responsible for painting the cell. + */ +public class TextCanvas extends GridCanvas { + protected final ITextCanvasModel fCellCanvasModel; + /** Renders the cells */ + private ILinelRenderer fCellRenderer; + private boolean fScrollLock; + private Point fDraggingStart; + private Point fDraggingEnd; + /** + * Create a new CellCanvas with the given SWT style bits. + * (SWT.H_SCROLL and SWT.V_SCROLL are automatically added). + */ + public TextCanvas(Composite parent, ITextCanvasModel model, int style) { + super(parent, style | SWT.H_SCROLL | SWT.V_SCROLL); + fCellCanvasModel=model; + fCellCanvasModel.addCellCanvasModelListener(new ITextCanvasModelListener(){ + public void cellSizeChanged() { + setCellWidth(fCellRenderer.getCellWidth()); + setCellHeight(fCellRenderer.getCellHeight()); + + calculateGrid(); + + } + public void rangeChanged(int col, int line, int width, int height) { + repaintRange(col,line,width,height); + } + public void dimensionsChanged(int cols, int rows) { + calculateGrid(); + } + public void terminalDataChanged() { + if(isDisposed()) + return; + scrollToEnd(); + } + }); + addListener(SWT.Resize, new Listener() { + public void handleEvent(Event e) { + calculateGrid(); + } + }); + addFocusListener(new FocusListener(){ + public void focusGained(FocusEvent e) { + fCellCanvasModel.setCursorEnabled(true); + } + public void focusLost(FocusEvent e) { + fCellCanvasModel.setCursorEnabled(false); + }}); + addMouseListener(new MouseListener(){ + public void mouseDoubleClick(MouseEvent e) { + } + public void mouseDown(MouseEvent e) { + if(e.button==1) { // left button + fDraggingStart=screenPointToCell(e.x, e.y); + fDraggingEnd=null; + } + } + public void mouseUp(MouseEvent e) { + if(e.button==1) { // left button + setSelection(screenPointToCell(e.x, e.y)); + fDraggingStart=null; + } + } + }); + addMouseMoveListener(new MouseMoveListener() { + + public void mouseMove(MouseEvent e) { + if (fDraggingStart != null) { + setSelection(screenPointToCell(e.x, e.y)); + } + } + }); + } + + void setSelection(Point p) { + if (!p.equals(fDraggingEnd)) { + fDraggingEnd = p; + if (compare(p, fDraggingStart) < 0) { + fCellCanvasModel.setSelection(p.y, fDraggingStart.y, p.x, fDraggingStart.x); + } else { + fCellCanvasModel.setSelection(fDraggingStart.y, p.y, fDraggingStart.x, p.x); + + } + } + } + + int compare(Point p1, Point p2) { + if (p1.equals(p2)) + return 0; + if (p1.y == p2.y) { + if (p1.x > p2.x) + return 1; + else + return -1; + } + if (p1.y > p2.y) { + return 1; + } else { + return -1; + } + } + public void setCellRenderer(ILinelRenderer cellRenderer) { + fCellRenderer = cellRenderer; + setCellWidth(fCellRenderer.getCellWidth()); + setCellHeight(fCellRenderer.getCellHeight()); + } + public ILinelRenderer getCellRenderer() { + return fCellRenderer; + } + private void calculateGrid() { + setVirtualExtend(getCols()*getCellWidth(),getRows()*getCellHeight()); + // scroll to end + scrollToEnd(); + // make sure the scroll area is correct: + scrollY(getVerticalBar()); + scrollX(getHorizontalBar()); + + updateViewRectangle(); + getParent().layout(); + redraw(); + } + void scrollToEnd() { + if(!fScrollLock) { + int y=-(getRows()*getCellHeight()-getClientArea().height); + Rectangle v=getViewRectangle(); + if(v.y!=y) { + setVirtualOrigin(0,y); + } + } + } + /** + * + * @return true if the cursor should be shown on output.... + */ + public boolean isScrollLock() { + return fScrollLock; + } + /** + * If set then if the size changes + * @param scrollLock + */ + public void setScrollLock(boolean scrollLock) { + fScrollLock=scrollLock; + } + protected void repaintRange(int col, int line, int width, int height) { + Point origin=cellToOriginOnScreen(col,line); + Rectangle r=new Rectangle(origin.x,origin.y,width*getCellWidth(),height*getCellHeight()); + repaint(r); + } + protected void drawLine(GC gc, int line, int x, int y, int colFirst, int colLast) { + fCellRenderer.drawLine(fCellCanvasModel, gc,line,x,y,colFirst, colLast); + + } + protected void visibleCellRectangleChanged(int x, int y, int width, int height) { + fCellCanvasModel.setVisibleRectangle(y,x,height,width); + update(); + } + protected int getCols() { + return fCellCanvasModel.getTerminalText().getWidth(); + } + protected int getRows() { + return fCellCanvasModel.getTerminalText().getHeight(); + } + public String getSelectionText() { + // TODO -- create a hasSelectionMethod! + return fCellCanvasModel.getSelectedText(); + } + public void copy() { + Clipboard clipboard = new Clipboard(getDisplay()); + clipboard.setContents(new Object[] { getSelectionText() }, new Transfer[] { TextTransfer.getInstance() }); + clipboard.dispose(); + } + public void selectAll() { + fCellCanvasModel.setSelection(0, fCellCanvasModel.getTerminalText().getHeight(), 0, fCellCanvasModel.getTerminalText().getWidth()); + + } + public boolean isEmpty() { + return false; + } +} + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java new file mode 100644 index 00000000000..54180496f8f --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.LineSegment; +import org.eclipse.tm.terminal.model.Style; + +/** + * + */ +public class TextLineRenderer implements ILinelRenderer { + TextCanvas fCanvas; + private final ITextCanvasModel fModel; + StyleMap fStyleMap=new StyleMap(); + Color fBackgroundColor; + public TextLineRenderer(TextCanvas c, ITextCanvasModel model) { + fCanvas=c; + fModel=model; + fBackgroundColor=c.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); + } + /* (non-Javadoc) + * @see com.imagicus.thumbs.view.ICellRenderer#getCellWidth() + */ + public int getCellWidth() { + return fStyleMap.getFontWidth(); + } + /* (non-Javadoc) + * @see com.imagicus.thumbs.view.ICellRenderer#getCellHeight() + */ + public int getCellHeight() { + return fStyleMap.getFontHeight(); + } + public void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast) { + if(line<0 || line>=getTerminalText().getHeight() || colFirst>=getTerminalText().getWidth() || colFirst-colLast==0) { + fillBackground(gc, x, y, getCellWidth()*(colFirst-colLast), getCellHeight()); + } else { + colLast=Math.min(colLast, getTerminalText().getWidth()); + LineSegment[] segments=getTerminalText().getLineSegments(line, colFirst, colLast-colFirst); + for (int i = 0; i < segments.length; i++) { + LineSegment segment=segments[i]; + Style style=segment.getStyle(); + setupGC(gc, style); + String text=segment.getText(); + drawText(gc, x, y, colFirst, segment.getColumn(), text); + drawCursor(model, gc, line, x, y, colFirst); + } + if(fModel.hasLineSelection(line)) { + gc.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_SELECTION_TEXT)); + gc.setBackground(Display.getCurrent().getSystemColor(SWT.COLOR_LIST_SELECTION)); + Point start=model.getSelectionStart(); + Point end=model.getSelectionEnd(); + char[] chars=model.getTerminalText().getChars(line); + if(chars==null) + return; + int offset=0; + if(start.y==line) + offset=start.x; + offset=Math.max(offset, colFirst); + int len; + if(end.y==line) + len=end.x-offset+1; + else + len=chars.length-offset+1; + len=Math.min(len,chars.length-offset); + if(len>0) { + String text=new String(chars,offset,len); + drawText(gc, x, y, colFirst, offset, text); + } + } + } + } + + private void fillBackground(GC gc, int x, int y, int width, int height) { + Color bg=gc.getBackground(); + gc.setBackground(getBackgroundColor()); + gc.fillRectangle (x,y,width,height); + gc.setBackground(bg); + + } + + private Color getBackgroundColor() { + return fBackgroundColor; + } + private void drawCursor(ITextCanvasModel model, GC gc, int row, int x, int y, int colFirst) { + if(!model.isCursorOn()) + return; + int cursorLine=model.getCursorLine(); + + if(row==cursorLine) { + int cursorColumn=model.getCursorColumn(); + if(cursorColumnCanvas showing a virtual object. + * Virtual: the extent of the total canvas. + * Screen: the visible client area in the screen. + */ +public abstract class VirtualCanvas extends Canvas { + + private Rectangle fVirtualBounds = new Rectangle(0,0,0,0); + private Rectangle fClientArea; + private GC fPaintGC=null; + /** + * prevent infinite loop in {@link #updateScrollbars()} + */ + private boolean fInUpdateScrollbars; + + public VirtualCanvas(Composite parent, int style) { + super(parent, style|SWT.NO_BACKGROUND|SWT.NO_REDRAW_RESIZE); + fPaintGC= new GC(this); + fClientArea=getClientArea(); + addListener(SWT.Paint, new Listener() { + public void handleEvent(Event event) { + paint(event.gc); + } + }); + addListener(SWT.Resize, new Listener() { + public void handleEvent(Event event) { + fClientArea=getClientArea(); + updateViewRectangle(); + } + }); + getVerticalBar().addListener(SWT.Selection, new Listener() { + public void handleEvent(Event e) { + scrollY((ScrollBar)e.widget); + postScrollEventHandling(e); + + } + + }); + getHorizontalBar().addListener(SWT.Selection, new Listener() { + public void handleEvent(Event e) { + scrollX((ScrollBar)e.widget); + postScrollEventHandling(e); + + } + }); + addDisposeListener(new DisposeListener(){ + public void widgetDisposed(DisposeEvent e) { + if(fPaintGC!=null){ + fPaintGC.dispose(); + fPaintGC=null; + } + } + + }); + } + /** HACK: run an event loop if the scrollbar is dragged...*/ + private void postScrollEventHandling(Event e) { + if(true&&e.detail==SWT.DRAG) { + // TODO check if this is always ok??? + // used to process runnables while scrolling + // This fixes the update problems when scrolling! + // see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=47582#5 + // TODO investigate: + // The alternative is to call redraw on the new visible area + // redraw(expose.x, expose.y, expose.width, expose.height, true); + + while (!getDisplay().isDisposed() && getDisplay().readAndDispatch()) { + // do nothing here... + } + } + } + + protected void scrollX(ScrollBar hBar) { + int hSelection = hBar.getSelection (); + int destX = -hSelection - fVirtualBounds.x; + fVirtualBounds.x = -hSelection; + scrollSmart(destX, 0); + updateViewRectangle(); + } + protected void scrollXDelta(int delta) { + getHorizontalBar().setSelection(-fVirtualBounds.x+delta); + scrollX(getHorizontalBar()); + } + + protected void scrollY(ScrollBar vBar) { + int vSelection = vBar.getSelection (); + int destY = -vSelection - fVirtualBounds.y; + if(destY!=0) { + fVirtualBounds.y = -vSelection; + scrollSmart(0,destY); + updateViewRectangle(); + } + + } + protected void scrollYDelta(int delta) { + getVerticalBar().setSelection(-fVirtualBounds.y+delta); + scrollY(getVerticalBar()); + } + + + private void scrollSmart(int deltaX, int deltaY) { + Rectangle rect = getBounds(); + scroll (deltaX, deltaY, 0, 0, rect.width, rect.height, false); + } + + /** + * @param rect in virtual space + */ + protected void revealRect(Rectangle rect) { + Rectangle visibleRect=getScreenRectInVirtualSpace(); + // scroll the X part + int deltaX=0; + if(rect.x0||marginHeight>0){ + Color bg=getBackground(); + gc.setBackground(getBackgroundColor()); + if (marginWidth > 0) { + gc.fillRectangle (width, clipping.y, marginWidth, clipping.height); + } + if (marginHeight > 0) { + gc.fillRectangle (clipping.x, height, clipping.width, marginHeight); + } + gc.setBackground(bg); + } + } + /** + * @private + */ + protected boolean inClipping(Rectangle clipping, Rectangle r) { + // TODO check if this is OK in all cases (the <=!) + // + if(r.x+r.width<=clipping.x) + return false; + if(clipping.x+clipping.width<=r.x) + return false; + if(r.y+r.height<=clipping.y) + return false; + if(clipping.y+clipping.height<=r.y) + return false; + + return true; + } + /** + * @return the screen rect in virtual space (starting with (0,0)) + * of the visible screen. (x,y>=0) + */ + protected Rectangle getScreenRectInVirtualSpace() { + Rectangle r= new Rectangle(fClientArea.x-fVirtualBounds.x,fClientArea.y-fVirtualBounds.y,fClientArea.width,fClientArea.height); + return r; + } + /** + * @return the rect in virtual space (starting with (0,0)) + * of the visible screen. (x,y>=0) + */ + protected Rectangle getRectInVirtualSpace(Rectangle r) { + return new Rectangle(r.x-fVirtualBounds.x,r.y-fVirtualBounds.y,r.width,r.height); + } + + /** + * Sets the extend of the virtual dieplay ares + * @param width + * @param height + */ + protected void setVirtualExtend(int width, int height) { + fVirtualBounds.width=width; + fVirtualBounds.height=height; + updateScrollbars(); + updateViewRectangle(); + } + /** + * sets the scrolling origin. Also sets the scrollbars. + * Does NOT redraw! + * Use negative values (move the virtual origin to the top left + * to see something in the screen (which is located at (0,0)) + * @param x + * @param y + */ + protected void setVirtualOrigin(int x, int y) { + fVirtualBounds.x=x; + fVirtualBounds.y=y; + getHorizontalBar().setSelection(-x); + getVerticalBar().setSelection(-y); + updateViewRectangle(); + } + protected Rectangle getVirtualBounds() { + return cloneRectangle(fVirtualBounds); + } + /** + * @param x + * @return the virtual coordinate in scree space + */ + protected int virtualXtoScreen(int x) { + return x+fVirtualBounds.x; + } + protected int virtualYtoScreen(int y) { + return y+fVirtualBounds.y; + } + protected int screenXtoVirtual(int x) { + return x-fVirtualBounds.x; + } + protected int screenYtoVirtual(int y) { + return y-fVirtualBounds.y; + } + /** called when the viewed part is changing */ + private Rectangle fViewRectangle=new Rectangle(0,0,0,0); + void updateViewRectangle() { + if( + fViewRectangle.x==-fVirtualBounds.x + && fViewRectangle.y==-fVirtualBounds.y + && fViewRectangle.width==fClientArea.width + && fViewRectangle.height==fClientArea.height + ) + return; + fViewRectangle.x=-fVirtualBounds.x; + fViewRectangle.y=-fVirtualBounds.y; + fViewRectangle.width=fClientArea.width; + fViewRectangle.height=fClientArea.height; + viewRectangleChanged(fViewRectangle.x,fViewRectangle.y,fViewRectangle.width,fViewRectangle.height); + } + protected Rectangle getViewRectangle() { + return cloneRectangle(fViewRectangle); + } + private Rectangle cloneRectangle(Rectangle r) { + return new Rectangle(r.x,r.y,r.width,r.height); + } + /** + * Called when the viewed part has changed. + * Override when you need this information.... + * Is only called if the values change! + * @param x visible in virtual space + * @param y visible in virtual space + * @param width + * @param height + */ + protected void viewRectangleChanged(int x, int y, int width, int height) { + } + /** + * @private + */ + private void updateScrollbars() { + // don't get into infinite loops.... + if(!fInUpdateScrollbars) { + fInUpdateScrollbars=true; + try { + doUpdateScrollbar(); + } finally { + fInUpdateScrollbars=false; + } + } + } + private void doUpdateScrollbar() { + Point size= getSize(); + Rectangle clientArea= getClientArea(); + + ScrollBar horizontal= getHorizontalBar(); + if (fVirtualBounds.width <= clientArea.width) { + // TODO IMPORTANT in ScrollBar.setVisible comment out the line + // that checks 'isvisible' and returns (at the beginning) + horizontal.setVisible(false); + horizontal.setSelection(0); + } else { + horizontal.setPageIncrement(clientArea.width - horizontal.getIncrement()); + int max= fVirtualBounds.width + (size.x - clientArea.width); + horizontal.setMaximum(max); + horizontal.setThumb(size.x > max ? max : size.x); + horizontal.setVisible(true); + } + + ScrollBar vertical= getVerticalBar(); + if (fVirtualBounds.height <= clientArea.height) { + vertical.setVisible(false); + vertical.setSelection(0); + } else { + vertical.setPageIncrement(clientArea.height - vertical.getIncrement()); + int max= fVirtualBounds.height + (size.y - clientArea.height); + vertical.setMaximum(max); + vertical.setThumb(size.y > max ? max : size.y); + vertical.setVisible(true); + } + } +} + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java new file mode 100644 index 00000000000..f3359e10fb4 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + + +/** + * A writable matrix of characters and {@link Style}. This is intended to be the + * low level representation of the text of a Terminal. Higher layers are responsible + * to fill the text and styles into this representation. + * + *

                Note: Implementations of this interface has to be thread safe. + *

                Note: This interface is not intended to be implemented by clients. + */ +public interface ITerminalTextData extends ITerminalTextDataReadOnly { + + /** + * Sets the dimensions of the data. If the dimensions are smaller than the current + * dimensions, the lines will be chopped. If the dimensions are bigger, then + * the new elements will be filled with 0 chars and null Style. + * @param height + * @param width + */ + void setDimensions(int height, int width); + + void setMaxHeight(int height); + int getMaxHeight(); + + /** + * Set a single character and the associated {@link Style}. + * @param line line must be >=0 and < height + * @param column column must be >=0 and < width + * @param c the new character at this position + * @param style the style or null + */ + void setChar(int line, int column, char c, Style style); + + /** + * Set an array of characters showing in the same {@link Style}. + * @param line line must be >=0 and < height + * @param column column must be >=0 and < width + * @param chars the new characters at this position + * @param style the style or null + */ + void setChars(int line, int column, char[] chars, Style style); + + /** + * Set a subrange of an array of characters showing in the same {@link Style}. + * @param line line must be >=0 and < height + * @param column column must be >=0 and < width + * @param chars the new characters at this position + * @param start the start index in the chars array + * @param len the number of characters to insert. Characters beyond width are not inserted. + * @param style the style or null + */ + void setChars(int line, int column, char[] chars, int start, int len, Style style); + + + /** + * Cleans the entire line. + * @param line + */ + void cleanLine(int line); +// /** +// * @param line +// * @return true if this line belongs to the previous line but is simply +// * wrapped. +// */ +// boolean isWrappedLine(int line); +// +// /** +// * Makes this line an extension to the previous line. Wrapped lines get folded back +// * when the width of the terminal changes +// * @param line +// * @param extendsPreviousLine +// */ +// void setWrappedLine(int line, boolean extendsPreviousLine); + + /** + * Shifts some lines up or down. The "empty" space is filled with '\000' chars + * and null {@link Style} + *

                To illustrate shift, here is some sample data: + *

                +	 * 0 aaaa
                +	 * 1 bbbb
                +	 * 2 cccc
                +	 * 3 dddd
                +	 * 4 eeee
                +	 * 
                + * + * Shift a region of 3 lines up by one line shift(1,3,-1) + *
                +	 * 0 aaaa
                +	 * 1 cccc
                +	 * 2 dddd
                +	 * 3 
                +	 * 4 eeee
                +	 * 
                + * + * + * Shift a region of 3 lines down by one line shift(1,3,1) + *
                +	 * 0 aaaa
                +	 * 1 
                +	 * 2 bbbb
                +	 * 3 cccc
                +	 * 4 eeee
                +	 * 
                + * @param startLine the start line of the shift + * @param size the number of lines to shift + * @param shift how much scrolling is done. New scrolled area is filled with '\000'. + * Negative number means scroll down, positive scroll up (see example above). + */ + void scroll(int startLine, int size, int shift); + + /**Adds a new line to the terminal. If maxHeigth is reached, the entire terminal + * will be scrolled. Else a line will be added. + */ + void addLine(); + /** + * Copies the entire source into this and changes the size accordingly + * @param source + */ + void copy(ITerminalTextData source); + /** + * Copy a sourceLine from source to this at destLine. + * @param source + * @param sourceLine + * @param destLine + */ + void copyLine(ITerminalTextData source,int sourceLine, int destLine); + /** + * Copy length lines from source starting at sourceLine into this starting at + * destLine. + * @param source + * @param sourceStartLine + * @param destStartLine + * @param length + */ + void copyRange(ITerminalTextData source, int sourceStartLine, int destStartLine,int length); + + void setCursorLine(int line); + void setCursorColumn(int column); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java new file mode 100644 index 00000000000..183446c191d --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + + +public interface ITerminalTextDataReadOnly { + + /** + * @return the width of the terminal + */ + int getWidth(); + + /** + * @return the height of the terminal + */ + int getHeight(); + + /** + * @param line be >=0 and < height + * @param startCol must be >=0 and < width + * @param numberOfCols must be > 0 + * @return a the line segments of the specified range + */ + LineSegment[] getLineSegments(int line, int startCol, int numberOfCols); + + /** + * @param line must be >=0 and < height + * @param column must be >=0 and < width + * @return the character at column,line + */ + char getChar(int line, int column); + + /** + * @param line must be >=0 and < height + * @param column must be >=0 and < width + * @return style at column,line or null + */ + Style getStyle(int line, int column); + + /** + * Creates a new instance of {@link ITerminalTextDataSnapshot} that + * can be used to track changes. Make sure to call {@link ITerminalTextDataSnapshot#detach()} + * if you don't need the snapshots anymore. + *

                Note: A new snapshot is empty and needs a call to {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)} to + * get its initial values. You might want to setup the snapshot to your needs by calling + * {@link ITerminalTextDataSnapshot#setInterestWindow(int, int)}. + *

                + * @return a new instance of {@link ITerminalTextDataSnapshot} that "listens" to changes of + * this. + */ + public ITerminalTextDataSnapshot makeSnapshot(); + + char[] getChars(int line); + Style[] getStyles(int line); + + /** + * @return the line in which the cursor is at the moment + */ + int getCursorLine(); + /** + * @return the column at which the cursor is at the moment + */ + int getCursorColumn(); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java new file mode 100644 index 00000000000..7d4065e7581 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java @@ -0,0 +1,212 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +/** + * This class maintains a snapshot of an instance of {@link ITerminalTextData}. + * While the {@link ITerminalTextData} continues changing, the snapshot remains + * unchanged until the next snapshot is taken by calling {@link #updateSnapshot(boolean)}. + * This is important, because the {@link ITerminalTextData} might get + * modified by another thread. Suppose you would want to draw the content of + * the {@link ITerminalTextData} using the following loop: + *
                + * for(int line=0;line<term.getHeight();line++) 
                + *     for(int column=0; column<term.getWidth();column++)
                + *         drawCharacter(column,line,term.getChar(column,line),term.getStyle(column,line));
                + * 
                + * This might fail because the background thread could change the dimensions of the + * {@link ITerminalTextData} while you iterate the loop. One solution would be to + * put a synchronized(term){} statement around the code. This has + * two problems: 1. you would have to know about the internals of the synchronisation + * of {@link ITerminalTextData}. 2. The other thread that changes {@link ITerminalTextData} + * is blocked while the potentially slow drawing is done. + *

                + * Solution: Take a snapshot of the terminal and use the snapshot to draw + * the content. There is no danger that the data structure get changed while + * you draw. There are also methods to find out what has changed to minimize + * the number of lines that get redrawn.

                + * + *

                Drawing optimization: To optimize redrawing of changed lines, this class keeps + * track of lines that have changed since the previous snapshot.

                + * + *
                + * // iterate over the potentially changed lines
                + * for(int line=snap.getFirstChangedLine();line<=snap.getLastChangedLine();line++) 
                + *     // redraw only if the line has changed
                + *     if(snap.hasLineChanged(line))
                + *         for(int column=0; column<snap.getWidth();column++)
                + *            drawCharacter(column,line,snap.getChar(column,line),snap.getStyle(column,line));
                + * 
                + * + *

                Scroll optimization: Often new lines are appended at the bottom of the + * terminal and the rest of the lines are scrolled up. In this case all lines would be + * marked as changed. To optimize for this + * case, {@link #updateSnapshot(boolean)} can be called with true for + * the detectScrolling parameter. The object will keep track of scrolling. + * The UI must first handle the scrolling and then use the {@link #hasLineChanged(int)} + * method to determine scrolling: + *

                + * // scroll the visible region of the UI before drawing the changed lines.
                + * doUIScrolling(snap.getScrollChangeY(),snap.getScrollChangeN(),snap.getScrollChangeShift());
                + * // iterate over the potentially changed lines
                + * for(int line=snap.getFirstChangedLine();line<=snap.getFirstChangedLine();line++) 
                + *     // redraw only if the line has changed
                + *     if(snap.hasLineChanged(line))
                + *         for(int column=0; column<snap.getWidth();column++)
                + *            drawCharacter(column,line,snap.getChar(column,line),snap.getStyle(column,line));
                + * 
                + *

                + * + *

                Note: This interface is not intended to be implemented by clients.

                + *

                Threading Note: This class is not thread save! All methods have to be called by + * the a same thread, that created the instance by calling + * {@link ITerminalTextDataReadOnly#makeSnapshot()}.

                + */ +public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { + /** + * This listener gets called when the current snapshot + * is out of date. Calling {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)} + * will have an effect. Once the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} method is called, + * it will not be called until {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)} + * is called and a new snapshot needs to be updated again. + *

                + * A typical terminal view would not update the snapshot immediately + * after the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} has been called. It would introduce a + * delay to update the UI (and the snapshot} 10 or 20 times per second. + * + *

                Make sure you don't spend too much time in this method. + */ + interface SnapshotOutOfDateListener { + /** + * Gets called when the snapshot is out of date. To get the snapshot up to date, + * call {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)}. + * @param snapshot The snapshot that is out of date + */ + void snapshotOutOfDate(ITerminalTextDataSnapshot snapshot); + } + void addListener(SnapshotOutOfDateListener listener); + void removeListener(SnapshotOutOfDateListener listener); + + /** + * Ends the listening to the {@link ITerminalTextData}. After this + * has been called no new snapshot data is collected. + */ + void detach(); + /** + * @return true if the data has changed since the previous snapshot. + */ + boolean isOutOfDate(); + + /** + * The window of interest is the region the snapshot should track. + * Changes outside this region are ignored. The change takes effect after + * an update! + * @param startLine -1 means track the end of the data + * @param size number of lines to track. A size of -1 means track all. + */ + void setInterestWindow(int startLine, int size); + int getInterestWindowStartLine(); + int getInterestWindowSize(); + + /** + * Create a new snapshot of the {@link ITerminalTextData}. It will efficiently + * copy the data of the {@link ITerminalTextData} into an internal representation. + * The snapshot also keeps track of the changes since the previous snapshot. + *

                With the methods {@link #getFirstChangedLine()}, {@link #getLastChangedLine()} and + * {@link #hasLineChanged(int)} + * you can find out what has changed in the current snapshot since the previous snapshot. + * @param detectScrolling if true the snapshot tries to identify scroll + * changes since the last snapshot. In this case the information about scrolling + * can be retrieved using the following methods: + * {@link #getScrollWindowStartLine()}, {@link #getScrollWindowSize()} and {@link #getScrollWindowShift()} + *
                Note: The method {@link #hasLineChanged(int)} returns changes after the + * scrolling has been applied. + */ + void updateSnapshot(boolean detectScrolling); + + /** + * @return The first line changed in this snapshot compared + * to the previous snapshot. + * + *

                Note: If no line has changed, this + * returns {@link Integer#MAX_VALUE} + * + *

                Note: if {@link #updateSnapshot(boolean)} has been called with true, + * then this does not include lines that only have been scrolled. This is the + * first line that has changed after the scroll has been applied. + */ + int getFirstChangedLine(); + + /** + * @return The last line changed in this snapshot compared + * to the previous snapshot. If the height has changed since the + * last update of the snapshot, then the returned value is within + * the new dimensions. + * + *

                Note: If no line has changed, this returns -1 + * + *

                Note: if {@link #updateSnapshot(boolean)} has been called with true, + * then this does not include lines that only have been scrolled. This is the + * last line that has changed after the scroll has been applied. + * + *

                A typical for loop using this method would look like this (note the <= in the for loop): + *

                +	 * for(int line=snap.{@link #getFirstChangedLine()}; line <= snap.getLastChangedLine(); line++)
                +	 *    if(snap.{@link #hasLineChanged(int) hasLineChanged(line)})
                +	 *       doSomething(line);
                +	 * 
                + */ + int getLastChangedLine(); + + /** + * @param line + * @return true if the line has changed since the previous snapshot + */ + boolean hasLineChanged(int line); + + boolean hasDimensionsChanged(); + + /** + * @return true if the terminal has changed (and not just the + * window of interest) + */ + boolean hasTerminalChanged(); + /** + * If {@link #updateSnapshot(boolean)} was called with true, then this method + * returns the top of the scroll region. + * @return The first line scrolled in this snapshot compared + * to the previous snapshot. See also {@link ITerminalTextData#scroll(int, int, int)}. + */ + int getScrollWindowStartLine(); + + /** + * If {@link #updateSnapshot(boolean)} was called with true, then this method + * returns the size of the scroll region. + * @return The number of lines scrolled in this snapshot compared + * to the previous snapshot. See also {@link ITerminalTextData#scroll(int, int, int)} + * If nothing has changed, 0 is returned. + */ + int getScrollWindowSize(); + + /** + * If {@link #updateSnapshot(boolean)} was called with true, then this method + * returns number of lines moved by the scroll region. + * @return The the scroll shift of this snapshot compared + * to the previous snapshot. See also {@link ITerminalTextData#scroll(int, int, int)} + */ + int getScrollWindowShift(); + + /** + * @return The {@link ITerminalTextData} on that this instance is observing. + */ + ITerminalTextData getTerminalTextData(); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java new file mode 100644 index 00000000000..9c8c38935ff --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + + +public class LineSegment { + private final String fText; + private final int fCol; + private final Style fStyle; + public LineSegment(int col, String text, Style style) { + fCol = col; + fText = text; + fStyle = style; + } + public Style getStyle() { + return fStyle; + } + public String getText() { + return fText; + } + public int getColumn() { + return fCol; + } + public String toString() { + return "LineSegment("+fCol+", \""+fText+"\","+fStyle+")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java new file mode 100644 index 00000000000..9e755143ad1 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java @@ -0,0 +1,154 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author scharf + * Flyweight + * Threadsafe. + * + */ +// TODO add an Object for user data, use weak map to keep track of styles with associated +// user data +public class Style { + private final StyleColor fForground; + private final StyleColor fBackground; + private final boolean fBold; + private final boolean fBlink; + private final boolean fUnderline; + private final boolean fReverse; + private final static Map fgStyles=new HashMap(); + private Style(StyleColor forground, StyleColor background, boolean bold, boolean blink, boolean underline, boolean reverse) { + fForground = forground; + fBackground = background; + fBold = bold; + fBlink = blink; + fUnderline = underline; + fReverse = reverse; + } + public static Style getStyle(StyleColor forground, StyleColor background, boolean bold, boolean blink, boolean underline, boolean reverse) { + Style style = new Style(forground,background, bold, blink,underline,reverse); + Style cached; + synchronized (fgStyles) { + cached=(Style) fgStyles.get(style); + if(cached==null) { + cached=style; + fgStyles.put(cached, cached); + } + } + return cached; + } + public static Style getStyle(String forground, String background) { + return getStyle(StyleColor.getStyleColor(forground), StyleColor.getStyleColor(background),false,false,false,false); + } + public static Style getStyle(StyleColor forground, StyleColor background) { + return getStyle(forground, background,false,false,false,false); + } + public Style setForground(StyleColor forground) { + return getStyle(forground,fBackground,fBold,fBlink,fUnderline,fReverse); + } + public Style setBackground(StyleColor background) { + return getStyle(fForground,background,fBold,fBlink,fUnderline,fReverse); + } + public Style setForground(String colorName) { + return getStyle(StyleColor.getStyleColor(colorName),fBackground,fBold,fBlink,fUnderline,fReverse); + } + public Style setBackground(String colorName) { + return getStyle(fForground,StyleColor.getStyleColor(colorName),fBold,fBlink,fUnderline,fReverse); + } + public Style setBold(boolean bold) { + return getStyle(fForground,fBackground,bold,fBlink,fUnderline,fReverse); + } + public Style setBlink(boolean blink) { + return getStyle(fForground,fBackground,fBold,blink,fUnderline,fReverse); + } + public Style setUnderline(boolean underline) { + return getStyle(fForground,fBackground,fBold,fBlink,underline,fReverse); + } + public Style setReverse(boolean reverse) { + return getStyle(fForground,fBackground,fBold,fBlink,fUnderline,reverse); + } + public StyleColor getBackground() { + return fBackground; + } + public boolean isBlink() { + return fBlink; + } + public boolean isBold() { + return fBold; + } + public StyleColor getForground() { + return fForground; + } + public boolean isReverse() { + return fReverse; + } + public boolean isUnderline() { + return fUnderline; + } + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((fBackground == null) ? 0 : fBackground.hashCode()); + result = prime * result + (fBlink ? 1231 : 1237); + result = prime * result + (fBold ? 1231 : 1237); + result = prime * result + ((fForground == null) ? 0 : fForground.hashCode()); + result = prime * result + (fReverse ? 1231 : 1237); + result = prime * result + (fUnderline ? 1231 : 1237); + return result; + } + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + final Style other = (Style) obj; + // background == is the same as equals + if (fBackground != other.fBackground) + return false; + if (fBlink != other.fBlink) + return false; + if (fBold != other.fBold) + return false; + if (fForground != other.fForground) + return false; + if (fReverse != other.fReverse) + return false; + if (fUnderline != other.fUnderline) + return false; + return true; + } + public String toString() { + StringBuffer result=new StringBuffer(); + result.append("Style(foreground="); //$NON-NLS-1$ + result.append(fForground); + result.append(", background="); //$NON-NLS-1$ + result.append(fBackground); + if(fBlink) + result.append(", blink"); //$NON-NLS-1$ + if(fBold) + result.append(", bold"); //$NON-NLS-1$ + if(fBlink) + result.append(", blink"); //$NON-NLS-1$ + if(fReverse) + result.append(", reverse"); //$NON-NLS-1$ + if(fUnderline) + result.append(", underline"); //$NON-NLS-1$ + result.append(")"); //$NON-NLS-1$ + return result.toString(); + } + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java new file mode 100644 index 00000000000..39dbb6629d2 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +import java.util.HashMap; +import java.util.Map; + +/** + * + * Flyweight + * Threadsafe. + */ +public class StyleColor { + private final static Map fgStyleColors=new HashMap(); + final String fName; + + /** + * @param name the name of the color. It is up to the UI to associate a + * named color with a visual representation + * @return a StyleColor + */ + public static StyleColor getStyleColor(String name) { + StyleColor result; + synchronized (fgStyleColors) { + result=(StyleColor) fgStyleColors.get(name); + if(result==null) { + result=new StyleColor(name); + fgStyleColors.put(name, result); + } + } + return result; + } + // nobody except the factory method is allowed to instantiate this class! + private StyleColor(String name) { + fName = name; + } + + public String getName() { + return fName; + } + + public String toString() { + return fName; + } + // no need to override equals and hashCode, because Object uses object identity +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java new file mode 100644 index 00000000000..bb7545dedc5 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +import org.eclipse.tm.internal.terminal.model.SynchronizedTerminalTextData; +import org.eclipse.tm.internal.terminal.model.TerminalTextData; + +public class TerminalTextDataFactory { + static public ITerminalTextData makeTerminalTextData() { + return new SynchronizedTerminalTextData(new TerminalTextData()); + } +} From 2ef6949e946d400b9bc4adec477570efc7f7a207 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 19 Sep 2007 02:23:09 +0000 Subject: [PATCH 168/843] one character of selection is lost when copying --- .../terminal/textcanvas/AbstractTextCanvasModel.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index f5491f7cf04..098d84b694c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -201,7 +201,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { fSelectionStartCoumn = startColumn; fSelectionEndColumn = endColumn; if(fSelectionSnapshot!=null) { - fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine); + fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine+1); } int changedStart; int changedEnd; @@ -239,7 +239,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { if(chars!=null) { text=new String(chars); if(line==fSeletionEndLine) - text=text.substring(0, Math.min(fSelectionEndColumn,text.length())); + text=text.substring(0, Math.min(fSelectionEndColumn+1,text.length())); if(line==fSelectionStartLine) text=text.substring(Math.min(fSelectionStartCoumn,text.length())); // get rid of the empty space at the end of the lines @@ -282,7 +282,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { // update the observed window... if (fSelectionSnapshot != null) // todo make -1 to work! - fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine); + fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine+1); } } From e969407d6073bcb73f8e57c9fb3f3ee38f706e13 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 26 Sep 2007 21:17:16 +0000 Subject: [PATCH 169/843] fixed: when serial port in use, ask if connected terminal should be closed. --- .../terminal/serial/SerialConnectWorker.java | 1 - .../internal/terminal/serial/SerialConnector.java | 8 -------- .../terminal/serial/SerialPortHandler.java | 14 ++++---------- 3 files changed, 4 insertions(+), 19 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index e5883a29d31..40a94a0b970 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -58,7 +58,6 @@ public class SerialConnectWorker extends Thread { fConn.setSerialPort(serialPort); fControl.setState(TerminalState.CONNECTED); } catch (PortInUseException portInUseException) { - fConn.setPortInUse(true); fControl.setState(TerminalState.CLOSED); fControl.setMsg("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 905c05b80e3..f637a34d7ff 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -40,7 +40,6 @@ public class SerialConnector implements ITerminalConnector { private SerialPort fSerialPort; private CommPortIdentifier fSerialPortIdentifier; private SerialPortHandler fTerminalSerialPortHandler; - private boolean fIsPortInUse; private SerialSettings fSettings; public SerialConnector() { } @@ -168,13 +167,6 @@ public class SerialConnector implements ITerminalConnector { SerialPortHandler getSerialPortHandler() { return fTerminalSerialPortHandler; } - public boolean isPortInUse() { - return fIsPortInUse; - } - public void setPortInUse(boolean b) { - fIsPortInUse=true; - - } public ISerialSettings getSerialSettings() { return fSettings; } diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java index 3af07a0dc8d..82119d1a149 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java @@ -16,18 +16,17 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; -import java.io.IOException; -import java.text.MessageFormat; - import gnu.io.CommPortOwnershipListener; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; +import java.io.IOException; +import java.text.MessageFormat; + import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * UNDER CONSTRUCTION @@ -68,11 +67,6 @@ public class SerialPortHandler implements } public void onSerialOwnershipRequested(Object data) { - if (fConn.isPortInUse()) { - fConn.setPortInUse(false); - return; - } - Display.getDefault().asyncExec(new Runnable() { public void run() { String[] args = new String[] { fConn.getSerialSettings().getSerialPort() }; @@ -80,7 +74,7 @@ public class SerialPortHandler implements if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) return; - fControl.setState(TerminalState.CONNECTING); + fConn.disconnect(); } }); From d4bfcf01e9b1d0869fd8d7d9fc861ee0df2f0164 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 26 Sep 2007 23:00:19 +0000 Subject: [PATCH 170/843] Serial terminal now allows to specify a port manually (e.g. to access virtual devices that are not found by the port scan) --- .../terminal/serial/SerialConnectWorker.java | 79 +++++++++++++++++-- .../terminal/serial/SerialSettingsPage.java | 28 +++++-- 2 files changed, 96 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 40a94a0b970..5542863c67c 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -17,9 +17,13 @@ package org.eclipse.tm.internal.terminal.serial; import gnu.io.CommPortIdentifier; +import gnu.io.NoSuchPortException; import gnu.io.PortInUseException; import gnu.io.SerialPort; +import java.util.Arrays; +import java.util.Enumeration; + import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -38,15 +42,74 @@ public class SerialConnectWorker extends Thread { fConn = conn; fControl.setState(TerminalState.CONNECTING); } - public void run() { + + /** + * Adds the named port to the name of known ports to rxtx + * @param name + */ + void addPort(String name) { + // Rxtx either takes the connection from the properties OR using + // the port scan. + // Unfortunately, setting gnu.io.rxtx.SerialPorts only temporarily does not + // work, because rxtx closes connections that are unknown. + // The only solution I could come up with: add the known connections + // to the gnu.io.rxtx.SerialPorts property.... + final String GNU_IO_RXTX_SERIAL_PORTS = "gnu.io.rxtx.SerialPorts"; //$NON-NLS-1$ + String sep = System.getProperty("path.separator", ":"); //$NON-NLS-1$//$NON-NLS-2$ + // get the existing names + String names = System.getProperty(GNU_IO_RXTX_SERIAL_PORTS); + if (names == null) { + StringBuffer buffer=new StringBuffer(); + boolean sepNeeded=false; + // When we add a port to this property, rxtx forgets the + // ports it finds by scanning the system. + + // iterate over the known ports and add them to the property + Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers(); + while (portIdEnum.hasMoreElements()) { + CommPortIdentifier identifier = (CommPortIdentifier) portIdEnum.nextElement(); + if (identifier.getPortType() == CommPortIdentifier.PORT_SERIAL) { + if(sepNeeded) + buffer.append(sep); + else + sepNeeded=true; + buffer.append(identifier.getName()); + } + } + // append our new port + if(sepNeeded) + buffer.append(sep); + buffer.append(name); + System.setProperty(GNU_IO_RXTX_SERIAL_PORTS,buffer.toString()); + } else if (!Arrays.asList(names.split(sep)).contains(name)) { + // the list does not contain the name, therefore we add it + // since there is at least one name in the list, we append it + System.setProperty(GNU_IO_RXTX_SERIAL_PORTS, names + sep + name); + } else { + // nothing to do -- should never happen... + return; + } + // Reinitialise the ports because we have changed the list of known ports + CommPortIdentifier.getPortIdentifiers(); + } + + public void run() { + String portName=null; try { fControl.setState(TerminalState.OPENED); String strID = getClass().getPackage().getName(); ISerialSettings s=fConn.getSerialSettings(); - + portName=s.getSerialPort(); + try { + fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); + } catch (NoSuchPortException e) { + // let's try + addPort(portName); + fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); + } fConn.setSerialPortHandler(new SerialPortHandler(fConn,fControl)); - fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(s.getSerialPort())); + fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); int timeoutInMs = s.getTimeout() * 1000; SerialPort serialPort=(SerialPort) fConn.getSerialPortIdentifier().open(strID,timeoutInMs); @@ -59,8 +122,14 @@ public class SerialConnectWorker extends Thread { fControl.setState(TerminalState.CONNECTED); } catch (PortInUseException portInUseException) { fControl.setState(TerminalState.CLOSED); - fControl.setMsg("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ - + fControl.displayTextInTerminal("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ + } catch (NoSuchPortException e) { + fControl.setState(TerminalState.CLOSED); + String msg=e.getMessage(); + if(msg==null) + msg=portName; + fControl.displayTextInTerminal("No such port: \"" + msg+"\"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } catch (Exception exception) { fControl.setState(TerminalState.CLOSED); } diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java index 427074d4079..43b85997214 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java @@ -85,16 +85,25 @@ public class SerialSettingsPage implements ISettingsPage { if(value==null) return; int nIndex = combo.indexOf(value); - if (nIndex == -1) - return; + if (nIndex == -1) { + if((combo.getStyle() & SWT.READ_ONLY)==0) { + combo.add(value); + nIndex = combo.indexOf(value); + } else { + return; + } + } combo.select(nIndex); } private String getComboValue(Combo combo) { int nIndex = combo.getSelectionIndex(); - if (nIndex == -1) - return ""; //$NON-NLS-1$ + if (nIndex == -1) { + if((combo.getStyle() & SWT.READ_ONLY)!=0) + return ""; //$NON-NLS-1$ + return combo.getText(); + } return combo.getItem(nIndex); @@ -109,7 +118,7 @@ public class SerialSettingsPage implements ISettingsPage { composite.setLayout(gridLayout); composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":"); //$NON-NLS-1$ + fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":",false); //$NON-NLS-1$ fBaudRateCombo=addLabeledCombo(composite, SerialMessages.BAUDRATE + ":"); //$NON-NLS-1$ fDataBitsCombo=addLabeledCombo(composite, SerialMessages.DATABITS + ":"); //$NON-NLS-1$ fStopBitsCombo=addLabeledCombo(composite, SerialMessages.STOPBITS + ":"); //$NON-NLS-1$ @@ -123,11 +132,18 @@ public class SerialSettingsPage implements ISettingsPage { } private Combo addLabeledCombo(Composite composite, String label) { + return addLabeledCombo(composite, label, true); + } + private Combo addLabeledCombo(Composite composite, String label,boolean readonly) { new Label(composite, SWT.RIGHT).setText(label); - Combo combo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); + int flags=SWT.DROP_DOWN; + if(readonly) + flags|=SWT.READ_ONLY; + Combo combo = new Combo(composite, flags); combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); return combo; } + private void loadCombo(Combo ctlCombo, List table) { for (Iterator iter = table.iterator(); iter.hasNext();) { String label = (String) iter.next(); From 3a918ab9eb4b1ce286038092ad8a8db4069537e9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 27 Sep 2007 01:30:26 +0000 Subject: [PATCH 171/843] Rev up terminal serial connector version --- org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 417fae4e2e7..d91423c7155 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 140db3e7a73..f83d704b5f5 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 1.0.1.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, From 6a8d0159c706f0a4fe2cbec497133992c2b43907 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 27 Sep 2007 12:33:45 +0000 Subject: [PATCH 172/843] bug 204794: [terminal] StringIndexOutOfBoundException when selecting text and doing right-click https://bugs.eclipse.org/bugs/show_bug.cgi?id=204794 check for negative column and do not copy in that case --- .../internal/terminal/textcanvas/AbstractTextCanvasModel.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 098d84b694c..07238ebbfe7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -228,9 +228,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } public String getSelectedText() { - if(fSelectionStartLine<0 || fSelectionSnapshot==null) - return ""; //$NON-NLS-1$ - if(fSelectionStartLine<0 || fSelectionSnapshot==null) + if(fSelectionStartLine<0 || fSelectionStartCoumn<0|| fSelectionSnapshot==null) return ""; //$NON-NLS-1$ StringBuffer buffer=new StringBuffer(); for (int line = fSelectionStartLine; line <= fSeletionEndLine; line++) { From 4482950496c4d2edcd4f88bfd83ad4b0930c2b7d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 27 Sep 2007 20:57:16 +0000 Subject: [PATCH 173/843] fixed selection (now shift works to expand the selection) --- .../textcanvas/AbstractTextCanvasModel.java | 43 ++++++++++++++----- .../terminal/textcanvas/ITextCanvasModel.java | 4 ++ .../terminal/textcanvas/TextCanvas.java | 9 +++- 3 files changed, 45 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 07238ebbfe7..4a49952cd42 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -33,6 +33,8 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { private int fSelectionStartCoumn; private int fSelectionEndColumn; private ITerminalTextDataSnapshot fSelectionSnapshot; + private String fCurrentSelection=""; //$NON-NLS-1$ + private final Point fSelectionAnchor=new Point(0,0); public AbstractTextCanvasModel(ITerminalTextDataSnapshot snapshot) { fSnapshot=snapshot; @@ -182,8 +184,22 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { else return new Point(fSelectionStartCoumn,fSelectionStartLine); } + public Point getSelectionAnchor() { + if(fSelectionStartLine<0) + return null; + return new Point(fSelectionAnchor.x,fSelectionAnchor.y); + } + public void setSelectionAnchor(Point anchor) { + fSelectionAnchor.x=anchor.x; + fSelectionAnchor.y=anchor.y; + } public void setSelection(int startLine, int endLine, int startColumn, int endColumn) { +// System.err.println(startLine+","+endLine+","+startColumn+","+endColumn); + doSetSelection(startLine, endLine, startColumn, endColumn); + fCurrentSelection=extractSelectedText(); + } + private void doSetSelection(int startLine, int endLine, int startColumn, int endColumn) { assert(startLine<0 || startLine<=endLine); if(startLine>=0) { if(fSelectionSnapshot==null) { @@ -201,7 +217,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { fSelectionStartCoumn = startColumn; fSelectionEndColumn = endColumn; if(fSelectionSnapshot!=null) { - fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine+1); + fSelectionSnapshot.setInterestWindow(0, fSelectionSnapshot.getHeight()); } int changedStart; int changedEnd; @@ -228,6 +244,13 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } public String getSelectedText() { + return fCurrentSelection; + } + /** + * Calculates the currently selected text + * @return the currently selected text + */ + private String extractSelectedText() { if(fSelectionStartLine<0 || fSelectionStartCoumn<0|| fSelectionSnapshot==null) return ""; //$NON-NLS-1$ StringBuffer buffer=new StringBuffer(); @@ -255,8 +278,6 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } private void updateSelection() { if (fSelectionSnapshot != null && fSelectionSnapshot.isOutOfDate()) { - // let's see if the selection text has changed since the last snapshot - String oldSelection = getSelectedText(); fSelectionSnapshot.updateSnapshot(true); // has the selection moved? if (fSelectionSnapshot != null && fSelectionStartLine >= 0 && fSelectionSnapshot.getScrollWindowSize() > 0) { @@ -267,20 +288,22 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { start = 0; else start = -1; - setSelection(start, end, fSelectionStartCoumn, fSelectionEndColumn); + doSetSelection(start, end, fSelectionStartCoumn, fSelectionEndColumn); } - // have lines inside the selection changed? - if (fSelectionSnapshot != null && fSelectionSnapshot.getFirstChangedLine() <= fSeletionEndLine && - fSelectionSnapshot.getLastChangedLine() >= fSelectionStartLine) { + // check if the content of the selection has changed. If the content has + // changed, clear the selection + if (fCurrentSelection.length()>0 && fSelectionSnapshot != null + && fSelectionSnapshot.getFirstChangedLine() <= fSeletionEndLine + && fSelectionSnapshot.getLastChangedLine() >= fSelectionStartLine) { // has the selected text changed? - String newSelection = getSelectedText(); - if (!oldSelection.equals(newSelection)) + if (!fCurrentSelection.equals(extractSelectedText())) { setSelection(-1, -1, -1, -1); + } } // update the observed window... if (fSelectionSnapshot != null) // todo make -1 to work! - fSelectionSnapshot.setInterestWindow(0, fSeletionEndLine+1); + fSelectionSnapshot.setInterestWindow(0, fSelectionSnapshot.getHeight()); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java index d802b996840..bb2eac1599b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java @@ -61,6 +61,10 @@ public interface ITextCanvasModel { * {@link Point#x} is the column and {@link Point#y} is the line. */ Point getSelectionEnd(); + + Point getSelectionAnchor(); + + void setSelectionAnchor(Point anchor); /** * @param startLine * @param endLine diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 1decdda14a9..7b5fdcce314 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -84,6 +84,13 @@ public class TextCanvas extends GridCanvas { public void mouseDown(MouseEvent e) { if(e.button==1) { // left button fDraggingStart=screenPointToCell(e.x, e.y); + if((e.stateMask&SWT.SHIFT)!=0) { + Point anchor=fCellCanvasModel.getSelectionAnchor(); + if(anchor!=null) + fDraggingStart=anchor; + } else { + fCellCanvasModel.setSelectionAnchor(fDraggingStart); + } fDraggingEnd=null; } } @@ -204,7 +211,7 @@ public class TextCanvas extends GridCanvas { } public void selectAll() { fCellCanvasModel.setSelection(0, fCellCanvasModel.getTerminalText().getHeight(), 0, fCellCanvasModel.getTerminalText().getWidth()); - + fCellCanvasModel.setSelectionAnchor(new Point(0,0)); } public boolean isEmpty() { return false; From 76fd67c2f690160ef4efa2618a93271647f5b1e0 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 3 Oct 2007 01:05:11 +0000 Subject: [PATCH 174/843] bug 199285: [terminal][api] TerminalConnector ID should be mandatory in plugin.xml https://bugs.eclipse.org/bugs/show_bug.cgi?id=199285 --- org.eclipse.tm.terminal.serial/plugin.xml | 4 +++- org.eclipse.tm.terminal.ssh/plugin.xml | 4 +++- org.eclipse.tm.terminal.telnet/plugin.xml | 4 +++- org.eclipse.tm.terminal/schema/terminalConnector.exsd | 8 ++++---- 4 files changed, 13 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index 7c62d8dd123..a7578808e5c 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -14,6 +14,8 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml index fcf13b1a3a0..193d10b1e10 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.xml +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -14,7 +14,9 @@ - + diff --git a/org.eclipse.tm.terminal.telnet/plugin.xml b/org.eclipse.tm.terminal.telnet/plugin.xml index 480e9168612..d307c988764 100644 --- a/org.eclipse.tm.terminal.telnet/plugin.xml +++ b/org.eclipse.tm.terminal.telnet/plugin.xml @@ -14,6 +14,8 @@ - + diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd index 8da38f0552c..fcae9c202c8 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -44,20 +44,20 @@ - + - + A class implementing ITerminalConnector - + - + Uniquely identify this connector From 7277f80257f0e9a4227cdf4b985c501be5c4b746 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 03:34:00 +0000 Subject: [PATCH 175/843] bug 205385: [terminal] Use system property to switch to old implementation https://bugs.eclipse.org/bugs/show_bug.cgi?id=205385 --- .../internal/terminal/control/TerminalViewControlFactory.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index bdd9b89b8b3..beb3a296121 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -19,7 +19,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; public class TerminalViewControlFactory { public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { - if(TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/use_old_implementation")) //$NON-NLS-1$ + if(System.getProperty("org.eclipse.tm.terminal.OldImplementation")!=null || TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/use_old_implementation")) //$NON-NLS-1$ //$NON-NLS-2$ return new TerminalControl(target, wndParent, connectors); else return new VT100TerminalControl(target, wndParent, connectors); From 984dc089d4a7c27617bb063a2d1086f80d9cb0ac Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 04:46:30 +0000 Subject: [PATCH 176/843] bug 205389: [terminal] null pointer exception when opening a view https://bugs.eclipse.org/bugs/show_bug.cgi?id=205389 --- .../org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 7b5fdcce314..72212c55c39 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -112,7 +112,7 @@ public class TextCanvas extends GridCanvas { } void setSelection(Point p) { - if (!p.equals(fDraggingEnd)) { + if (fDraggingStart !=null && !p.equals(fDraggingEnd)) { fDraggingEnd = p; if (compare(p, fDraggingStart) < 0) { fCellCanvasModel.setSelection(p.y, fDraggingStart.y, p.x, fDraggingStart.x); From afc9e961b8c193a76a9cdbf0d16c6541bb73f2fd Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 04:51:06 +0000 Subject: [PATCH 177/843] bug 196456: [terminal] Multiple Terminal Instances should be distinguishable https://bugs.eclipse.org/bugs/show_bug.cgi?id=196456 --- .../terminal/view/TerminalSettingsDlg.java | 32 ++++++++++++ .../internal/terminal/view/TerminalView.java | 49 ++++++++++++++++--- .../internal/terminal/view/ViewMessages.java | 4 +- .../terminal/view/ViewMessages.properties | 2 + 4 files changed, 80 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 48a34a2b4c8..01a760c8e54 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -39,11 +39,13 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; class TerminalSettingsDlg extends Dialog { private Combo fCtlConnTypeCombo; + private Text fTerminalTitleText; private final ITerminalConnectorInfo[] fConnectors; private final ISettingsPage[] fPages; /** @@ -54,6 +56,7 @@ class TerminalSettingsDlg extends Dialog { private int fSelectedConnector; private PageBook fPageBook; private IDialogSettings fDialogSettings; + private String fTerminalTitle; public TerminalSettingsDlg(Shell shell, ITerminalConnectorInfo[] connectors, ITerminalConnectorInfo connector) { super(shell); @@ -139,6 +142,7 @@ class TerminalSettingsDlg extends Dialog { if(fSelectedConnector>=0) { getPage(fSelectedConnector).saveSettings(); } + fTerminalTitle=fTerminalTitleText.getText(); super.okPressed(); } protected void cancelPressed() { @@ -184,9 +188,29 @@ class TerminalSettingsDlg extends Dialog { return getPage(fSelectedConnector).validateSettings(); } private void setupPanel(Composite wndParent) { + setupSettingsTypePanel(wndParent); setupConnTypePanel(wndParent); setupSettingsGroup(wndParent); } + private void setupSettingsTypePanel(Composite wndParent) { + Group wndGroup; + GridLayout gridLayout; + + wndGroup = new Group(wndParent, SWT.NONE); + gridLayout = new GridLayout(2, false); + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + wndGroup.setText(ViewMessages.VIEW_SETTINGS); + + + Label label=new Label(wndGroup,SWT.NONE); + label.setText(ViewMessages.VIEW_TITLE); + label.setLayoutData(new GridData(GridData.BEGINNING)); + + fTerminalTitleText = new Text(wndGroup, SWT.BORDER); + fTerminalTitleText.setText(fTerminalTitle); + fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + } private void setupConnTypePanel(Composite wndParent) { Group wndGroup; GridLayout gridLayout; @@ -205,6 +229,7 @@ class TerminalSettingsDlg extends Dialog { gridData.widthHint = 200; fCtlConnTypeCombo.setLayoutData(gridData); } + private void setupSettingsGroup(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ @@ -254,4 +279,11 @@ class TerminalSettingsDlg extends Dialog { } return fDialogSettings; } + public void setTerminalTitle(String partName) { + fTerminalTitle=partName; + + } + public String getTerminalTitle() { + return fTerminalTitle; + } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index c6d29d91e33..52dc1911615 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -16,6 +16,9 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; +import java.util.HashSet; +import java.util.Set; + import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.ActionContributionItem; import org.eclipse.jface.action.IMenuListener; @@ -57,6 +60,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtensi import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IMemento; +import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; @@ -74,6 +78,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ + private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ protected ITerminalViewControl fCtlTerminal; @@ -107,7 +113,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private SettingsStore fStore; private CommandInputFieldWithHistory fCommandInputField; - + /** * Listens to changes in the preferences */ @@ -124,6 +130,32 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi Logger .log("==============================================================="); //$NON-NLS-1$ } + + String findUniqueTitle(String title) { + IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); + String id= getViewSite().getId(); + Set names=new HashSet(); + for (int i = 0; i < pages.length; i++) { + IViewReference[] views = pages[i].getViewReferences(); + for (int j = 0; j < views.length; j++) { + IViewReference view = views[j]; + // only look for views with the same ID + if(id.equals(view.getId())) { + String name=view.getTitle(); + if(name!=null) + names.add(view.getPartName()); + } + } + } + // find a unique name + int i=1; + String uniqueTitle=title; + while(true) { + if(!names.contains(uniqueTitle)) + return uniqueTitle; + uniqueTitle=title+" "+i++; //$NON-NLS-1$ + } + } /** * Update the text limits from the preferences */ @@ -226,7 +258,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // persistent settings. TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnectorInfo()); - + dlgTerminalSettings.setTerminalTitle(getPartName()); Logger.log("opening Settings dialog."); //$NON-NLS-1$ if (dlgTerminalSettings.open() == Window.CANCEL) { @@ -239,6 +271,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // When the settings dialog is closed, we persist the Terminal settings. saveSettings(dlgTerminalSettings.getConnector()); + setPartName(dlgTerminalSettings.getTerminalTitle()); return dlgTerminalSettings.getConnector(); } @@ -285,6 +318,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setContentDescription(strTitle); getViewSite().getActionBars().getStatusLineManager().setMessage( strTitle); + setTitleToolTip(getPartName()+": "+strTitle); //$NON-NLS-1$ } /** * @return the setting summary. If there is no connection, or the connection @@ -388,8 +422,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key // sequence. - setPartName(ViewMessages.PROP_TITLE); - + setPartName(findUniqueTitle(ViewMessages.PROP_TITLE)); setupControls(wndParent); setupActions(); setupMenus(); @@ -403,7 +436,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi public void dispose() { Logger.log("entered."); //$NON-NLS-1$ - setPartName("Terminal"); //$NON-NLS-1$ TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); @@ -440,7 +472,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ updatePreferences(); TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); - + + // restore the title of this view + String title=fStore.get(STORE_TITLE); + if(title!=null && title.length()>0) + setPartName(title); } private void saveSettings(ITerminalConnectorInfo connector) { @@ -464,6 +500,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fStore.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); fStore.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ fStore.put(STORE_SETTING_SUMMARY, getSettingsSummary()); + fStore.put(STORE_TITLE,getPartName()); fStore.saveState(memento); } private ISettingsStore getStore(ITerminalConnectorInfo connector) { diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index 81633071a23..75c48464b6f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -28,7 +28,9 @@ public class ViewMessages extends NLS { public static String TERMINALSETTINGS; public static String CONNECTIONTYPE; - + public static String VIEW_TITLE; + public static String VIEW_SETTINGS; + public static String LIMITOUTPUT; public static String BUFFERLINES; public static String SERIALTIMEOUT; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index 34c08082937..96a9132669c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -20,6 +20,8 @@ SETTINGS = Settings TERMINALSETTINGS = Terminal Settings CONNECTIONTYPE = Connection Type +VIEW_TITLE = View Title: +VIEW_SETTINGS = View Settings: LIMITOUTPUT = Limit terminal output BUFFERLINES = Terminal buffer lines: From 6858b99c79b04ab903994242c1ad9a50cc0371a4 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 17:21:53 +0000 Subject: [PATCH 178/843] remove obsolete code --- .../terminal/textcanvas/VirtualCanvas.java | 21 +------------------ 1 file changed, 1 insertion(+), 20 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index ba8363054f3..f9a65665a17 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -57,7 +57,6 @@ public abstract class VirtualCanvas extends Canvas { getVerticalBar().addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { scrollY((ScrollBar)e.widget); - postScrollEventHandling(e); } @@ -65,7 +64,6 @@ public abstract class VirtualCanvas extends Canvas { getHorizontalBar().addListener(SWT.Selection, new Listener() { public void handleEvent(Event e) { scrollX((ScrollBar)e.widget); - postScrollEventHandling(e); } }); @@ -78,24 +76,7 @@ public abstract class VirtualCanvas extends Canvas { } }); - } - /** HACK: run an event loop if the scrollbar is dragged...*/ - private void postScrollEventHandling(Event e) { - if(true&&e.detail==SWT.DRAG) { - // TODO check if this is always ok??? - // used to process runnables while scrolling - // This fixes the update problems when scrolling! - // see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=47582#5 - // TODO investigate: - // The alternative is to call redraw on the new visible area - // redraw(expose.x, expose.y, expose.width, expose.height, true); - - while (!getDisplay().isDisposed() && getDisplay().readAndDispatch()) { - // do nothing here... - } - } - } - + } protected void scrollX(ScrollBar hBar) { int hSelection = hBar.getSelection (); int destX = -hSelection - fVirtualBounds.x; From 1ce1fdb18b106b3c226f4ccba23a2ad25d40a613 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 17:51:44 +0000 Subject: [PATCH 179/843] bug 205393: [terminal] terminal causes stack overflow https://bugs.eclipse.org/bugs/show_bug.cgi?id=205393 --- .../textcanvas/AbstractTextCanvasModel.java | 42 ++++++++++++------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 4a49952cd42..0bdc0cfd617 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -35,6 +35,10 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { private ITerminalTextDataSnapshot fSelectionSnapshot; private String fCurrentSelection=""; //$NON-NLS-1$ private final Point fSelectionAnchor=new Point(0,0); + /** + * do not update while update is running + */ + boolean fInUpdate; public AbstractTextCanvasModel(ITerminalTextDataSnapshot snapshot) { fSnapshot=snapshot; @@ -75,22 +79,28 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { return fSnapshot; } protected void updateSnapshot() { - if(fSnapshot.isOutOfDate()) { - fSnapshot.updateSnapshot(false); - if(fSnapshot.hasTerminalChanged()) - fireTerminalDataChanged(); - // TODO why does hasDimensionsChanged not work?????? - // if(fSnapshot.hasDimensionsChanged()) - // fireDimensionsChanged(); - if(fLines!=fSnapshot.getHeight()) { - fireDimensionsChanged(fSnapshot.getWidth(),fSnapshot.getHeight()); - fLines=fSnapshot.getHeight(); - } - int y=fSnapshot.getFirstChangedLine(); - // has any line changed? - if(y Date: Thu, 4 Oct 2007 18:38:31 +0000 Subject: [PATCH 180/843] merged performance branch into main --- .../META-INF/MANIFEST.MF | 4 +- .../emulator/VT100EmulatorBackendTest.java | 1220 +++++++++++++++ .../model/AbstractITerminalTextDataTest.java | 808 ++++++++++ .../terminal/model/SnapshotChangesTest.java | 669 ++++++++ .../SynchronizedTerminalTextDataTest.java | 20 + .../model/TerminalTextDataFastScrollTest.java | 20 + ...rminalTextDataFastScrollTestMaxHeigth.java | 20 + .../TerminalTextDataPerformanceTest.java | 224 +++ .../model/TerminalTextDataSnapshotTest.java | 1344 +++++++++++++++++ .../TerminalTextDataSnapshotWindowTest.java | 191 +++ .../model/TerminalTextDataStoreTest.java | 20 + .../terminal/model/TerminalTextDataTest.java | 20 + .../model/TerminalTextDataWindowTest.java | 459 ++++++ .../model/TerminalTextTestHelper.java | 92 ++ .../terminal/test/terminalcanvas/Main.java | 36 + .../test/terminalcanvas/Snippet48.java | 100 ++ .../terminalcanvas/TerminalTextCanvas.java | 103 ++ .../test/terminalcanvas/VirtualCanvas.java | 333 ++++ .../ui/AbstractLineOrientedDataSource.java | 42 + .../internal/terminal/test/ui/DataReader.java | 87 ++ .../terminal/test/ui/FastDataSource.java | 35 + .../terminal/test/ui/FileDataSource.java | 72 + .../terminal/test/ui/IDataSource.java | 21 + .../tm/internal/terminal/test/ui/IStatus.java | 15 + .../test/ui/LineCountingDataSource.java | 43 + .../terminal/test/ui/RandomDataSource.java | 49 + .../terminal/test/ui/TerminalTextUITest.java | 254 ++++ .../terminal/test/ui/VT100DataSource.java | 116 ++ .../PipedInputStreamPerformanceTest.java | 32 + .../terminal/textcanvas/PipedStreamTest.java | 103 ++ .../tm/terminal/model/StyleColorTest.java | 36 + .../eclipse/tm/terminal/model/StyleTest.java | 116 ++ org.eclipse.tm.terminal.test/src/readme.txt | 0 33 files changed, 6703 insertions(+), 1 deletion(-) create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java delete mode 100644 org.eclipse.tm.terminal.test/src/readme.txt diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index df2c0fd4454..78f2be856a3 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -6,5 +6,7 @@ Bundle-Version: 1.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal + org.eclipse.tm.terminal, + org.eclipse.swt, + org.eclipse.jface Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java new file mode 100644 index 00000000000..a98a351c2ea --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -0,0 +1,1220 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import junit.framework.TestCase; + +import org.eclipse.tm.internal.terminal.model.TerminalTextDataStore; +import org.eclipse.tm.internal.terminal.model.TerminalTextTestHelper; +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.Style; + +public class VT100EmulatorBackendTest extends TestCase { + + protected IVT100EmulatorBackend makeBakend(ITerminalTextData term) { + return new VT100EmulatorBackend(term); + } + + protected ITerminalTextData makeITerminalTextData() { + return new TerminalTextDataStore(); + } + + protected String toSimple(ITerminalTextData term) { + return TerminalTextTestHelper.toSimple(term); + } + protected String toMultiLineText(ITerminalTextDataReadOnly term) { + return TerminalTextTestHelper.toMultiLineText(term); + } + + protected void fill(ITerminalTextData term, String s) { + TerminalTextTestHelper.fill(term,s); + } + + protected void fillSimple(ITerminalTextData term, String s) { + TerminalTextTestHelper.fillSimple(term, s); + } + + + /** + * Used for multi line text + * @param expected + * @param actual + */ + protected void assertEqualsTerm(String expected,String actual) { + assertEquals(expected.replaceAll(" ", "."), actual.replaceAll("\000", ".")); + } + /** + * Used for simple text + * @param expected + * @param actual + */ + protected void assertEqualsSimple(String expected,String actual) { + assertEquals(-1,actual.indexOf('\n')); + assertEquals(expected, actual); + } + public void testClearAll() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + fill(term, "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"); + vt100.clearAll(); + assertEqualsTerm( + " \n" + + " \n" + + " ",toMultiLineText(term)); + } + public void testSetDimensions() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + String s = "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"; + fill(term, s); + vt100.setDimensions(3, 4); + assertEquals(3,vt100.getLines()); + assertEquals(4,vt100.getColumns()); + assertEqualsTerm(s,toMultiLineText(term)); + + vt100.setCursor(0, 2); + vt100.setDimensions(2, 4); + assertEquals(0, vt100.getCursorLine()); + assertEquals(2, vt100.getCursorColumn()); + + vt100.setCursor(0, 2); + vt100.setDimensions(5, 4); + assertEquals(3, vt100.getCursorLine()); + assertEquals(2, vt100.getCursorColumn()); + + assertEqualsTerm(s,toMultiLineText(term)); + + vt100.setCursor(0, 3); + vt100.setDimensions(5, 2); + assertEquals(0, vt100.getCursorLine()); + assertEquals(1, vt100.getCursorColumn()); + } + + public void testToAbsoluteLine() { + ITerminalTextData term=makeITerminalTextData(); + VT100EmulatorBackend vt100=new VT100EmulatorBackend(term); + vt100.setDimensions(2, 3); + assertEquals(vt100.toAbsoluteLine(0),0); + // TODO + term=makeITerminalTextData(); + vt100=new VT100EmulatorBackend(term); + vt100.setDimensions(1, 10); + assertEquals(vt100.toAbsoluteLine(0),0); + } + + public void testInsertCharacters() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + String s = + "aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "4567\n" + + "9012"; + fill(term, s); + vt100.setCursor(0, 0); + vt100.insertCharacters(1); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " 123\n" + + "4567\n" + + "9012",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.insertCharacters(1); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "4 56\n" + + "9012",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.insertCharacters(2); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "4 5\n" + + "9012",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 0); + vt100.insertCharacters(10); + assertEqualsTerm(" ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 0); + vt100.insertCharacters(14); + assertEqualsTerm(" ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.insertCharacters(14); + assertEqualsTerm("012 ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.insertCharacters(0); + assertEqualsTerm("0123456789",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.insertCharacters(2); + assertEqualsTerm("012 34567",toMultiLineText(term)); + } + + public void testEraseToEndOfScreen() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + String s = + "aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "4567\n" + + "8901"; + fill(term, s); + vt100.setCursor(0, 0); + vt100.eraseToEndOfScreen(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " \n" + + " ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.eraseToEndOfScreen(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + " \n" + + " ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.eraseToEndOfScreen(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(1,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "4 \n" + + " ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 4); + assertEquals(1,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + vt100.eraseToEndOfScreen(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "456.\n" + + " ",toMultiLineText(term)); + + + fill(term, s); + vt100.setCursor(1, 5); + vt100.eraseToEndOfScreen(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "456.\n" + + " ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(2, 3); + vt100.eraseToEndOfScreen(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "4567\n" + + "890 ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(2, 5); + vt100.eraseToEndOfScreen(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "4567\n" + + "890.",toMultiLineText(term)); + } + + public void testEraseToCursor() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + String s = + "aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "0123\n" + + "4567\n" + + "8901"; + fill(term, s); + vt100.setCursor(0, 0); + vt100.eraseToCursor(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " 123\n" + + "4567\n" + + "8901",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.eraseToCursor(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " 567\n" + + "8901",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.eraseToCursor(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(1,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " 67\n" + + "8901",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 4); + vt100.eraseToCursor(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " \n" + + "8901",toMultiLineText(term)); + + + fill(term, s); + vt100.setCursor(1, 5); + vt100.eraseToCursor(); + assertEquals(1,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " \n" + + "8901",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(2, 3); + vt100.eraseToCursor(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " \n" + + " ",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(2, 5); + vt100.eraseToCursor(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + " \n" + + " \n" + + " ",toMultiLineText(term)); + } + + public void testEraseAll() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + fill(term, "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"); + vt100.eraseAll(); + assertEqualsTerm("0000\n" + + "1111\n" + + "2222\n" + + " \n" + + " \n" + + " ",toMultiLineText(term)); + } + + public void testEraseLine() { + String s = + "abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFGHI"; + + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(0, 3); + vt100.eraseLine(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + " \n" + + "zABCD\n" + + "EFGHI", toMultiLineText(term)); + + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(2, 3); + vt100.eraseLine(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + " ", toMultiLineText(term)); + } + + public void testEraseLineToEnd() { + String s = + "abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFGHI"; + + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(0, 3); + vt100.eraseLineToEnd(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvw \n" + + "zABCD\n" + + "EFGHI", toMultiLineText(term)); + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(0, 0); + vt100.eraseLineToEnd(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + " \n" + + "zABCD\n" + + "EFGHI", toMultiLineText(term)); + + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(2, 3); + vt100.eraseLineToEnd(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFG ", toMultiLineText(term)); + vt100.setDimensions(3, 5); + fill(term, s); + + vt100.setCursor(2, 4); + vt100.eraseLineToEnd(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(4,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFGH ", toMultiLineText(term)); + + vt100.setCursor(2, 5); + vt100.eraseLineToEnd(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(4,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFGH ", toMultiLineText(term)); + + } + + public void testEraseLineToCursor() { + String s = + "abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + "EFGHI"; + + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(0, 3); + vt100.eraseLineToCursor(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + " y\n" + + "zABCD\n" + + "EFGHI", toMultiLineText(term)); + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(0, 0); + vt100.eraseLineToCursor(); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + " vwxy\n" + + "zABCD\n" + + "EFGHI", toMultiLineText(term)); + + + vt100.setDimensions(3, 5); + fill(term, s); + vt100.setCursor(2, 3); + vt100.eraseLineToCursor(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + " I", toMultiLineText(term)); + vt100.setDimensions(3, 5); + fill(term, s); + + vt100.setCursor(2, 4); + vt100.eraseLineToCursor(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(4,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + " ", toMultiLineText(term)); + + vt100.setCursor(2, 5); + vt100.eraseLineToCursor(); + assertEquals(2,vt100.getCursorLine()); + assertEquals(4,vt100.getCursorColumn()); + assertEqualsTerm("abcde\n" + + "fghij\n" + + "klmno\n" + + "pqrst\n" + + "uvwxy\n" + + "zABCD\n" + + " ", toMultiLineText(term)); + + } + + public void testInsertLines() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + String s = "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"; + vt100.setDimensions(3, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.insertLines(1); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + " \n" + + "3333\n" + + "4444", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.insertLines(1); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + " \n" + + "4444", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.insertLines(2); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + " \n" + + " ", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 3); + vt100.insertLines(2); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + " \n" + + " ", toMultiLineText(term)); + + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(1, 3); + vt100.insertLines(2); + assertEqualsTerm( + "0000\n" + + " \n" + + " \n" + + "1111\n" + + "2222\n" + + "3333", toMultiLineText(term)); + + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(1, 3); + vt100.insertLines(7); + assertEqualsTerm( + "0000\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ", toMultiLineText(term)); + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.insertLines(7); + assertEqualsTerm( + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ", toMultiLineText(term)); + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.insertLines(5); + assertEqualsTerm( + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + "0000", toMultiLineText(term)); + } + + public void testDeleteCharacters() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + vt100.setDimensions(3, 4); + String s = + "aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "4567\n" + + "9012"; + fill(term, s); + vt100.setCursor(0, 0); + vt100.deleteCharacters(1); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "234 \n" + + "4567\n" + + "9012",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.deleteCharacters(1); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "467 \n" + + "9012",toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 1); + vt100.deleteCharacters(2); + assertEqualsTerm("aaaa\n" + + "bbbb\n" + + "cccc\n" + + "dddd\n" + + "eeee\n" + + "ffff\n" + + "1234\n" + + "47 \n" + + "9012",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 0); + vt100.deleteCharacters(10); + assertEqualsTerm(" ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 0); + vt100.deleteCharacters(14); + assertEqualsTerm(" ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.deleteCharacters(0); + assertEqualsTerm("0123456789",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.deleteCharacters(2); + assertEqualsTerm("01256789 ",toMultiLineText(term)); + + vt100.setDimensions(1, 10); + fill(term, "0123456789"); + vt100.setCursor(0, 3); + vt100.deleteCharacters(14); + assertEqualsTerm("012 ",toMultiLineText(term)); + + } + + public void testDeleteLines() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + String s = "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"; + vt100.setDimensions(3, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.deleteLines(1); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "4444\n" + + "5555\n" + + " ", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.deleteLines(1); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "5555\n" + + " ", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 0); + vt100.deleteLines(2); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + " \n" + + " ", toMultiLineText(term)); + + fill(term, s); + vt100.setCursor(1, 3); + vt100.deleteLines(2); + assertEqualsTerm( + "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + " \n" + + " ", toMultiLineText(term)); + + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(1, 3); + vt100.deleteLines(2); + assertEqualsTerm( + "0000\n" + + "3333\n" + + "4444\n" + + "5555\n" + + " \n" + + " ", toMultiLineText(term)); + + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(1, 3); + vt100.deleteLines(7); + assertEqualsTerm( + "0000\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ", toMultiLineText(term)); + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.deleteLines(7); + assertEqualsTerm( + " \n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ", toMultiLineText(term)); + + vt100.setDimensions(6, 4); + fill(term, s); + vt100.setCursor(0, 0); + vt100.deleteLines(5); + assertEqualsTerm( + "5555\n" + + " \n" + + " \n" + + " \n" + + " \n" + + " ", toMultiLineText(term)); + } + + public void testGetDefaultStyle() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + Style style=Style.getStyle("white", "black"); + vt100.setDefaultStyle(style); + assertSame(style, vt100.getDefaultStyle()); + Style style2=style.setBold(true); + vt100.setDefaultStyle(style2); + assertSame(style2, vt100.getDefaultStyle()); + } + + public void testGetStyle() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + Style style=Style.getStyle("white", "black"); + vt100.setStyle(style); + assertSame(style, vt100.getStyle()); + Style style2=style.setBold(true); + vt100.setStyle(style2); + assertSame(style2, vt100.getStyle()); + } + + public void testAppendString() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(6); + vt100.setDimensions(3, 4); + vt100.setCursor(0, 0); + assertEqualsTerm( + " \n" + + " \n" + + " ", toMultiLineText(term)); + vt100.appendString("012"); + assertEqualsTerm( + "012 \n" + + " \n" + + " ", toMultiLineText(term)); + assertEquals(0,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + vt100.appendString("3"); + assertEqualsTerm( + "0123\n" + + " \n" + + " ", toMultiLineText(term)); + assertEquals(1,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + + vt100.appendString("567890"); + assertEqualsTerm( + "0123\n" + + "5678\n" + + "90 ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + + + vt100.appendString("a"); + assertEqualsTerm( + "0123\n" + + "5678\n" + + "90a ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + + vt100.appendString("b"); + assertEqualsTerm( + "0123\n" + + "5678\n" + + "90ab\n" + + " ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + + vt100.appendString("cd"); + assertEqualsTerm( + "0123\n" + + "5678\n" + + "90ab\n" + + "cd ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + + vt100.appendString("efgh"); + assertEqualsTerm( + "0123\n" + + "5678\n" + + "90ab\n" + + "cdef\n" + + "gh ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + + vt100.appendString("ijklmnopqrstuvwx"); + assertEqualsTerm( + "cdef\n" + + "ghij\n" + + "klmn\n" + + "opqr\n" + + "stuv\n" + + "wx ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + + vt100.setCursor(1, 1); + vt100.appendString("123"); + assertEqualsTerm( + "cdef\n" + + "ghij\n" + + "klmn\n" + + "opqr\n" + + "s123\n" + + "wx ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + + vt100.setCursor(1, 1); + vt100.appendString("ABCDEFGHIJKL"); + assertEqualsTerm( + "klmn\n" + + "opqr\n" + + "sABC\n" + + "DEFG\n" + + "HIJK\n" + + "L ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(1,vt100.getCursorColumn()); + + } + + public void testProcessNewline() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + String s = "0000\n" + + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555"; + term.setMaxHeight(6); + vt100.setDimensions(3, 4); + vt100.setCursor(0, 0); + fill(term,s); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.processNewline(); + assertEqualsTerm(s, toMultiLineText(term)); + assertEquals(1,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursorColumn(3); + vt100.processNewline(); + assertEqualsTerm(s, toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + + vt100.processNewline(); + assertEqualsTerm( + "1111\n" + + "2222\n" + + "3333\n" + + "4444\n" + + "5555\n" + + " ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + + + vt100.processNewline(); + assertEqualsTerm( + "2222\n" + + "3333\n" + + "4444\n" + + "5555\n" + + " \n" + + " ", toMultiLineText(term)); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + } + + public void testSetCursorLine() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(6); + vt100.setDimensions(3, 4); + // the cursor is now at the end.... + assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(0, 2); + vt100.setCursorLine(1); + assertEquals(1,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + vt100.setCursor(0, -2); + vt100.setCursorLine(-1); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(0, 10); + vt100.setCursorLine(10); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + } + + public void testSetCursorColumn() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(6); + vt100.setDimensions(3, 4); + assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(1, 0); + vt100.setCursorColumn(2); + assertEquals(1,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + vt100.setCursor(-1, -2); + vt100.setCursorColumn(-2); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(10, 0); + vt100.setCursorColumn(10); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + } + + public void testSetCursor() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(6); + vt100.setDimensions(3, 4); + assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(0, 0); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(1, 2); + assertEquals(1,vt100.getCursorLine()); + assertEquals(2,vt100.getCursorColumn()); + vt100.setCursor(-1, -2); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(10, 10); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java new file mode 100644 index 00000000000..f8d039c6c8b --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java @@ -0,0 +1,808 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; +import junit.framework.TestCase; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.LineSegment; +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +abstract public class AbstractITerminalTextDataTest extends TestCase { + abstract protected ITerminalTextData makeITerminalTextData(); + + protected String toSimple(ITerminalTextData term) { + return TerminalTextTestHelper.toSimple(term); + } + protected String toMultiLineText(ITerminalTextDataReadOnly term) { + return TerminalTextTestHelper.toMultiLineText(term); + } + + protected void fill(ITerminalTextData term, String s) { + TerminalTextTestHelper.fill(term,s); + } + + protected void fill(ITerminalTextData term, int i, int j, String s) { + TerminalTextTestHelper.fill(term,i,j,s); + } + + protected void fillSimple(ITerminalTextData term, String s) { + TerminalTextTestHelper.fillSimple(term, s); + } + + + /** + * Used for multi line text + * @param expected + * @param actual + */ + protected void assertEqualsTerm(String expected,String actual) { + assertEquals(expected, actual); + } + /** + * Used for simple text + * @param expected + * @param actual + */ + protected void assertEqualsSimple(String expected,String actual) { + assertEquals(-1,actual.indexOf('\n')); + assertEquals(expected, actual); + } + public void testGetWidth() { + ITerminalTextData term=makeITerminalTextData(); + assertEquals(0, term.getWidth()); + term.setDimensions(term.getHeight(), 10); + assertEquals(10, term.getWidth()); + term.setDimensions(term.getHeight(), 0); + assertEquals(0, term.getWidth()); + } + + public void testAddLine() { + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + ITerminalTextData term=makeITerminalTextData(); + fill(term, s); + term.setMaxHeight(5); + term.addLine(); + assertEqualsTerm( + "222\n" + + "333\n" + + "444\n" + + "555\n" + + "\000\000\000", toMultiLineText(term)); + } + public void testCleanLine() { + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + ITerminalTextData term=makeITerminalTextData(); + fill(term, s); + term.cleanLine(0); + assertEqualsTerm( + "\000\000\000\n" + + "222\n" + + "333\n" + + "444\n" + + "555", toMultiLineText(term)); + + fill(term, s); + term.cleanLine(4); + assertEqualsTerm( + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "\000\000\000", toMultiLineText(term)); + } + + public void testMaxSize() { + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + ITerminalTextData term=makeITerminalTextData(); + term.setMaxHeight(8); + fill(term, s); + assertEquals(5, term.getHeight()); + assertEquals(8, term.getMaxHeight()); + term.addLine(); + assertEquals(6, term.getHeight()); + assertEqualsTerm( + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555\n" + + "\000\000\000", toMultiLineText(term)); + term.addLine(); + assertEquals(7, term.getHeight()); + assertEqualsTerm( + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555\n" + + "\000\000\000\n" + + "\000\000\000", toMultiLineText(term)); + term.addLine(); + assertEquals(8, term.getHeight()); + assertEqualsTerm( + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000", toMultiLineText(term)); + term.addLine(); + assertEquals(8, term.getHeight()); + assertEqualsTerm( + "222\n" + + "333\n" + + "444\n" + + "555\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000", toMultiLineText(term)); + term.addLine(); + assertEquals(8, term.getHeight()); + assertEqualsTerm( + "333\n" + + "444\n" + + "555\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000\n" + + "\000\000\000", toMultiLineText(term)); + } + public void testGetHeight() { + ITerminalTextData term=makeITerminalTextData(); + assertEquals(0, term.getHeight()); + term.setDimensions(10, term.getWidth()); + assertEquals(10, term.getHeight()); + term.setDimensions(0, term.getWidth()); + assertEquals(0, term.getHeight()); + } + + public void testSetDimensions() { + ITerminalTextData term=makeITerminalTextData(); + assertEquals(0, term.getHeight()); + term.setDimensions(10, 5); + assertEquals(5, term.getWidth()); + assertEquals(10, term.getHeight()); + term.setDimensions(5, 10); + assertEquals(10, term.getWidth()); + assertEquals(5, term.getHeight()); + term.setDimensions(15, 0); + assertEquals(0, term.getWidth()); + assertEquals(15, term.getHeight()); + term.setDimensions(0, 12); + assertEquals(12, term.getWidth()); + assertEquals(0, term.getHeight()); + term.setDimensions(0, 0); + assertEquals(0, term.getWidth()); + assertEquals(0, term.getHeight()); + } + public void testResize() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(3, 5); + String s="12345\n" + + "abcde\n" + + "ABCDE"; + fill(term,0,0,s); + assertEqualsTerm(s, toMultiLineText(term)); + term.setDimensions(3, 4); + assertEqualsTerm( + "1234\n" + + "abcd\n" + + "ABCD", toMultiLineText(term)); + // the columns should be restored + term.setDimensions(3, 5); + assertEqualsTerm( + "12345\n" + + "abcde\n" + + "ABCDE", toMultiLineText(term)); + term.setDimensions(3, 6); + assertEqualsTerm( + "12345\000\n" + + "abcde\000\n" + + "ABCDE\000", toMultiLineText(term)); + term.setChar(0, 5, 'x', null); + term.setChar(1, 5, 'y', null); + term.setChar(2, 5, 'z', null); + assertEqualsTerm( + "12345x\n" + + "abcdey\n" + + "ABCDEz", toMultiLineText(term)); + term.setDimensions(2, 4); + assertEqualsTerm( + "1234\n" + + "abcd", toMultiLineText(term)); + } + + public void testResizeFailure() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(3, 5); + String s="12345\n" + + "abcde\n" + + "ABCDE"; + fill(term,0,0,s); + assertEqualsTerm(s, toMultiLineText(term)); + try { + term.setDimensions(-3, 4); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + // OK + } +// assertEquals(5, term.getWidth()); +// assertEquals(3, term.getHeight()); +// assertEquals(s, toSimpleText(term)); + } + + public void testGetLineSegments() { + Style s1=getDefaultStyle(); + Style s2=s1.setBold(true); + Style s3=s1.setUnderline(true); + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(8, 8); + LineSegment[] segments; + + term.setChars(0, 0,"0123".toCharArray(), s1); + term.setChars(0, 4,"abcd".toCharArray(), null); + segments=term.getLineSegments(0, 0, term.getWidth()); + assertEquals(2, segments.length); + assertSegment(0, "0123", s1, segments[0]); + assertSegment(4, "abcd", null, segments[1]); + + + segments=term.getLineSegments(0, 4, term.getWidth()-4); + assertEquals(1, segments.length); + assertSegment(4, "abcd", null, segments[0]); + + segments=term.getLineSegments(0, 3, 2); + assertEquals(2, segments.length); + assertSegment(3, "3", s1, segments[0]); + assertSegment(4, "a", null, segments[1]); + + segments=term.getLineSegments(0, 7, 1); + assertEquals(1, segments.length); + assertSegment(7, "d", null, segments[0]); + + segments=term.getLineSegments(0, 0, 1); + assertEquals(1, segments.length); + assertSegment(0, "0", s1, segments[0]); + + // line 1 + term.setChars(1, 0,"x".toCharArray(), s1); + term.setChars(1, 1,"y".toCharArray(), s2); + term.setChars(1, 2,"z".toCharArray(), s3); + + segments=term.getLineSegments(1, 0, term.getWidth()); + assertEquals(4, segments.length); + assertSegment(0, "x", s1, segments[0]); + assertSegment(1, "y", s2, segments[1]); + assertSegment(2, "z", s3, segments[2]); + assertSegment(3, "\000\000\000\000\000", null, segments[3]); + + // line 2 + term.setChars(2, 4,"klm".toCharArray(), s1); + segments=term.getLineSegments(2, 0, term.getWidth()); + assertEquals(3, segments.length); + assertSegment(0, "\000\000\000\000", null, segments[0]); + assertSegment(4, "klm", s1, segments[1]); + assertSegment(7, "\000", null, segments[2]); + + // line 3 + segments=term.getLineSegments(3, 0, term.getWidth()); + assertEquals(1, segments.length); + assertSegment(0, "\000\000\000\000\000\000\000\000", null, segments[0]); + + } + public void testGetLineSegmentsNull() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(8, 8); + LineSegment[] segments=term.getLineSegments(0, 0, term.getWidth()); + assertEquals(1, segments.length); + } + public void testGetLineSegmentsOutOfBounds() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(1, 8); + term.setChars(0,0,"xx".toCharArray(),null); + LineSegment[] segments=term.getLineSegments(0, 5, 2); + assertEquals(1, segments.length); + + + } + void assertSegment(int col,String text, Style style,LineSegment segment) { + assertEquals(col, segment.getColumn()); + assertEqualsTerm(text, segment.getText()); + assertEquals(style, segment.getStyle()); + + } + public void testGetChar() { + String s="12345\n" + + "abcde\n" + + "ABCDE"; + ITerminalTextData term=makeITerminalTextData(); + fill(term, s); + assertEquals('1', term.getChar(0,0)); + assertEquals('2', term.getChar(0,1)); + assertEquals('3', term.getChar(0,2)); + assertEquals('4', term.getChar(0,3)); + assertEquals('5', term.getChar(0,4)); + assertEquals('a', term.getChar(1,0)); + assertEquals('b', term.getChar(1,1)); + assertEquals('c', term.getChar(1,2)); + assertEquals('d', term.getChar(1,3)); + assertEquals('e', term.getChar(1,4)); + assertEquals('A', term.getChar(2,0)); + assertEquals('B', term.getChar(2,1)); + assertEquals('C', term.getChar(2,2)); + assertEquals('D', term.getChar(2,3)); + assertEquals('E', term.getChar(2,4)); + try { + term.getChar(0,-1); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + term.getChar(-1,-1); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + term.getChar(-1,0); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + term.getChar(0,5); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + term.getChar(3,5); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + term.getChar(3,0); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + } + + public void testGetStyle() { + ITerminalTextData term=makeITerminalTextData(); + Style style=getDefaultStyle(); + term.setDimensions(6, 3); + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + term.setChar(line, column, c, style.setForground(StyleColor.getStyleColor(""+c))); + } + } + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + assertSame(style.setForground(StyleColor.getStyleColor(""+c)), term.getStyle(line, column)); + } + } + + } + + protected Style getDefaultStyle() { + return Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + } + + public void testSetChar() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(6, 3); + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + term.setChar(line, column, (char)('a'+column+line), null); + } + } + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + assertEquals(c, term.getChar(line,column)); + } + } + assertEqualsTerm( + "abc\n" + + "bcd\n" + + "cde\n" + + "def\n" + + "efg\n" + + "fgh", toMultiLineText(term)); + } + public void testSetChars() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(6, 3); + for (int line = 0; line < term.getHeight(); line++) { + char[] chars=new char[term.getWidth()]; + for (int column = 0; column < term.getWidth(); column++) { + chars[column]=(char)('a'+column+line); + } + term.setChars(line, 0, chars, null); + } + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + assertEquals(c, term.getChar(line,column)); + } + } + assertEqualsTerm( + "abc\n" + + "bcd\n" + + "cde\n" + + "def\n" + + "efg\n" + + "fgh", toMultiLineText(term)); + + term.setChars(3, 1, new char[]{'1','2'}, null); + assertEqualsTerm( + "abc\n" + + "bcd\n" + + "cde\n" + + "d12\n" + + "efg\n" + + "fgh", toMultiLineText(term)); + try { + // check if we cannot exceed the range + term.setChars(4, 1, new char[]{'1','2','3','4','5'}, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + + } + public void testSetCharsLen() { + ITerminalTextData term=makeITerminalTextData(); + String s= "ZYXWVU\n" + + "abcdef\n" + + "ABCDEF"; + fill(term, s); + char[] chars=new char[]{'1','2','3','4','5','6','7','8'}; + term.setChars(1, 0, chars, 0, 6,null); + assertEqualsTerm( + "ZYXWVU\n" + + "123456\n" + + "ABCDEF", toMultiLineText(term)); + + fill(term, s); + term.setChars(1, 0, chars, 0, 5, null); + assertEqualsTerm("ZYXWVU\n" + + "12345f\n" + + "ABCDEF", toMultiLineText(term)); + + fill(term, s); + term.setChars(1, 0, chars, 1, 5, null); + assertEqualsTerm("ZYXWVU\n" + + "23456f\n" + + "ABCDEF", toMultiLineText(term)); + + fill(term, s); + term.setChars(1, 1, chars, 1, 4, null); + assertEqualsTerm("ZYXWVU\n" + + "a2345f\n" + + "ABCDEF", toMultiLineText(term)); + + + + fill(term, s); + term.setChars(1, 2, chars, 3, 4, null); + assertEqualsTerm("ZYXWVU\n" + + "ab4567\n" + + "ABCDEF", toMultiLineText(term)); + + fill(term, s); + try { + term.setChars(1, 0, chars, 7, 10, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + fill(term, s); + try { + term.setChars(1, -1, chars, 0, 2, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + term.setChars(-1, 1, chars, 0, 2, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + term.setChars(1, 10, chars, 0, 2, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + term.setChars(10, 1, chars, 0, 2, null); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} +// assertEquals(s, toSimpleText(term)); + } + public void testSetCopyInto() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(3, 5); + String s="12345\n" + + "abcde\n" + + "ABCDE"; + fill(term,0,0,s); + ITerminalTextData termCopy=makeITerminalTextData(); + termCopy.copy(term); + assertEqualsTerm(s, toMultiLineText(termCopy)); + assertEqualsTerm(s, toMultiLineText(term)); + + termCopy.setChar(1, 1, 'X', null); + assertEqualsTerm(s, toMultiLineText(term)); + term.setDimensions(2, 4); + assertEquals(5, termCopy.getWidth()); + assertEquals(3, termCopy.getHeight()); + + assertEqualsTerm("12345\n" + + "aXcde\n" + + "ABCDE", toMultiLineText(termCopy)); + + assertEquals(4, term.getWidth()); + assertEquals(2, term.getHeight()); + } + public void testSetCopyLines() { + ITerminalTextData term=makeITerminalTextData(); + String s="012345"; + fillSimple(term, s); + ITerminalTextData termCopy=makeITerminalTextData(); + String sCopy="abcde"; + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,0,0); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple(sCopy, toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,0,5); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("01234", toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,0,2); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("01cde", toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,1,2); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("a01de", toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,1,1,2); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("a12de", toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,1,1,4); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("a1234", toSimple(termCopy)); + + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,2,1,4); + assertEqualsSimple(s, toSimple(term)); + assertEqualsSimple("a2345", toSimple(termCopy)); + + try { + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,1,1,5); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,0,6); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,7,0,1); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + try { + fillSimple(termCopy, sCopy); + termCopy.copyRange(term,0,7,1); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) {} + } + public void testCopyLine() { + ITerminalTextData term=makeITerminalTextData(); + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + fill(term, s); + ITerminalTextData dest=makeITerminalTextData(); + String sCopy= + "aaa\n" + + "bbb\n" + + "ccc\n" + + "ddd\n" + + "eee"; + fill(dest, sCopy); + copySelective(dest,term,0,0,new boolean []{true,true,false,false,true}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm( + "111\n" + + "222\n" + + "ccc\n" + + "ddd\n" + + "555", toMultiLineText(dest)); + + fill(dest, sCopy); + copySelective(dest,term,0,0,new boolean []{true,true,true,true,true}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm(s, toMultiLineText(dest)); + + fill(dest, sCopy); + copySelective(dest,term,0,0,new boolean []{false,false,false,false,false}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm(sCopy, toMultiLineText(dest)); + } + protected void copySelective(ITerminalTextData dest, ITerminalTextData source, int sourceStartLine, int destStartLine, boolean[] linesToCopy) { + for (int i = 0; i < linesToCopy.length; i++) { + if(linesToCopy[i]) { + dest.copyLine(source, i+sourceStartLine, i+destStartLine); + } + } + } + + public void testCopyLineWithOffset() { + ITerminalTextData term=makeITerminalTextData(); + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + fill(term, s); + ITerminalTextData dest=makeITerminalTextData(); + String sCopy= + "aaa\n" + + "bbb\n" + + "ccc\n" + + "ddd\n" + + "eee"; + fill(dest, sCopy); + copySelective(dest,term,1,0,new boolean []{true,false,false,true}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm( + "222\n" + + "bbb\n" + + "ccc\n" + + "555\n" + + "eee", toMultiLineText(dest)); + + fill(dest, sCopy); + copySelective(dest,term,2,0,new boolean []{true,true}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm( + "333\n" + + "444\n" + + "ccc\n" + + "ddd\n" + + "eee", toMultiLineText(dest)); + + fill(dest, sCopy); + copySelective(dest,term,0,0,new boolean []{true,true,true,true,true}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm(s, toMultiLineText(dest)); + + fill(dest, sCopy); + copySelective(dest,term,0,0,new boolean []{false,false,false,false,false}); + assertEqualsTerm(s, toMultiLineText(term)); + assertEqualsTerm(sCopy, toMultiLineText(dest)); + } + public void testScrollNoop() { + scrollTest(0,0,0, "012345","012345"); + scrollTest(0,1,0, "012345","012345"); + scrollTest(0,6,0, "012345","012345"); + } + public void testScrollAll() { + scrollTest(0,6,1, "012345"," 01234"); + scrollTest(0,6,-1, "012345","12345 "); + scrollTest(0,6,2, "012345"," 0123"); + scrollTest(0,6,-2, "012345","2345 "); + } + public void testScrollNegative() { + scrollTest(0,2,-1,"012345","1 2345"); + scrollTest(0,1,-1,"012345"," 12345"); + scrollTest(0,6,-1,"012345","12345 "); + scrollTest(0,6,-6,"012345"," "); + scrollTest(0,6,-7,"012345"," "); + scrollTest(0,6,-8,"012345"," "); + scrollTest(0,6,-2,"012345","2345 "); + scrollTest(1,1,-1,"012345","0 2345"); + scrollTest(1,1,-1,"012345","0 2345"); + scrollTest(1,2,-1,"012345","02 345"); + scrollTest(5,1,-1,"012345","01234 "); + scrollTest(5,1,-1,"012345","01234 "); + } + public void testScrollNegative2() { + scrollTest(0,2,-1," 23 "," 23 "); + scrollTest(0,1,-1," 23 "," 23 "); + scrollTest(0,6,-1," 23 "," 23 "); + scrollTest(0,6,-6," 23 "," "); + scrollTest(0,6,-7," 23 "," "); + scrollTest(0,6,-8," 23 "," "); + scrollTest(0,6,-2," 23 ","23 "); + scrollTest(1,1,-1," 23 "," 23 "); + scrollTest(1,2,-1," 23 "," 2 3 "); + scrollTest(5,1,-1," 23 "," 23 "); + scrollTest(5,1,-1," 23 "," 23 "); + } + public void testScrollNegative3() { + scrollTest(1,5,-7,"012345","0 "); + } + public void testScrollPositive2() { + scrollTest(2,8,20, "0123456789", "01 "); + } + public void testScrollPositive() { + scrollTest(0,2,1, "012345", " 02345"); + scrollTest(0,2,2, "012345", " 2345"); + scrollTest(2,4,2, "012345", "01 23"); + scrollTest(2,4,2, "0123456", "01 236"); + scrollTest(0,7,6, "0123456", " 0"); + scrollTest(0,7,8, "0123456", " "); + scrollTest(0,7,9, "0123456", " "); + scrollTest(2,4,2, "0123456", "01 236"); + scrollTest(2,5,3, "0123456789", "01 23789"); + scrollTest(2,7,3, "0123456789", "01 23459"); + scrollTest(2,8,3, "0123456789", "01 23456"); + scrollTest(2,8,5, "0123456789", "01 234"); + scrollTest(2,8,9, "0123456789", "01 "); + scrollTest(0,10,9,"0123456789", " 0"); + scrollTest(0,6,6, "012345", " "); + } + public void testScrollFail() { + try { + scrollTest(5,2,-1,"012345","012345"); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + try { + scrollTest(0,7,1,"012345"," "); + fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + } catch (RuntimeException e) { + } + } + /** + * Makes a simple shift test + * @param line scroll start + * @param n number of lines to be scrolled + * @param shift amount of lines to be shifted + * @param start the original data + * @param result the expected result + */ + void scrollTest(int line,int n, int shift, String start,String result) { + ITerminalTextData term=makeITerminalTextData(); + fillSimple(term,start); + term.scroll(line, n, shift); + assertEqualsSimple(result, toSimple(term)); + + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java new file mode 100644 index 00000000000..1fec8177063 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java @@ -0,0 +1,669 @@ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +import junit.framework.TestCase; + +public class SnapshotChangesTest extends TestCase { + /** + * @param change + * @param expected a string of 0 and 1 (1 means changed) + */ + void assertChangedLines(ISnapshotChanges change, String expected) { + StringBuffer buffer=new StringBuffer(); + for (int line = 0; line < expected.length(); line++) { + if(change.hasLineChanged(line)) + buffer.append('1'); + else + buffer.append('0'); + } + assertEquals(expected, buffer.toString()); + } + + public void testSnapshotChanges() { + SnapshotChanges changes=new SnapshotChanges(1); + assertEquals(0, changes.getInterestWindowStartLine()); + assertEquals(0, changes.getInterestWindowSize()); + } + public void testSnapshotChangesWithWindow() { + SnapshotChanges changes=new SnapshotChanges(2,5); + assertEquals(2, changes.getInterestWindowStartLine()); + assertEquals(5, changes.getInterestWindowSize()); + } + + public void testIsInInterestWindowIntInt() { + SnapshotChanges changes=new SnapshotChanges(2,5); + assertFalse(changes.isInInterestWindow(0, 1)); + assertFalse(changes.isInInterestWindow(0, 2)); + assertTrue(changes.isInInterestWindow(0, 3)); + assertTrue(changes.isInInterestWindow(0, 4)); + assertTrue(changes.isInInterestWindow(0, 5)); + assertTrue(changes.isInInterestWindow(0, 6)); + assertTrue(changes.isInInterestWindow(0, 10)); + assertTrue(changes.isInInterestWindow(2, 5)); + assertTrue(changes.isInInterestWindow(6, 0)); + assertTrue(changes.isInInterestWindow(6, 1)); + assertTrue(changes.isInInterestWindow(6, 10)); + assertFalse(changes.isInInterestWindow(7, 0)); + assertFalse(changes.isInInterestWindow(7, 1)); + assertFalse(changes.isInInterestWindow(8, 10)); + } + public void testIsInInterestWindowIntIntNoWindow() { + SnapshotChanges changes=new SnapshotChanges(3); + for (int i = 0; i < 5; i++) { + for (int j = 0; j < 5; j++) { + assertTrue(changes.isInInterestWindow(i,j)); + } + } + } + + public void testIsInInterestWindowInt() { + SnapshotChanges changes=new SnapshotChanges(3,1); + assertFalse(changes.isInInterestWindow(0)); + assertFalse(changes.isInInterestWindow(1)); + assertFalse(changes.isInInterestWindow(2)); + assertTrue(changes.isInInterestWindow(3)); + assertFalse(changes.isInInterestWindow(4)); + assertFalse(changes.isInInterestWindow(5)); + } + + public void testIsInInterestWindowIntNoWindow() { + SnapshotChanges changes=new SnapshotChanges(3); + for (int i = 0; i < 10; i++) { + assertTrue(changes.isInInterestWindow(i)); + } + } + + public void testFitLineToWindow() { + SnapshotChanges changes=new SnapshotChanges(2,5); + assertEquals(2, changes.fitLineToWindow(0)); + assertEquals(2, changes.fitLineToWindow(1)); + assertEquals(2, changes.fitLineToWindow(2)); + assertEquals(3, changes.fitLineToWindow(3)); + + assertTrue(changes.isInInterestWindow(4)); + assertEquals(4, changes.fitLineToWindow(4)); + + assertTrue(changes.isInInterestWindow(5)); + assertEquals(5, changes.fitLineToWindow(5)); + + assertTrue(changes.isInInterestWindow(6)); + assertEquals(6, changes.fitLineToWindow(6)); + + assertFalse(changes.isInInterestWindow(7)); + // value undefined! + assertEquals(7, changes.fitLineToWindow(7)); + + assertFalse(changes.isInInterestWindow(8)); + // value undefined! + assertEquals(8, changes.fitLineToWindow(8)); + } + + public void testFitLineToWindowNoWindow() { + SnapshotChanges changes=new SnapshotChanges(5); + assertEquals(0, changes.fitLineToWindow(0)); + assertEquals(1, changes.fitLineToWindow(1)); + assertEquals(2, changes.fitLineToWindow(2)); + assertEquals(3, changes.fitLineToWindow(3)); + assertEquals(4, changes.fitLineToWindow(4)); + assertEquals(5, changes.fitLineToWindow(5)); + assertEquals(6, changes.fitLineToWindow(6)); + assertEquals(7, changes.fitLineToWindow(7)); + } + public void testFitSizeToWindow() { + SnapshotChanges changes=new SnapshotChanges(2,3); + assertFalse(changes.isInInterestWindow(0, 1)); + assertFalse(changes.isInInterestWindow(0, 2)); + assertTrue(changes.isInInterestWindow(0, 3)); + assertEquals(1, changes.fitSizeToWindow(0,3)); + assertEquals(2, changes.fitSizeToWindow(0,4)); + assertEquals(3, changes.fitSizeToWindow(0,5)); + assertEquals(3, changes.fitSizeToWindow(0,6)); + assertEquals(3, changes.fitSizeToWindow(0,7)); + assertEquals(3, changes.fitSizeToWindow(0,8)); + assertEquals(3, changes.fitSizeToWindow(0,9)); + assertEquals(3, changes.fitSizeToWindow(1,9)); + assertEquals(3, changes.fitSizeToWindow(2,9)); + assertEquals(3, changes.fitSizeToWindow(2,3)); + assertEquals(2, changes.fitSizeToWindow(2,2)); + assertEquals(1, changes.fitSizeToWindow(2,1)); + assertEquals(2, changes.fitSizeToWindow(3,9)); + assertEquals(2, changes.fitSizeToWindow(3,2)); + assertEquals(1, changes.fitSizeToWindow(3,1)); + assertEquals(2, changes.fitSizeToWindow(3,2)); + assertEquals(2, changes.fitSizeToWindow(3,3)); + assertEquals(1, changes.fitSizeToWindow(4,1)); + assertEquals(1, changes.fitSizeToWindow(4,2)); + assertFalse(changes.isInInterestWindow(5, 1)); + + } + public void testFitSizeToWindowNoWindow() { + SnapshotChanges changes=new SnapshotChanges(3); + assertEquals(1, changes.fitSizeToWindow(0,1)); + assertEquals(2, changes.fitSizeToWindow(0,2)); + assertEquals(3, changes.fitSizeToWindow(0,3)); + assertEquals(4, changes.fitSizeToWindow(0,4)); + assertEquals(5, changes.fitSizeToWindow(0,5)); + + assertEquals(5, changes.fitSizeToWindow(1,5)); + assertEquals(3, changes.fitSizeToWindow(2,3)); + assertEquals(2, changes.fitSizeToWindow(1,2)); + assertEquals(10, changes.fitSizeToWindow(5,10)); + } + + public void testMarkLineChanged() { + SnapshotChanges changes=new SnapshotChanges(2,3); + assertFalse(changes.hasChanged()); + changes.markLineChanged(0); + assertFalse(changes.hasChanged()); + changes.markLineChanged(1); + assertFalse(changes.hasChanged()); + changes.markLineChanged(2); + assertTrue(changes.hasChanged()); + + changes=new SnapshotChanges(2,3); + assertFalse(changes.hasChanged()); + changes.markLineChanged(3); + assertTrue(changes.hasChanged()); + + assertLineChange(false,2,3,0); + assertLineChange(false,2,3,1); + assertLineChange(true,2,3,2); + assertLineChange(true,2,3,3); + assertLineChange(true,2,3,4); + assertLineChange(false,2,3,5); + assertLineChange(false,2,3,6); + + assertLineChange(true,2,4,5); + } + void assertLineChange(boolean expected, int windowStart, int windowSize, int changedLine) { + SnapshotChanges changes=new SnapshotChanges(windowStart,windowSize); + assertFalse(changes.hasChanged()); + changes.markLineChanged(changedLine); + if(expected) { + assertEquals(changedLine, changes.getFirstChangedLine()); + assertEquals(changedLine, changes.getLastChangedLine()); + } else { + assertEquals(Integer.MAX_VALUE, changes.getFirstChangedLine()); + assertEquals(-1, changes.getLastChangedLine()); + + } + assertEquals(expected,changes.hasChanged()); + for (int i = 0; i < windowStart+windowSize+5; i++) { + boolean e= i==changedLine && i>=windowStart && iTIME) { + System.out.println(label+" "+(n*1000)/(System.currentTimeMillis()-t0)+" setChar()/sec "+ N); + break; + } + } + } + public void testPerformance1() { + ITerminalTextData term=new TerminalTextData(); + method1(term, "1 "); + } + public void testPerformance1a() { + ITerminalTextData term=new TerminalTextData(); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + method1(term, "1a"); + snapshot.updateSnapshot(true); + } + public void testPerformance1b() { + ITerminalTextData term=new TerminalTextData(); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + N=0; + snapshot.addListener(new ITerminalTextDataSnapshot.SnapshotOutOfDateListener(){ + public void snapshotOutOfDate(ITerminalTextDataSnapshot snapshot) { + N++; + }}); + method1(term, "1b"); + snapshot.updateSnapshot(true); + } + private void method1(ITerminalTextData term, String label) { + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + initPerformance(term); + String s="This is a test string"; + long n=0; + long t0=System.currentTimeMillis(); + char[] chars=new char[term.getWidth()]; + for (int i = 0; i < 10000000; i++) { + for (int j = 0; j < chars.length; j++) { + chars[j]=s.charAt((i+j)%s.length()); + } + for (int line = 0; line < term.getHeight(); line++) { + term.setChars(line, 0, chars, style); + n+=chars.length; + } + if(System.currentTimeMillis()-t0>TIME) { + System.out.println(label+" "+(n*1000)/(System.currentTimeMillis()-t0)+" setChars()/sec "+ N); + break; + } + } + } + public void testPerformance2() { + TerminalTextData term=new TerminalTextData(); + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + initPerformance(term); + TerminalTextData copy=new TerminalTextData(); + copy.copy(term); + + String s="This is a test string"; + long n=0; + long t0=System.currentTimeMillis(); + char[] chars=new char[term.getWidth()]; + for (int i = 0; i < 10000000; i++) { + for (int j = 0; j < chars.length; j++) { + chars[j]=s.charAt((i+j)%s.length()); + } + for (int line = 0; line < term.getHeight(); line++) { + term.setChars(line, 0, chars, 0,1,style); + copy.copy(term); + n+=1; + if(System.currentTimeMillis()-t0>TIME) { + System.out.println((n*1000)/(System.currentTimeMillis()-t0)+" copy()/sec"); + return; + } + } + } + } + public void testPerformance2a() { + TerminalTextData term=new TerminalTextData(); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + initPerformance(term); + TerminalTextData copy=new TerminalTextData(); + copy.copy(term); + + String s="This is a test string"; + long n=0; + long t0=System.currentTimeMillis(); + char[] chars=new char[term.getWidth()]; + for (int i = 0; i < 10000000; i++) { + for (int j = 0; j < chars.length; j++) { + chars[j]=s.charAt((i+j)%s.length()); + } + for (int line = 0; line < term.getHeight(); line++) { + term.setChars(line, 0, chars, 0,1,style); + copy.copy(term); + n+=1; + if(System.currentTimeMillis()-t0>TIME) { + System.out.println((n*1000)/(System.currentTimeMillis()-t0)+" copy()/sec"); + return; + } + } + } + snapshot.updateSnapshot(true); + } + int N=0; + public void testPerformance2b() { + TerminalTextData term=new TerminalTextData(); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + N=0; + snapshot.addListener(new ITerminalTextDataSnapshot.SnapshotOutOfDateListener(){ + public void snapshotOutOfDate(ITerminalTextDataSnapshot snapshot) { + N++; + }}); + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + initPerformance(term); + TerminalTextData copy=new TerminalTextData(); + copy.copy(term); + + String s="This is a test string"; + long n=0; + long t0=System.currentTimeMillis(); + char[] chars=new char[term.getWidth()]; + for (int i = 0; i < 10000000; i++) { + for (int j = 0; j < chars.length; j++) { + chars[j]=s.charAt((i+j)%s.length()); + } + for (int line = 0; line < term.getHeight(); line++) { + term.setChars(line, 0, chars, 0,1,style); + copy.copy(term); + n+=1; + if(System.currentTimeMillis()-t0>TIME) { + System.out.println((n*1000)/(System.currentTimeMillis()-t0)+" copy()/sec "+n); + return; + } + } + } + snapshot.updateSnapshot(true); + } + public void testPerformance3() { + TerminalTextData term=new TerminalTextData(); + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + initPerformance(term); + TerminalTextData copy=new TerminalTextData(); + copy.copy(term); + String s="This is a test string"; + long n=0; + long t0=System.currentTimeMillis(); + char[] chars=new char[term.getWidth()]; + for (int i = 0; i < 10000000; i++) { + boolean[] linesToCopy=new boolean[term.getHeight()]; + for (int j = 0; j < chars.length; j++) { + chars[j]=s.charAt((i+j)%s.length()); + } + for (int line = 0; line < term.getHeight(); line++) { + term.setChars(line, 0, chars, 0,1,style); + linesToCopy[line]=true; + copy.copyLine(term,0,0); + linesToCopy[line]=false; + n+=1; + if(System.currentTimeMillis()-t0>TIME) { + System.out.println((n*1000)/(System.currentTimeMillis()-t0)+" copy()/sec"); + return; + } + } + } + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java new file mode 100644 index 00000000000..d6e68ef4eeb --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java @@ -0,0 +1,1344 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import junit.framework.TestCase; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +public class TerminalTextDataSnapshotTest extends TestCase { + String toMultiLineText(ITerminalTextDataReadOnly term) { + return TerminalTextTestHelper.toMultiLineText(term); + } + + protected ITerminalTextData makeITerminalTextData() { + return new TerminalTextData(); + } + + + public void testTerminalTextDataSnapshot() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + // new snapshots are fully changed + assertEquals(0,snapshot.getFirstChangedLine()); + assertEquals(term.getHeight()-1,snapshot.getLastChangedLine()); + for (int line = 0; line <= snapshot.getLastChangedLine(); line++) { + assertTrue(snapshot.hasLineChanged(line)); + } + // nothing has scrolled + assertEquals(0, snapshot.getScrollWindowSize()); + } + + public void testDetach() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + assertEquals(toMultiLineText(term),toMultiLineText(snapshot)); + snapshot.detach(); + // after detach changes to the term has no effect + term.setChar(0, 0, '?', null); + assertEquals(s, toMultiLineText(snapshot)); + term.setDimensions(2, 2); + assertEquals(s, toMultiLineText(snapshot)); + } + public void testIsOutOfDate() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + + assertFalse(snapshot.isOutOfDate()); + + // make a change and expect it to be changed + term.setChar(0, 0, '?', null); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + // make a change and expect it to be changed + term.setChars(1, 1, new char[]{'?','!','.'},null); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + // scroll + term.scroll(1, 2, -1); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + // scroll + term.scroll(1, 2, 1); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + // scroll + term.scroll(1, 2, -1); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(true); + assertFalse(snapshot.isOutOfDate()); + + // scroll + term.scroll(1, 2, 1); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(true); + assertFalse(snapshot.isOutOfDate()); + + // setDimensions + term.setDimensions(2, 2); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + // setDimensions + term.setDimensions(20, 20); + assertTrue(snapshot.isOutOfDate()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + + } + ITerminalTextDataSnapshot snapshot(String text, ITerminalTextData term) { + TerminalTextTestHelper.fill(term,text); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + return snapshot; + + } + public void testUpdateSnapshot() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + String termString=toMultiLineText(term); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + assertEquals(termString,toMultiLineText(snapshot)); + + // make changes and assert that the snapshot has not changed + // then update the snapshot and expect it to be the + // same as the changed terminal + + // make a change + term.setChar(0, 0, '?', null); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // make a change + term.setChars(1, 1, new char[]{'?','!','.'},null); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // scroll + term.scroll(1, 2, -1); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // scroll + term.scroll(1, 2, 1); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // scroll + term.scroll(1, 2, -1); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(true); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // scroll + term.scroll(1, 2, 1); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(true); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // set dimensions + term.setDimensions(2, 2); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + + // set dimensions + term.setDimensions(20, 20); + assertEquals(termString,toMultiLineText(snapshot)); + + snapshot.updateSnapshot(false); + termString=toMultiLineText(term); + assertEquals(termString,toMultiLineText(snapshot)); + } + + public void testMaxSize() { + String s= + "111\n" + + "222\n" + + "333\n" + + "444\n" + + "555"; + ITerminalTextData term=makeITerminalTextData(); + term.setMaxHeight(8); + TerminalTextTestHelper.fill(term, s); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(toMultiLineText(term), toMultiLineText(snapshot)); + + } + + + public void testGetChar() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + ITerminalTextData termUnchanged=makeITerminalTextData(); + TerminalTextTestHelper.fill(termUnchanged,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + for (int line = 0; line < snapshot.getHeight(); line++) { + for (int column = 0; column < snapshot.getWidth(); column++) { + assertEquals(term.getChar(line, column),snapshot.getChar(line, column)); + } + } + // make a change + term.setChar(0, 0, '?', null); + // check against unchanged data + for (int line = 0; line < snapshot.getHeight(); line++) { + for (int column = 0; column < snapshot.getWidth(); column++) { + assertEquals(termUnchanged.getChar(line, column),snapshot.getChar(line, column)); + } + } + // update and compare against the terminal + snapshot.updateSnapshot(true); + for (int line = 0; line < snapshot.getHeight(); line++) { + for (int column = 0; column < snapshot.getWidth(); column++) { + assertEquals(term.getChar(line, column),snapshot.getChar(line, column)); + } + } + + } + + public void testGetHeight() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + int expectedHeight=term.getHeight(); + assertEquals(expectedHeight, snapshot.getHeight()); + term.setDimensions(term.getHeight()-1, term.getWidth()); + assertEquals(expectedHeight, snapshot.getHeight()); + + // + snapshot.updateSnapshot(false); + expectedHeight=term.getHeight(); + assertEquals(expectedHeight, snapshot.getHeight()); + term.setDimensions(term.getHeight()-1, term.getWidth()); + assertEquals(expectedHeight, snapshot.getHeight()); + } +// +// public void testGetLineSegments() { +// fail("Not yet implemented"); +// } +// + public void testGetStyle() { + ITerminalTextData term=makeITerminalTextData(); + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + term.setDimensions(6, 3); + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + term.setChar(line, column, c, style.setForground(StyleColor.getStyleColor(""+c))); + } + } + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + + for (int line = 0; line < term.getHeight(); line++) { + for (int column = 0; column < term.getWidth(); column++) { + char c=(char)('a'+column+line); + assertSame(style.setForground(StyleColor.getStyleColor(""+c)), snapshot.getStyle(line, column)); + } + } + + } + + public void testGetWidth() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + int expectedWidth=term.getWidth(); + assertEquals(expectedWidth, snapshot.getWidth()); + term.setDimensions(term.getHeight(), term.getWidth()-1); + assertEquals(expectedWidth, snapshot.getWidth()); + + // + snapshot.updateSnapshot(false); + expectedWidth=term.getWidth(); + assertEquals(expectedWidth, snapshot.getWidth()); + term.setDimensions(term.getHeight(), term.getWidth()-1); + assertEquals(expectedWidth, snapshot.getWidth()); + } + + public void testGetFirstChangedLine() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + ITerminalTextDataSnapshot snapshot=snapshot(s,term); + + + assertEquals(0, snapshot.getFirstChangedLine()); + + // if nothing has changed the first changed line i height + snapshot.updateSnapshot(false); + assertEquals(Integer.MAX_VALUE, snapshot.getFirstChangedLine()); + + snapshot=snapshot(s,term); + term.setChar(0, 0, 'x', null); + snapshot.updateSnapshot(false); + assertEquals(0, snapshot.getFirstChangedLine()); + + snapshot=snapshot(s,term); + term.setChar(3, 0, 'x', null); + term.setChar(4, 0, 'x', null); + snapshot.updateSnapshot(false); + assertEquals(3, snapshot.getFirstChangedLine()); + + snapshot=snapshot(s,term); + term.scroll(0, 1, -1); + snapshot.updateSnapshot(false); + assertEquals(0, snapshot.getFirstChangedLine()); + + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + snapshot.updateSnapshot(false); + assertEquals(2, snapshot.getFirstChangedLine()); + + // when scrolling the end of the region 'has changed' + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + snapshot.updateSnapshot(true); + assertEquals(3, snapshot.getFirstChangedLine()); + + // when scrolling the end of the region 'has changed' + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + term.setChar(1, 0, 'x', null); + snapshot.updateSnapshot(true); + assertEquals(1, snapshot.getFirstChangedLine()); + + } + public void testGetLastChangedLine() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + ITerminalTextDataSnapshot snapshot=snapshot(s,term); + + + assertEquals(4, snapshot.getLastChangedLine()); + + // if nothing has changed the first changed line i height + snapshot.updateSnapshot(false); + assertEquals(-1, snapshot.getLastChangedLine()); + + snapshot=snapshot(s,term); + term.setChar(0, 0, 'x', null); + snapshot.updateSnapshot(false); + assertEquals(0, snapshot.getLastChangedLine()); + + snapshot=snapshot(s,term); + term.cleanLine(1); + snapshot.updateSnapshot(false); + assertEquals(1, snapshot.getLastChangedLine()); + + snapshot=snapshot(s,term); + term.setChar(3, 0, 'x', null); + term.setChar(4, 0, 'x', null); + snapshot.updateSnapshot(false); + assertEquals(4, snapshot.getLastChangedLine()); + + snapshot=snapshot(s,term); + term.scroll(0, 1, -1); + snapshot.updateSnapshot(false); + assertEquals(0, snapshot.getLastChangedLine()); + + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + snapshot.updateSnapshot(false); + assertEquals(3, snapshot.getLastChangedLine()); + + // when scrolling the end of the region 'has changed' + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + snapshot.updateSnapshot(true); + assertEquals(3, snapshot.getLastChangedLine()); + + // when scrolling the end of the region 'has changed' + snapshot=snapshot(s,term); + term.scroll(2, 2, -1); + term.setChar(1, 0, 'x', null); + snapshot.updateSnapshot(true); + assertEquals(3, snapshot.getLastChangedLine()); + + } + /** + * @param snapshot + * @param expected a string of 0 and 1 (1 means changed) + */ + void assertChangedLines(ITerminalTextDataSnapshot snapshot, String expected) { + assertEquals(expected.length(),snapshot.getHeight()); + StringBuffer buffer=new StringBuffer(); + for (int line = 0; line < expected.length(); line++) { + if(snapshot.hasLineChanged(line)) + buffer.append('1'); + else + buffer.append('0'); + } + assertEquals(expected, buffer.toString()); + } + public void testHasLineChangedScroll() { + ITerminalTextData term=makeITerminalTextData(); + String s="00\n" + + "11\n" + + "22\n" + + "33\n" + + "44\n" + + "55\n" + + "66\n" + + "77\n" + + "88\n" + + "99"; + ITerminalTextDataSnapshot snapshot=snapshot(s,term); + + term.scroll(2,3,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0000100000"); + + snapshot=snapshot(s,term); + term.scroll(2,3,-2); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0001100000"); + + snapshot=snapshot(s,term); + term.scroll(2,4,-1); + term.scroll(2,4,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0000110000"); + + term.scroll(2,3,1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0011100000"); + + snapshot=snapshot(s,term); + term.scroll(2,3,2); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0011100000"); + + snapshot=snapshot(s,term); + term.scroll(2,4,1); + term.scroll(2,4,1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0011110000"); + + + snapshot=snapshot(s,term); + term.scroll(2,3,-1); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot, "0011100000"); + + snapshot=snapshot(s,term); + term.scroll(2,3,-2); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot, "0011100000"); + + snapshot=snapshot(s,term); + term.scroll(2,4,-1); + term.scroll(2,4,-1); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot, "0011110000"); + } + public void testMultiScrollWithDifferentSizes() { + ITerminalTextData term=makeITerminalTextData(); + String s="00\n" + + "11\n" + + "22\n" + + "33\n" + + "44\n" + + "55\n" + + "66\n" + + "77\n" + + "88\n" + + "99"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.scroll(2,6,-1); + term.scroll(2,5,-1); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot, "0011111100"); + assertEquals(2, snapshot.getFirstChangedLine()); + assertEquals(7, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowShift()); + + // scrolls with different ranges cause no scroll + // optimization + snapshot=snapshot(s,term); + term.scroll(2,6,-1); + term.scroll(2,5,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0011111100"); + assertEquals(2, snapshot.getFirstChangedLine()); + assertEquals(7, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowShift()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + } + public void testHasLineChanged() { + ITerminalTextData term=makeITerminalTextData(); + String s="000000\n" + + "111111\n" + + "222222\n" + + "333333\n" + + "444444\n" + + "555555\n" + + "666666\n" + + "777777\n" + + "888888\n" + + "999999"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.scroll(2,3,-1); + term.setChar(7, 0, '.', null); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0000100100"); + + snapshot=snapshot(s,term); + term.scroll(2,3,-2); + term.setChar(9, 0, '.', null); + term.setChars(0, 0, new char[]{'.','!'}, null); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1001100001"); + + snapshot=snapshot(s,term); + term.scroll(2,4,-1); + term.scroll(2,4,-1); + term.setChars(2, 2, new char[]{'.','!','*'},1,1, null); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0010110000"); + + snapshot=snapshot(s,term); + term.scroll(2,7,-1); + term.setChar(5, 2, '.', null); + term.scroll(2,7,-2); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0001001110"); + + + snapshot=snapshot(s,term); + term.scroll(2,7,-1); + term.setChar(5, 2, '.', null); + term.scroll(2,7,-2); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot, "0011111110"); + + } + + public void testScroll() { + ITerminalTextData term=makeITerminalTextData(); + String s="00\n" + + "11\n" + + "22\n" + + "33\n" + + "44\n" + + "55\n" + + "66\n" + + "77\n" + + "88\n" + + "99"; + ITerminalTextDataSnapshot snapshot=snapshot(s,term); + + term.scroll(2,3,-1); + snapshot.updateSnapshot(true); + assertEquals(2, snapshot.getScrollWindowStartLine()); + assertEquals(3, snapshot.getScrollWindowSize()); + assertEquals(-1, snapshot.getScrollWindowShift()); + assertEquals(4, snapshot.getFirstChangedLine()); + assertEquals(4, snapshot.getLastChangedLine()); + + term.scroll(2,3,-2); + snapshot.updateSnapshot(true); + assertEquals(2, snapshot.getScrollWindowStartLine()); + assertEquals(3, snapshot.getScrollWindowSize()); + assertEquals(-2, snapshot.getScrollWindowShift()); + assertEquals(3, snapshot.getFirstChangedLine()); + assertEquals(4, snapshot.getLastChangedLine()); + + term.scroll(2,4,-1); + term.scroll(2,4,-1); + snapshot.updateSnapshot(true); + assertEquals(2, snapshot.getScrollWindowStartLine()); + assertEquals(4, snapshot.getScrollWindowSize()); + assertEquals(-2, snapshot.getScrollWindowShift()); + assertEquals(4, snapshot.getFirstChangedLine()); + assertEquals(5, snapshot.getLastChangedLine()); + + + snapshot=snapshot(s,term); + term.scroll(2,3,-1); + snapshot.updateSnapshot(false); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + assertEquals(2, snapshot.getFirstChangedLine()); + assertEquals(4, snapshot.getLastChangedLine()); + + } + public void testDisjointScroll() { + ITerminalTextData term=makeITerminalTextData(); + String s="000000\n" + + "111111\n" + + "222222\n" + + "333333\n" + + "444444\n" + + "555555\n" + + "666666\n" + + "777777\n" + + "888888\n" + + "999999"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.scroll(0,2,-1); + term.scroll(4,2,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1100110000"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.scroll(0,3,-1); + term.scroll(2,2,-2); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111000000"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.scroll(0,3,-1); + term.scroll(2,2,-2); + term.scroll(0,3,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111000000"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.scroll(0,3,-1); + term.scroll(2,2,-2); + term.scroll(0,3,-10); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111000000"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.scroll(1,3,-1); + term.scroll(1,3,1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "0111000000"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + } + public void testResize() { + ITerminalTextData term=makeITerminalTextData(); + String s="000000\n" + + "111111\n" + + "222222\n" + + "333333"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.setDimensions(term.getHeight(), term.getWidth()+1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111"); + assertEquals(0, snapshot.getFirstChangedLine()); + assertEquals(3, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.setDimensions(term.getHeight()+1, term.getWidth()); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "11111"); + assertEquals(0, snapshot.getFirstChangedLine()); + assertEquals(4, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.setDimensions(term.getHeight()-1, term.getWidth()); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "111"); + assertEquals(0, snapshot.getFirstChangedLine()); + assertEquals(2, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.setDimensions(0, 0); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, ""); + assertEquals(0, snapshot.getFirstChangedLine()); + assertEquals(-1, snapshot.getLastChangedLine()); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + } + public void testResizeAfterScroll() { + ITerminalTextData term=makeITerminalTextData(); + String s="000000\n" + + "111111\n" + + "222222\n" + + "333333\n" + + "444444\n" + + "555555\n" + + "666666\n" + + "777777\n" + + "888888\n" + + "999999"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.scroll(1,2,-1); + term.setDimensions(5, 4); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "11111"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + + snapshot=snapshot(s,term); + term.scroll(1,2,-1); + term.setDimensions(7, 2); + term.scroll(4,2,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111111"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + snapshot=snapshot(s,term); + + term.scroll(1,2,-1); + term.setDimensions(term.getHeight(),term.getWidth()+1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "1111111111"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + } + public void testScrollAfterResize() { + ITerminalTextData term=makeITerminalTextData(); + String s="000000\n" + + "111111\n" + + "222222\n" + + "333333\n" + + "444444\n" + + "555555\n" + + "666666\n" + + "777777\n" + + "888888\n" + + "999999"; + ITerminalTextDataSnapshot snapshot; + + snapshot=snapshot(s,term); + term.setDimensions(14, 6); + term.scroll(0,14,-1); + snapshot.updateSnapshot(true); + assertChangedLines(snapshot, "11111111111111"); + assertEquals(0, snapshot.getScrollWindowStartLine()); + assertEquals(0, snapshot.getScrollWindowSize()); + assertEquals(0, snapshot.getScrollWindowShift()); + } + private final class SnapshotListener implements ITerminalTextDataSnapshot.SnapshotOutOfDateListener { + int N; + public void snapshotOutOfDate(ITerminalTextDataSnapshot snapshot) { + N++; + } + public void reset() { + N=0; + } + } + + public void testAddListener() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + SnapshotListener listener=new SnapshotListener(); + snapshot.addListener(listener); + assertEquals(0, listener.N); + + // make a change and expect it to be changed + term.setChar(0, 0, '?', null); + assertEquals(1, listener.N); + term.setChar(1, 1, '?', null); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // make a change and expect it to be changed + term.setChars(1, 1, new char[]{'?','!','.'},null); + assertEquals(1, listener.N); + term.setChars(2, 1, new char[]{'?','!','.'},null); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // scroll + term.scroll(1, 2, -1); + assertEquals(1, listener.N); + term.scroll(1, 2, -1); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // scroll + term.scroll(1, 2, 1); + assertEquals(1, listener.N); + term.scroll(1, 2, 1); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // scroll + term.scroll(1, 2, -1); + assertEquals(1, listener.N); + term.scroll(1, 2, -1); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // scroll + term.scroll(1, 2, 1); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // setDimensions + term.setDimensions(2, 2); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener.N); + listener.reset(); + + // setDimensions + term.setDimensions(20, 20); + assertEquals(1, listener.N); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + } + + public void testRemoveListener() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + + SnapshotListener listener1=new SnapshotListener(); + SnapshotListener listener2=new SnapshotListener(); + SnapshotListener listener3=new SnapshotListener(); + snapshot.addListener(listener1); + snapshot.addListener(listener2); + snapshot.addListener(listener3); + assertEquals(0, listener1.N); + + // make a change and expect it to be changed + term.setChar(0, 0, '?', null); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + term.setChar(1, 1, '?', null); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + listener1.reset(); + listener2.reset(); + listener3.reset(); + + // make a change and expect it to be changed + term.setChars(1, 1, new char[]{'?','!','.'},null); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + term.setChars(2, 1, new char[]{'?','!','.'},null); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + listener1.reset(); + listener2.reset(); + listener3.reset(); + + snapshot.removeListener(listener2); + + // scroll + term.scroll(1, 2, -1); + assertEquals(1, listener1.N); + assertEquals(0, listener2.N); + assertEquals(1, listener3.N); + + term.scroll(1, 2, -1); + assertEquals(1, listener1.N); + assertEquals(0, listener2.N); + assertEquals(1, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(0, listener2.N); + assertEquals(1, listener3.N); + + snapshot.addListener(listener2); + listener1.reset(); + listener2.reset(); + listener3.reset(); + + + snapshot.removeListener(listener3); + // scroll + term.scroll(1, 2, 1); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(0, listener3.N); + + term.scroll(1, 2, 1); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(0, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(0, listener3.N); + + snapshot.addListener(listener3); + listener1.reset(); + listener2.reset(); + listener3.reset(); + + // add listener multiple times + snapshot.addListener(listener3); + + // scroll + term.scroll(1, 2, -1); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(2, listener3.N); + + term.scroll(1, 2, -1); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(2, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(2, listener3.N); + + listener1.reset(); + listener2.reset(); + listener3.reset(); + // remove the duplicate listener + snapshot.removeListener(listener3); + + + // scroll + term.scroll(1, 2, 1); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + listener1.reset(); + listener2.reset(); + listener3.reset(); + + + // setDimensions + term.setDimensions(2, 2); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + + snapshot.updateSnapshot(false); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + listener1.reset(); + listener2.reset(); + listener3.reset(); + + + // setDimensions + term.setDimensions(20, 20); + assertEquals(1, listener1.N); + assertEquals(1, listener2.N); + assertEquals(1, listener3.N); + + + snapshot.updateSnapshot(false); + assertFalse(snapshot.isOutOfDate()); + } + public void testWindowOfInterest() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + snapshot.setInterestWindow(7, 4); + snapshot.setInterestWindow(9, 4); + snapshot.updateSnapshot(false); + } + public void testWindowOfInterest2() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + snapshot.updateSnapshot(false); + term.scroll(7, 3,-1); + snapshot.setInterestWindow(9, 4); + snapshot.updateSnapshot(false); + } + public void testAddLine() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + term.setMaxHeight(20); + snapshot.updateSnapshot(false); + assertEquals(10,term.getHeight()); + assertEquals(20,term.getMaxHeight()); + assertFalse(snapshot.isOutOfDate()); + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + assertEquals(11,term.getHeight()); + assertEquals(10,snapshot.getHeight()); + snapshot.updateSnapshot(false); + assertEquals(11,term.getHeight()); + assertEquals(11,snapshot.getHeight()); + assertEquals(20,term.getMaxHeight()); + + term.addLine(); + term.addLine(); + assertEquals(11,snapshot.getHeight()); + assertEquals(13,term.getHeight()); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertEquals(13,snapshot.getHeight()); + assertEquals(13,term.getHeight()); + assertEquals(20,term.getMaxHeight()); + } + public void testHasDimensionsChanged() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + term.setMaxHeight(20); + snapshot.setInterestWindow(3, 4); + snapshot.updateSnapshot(false); + assertEquals(10,term.getHeight()); + assertEquals(20,term.getMaxHeight()); + assertFalse(snapshot.isOutOfDate()); + term.addLine(); + assertTrue(snapshot.isOutOfDate()); + assertEquals(11,term.getHeight()); + assertEquals(10,snapshot.getHeight()); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasDimensionsChanged()); + assertEquals(11,term.getHeight()); + assertEquals(11,snapshot.getHeight()); + assertEquals(20,term.getMaxHeight()); + + term.addLine(); + term.addLine(); + assertEquals(11,snapshot.getHeight()); + assertEquals(13,term.getHeight()); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasDimensionsChanged()); + assertEquals(13,snapshot.getHeight()); + assertEquals(13,term.getHeight()); + assertEquals(20,term.getMaxHeight()); + } + public void testCursor() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + term.setMaxHeight(20); + snapshot.setInterestWindow(3, 4); + snapshot.updateSnapshot(false); + term.setCursorLine(2); + term.setCursorColumn(1); + snapshot.updateSnapshot(false); + assertEquals(2, snapshot.getCursorLine()); + assertEquals(1, snapshot.getCursorColumn()); + term.setCursorLine(3); + term.setCursorColumn(2); + snapshot.updateSnapshot(false); + assertEquals(3, snapshot.getCursorLine()); + assertEquals(2, snapshot.getCursorColumn()); + } + public void testCursor2() { + ITerminalTextData term=makeITerminalTextData(); + TerminalTextTestHelper.fillSimple(term,"0123456789"); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + term.setMaxHeight(20); + snapshot.setInterestWindow(3, 4); + snapshot.updateSnapshot(false); + term.setCursorLine(2); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + term.setCursorColumn(1); + assertTrue(snapshot.isOutOfDate()); + } + public void testHasTerminalChanged() { + ITerminalTextData term=makeITerminalTextData(); + String s="12345\n" + + "abcde\n" + + "ABCDE\n" + + "vwxzy\n" + + "VWXYZ"; + TerminalTextTestHelper.fill(term,s); + + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + assertTrue(snapshot.hasTerminalChanged()); + snapshot.updateSnapshot(false); + + assertTrue(snapshot.hasTerminalChanged()); + + // make a change and expect it to be changed + term.setChar(0, 0, '?', null); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + // make a change and expect it to be changed + term.setChars(1, 1, new char[]{'?','!','.'},null); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + // scroll + term.scroll(1, 2, -1); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + // scroll + term.scroll(1, 2, 1); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + // scroll + term.scroll(1, 2, -1); + snapshot.updateSnapshot(true); + assertTrue(snapshot.hasTerminalChanged()); + + // scroll + term.scroll(1, 2, 1); + snapshot.updateSnapshot(true); + assertTrue(snapshot.hasTerminalChanged()); + + // setDimensions + term.setDimensions(2, 2); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + // setDimensions + term.setDimensions(20, 20); + snapshot.updateSnapshot(false); + assertTrue(snapshot.hasTerminalChanged()); + + snapshot.updateSnapshot(false); + assertFalse(snapshot.hasTerminalChanged()); + + // window of interest changes should NOT set hasTerminalChanged + snapshot.updateSnapshot(false); + snapshot.setInterestWindow(7, 4); + + assertFalse(snapshot.hasTerminalChanged()); + } + public void testGetTerminalTextData() { + ITerminalTextData term=makeITerminalTextData(); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + assertSame(term, snapshot.getTerminalTextData()); + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java new file mode 100644 index 00000000000..7ce515cc100 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java @@ -0,0 +1,191 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import junit.framework.TestCase; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; + +public class TerminalTextDataSnapshotWindowTest extends TestCase { + String toMultiLineText(ITerminalTextDataReadOnly term) { + return TerminalTextTestHelper.toMultiLineText(term); + } + String toSimpleText(ITerminalTextDataReadOnly term) { + return TerminalTextTestHelper.toSimple(term); + } + + protected ITerminalTextData makeITerminalTextData() { + return new TerminalTextData(); + } + ITerminalTextDataSnapshot snapshotSimple(String text, ITerminalTextData term) { + TerminalTextTestHelper.fillSimple(term,text); + ITerminalTextDataSnapshot snapshot=term.makeSnapshot(); + return snapshot; + + } + /** + * @param snapshot + * @param expected a string of 0 and 1 (1 means changed) + */ + void assertChangedLines(ITerminalTextDataSnapshot snapshot, String expected) { + assertEquals(expected.length(),snapshot.getHeight()); + StringBuffer buffer=new StringBuffer(); + for (int line = 0; line < expected.length(); line++) { + if(snapshot.hasLineChanged(line)) + buffer.append('1'); + else + buffer.append('0'); + } + assertEquals(expected, buffer.toString()); + } + + public void testSetInterestWindow() { + ITerminalTextData term=makeITerminalTextData(); + ITerminalTextDataSnapshot snapshot=snapshotSimple("0123456789",term); + assertEquals(0, snapshot.getInterestWindowStartLine()); + assertEquals(-1, snapshot.getInterestWindowSize()); + snapshot.setInterestWindow(2, 3); + assertEquals(2, snapshot.getInterestWindowStartLine()); + assertEquals(3, snapshot.getInterestWindowSize()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0011100000"); + } + public void testSetChar() { + ITerminalTextData term=makeITerminalTextData(); + ITerminalTextDataSnapshot snapshot=snapshotSimple("0123456789",term); + snapshot.setInterestWindow(2, 3); + snapshot.updateSnapshot(false); + assertEquals(" 234 ", toSimpleText(snapshot)); + + term.setChar(0, 0, 'x', null); + assertFalse(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000000000"); + + term.setChar(1, 0, 'x', null); + assertFalse(snapshot.isOutOfDate()); + + term.setChar(2, 0, 'x', null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0010000000"); + + term.setChar(3, 0, 'x', null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0001000000"); + + term.setChar(4, 0, 'x', null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000100000"); + + term.setChar(5, 0, 'x', null); + assertFalse(snapshot.isOutOfDate()); + + term.setChar(6, 0, 'x', null); + assertFalse(snapshot.isOutOfDate()); + + for (int i = 0; i < 9; i++) { + term.setChar(i, 0, (char)('a'+i), null); + } + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0011100000"); + } + + public void testSetChars() { + ITerminalTextData term=makeITerminalTextData(); + ITerminalTextDataSnapshot snapshot=snapshotSimple("0123456789",term); + snapshot.setInterestWindow(2, 3); + snapshot.updateSnapshot(false); + assertEquals(" 234 ", toSimpleText(snapshot)); + + term.setChars(0, 0, "x".toCharArray(), null); + assertFalse(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000000000"); + + term.setChars(1, 0, "x".toCharArray(), null); + assertFalse(snapshot.isOutOfDate()); + + term.setChars(2, 0, "x".toCharArray(), null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0010000000"); + + term.setChars(3, 0, "x".toCharArray(), null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0001000000"); + + term.setChars(4, 0, "x".toCharArray(), null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000100000"); + + term.setChars(5, 0, "x".toCharArray(), null); + assertFalse(snapshot.isOutOfDate()); + + term.setChars(6, 0, "x".toCharArray(), null); + assertFalse(snapshot.isOutOfDate()); + for (int i = 0; i < 9; i++) { + term.setChars(i, 0, (i+"").toCharArray(), null); + } + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0011100000"); + } + public void testSetChars2() { + ITerminalTextData term=makeITerminalTextData(); + ITerminalTextDataSnapshot snapshot=snapshotSimple("0123456789",term); + snapshot.setInterestWindow(2, 3); + snapshot.updateSnapshot(false); + assertEquals(" 234 ", toSimpleText(snapshot)); + + term.setChars(0, 0, "abcdef".toCharArray(),2,1, null); + assertFalse(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000000000"); + + term.setChars(1, 0, "abcdef".toCharArray(),2 ,1, null); + assertFalse(snapshot.isOutOfDate()); + + term.setChars(2, 0, "abcdef".toCharArray(),2 ,1, null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0010000000"); + + term.setChars(3, 0, "abcdef".toCharArray(),2 ,1, null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0001000000"); + + term.setChars(4, 0, "abcdef".toCharArray(),2 ,1, null); + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0000100000"); + + term.setChars(5, 0, "abcdef".toCharArray(),2 ,1, null); + assertFalse(snapshot.isOutOfDate()); + + term.setChars(6, 0, "abcdef".toCharArray(),2 ,1, null); + assertFalse(snapshot.isOutOfDate()); + for (int i = 0; i < 9; i++) { + term.setChars(i, 0, ("ab"+i+"def").toCharArray(),2 ,1, null); + } + assertTrue(snapshot.isOutOfDate()); + snapshot.updateSnapshot(false); + assertChangedLines(snapshot,"0011100000"); + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java new file mode 100644 index 00000000000..743d177923e --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +public class TerminalTextDataStoreTest extends AbstractITerminalTextDataTest { + protected ITerminalTextData makeITerminalTextData() { + return new TerminalTextDataStore(); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java new file mode 100644 index 00000000000..457e18d42ae --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +public class TerminalTextDataTest extends AbstractITerminalTextDataTest { + protected ITerminalTextData makeITerminalTextData() { + return new TerminalTextData(); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java new file mode 100644 index 00000000000..0154dad1904 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java @@ -0,0 +1,459 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.model; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.LineSegment; +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { + int fOffset; + int fSize; + public TerminalTextDataWindowTest() { + fOffset=2; + fSize=2; + } + protected ITerminalTextData makeITerminalTextData() { + TerminalTextDataWindow term=new TerminalTextDataWindow(); + term.setWindow(fOffset,fSize); + return term; + } + /** + * Used for multi line text + * @param expected + * @param actual + */ + protected void assertEqualsTerm(String expected,String actual) { + assertEquals(stripMultiLine(expected), stripMultiLine(actual)); + } + private String stripMultiLine(String s) { + StringBuffer b=new StringBuffer(); + String[] lines=s.split("\n"); + for (int i = 0; i < lines.length; i++) { + if(i>0) + b.append("\n"); //$NON-NLS-1$ + if(i>=fOffset && i=fOffset && i=fOffset&&line=fOffset&&line=fOffset&&line0) + buff.append("\n"); //$NON-NLS-1$ + for (int column = 0; column < width; column++) { + buff.append(term.getChar(line, column)); + } + } + return buff.toString(); + } + static public String toSimple(String str) { + return str.replaceAll("\000", " ").replaceAll("\n", ""); + + } + /** + * @param term + * @param s each character is one line + */ + static public void fillSimple(ITerminalTextData term, String s) { + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + term.setDimensions(s.length(), 1); + for (int i = 0; i < s.length(); i++) { + char c=s.charAt(i); + term.setChar(i, 0, c, style.setForground(StyleColor.getStyleColor(""+c))); + } + } + /** + * @param term + * @param s lines separated by \n. The terminal will automatically + * resized to fit the text. + */ + static public void fill(ITerminalTextData term, String s) { + int width=0; + int len=0; + int height=0; + for (int i = 0; i < s.length(); i++) { + char c=s.charAt(i); + if(c=='\n') { + width=Math.max(width,len); + len=0; + } else { + if(len==0) + height++; + len++; + } + } + width=Math.max(width,len); + term.setDimensions(height, width); + fill(term,0,0,s); + } + + static public void fill(ITerminalTextData term, int column, int line, String s) { + int xx=column; + int yy=line; + Style style=Style.getStyle(StyleColor.getStyleColor("fg"), StyleColor.getStyleColor("bg"), false, false, false, false); + for (int i = 0; i < s.length(); i++) { + char c=s.charAt(i); + if(c=='\n') { + yy++; + xx=column; + } else { + term.setChar(yy, xx, c, style.setForground(StyleColor.getStyleColor(""+c))); + xx++; + } + } + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java new file mode 100644 index 00000000000..6dde5a8bf64 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.terminalcanvas; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell; + +public class Main { + + /** + * @param args + */ + public static void main(String[] args) { + Display display = new Display (); + Shell shell = new Shell (display); + shell.setLayout(new FillLayout()); + new TerminalTextCanvas(shell,SWT.NONE); + shell.setSize (200, 150); + shell.open (); + while (!shell.isDisposed ()) { + if (!display.readAndDispatch ()) display.sleep (); + } + display.dispose (); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java new file mode 100644 index 00000000000..c8fd8aacd95 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java @@ -0,0 +1,100 @@ +package org.eclipse.tm.internal.terminal.test.terminalcanvas; + + +/* + * Canvas example snippet: scroll an image (flicker free, no double buffering) + * + * For a list of all SWT example snippets see + * http://www.eclipse.org/swt/snippets/ + */ +import org.eclipse.swt.*; +import org.eclipse.swt.graphics.*; +import org.eclipse.swt.layout.*; +import org.eclipse.swt.widgets.*; + +public class Snippet48 { + +public static void main (String [] args) { + Display display = new Display (); + Shell shell = new Shell (display); + shell.setLayout(new FillLayout()); + Image originalImage = null; + FileDialog dialog = new FileDialog (shell, SWT.OPEN); + dialog.setText ("Open an image file or cancel"); + String string = dialog.open (); + if (string != null) { + originalImage = new Image (display, string); + } + final Image image = originalImage; + final Point origin = new Point (0, 0); + final Canvas canvas = new Canvas (shell, SWT.NO_BACKGROUND | + SWT.NO_REDRAW_RESIZE | SWT.V_SCROLL | SWT.H_SCROLL); + final ScrollBar hBar = canvas.getHorizontalBar (); + hBar.addListener (SWT.Selection, new Listener () { + public void handleEvent (Event e) { + int hSelection = hBar.getSelection (); + int destX = -hSelection - origin.x; + Rectangle rect = image.getBounds (); + canvas.scroll (destX, 0, 0, 0, rect.width, rect.height, false); + origin.x = -hSelection; + } + }); + final ScrollBar vBar = canvas.getVerticalBar (); + vBar.addListener (SWT.Selection, new Listener () { + public void handleEvent (Event e) { + int vSelection = vBar.getSelection (); + int destY = -vSelection - origin.y; + Rectangle rect = image.getBounds (); + canvas.scroll (0, destY, 0, 0, rect.width, rect.height, false); + origin.y = -vSelection; + } + }); + canvas.addListener (SWT.Resize, new Listener () { + public void handleEvent (Event e) { + Rectangle rect = image.getBounds (); + Rectangle client = canvas.getClientArea (); + hBar.setMaximum (rect.width); + vBar.setMaximum (rect.height); + hBar.setThumb (Math.min (rect.width, client.width)); + vBar.setThumb (Math.min (rect.height, client.height)); + int hPage = rect.width - client.width; + int vPage = rect.height - client.height; + int hSelection = hBar.getSelection (); + int vSelection = vBar.getSelection (); + if (hSelection >= hPage) { + if (hPage <= 0) hSelection = 0; + origin.x = -hSelection; + } + if (vSelection >= vPage) { + if (vPage <= 0) vSelection = 0; + origin.y = -vSelection; + } + canvas.redraw (); + } + }); + canvas.addListener (SWT.Paint, new Listener () { + public void handleEvent (Event e) { + GC gc = e.gc; + gc.drawImage (image, origin.x, origin.y); + Rectangle rect = image.getBounds (); + Rectangle client = canvas.getClientArea (); + int marginWidth = client.width - rect.width; + if (marginWidth > 0) { + gc.fillRectangle (rect.width, 0, marginWidth, client.height); + } + int marginHeight = client.height - rect.height; + if (marginHeight > 0) { + gc.fillRectangle (0, rect.height, client.width, marginHeight); + } + } + }); + shell.setSize (200, 150); + shell.open (); + while (!shell.isDisposed ()) { + if (!display.readAndDispatch ()) display.sleep (); + } + originalImage.dispose(); + display.dispose (); +} + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java new file mode 100644 index 00000000000..8996bb96621 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java @@ -0,0 +1,103 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.terminalcanvas; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.ScrollBar; + +public class TerminalTextCanvas extends Canvas { + Image image; + Point origin = new Point (0, 0); + public TerminalTextCanvas(Composite parent, int style) { + super(parent, SWT.NO_BACKGROUND | + SWT.NO_REDRAW_RESIZE | SWT.V_SCROLL | SWT.H_SCROLL| style); + loadImage(parent); + + final ScrollBar hBar = getHorizontalBar (); + hBar.addListener (SWT.Selection, new Listener () { + public void handleEvent (Event e) { + int hSelection = hBar.getSelection (); + int destX = -hSelection - origin.x; + Rectangle rect = image.getBounds (); + scroll (destX, 0, 0, 0, rect.width, rect.height, false); + origin.x = -hSelection; + } + }); + final ScrollBar vBar = getVerticalBar (); + vBar.addListener (SWT.Selection, new Listener () { + public void handleEvent (Event e) { + int vSelection = vBar.getSelection (); + int destY = -vSelection - origin.y; + Rectangle rect = image.getBounds (); + scroll (0, destY, 0, 0, rect.width, rect.height, false); + origin.y = -vSelection; + } + }); + addListener (SWT.Resize, new Listener () { + public void handleEvent (Event e) { + Rectangle rect = image.getBounds (); + Rectangle client = getClientArea (); + hBar.setMaximum (rect.width); + vBar.setMaximum (rect.height); + hBar.setThumb (Math.min (rect.width, client.width)); + vBar.setThumb (Math.min (rect.height, client.height)); + int hPage = rect.width - client.width; + int vPage = rect.height - client.height; + int hSelection = hBar.getSelection (); + int vSelection = vBar.getSelection (); + if (hSelection >= hPage) { + if (hPage <= 0) hSelection = 0; + origin.x = -hSelection; + } + if (vSelection >= vPage) { + if (vPage <= 0) vSelection = 0; + origin.y = -vSelection; + } + redraw (); + } + }); + addListener (SWT.Paint, new Listener () { + public void handleEvent (Event e) { + GC gc = e.gc; + System.out.println(gc.getClipping()+" "+origin); + gc.drawImage (image, origin.x, origin.y); + Rectangle rect = image.getBounds (); + Rectangle client = getClientArea (); + int marginWidth = client.width - rect.width; + if (marginWidth > 0) { + gc.fillRectangle (rect.width, 0, marginWidth, client.height); + } + int marginHeight = client.height - rect.height; + if (marginHeight > 0) { + gc.fillRectangle (0, rect.height, client.width, marginHeight); + } + } + }); + } + private void loadImage(Composite parent) { + FileDialog dialog = new FileDialog (parent.getShell(), SWT.OPEN); + dialog.setText ("Open an image file or cancel"); + String string = dialog.open (); + if (string != null) { + image = new Image (getDisplay(), string); + } + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java new file mode 100644 index 00000000000..414622254e9 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java @@ -0,0 +1,333 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.terminalcanvas; + + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.ScrollBar; + +/** + * A Canvas showing a virtual object. + * Virtual: the extent of the total canvas. + * Screen: the visible client area in the screen. + */ +public abstract class VirtualCanvas extends Canvas { + + private Rectangle fVirtualBounds = new Rectangle(0,0,0,0); + private Rectangle fClientArea; + private GC fPaintGC=null; + public VirtualCanvas(Composite parent, int style) { + super(parent, style|SWT.NO_BACKGROUND|SWT.NO_REDRAW_RESIZE); + fPaintGC= new GC(this); + addListener(SWT.Paint, new Listener() { + public void handleEvent(Event event) { + paint(event.gc); + } + }); + addListener(SWT.Resize, new Listener() { + public void handleEvent(Event event) { + fClientArea=getClientArea(); + updateViewRectangle(); + } + }); + getVerticalBar().addListener(SWT.Selection, new Listener() { + public void handleEvent(Event e) { + scrollY((ScrollBar)e.widget); + postScrollEventHandling(e); + + } + + }); + getHorizontalBar().addListener(SWT.Selection, new Listener() { + public void handleEvent(Event e) { + scrollX((ScrollBar)e.widget); + postScrollEventHandling(e); + + } + }); + addDisposeListener(new DisposeListener(){ + public void widgetDisposed(DisposeEvent e) { + if(fPaintGC!=null){ + fPaintGC.dispose(); + fPaintGC=null; + } + } + + }); + } + public void setAutoSelect(boolean on) { + } + public boolean hasAutoSelect() { + return false; + } + public void doAutoSelect() { + } + + /** HACK: run an event loop if the scrollbar is dragged...*/ + private void postScrollEventHandling(Event e) { + if(true&&e.detail==SWT.DRAG) { + // TODO check if this is always ok??? + // used to process runnables while scrolling + // This fixes the update problems when scrolling! + // see: https://bugs.eclipse.org/bugs/show_bug.cgi?id=47582#5 + // TODO investigate: + // The alternative is to call redraw on the new visible area + // redraw(expose.x, expose.y, expose.width, expose.height, true); + + while (!getDisplay().isDisposed() && getDisplay().readAndDispatch()) { + // do nothing here... + } + } + } + + protected void scrollX(ScrollBar hBar) { + int hSelection = hBar.getSelection (); + int destX = -hSelection - fVirtualBounds.x; + fVirtualBounds.x = -hSelection; + scrollSmart(destX, 0); + updateViewRectangle(); + } + protected void scrollXDelta(int delta) { + getHorizontalBar().setSelection(-fVirtualBounds.x+delta); + scrollX(getHorizontalBar()); + } + + protected void scrollY(ScrollBar vBar) { + int vSelection = vBar.getSelection (); + int destY = -vSelection - fVirtualBounds.y; + fVirtualBounds.y = -vSelection; + scrollSmart(0,destY); + updateViewRectangle(); + + } + protected void scrollYDelta(int delta) { + getVerticalBar().setSelection(-fVirtualBounds.y+delta); + scrollY(getVerticalBar()); + } + + + private void scrollSmart(int deltaX, int deltaY) { + Rectangle rect = getBounds(); + scroll (deltaX, deltaY, 0, 0, rect.width, rect.height, false); + } + + protected void revealRect(Rectangle rect) { + Rectangle visibleRect=getScreenRectInVirtualSpace(); + // scroll the X part + int deltaX=0; + if(rect.x0||marginHeight>0){ + Color bg=getBackground(); + gc.setBackground(getBackgroundColor()); + if (marginWidth > 0) { + gc.fillRectangle (width, clipping.y, marginWidth, clipping.height); + } + if (marginHeight > 0) { + gc.fillRectangle (clipping.x, height, clipping.width, marginHeight); + } + gc.setBackground(bg); + } + } + /** + * @private + */ + protected boolean inClipping(Rectangle clipping, Rectangle r) { + // TODO check if this is OK in all cases (the <=!) + // + if(r.x+r.width<=clipping.x) + return false; + if(clipping.x+clipping.width<=r.x) + return false; + if(r.y+r.height<=clipping.y) + return false; + if(clipping.y+clipping.height<=r.y) + return false; + + return true; + } + /** + * @return the screen rect in virtual space (starting with (0,0)) + * of the visible screen. (x,y>=0) + */ + protected Rectangle getScreenRectInVirtualSpace() { + return new Rectangle(fClientArea.x-fVirtualBounds.x,fClientArea.y-fVirtualBounds.y,fClientArea.width,fClientArea.height); + } + /** + * @return the rect in virtual space (starting with (0,0)) + * of the visible screen. (x,y>=0) + */ + protected Rectangle getRectInVirtualSpace(Rectangle r) { + return new Rectangle(r.x-fVirtualBounds.x,r.y-fVirtualBounds.y,r.width,r.height); + } + + /** + * Sets the extend of the virtual dieplay ares + * @param width + * @param height + */ + protected void setVirtualExtend(int width, int height) { + fVirtualBounds.width=width; + fVirtualBounds.height=height; + updateScrollbars(); + updateViewRectangle(); + } + /** + * sets the scrolling origin. Also sets the scrollbars. + * Does NOT redraw! + * Use negative values (move the virtual origin to the top left + * to see something in the screen (which is located at (0,0)) + * @param x + * @param y + */ + protected void setVirtualOrigin(int x, int y) { + fVirtualBounds.x=x; + fVirtualBounds.y=y; + getHorizontalBar().setSelection(x); + getVerticalBar().setSelection(y); + updateViewRectangle(); + } + + /** + * @param x + * @return the virtual coordinate in scree space + */ + protected int virtualXtoScreen(int x) { + return x+fVirtualBounds.x; + } + protected int virtualYtoScreen(int y) { + return y+fVirtualBounds.y; + } + protected int screenXtoVirtual(int x) { + return x-fVirtualBounds.x; + } + protected int screenYtoVirtual(int y) { + return y-fVirtualBounds.y; + } + /** called when the viewed part is changing */ + private Rectangle fViewRectangle=new Rectangle(0,0,0,0); + void updateViewRectangle() { + if( + fViewRectangle.x==-fVirtualBounds.x + && fViewRectangle.y==-fVirtualBounds.y + && fViewRectangle.width==fClientArea.width + && fViewRectangle.height==fClientArea.height + ) + return; + fViewRectangle.x=-fVirtualBounds.x; + fViewRectangle.y=-fVirtualBounds.y; + fViewRectangle.width=fClientArea.width; + fViewRectangle.height=fClientArea.height; + viewRectangleChanged(fViewRectangle.x,fViewRectangle.y,fViewRectangle.width,fViewRectangle.height); + } + protected Rectangle getViewRectangle() { + return fViewRectangle; + } + /** + * Called when the viewed part has changed. + * Override when you need this information.... + * Is only called if the values change! + * @param x visible in virtual space + * @param y visible in virtual space + * @param width + * @param height + */ + protected void viewRectangleChanged(int x, int y, int width, int height) { +// System.out.println(x+" "+y+" "+width+" "+height); + } + /** + * @private + */ + private void updateScrollbars() { + Point size= getSize(); + Rectangle clientArea= getClientArea(); + + ScrollBar horizontal= getHorizontalBar(); + if (fVirtualBounds.width <= clientArea.width) { + // TODO IMPORTANT in ScrollBar.setVisible comment out the line + // that checks 'isvisible' and returns (at the beginning) + horizontal.setVisible(false); + horizontal.setSelection(0); + } else { + horizontal.setPageIncrement(clientArea.width - horizontal.getIncrement()); + int max= fVirtualBounds.width + (size.x - clientArea.width); + horizontal.setMaximum(max); + horizontal.setThumb(size.x > max ? max : size.x); + horizontal.setVisible(true); + } + + ScrollBar vertical= getVerticalBar(); + if (fVirtualBounds.height <= clientArea.height) { + vertical.setVisible(false); + vertical.setSelection(0); + } else { + vertical.setPageIncrement(clientArea.height - vertical.getIncrement()); + int max= fVirtualBounds.height + (size.y - clientArea.height); + vertical.setMaximum(max); + vertical.setThumb(size.y > max ? max : size.y); + vertical.setVisible(true); + } + } +} + diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java new file mode 100644 index 00000000000..f0c29751165 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.Style; + +/** + * Adds line by line + * + */ +abstract class AbstractLineOrientedDataSource implements IDataSource { + abstract public char[] dataSource(); + abstract public Style getStyle(); + + abstract public void next(); + + public int step(ITerminalTextData terminal) { + next(); + char[] chars=dataSource(); + Style style= getStyle(); + int len; + // keep the synchronized block short! + synchronized (terminal) { + terminal.addLine(); + len=Math.min(terminal.getWidth(),chars.length); + int line=terminal.getHeight()-1; + terminal.setChars(line, 0, chars, 0, len, style); + terminal.setCursorLine(line); + terminal.setCursorColumn(len-1); + } + return len; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java new file mode 100644 index 00000000000..6d017f0bd81 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java @@ -0,0 +1,87 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +class DataReader implements Runnable { + final Thread fThread; + final IDataSource fDataSource; + final ITerminalTextData fTerminal; + volatile boolean fStart; + volatile boolean fStop; + volatile int fThrottleTime; + final IStatus fStatus; + final String fName; + DataReader(String name, ITerminalTextData terminal, IDataSource dataSource, IStatus status) { + fStatus=status; + fName=name; + fTerminal=terminal; + fDataSource=dataSource; + fThread=new Thread(this,name); + fThread.setDaemon(true); + fThread.start(); + } + public void run() { + long t0=System.currentTimeMillis()-1; + long c=0; + int lines=0; + while(!Thread.interrupted()) { + while(!fStart || fStop) { + sleep(1); + } + if(fThrottleTime>0) + sleep(fThrottleTime); + // synchronize because we have to be sure the size does not change while + // we add lines + int len=fDataSource.step(fTerminal); + // keep the synchronized block short! + c+=len; + lines++; + if((fThrottleTime>0 || (lines%100==0))&&(System.currentTimeMillis()-t0)>1000) { + long t=System.currentTimeMillis()-t0; + final String s=(c*1000)/(t*1024)+"kb/s " + (lines*1000)/t+"lines/sec "+(c*1000*8)/t+" bits/s "; + fStatus.setStatus(s); + lines=0; + t0=System.currentTimeMillis(); + c=0; + } + } + } + public int getThrottleTime() { + return fThrottleTime; + } + public void setThrottleTime(int throttleTime) { + fThrottleTime = throttleTime; + } + private void sleep(int ms) { + try { + Thread.sleep(ms); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + public boolean isStart() { + return fStart; + } + public void setStart(boolean start) { + fStart = start; + } + public String getName() { + return fName; + } + public boolean isStop() { + return fStop; + } + public void setStop(boolean stop) { + fStop = stop; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java new file mode 100644 index 00000000000..2ffb33edb4f --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import org.eclipse.tm.terminal.model.Style; + +final class FastDataSource extends AbstractLineOrientedDataSource { + char lines[][]=new char[][]{ + "123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 ".toCharArray(), + "abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi ".toCharArray(), + }; + + + int pos; + + public char[] dataSource() { + return lines[pos%lines.length]; + } + + public Style getStyle() { + return null; + } + + public void next() { + pos++; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java new file mode 100644 index 00000000000..07539398102 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java @@ -0,0 +1,72 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import java.io.BufferedReader; +import java.io.FileReader; +import java.io.IOException; + +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +/** + * Reads the file in an infinite loop. + * Makes lines containing 'x' bold. + * + */ +final class FileDataSource extends AbstractLineOrientedDataSource { + private final String fFile; + + BufferedReader reader; + + String line; + + Style style; + + Style styleNormal=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("white")); + + Style styleBold=styleNormal.setBold(true); + + FileDataSource(String file) { + fFile = file; + } + + public char[] dataSource() { + return line.toCharArray(); + } + + public Style getStyle() { + return style; + } + + public void next() { + try { + if(reader==null) + reader = new BufferedReader(new FileReader(fFile)); + line=reader.readLine(); + if(line==null) { + reader.close(); + reader=null; + // reopen the file + next(); + return; + } + if(line.lastIndexOf('x')>0) + style=styleBold; + else + style=styleNormal; + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java new file mode 100644 index 00000000000..938916d8048 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import org.eclipse.tm.terminal.model.ITerminalTextData; + +interface IDataSource { + /** + * @param terminal + * @return number of characters changed + */ + int step(ITerminalTextData terminal); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java new file mode 100644 index 00000000000..d060e779f3a --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java @@ -0,0 +1,15 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +public interface IStatus { + void setStatus(String message); +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java new file mode 100644 index 00000000000..7a3dc35981d --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +final class LineCountingDataSource extends AbstractLineOrientedDataSource { + Style styleNormal=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("red")); + + Style styles[]=new Style[] { + styleNormal, + styleNormal.setBold(true), + styleNormal.setForground("blue"), + styleNormal.setForground("yellow"), + styleNormal.setBold(true).setUnderline(true), + styleNormal.setReverse(true), + styleNormal.setReverse(true).setBold(true), + styleNormal.setReverse(true).setUnderline(true) + }; + + int pos; + + public char[] dataSource() { + return (pos+" 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789").toCharArray(); + } + + public Style getStyle() { + return styles[pos%styles.length]; + } + + public void next() { + pos++; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java new file mode 100644 index 00000000000..ee002861b79 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import java.util.Random; + +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.Style; +import org.eclipse.tm.terminal.model.StyleColor; + +public class RandomDataSource implements IDataSource { + Random fRandom=new Random(); + Style styleNormal=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("green")); + Style styles[]=new Style[] { + styleNormal, + styleNormal.setBold(true), + styleNormal.setForground("red"), + styleNormal.setForground("yellow"), + styleNormal.setBold(true).setUnderline(true), + styleNormal.setReverse(true), + styleNormal.setReverse(true).setBold(true), + styleNormal.setReverse(true).setUnderline(true) + }; + + public int step(ITerminalTextData terminal) { + int N=fRandom.nextInt(1000); + int h=terminal.getHeight(); + int w=terminal.getWidth(); + synchronized (terminal) { + for (int i = 0; i < N; i++) { + int line=fRandom.nextInt(h); + int col=fRandom.nextInt(w); + char c=(char)('A'+fRandom.nextInt('z'-'A')); + Style style=styles[fRandom.nextInt(styles.length)]; + terminal.setChar(line, col, c, style); + } + } + return N; + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java new file mode 100644 index 00000000000..84ce334b59e --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java @@ -0,0 +1,254 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import java.io.File; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.layout.RowData; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.internal.terminal.textcanvas.ITextCanvasModel; +import org.eclipse.tm.internal.terminal.textcanvas.PollingTextCanvasModel; +import org.eclipse.tm.internal.terminal.textcanvas.TextCanvas; +import org.eclipse.tm.internal.terminal.textcanvas.TextLineRenderer; +import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; +import org.eclipse.tm.terminal.model.TerminalTextDataFactory; + +/** + * adjust columns when table gets resized.... + * + */ +public class TerminalTextUITest { + static TextCanvas fgTextCanvas; + static ITextCanvasModel fgModel; + static ITerminalTextData fTerminalModel; + static Label fStatusLabel; + static volatile int fHeight; + static volatile int fWidth; + static DataReader fDataReader; + static List fDataReaders=new ArrayList(); + private static Text heightText; + static class Status implements IStatus { + public void setStatus(final String s) { + if(!fStatusLabel.isDisposed()) + Display.getDefault().asyncExec(new Runnable(){ + public void run() { + if(!fStatusLabel.isDisposed()) + fStatusLabel.setText(s); + }}); + } + + } + public static void main(String[] args) { + Display display = new Display(); + Shell shell = new Shell(display); + shell.setLayout(new GridLayout()); + Composite composite=new Composite(shell, SWT.NONE); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + RowLayout layout = new RowLayout(SWT.HORIZONTAL); + layout.wrap = true; + layout.fill = false; + fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); + fHeight=24; + fWidth=80; + fTerminalModel.setDimensions(fHeight, fWidth); + fTerminalModel.setMaxHeight(fHeight); + ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); + // TODO how to get the initial size correctly! + snapshot.updateSnapshot(false); + fgModel=new PollingTextCanvasModel(snapshot); + fgTextCanvas=new TextCanvas(shell,fgModel, SWT.NONE); + fgTextCanvas.setCellRenderer(new TextLineRenderer(fgTextCanvas,fgModel)); + fgTextCanvas.setLayoutData(new GridData(GridData.FILL_BOTH)); + + + composite.setLayout(layout); + addAutorevealCursorButton(composite); + Text maxHeightText = addMaxHeightInput(composite); + addHeightInput(composite, maxHeightText); + addWidthText(composite); + Text throttleText = addThrottleText(composite); + + IStatus status=new Status(); + DataReader reader=new DataReader("Line Count",fTerminalModel,new LineCountingDataSource(),status); + addDataReader(composite, reader); + reader=new DataReader("Fast",fTerminalModel,new FastDataSource(),status); + addDataReader(composite, reader); + reader=new DataReader("Random",fTerminalModel,new RandomDataSource(),status); + addDataReader(composite, reader); + for (int i = 0; i < args.length; i++) { + File file=new File(args[i]); + reader=new DataReader(file.getName(),fTerminalModel,new VT100DataSource(args[i]),status); + addDataReader(composite, reader); + } + addStopAllButton(composite, reader); + + fStatusLabel=new Label(shell,SWT.NONE); + fStatusLabel.setLayoutData(new GridData(250,15)); + throttleText.setText("100"); + setThrottleForAll(100); + + if(args.length==0) + addLabel(composite, "[Files can be added via commandline]"); + shell.setSize(600,300); + shell.open(); + while (!shell.isDisposed()) { + if (!display.readAndDispatch()) + display.sleep(); + } + display.dispose(); + } + private static Text addMaxHeightInput(Composite composite) { + addLabel(composite, "maxHeight:"); + final Text maxHeightText=new Text(composite,SWT.BORDER); + setLayoutData(maxHeightText,30); + maxHeightText.addModifyListener(new ModifyListener(){ + public void modifyText(ModifyEvent e) { + synchronized (fTerminalModel) { + int height=textToInt(maxHeightText); + if(height<1) + return; + if(fTerminalModel.getHeight()>height) { + fTerminalModel.scroll(0, fTerminalModel.getHeight(), height-fTerminalModel.getHeight()); + fTerminalModel.setDimensions(height,fTerminalModel.getWidth()); + heightText.setText(height+""); + } + fTerminalModel.setMaxHeight(height); + } + } + }); + maxHeightText.setText(fHeight+""); + return maxHeightText; + } + private static void addHeightInput(Composite composite, final Text maxHeightText) { + addLabel(composite,"heigth:"); + heightText=new Text(composite,SWT.BORDER); + setLayoutData(heightText,30); + heightText.addModifyListener(new ModifyListener(){ + public void modifyText(ModifyEvent e) { + synchronized (fTerminalModel) { + int height=textToInt(heightText); + if(height<1) + return; + maxHeightText.setText(""+height); + fTerminalModel.setDimensions(height,fTerminalModel.getWidth()); + fTerminalModel.setMaxHeight(height); + } + } + }); + heightText.setText(fHeight+""); + } + private static Text addWidthText(Composite composite) { + addLabel(composite,"width:"); + final Text widthText=new Text(composite,SWT.BORDER); + setLayoutData(widthText,30); + widthText.addModifyListener(new ModifyListener(){ + public void modifyText(ModifyEvent e) { + synchronized (fTerminalModel) { + int width=textToInt(widthText); + if(width>1) + fTerminalModel.setDimensions(fTerminalModel.getHeight(), width); + } + } + }); + widthText.setText(fWidth+""); + return widthText; + } + private static Text addThrottleText(Composite composite) { + addLabel(composite,"throttle:"); + final Text throttleText=new Text(composite,SWT.BORDER); + setLayoutData(throttleText,30); + throttleText.addModifyListener(new ModifyListener(){ + public void modifyText(ModifyEvent e) { + synchronized (fTerminalModel) { + int throttle=textToInt(throttleText); + setThrottleForAll(throttle); + } + }}); + return throttleText; + } + private static void addStopAllButton(Composite composite, DataReader reader) { + final Button stopAllButton=new Button(composite,SWT.CHECK); + stopAllButton.setText("Stop ALL"); + stopAllButton.addSelectionListener(new SelectionAdapter(){ + + public void widgetSelected(SelectionEvent e) { + boolean stop=stopAllButton.getSelection(); + for (Iterator iterator = fDataReaders.iterator(); iterator.hasNext();) { + DataReader reader = (DataReader) iterator.next(); + reader.setStop(stop); + + }}}); + stopAllButton.setSelection(reader.isStart()); + } + private static void addAutorevealCursorButton(Composite composite) { + final Button button=new Button(composite,SWT.CHECK); + button.setText("ScrollLock"); + button.addSelectionListener(new SelectionAdapter(){ + public void widgetSelected(SelectionEvent e) { + boolean scrollLock=button.getSelection(); + fgTextCanvas.setScrollLock(scrollLock); + } + }); + button.setSelection(fgTextCanvas.isScrollLock()); + } + private static void addLabel(Composite composite,String message) { + Label label; + label=new Label(composite, SWT.NONE); + label.setText(message); + } + private static void addDataReader(Composite composite, final DataReader reader) { + fDataReaders.add(reader); + final Button button=new Button(composite,SWT.CHECK); + button.setText(reader.getName()); + button.addSelectionListener(new SelectionAdapter(){ + + public void widgetSelected(SelectionEvent e) { + reader.setStart(button.getSelection()); + }}); + button.setSelection(reader.isStart()); + + } + static private void setThrottleForAll(int throttle) { + for (Iterator iterator = fDataReaders.iterator(); iterator.hasNext();) { + DataReader reader = (DataReader) iterator.next(); + reader.setThrottleTime(throttle); + } + } + static void setLayoutData(Control c,int width) { + c.setLayoutData(new RowData(width,-1)); + } + static int textToInt(Text text) { + try { + return Integer.valueOf(text.getText()).intValue(); + } catch (Exception ex) { + return 0; + } + } +} + diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java new file mode 100644 index 00000000000..9e6908df0ec --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.test.ui; + +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; +import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.model.ITerminalTextData; + +/** + * Reads the file in an infinite loop. + * Makes lines containing 'x' bold. + * + */ +final class VT100DataSource implements IDataSource { + VT100Emulator fEmulator; + volatile int fAvailable; + volatile int fRead; + private final String fFile; + + VT100DataSource(String file) { + fFile=file; + } + class InfiniteFileInputStream extends InputStream { + public InfiniteFileInputStream() { + try { + fInputStream=new FileInputStream(fFile); + } catch (FileNotFoundException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + } + public int available() throws IOException { + return fAvailable; + } + private InputStream fInputStream; + public int read() throws IOException { + throw new IOException(); + } + public int read(byte[] b, int off, int len) throws IOException { + while(fAvailable==0) { + try { + Thread.sleep(1); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + len=fAvailable; + int n=fInputStream.read(b, off, len); + if(n<=0) { + fInputStream.close(); + fInputStream=new FileInputStream(fFile); + n=fInputStream.read(b, off, len); + } + fAvailable-=n; + return n; + } + + } + void init(ITerminalTextData terminal) { + fEmulator=new VT100Emulator(terminal,new ITerminalControlForText() { + + public void disconnectTerminal() { + // TODO Auto-generated method stub + + } + + public OutputStream getOutputStream() { + return new ByteArrayOutputStream(); + } + + public TerminalState getState() { + return TerminalState.CONNECTED; + } + + public ITerminalConnectorInfo getTerminalConnectorInfo() { + return null; + } + + public void setState(TerminalState state) { + } + + public void setTerminalTitle(String title) { + }},new InfiniteFileInputStream()); + } + public int step(ITerminalTextData terminal) { + synchronized(terminal) { + if(fEmulator==null) { + init(terminal); +// fEmulator.setDimensions(48, 132); + fEmulator.setDimensions(24, 80); + fEmulator.setCrAfterNewLine(true); + + } + fAvailable=80; + fEmulator.processText(); + } + return 80; + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java new file mode 100644 index 00000000000..dd105f603ad --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.textcanvas; + +import java.io.OutputStream; + +public class PipedInputStreamPerformanceTest { + + /** + * @param args + * @throws InterruptedException + */ + public static void main(String[] args) throws InterruptedException { + runPerformanceTest(); + runPerformanceTest(); + } + + private static void runPerformanceTest() throws InterruptedException { + PipedInputStream in=new PipedInputStream(1024); + OutputStream out=in.getOutputStream(); + PipedStreamTest.runPipe("",in, out,100); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java new file mode 100644 index 00000000000..22ac1a03b7e --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java @@ -0,0 +1,103 @@ +package org.eclipse.tm.internal.terminal.textcanvas; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + + +class PipedStreamTest { + static class ReadThread extends Thread implements Runnable { + + InputStream pi = null; + + OutputStream po = null; + + ReadThread(String process, InputStream pi, OutputStream po) { + this.pi = pi; + this.po = po; + setDaemon(true); + } + + public void run() { + byte[] buffer = new byte[2048]; + int bytes_read; + try { + for (;;) { + bytes_read = pi.read(buffer); + if (bytes_read == -1) { + po.close(); + pi.close(); + return; + } + po.write(buffer, 0, bytes_read); + } + } catch (Exception e) { + e.printStackTrace(); + } + } + + } + static class FakeInputStream extends InputStream { + int N; + FakeInputStream(int n) { + N=n; + } + public int read(byte[] b, int off, int len) throws IOException { + if(N==0) + return -1; + int n=Math.min(len,N); + for (int i = off; i < off+n; i++) { + b[i]='x'; + } + N-=n; + return n; + } + public int read() throws IOException { + throw new UnsupportedOperationException(); + } + /* + * available has to be implemented! + */ + public int available() throws IOException { + return N; + } + } + static class FakeOutputStream extends OutputStream { + long N; + public void write(int b) throws IOException { + throw new UnsupportedOperationException(); + } + public void write(byte[] b, int off, int len) throws IOException { + N+=len; + } + } + public static void main(String[] args) throws IOException, InterruptedException { + while(true) { + runSunTest(); + runMyTest(); + } + } + private static void runSunTest() throws IOException, InterruptedException { + java.io.PipedInputStream in = new java.io.PipedInputStream(); + OutputStream out = new java.io.PipedOutputStream(in); + runPipe("Sun ",in, out,10); + } + private static void runMyTest() throws IOException, InterruptedException { + PipedInputStream in=new PipedInputStream(4*1024); + OutputStream out=in.getOutputStream(); + runPipe("My ",in, out,99); + } + public static void runPipe(String what,InputStream writeIn, OutputStream readOut,int N) throws InterruptedException { + FakeInputStream in=new FakeInputStream(N*1000*1000); + FakeOutputStream out=new FakeOutputStream(); + ReadThread rt = new ReadThread("reader", in , readOut); + ReadThread wt = new ReadThread("writer", writeIn, out); + long t0=System.currentTimeMillis(); + rt.start(); + wt.start(); + wt.join(); + long t=System.currentTimeMillis(); + long n=out.N; + System.out.println(what+n + " byte in " +(t-t0)+" ms -> "+(1000*n)/((t-t0+1)*1024)+" kb/sec"); + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java new file mode 100644 index 00000000000..e641c74d7b6 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +import junit.framework.TestCase; + +public class StyleColorTest extends TestCase { + + + public void testEqualsObject() { + assertEquals(StyleColor.getStyleColor("foo"),StyleColor.getStyleColor("foo")); + assertFalse(StyleColor.getStyleColor("foox").equals(StyleColor.getStyleColor("foo"))); + } + + public void testSameObject() { + assertSame(StyleColor.getStyleColor("foo"),StyleColor.getStyleColor("foo")); + assertNotSame(StyleColor.getStyleColor("foox"),StyleColor.getStyleColor("foo")); + } + + public void testToString() { + assertEquals("xxx", StyleColor.getStyleColor("xxx").toString()); + } + + public void testGetName() { + assertEquals("xxx", StyleColor.getStyleColor("xxx").getName()); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java new file mode 100644 index 00000000000..9f0cd75172f --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java @@ -0,0 +1,116 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.model; + +import junit.framework.TestCase; + +public class StyleTest extends TestCase { + final StyleColor c1=StyleColor.getStyleColor("c1"); + final StyleColor c2=StyleColor.getStyleColor("c2"); + final StyleColor c3=StyleColor.getStyleColor("c3"); + + public void testGetStyle() { + Style s1=Style.getStyle(c1, c2, true, false, true, false); + Style s2=Style.getStyle(c1, c2, true, false, true, false); + assertEquals(s1,s2); + assertSame(s1,s2); + s1=s1.setBlink(!s1.isBlink()); + assertNotSame(s1,s2); + assertFalse(s1.equals(s2)); + s1=s1.setBlink(!s1.isBlink()); + assertSame(s1,s2); + } + + public void testSetForground() { + Style s1=Style.getStyle(c1, c2, true, false, true, false); + Style s2=s1; + s2=s1.setForground(c3); + assertNotSame(s1,s2); + assertFalse(s1.equals(s2)); + assertSame(s2.getForground(), c3); + assertSame(s1.getForground(), c1); + assertSame(s1.getBackground(), c2); + assertSame(s2.getBackground(), c2); + s2=s2.setForground(c1); + assertSame(s1, s2); + } + + public void testSetBackground() { + Style s1=Style.getStyle(c1, c2, true, false, true, false); + Style s2=s1; + s2=s1.setBackground(c3); + assertNotSame(s1,s2); + assertFalse(s1.equals(s2)); + assertSame(s2.getForground(), c1); + assertSame(s1.getForground(), c1); + assertSame(s1.getBackground(), c2); + assertSame(s2.getBackground(), c3); + s2=s2.setBackground(c2); + assertSame(s1, s2); + } + + public void testSetBold() { + Style s1=getDefaultStyle(); + Style s2=s1; + assertSame(s1,s2); + assertFalse(s2.isBold()); + s2=s2.setBold(true); + assertNotSame(s1,s2); + assertTrue(s2.isBold()); + s2=s2.setBold(false); + assertSame(s1,s2); + assertFalse(s2.isBold()); + } + + public void testSetBlink() { + Style s1=getDefaultStyle(); + Style s2=s1; + assertSame(s1,s2); + assertFalse(s2.isBlink()); + s2=s2.setBlink(true); + assertNotSame(s1,s2); + assertTrue(s2.isBlink()); + s2=s2.setBlink(false); + assertSame(s1,s2); + assertFalse(s2.isBlink()); + } + + public void testSetUnderline() { + Style s1=getDefaultStyle(); + Style s2=s1; + assertSame(s1,s2); + assertFalse(s2.isUnderline()); + s2=s2.setUnderline(true); + assertNotSame(s1,s2); + assertTrue(s2.isUnderline()); + s2=s2.setUnderline(false); + assertSame(s1,s2); + assertFalse(s2.isUnderline()); + } + + public void testSetReverse() { + Style s1=getDefaultStyle(); + Style s2=s1; + assertSame(s1,s2); + assertFalse(s2.isReverse()); + s2=s2.setReverse(true); + assertNotSame(s1,s2); + assertTrue(s2.isReverse()); + s2=s2.setReverse(false); + assertSame(s1,s2); + assertFalse(s2.isReverse()); + } + + private Style getDefaultStyle() { + return Style.getStyle(c1, c2, false, false, false, false); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/readme.txt b/org.eclipse.tm.terminal.test/src/readme.txt deleted file mode 100644 index e69de29bb2d..00000000000 From 5adbff1e78ed39a44b8c97c5da721a613d7c7ae0 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 18:44:59 +0000 Subject: [PATCH 181/843] speedtest added --- .../META-INF/MANIFEST.MF | 3 +- org.eclipse.tm.terminal.test/plugin.xml | 21 ++++ .../speedtest/SpeedTestConnection.java | 100 ++++++++++++++++ .../speedtest/SpeedTestConnector.java | 111 ++++++++++++++++++ .../terminal/speedtest/SpeedTestSettings.java | 45 +++++++ .../speedtest/SpeedTestSettingsPage.java | 64 ++++++++++ org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 7 files changed, 344 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.tm.terminal.test/plugin.xml create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 78f2be856a3..7bc202145c3 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.test +Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -10,3 +10,4 @@ Require-Bundle: org.junit, org.eclipse.swt, org.eclipse.jface Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Export-Package: org.eclipse.tm.internal.terminal.speedtest diff --git a/org.eclipse.tm.terminal.test/plugin.xml b/org.eclipse.tm.terminal.test/plugin.xml new file mode 100644 index 00000000000..8a517646e4e --- /dev/null +++ b/org.eclipse.tm.terminal.test/plugin.xml @@ -0,0 +1,21 @@ + + + + + + + + diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java new file mode 100644 index 00000000000..5e2da36c8ff --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java @@ -0,0 +1,100 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.speedtest; + +import java.io.IOException; +import java.io.InputStream; + +import org.eclipse.swt.widgets.Display; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +public class SpeedTestConnection extends Thread { + private static int fgNo; + private final ITerminalControl fControl; + private final InputStream fInputStream; + private final SpeedTestSettings fSettings; + protected SpeedTestConnection(InputStream inputStream, SpeedTestSettings settings,ITerminalControl control) { + super("SpeedTestConnection-"+fgNo++); + fControl = control; + fInputStream=inputStream; + fSettings=settings; + } + public void run() { + fControl.setState(TerminalState.CONNECTED); + + try { + readDataForever(fInputStream); + } catch (IOException e) { + connectFailed(e.getMessage(),e.getMessage()); + } + // when reading is done, we set the state to closed + fControl.setState(TerminalState.CLOSED); + } + private void connectFailed(String terminalText, String msg) { + Logger.log(terminalText); + fControl.displayTextInTerminal(terminalText); + fControl.setState(TerminalState.CLOSED); + fControl.setMsg(msg); + } + /** + * Read the data from the input file and display it in the terminal. + * @param in + * @throws IOException + */ + private void readDataForever(InputStream in) throws IOException { + long N=0; + long T=0; + long tDisplay=0; + int NCalls=0; + // read the data + byte bytes[]=new byte[fSettings.getBufferSize()]; + // read until the thread gets interrupted.... + String info=""; + while(!isInterrupted()) { + // read some bytes + int n; + if((n=in.read(bytes))==-1) { + fControl.displayTextInTerminal("\033[2J\033c"+info); +// long rate=(1000*N)/T; +// setTitle(rate+" baud DONE"); +// try { +// Thread.sleep(10000); +// } catch (InterruptedException e) { +// // no need to catch it +// } + return; + } + // we assume we get ASCII UTF8 bytes + long t0=System.currentTimeMillis(); + fControl.getRemoteToTerminalOutputStream().write(bytes,0,n); + long t=System.currentTimeMillis(); + T+=t-t0; + N+=n; + NCalls++; + if(t-tDisplay>1000 && T>0) { + long rate=(1000*N)/T; + info=rate+" byte/s = "+rate*8+" baud "+"bytes/call="+N/NCalls; + info=rate+" byte/s with buffer size "+fSettings.getBufferSize(); + setTitle(info); + tDisplay=System.currentTimeMillis(); + } + } + } + private void setTitle(final String title) { + Display.getDefault().asyncExec(new Runnable(){ + public void run() { + fControl.setTerminalTitle(title); + }}); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java new file mode 100644 index 00000000000..ad42a5aa10d --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.speedtest; + +import java.io.BufferedInputStream; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +public class SpeedTestConnector implements ITerminalConnector { + final SpeedTestSettings fSettings=new SpeedTestSettings(); + InputStream fInputStream; + OutputStream fOutputStream; + ITerminalControl fControl; + SpeedTestConnection fConnection; + public SpeedTestConnector() { + } + synchronized public void connect(ITerminalControl control) { + fControl=control; + fControl.setState(TerminalState.CONNECTING); + String file=fSettings.getInputFile(); + try { + fInputStream=new BufferedInputStream(new FileInputStream(file)); + } catch (FileNotFoundException e) { + disconnect(); + fControl.setMsg(file+": "+e.getLocalizedMessage()); + return; + } + fOutputStream=System.out; + fControl.setTerminalTitle(fSettings.getInputFile()); + fConnection=new SpeedTestConnection(fInputStream,fSettings,fControl); + fConnection.start(); + } + + synchronized public void disconnect() { + if(fConnection!=null){ + fConnection.interrupt(); + fConnection=null; + } + if (fInputStream != null) { + try { + fInputStream.close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + fInputStream=null; + if (fOutputStream != null) { + try { + fOutputStream.close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + fOutputStream=null; + fControl.setState(TerminalState.CLOSED); + } + synchronized public InputStream getInputStream() { + return fInputStream; + } + + synchronized public OutputStream getOutputStream() { + return fOutputStream; + } + + public String getSettingsSummary() { + return fSettings.getInputFile(); + } + + public void initialize() { + //throw new RuntimeException("XXX problems\nSpeedTest\nXXX!"); + } + + public boolean isLocalEcho() { + return false; + } + + public void load(ISettingsStore store) { + fSettings.load(store); + + } + + public ISettingsPage makeSettingsPage() { + return new SpeedTestSettingsPage(fSettings); + } + + public void save(ISettingsStore store) { + fSettings.save(store); + + } + + public void setTerminalSize(int newWidth, int newHeight) { + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java new file mode 100644 index 00000000000..ba3f2713106 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.speedtest; + + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +public class SpeedTestSettings { + String fInputFile=""; + String fBufferSize=""; + String getInputFile() { + return fInputFile; + } + public String getBufferSizeString() { + return getBufferSize()+""; + } + public void setBufferSizeString(String bufferSize) { + fBufferSize = bufferSize; + } + public int getBufferSize() { + try { + return Integer.parseInt(fBufferSize); + } catch(RuntimeException e) { + return 1024; + } + } + void setInputFile(String testFile) { + fInputFile = testFile; + } + public void load(ISettingsStore store) { + fInputFile=store.get("inputFile"); + fBufferSize=store.get("bufferSize"); + } + public void save(ISettingsStore store) { + store.put("inputFile", fInputFile); + } +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java new file mode 100644 index 00000000000..950c8c9f18a --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.speedtest; + +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.swt.widgets.Label; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; + +public class SpeedTestSettingsPage implements ISettingsPage { + final SpeedTestSettings fSettings; + Text fInputFile; + Text fBufferSize; + SpeedTestSettingsPage(SpeedTestSettings settings) { + fSettings=settings; + } + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + + composite.setLayout(gridLayout); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fInputFile=createTextField(composite, "Input File:");//$NON-NLS-1$ + fBufferSize=createTextField(composite, "Buffer Size:");//$NON-NLS-1$ + loadSettings(); + } + private Text createTextField(Composite composite, String label) { + new Label(composite, SWT.RIGHT).setText(label); + Text text = new Text(composite, SWT.BORDER); + text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + return text; + } + + public void loadSettings() { + setText(fInputFile, fSettings.getInputFile()); + setText(fBufferSize, fSettings.getBufferSizeString()); + } + private void setText(Text text, String value) { + if(value==null) + value=""; + text.setText(value); + } + + public void saveSettings() { + fSettings.setInputFile(fInputFile.getText()); + fSettings.setBufferSizeString(fBufferSize.getText()); + } + + public boolean validateSettings() { + return true; + } + +} diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 28ebaa8b016..1bec5807239 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -15,6 +15,6 @@ Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view,org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model From 5453da9558acbf0a662d0c95898bc750abc6b186 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Oct 2007 23:56:38 +0000 Subject: [PATCH 182/843] speedtest improved --- .../speedtest/SpeedTestConnection.java | 72 ++++++++++++------- .../terminal/speedtest/SpeedTestSettings.java | 17 +++++ .../speedtest/SpeedTestSettingsPage.java | 4 ++ 3 files changed, 66 insertions(+), 27 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java index 5e2da36c8ff..dba3bc2ed8d 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java @@ -10,8 +10,11 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.speedtest; +import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.OutputStream; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; @@ -33,7 +36,7 @@ public class SpeedTestConnection extends Thread { fControl.setState(TerminalState.CONNECTED); try { - readDataForever(fInputStream); + readDataForever(fInputStream,fControl.getRemoteToTerminalOutputStream()); } catch (IOException e) { connectFailed(e.getMessage(),e.getMessage()); } @@ -51,43 +54,58 @@ public class SpeedTestConnection extends Thread { * @param in * @throws IOException */ - private void readDataForever(InputStream in) throws IOException { + private void readDataForever(InputStream in, OutputStream os) throws IOException { long N=0; long T=0; long tDisplay=0; int NCalls=0; + int bufferSize=fSettings.getBufferSize(); + int throttle=fSettings.getThrottle(); // read the data - byte bytes[]=new byte[fSettings.getBufferSize()]; + BufferedReader reader = new BufferedReader(new InputStreamReader(in)); // read until the thread gets interrupted.... String info=""; - while(!isInterrupted()) { + int n=0; + byte[] crnl="\r\n".getBytes("UTF-8"); + long t0=System.currentTimeMillis(); + String line=null; + do { + line=reader.readLine(); + // read some bytes - int n; - if((n=in.read(bytes))==-1) { + if(line==null) { fControl.displayTextInTerminal("\033[2J\033c"+info); -// long rate=(1000*N)/T; -// setTitle(rate+" baud DONE"); -// try { -// Thread.sleep(10000); -// } catch (InterruptedException e) { -// // no need to catch it -// } - return; + } else { + os.write(line.getBytes("UTF-8")); + os.write(crnl); + n+=line.length(); } - // we assume we get ASCII UTF8 bytes - long t0=System.currentTimeMillis(); - fControl.getRemoteToTerminalOutputStream().write(bytes,0,n); - long t=System.currentTimeMillis(); - T+=t-t0; - N+=n; - NCalls++; - if(t-tDisplay>1000 && T>0) { - long rate=(1000*N)/T; - info=rate+" byte/s = "+rate*8+" baud "+"bytes/call="+N/NCalls; - info=rate+" byte/s with buffer size "+fSettings.getBufferSize(); - setTitle(info); - tDisplay=System.currentTimeMillis(); + if(throttle>0) + sleep(throttle); + // process at least this number of characters to update the UI + if(line==null || n>bufferSize) { + // we assume we get ASCII UTF8 bytes + long t=System.currentTimeMillis(); + T+=t-t0; + N+=n; + NCalls++; + if(t-tDisplay>1000 && T>0) { + long rate=(1000*N)/T; + info=rate+" byte/s = "+rate*8+" baud "+"bytes/call="+N/NCalls; + info=rate+" byte/s with buffer size "+fSettings.getBufferSize(); + setTitle(info); + tDisplay=System.currentTimeMillis(); + } + n=0; + t0=System.currentTimeMillis(); } + } while(line!=null); + } + private void sleep(int ms) { + try { + Thread.sleep(ms); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); } } private void setTitle(final String title) { diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index ba3f2713106..4301eda4984 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -16,6 +16,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class SpeedTestSettings { String fInputFile=""; String fBufferSize=""; + String fThrottle; String getInputFile() { return fInputFile; } @@ -38,8 +39,24 @@ public class SpeedTestSettings { public void load(ISettingsStore store) { fInputFile=store.get("inputFile"); fBufferSize=store.get("bufferSize"); + fThrottle=store.get("throttle"); } public void save(ISettingsStore store) { store.put("inputFile", fInputFile); + store.put("bufferSize", fBufferSize); + store.put("throttle", fInputFile); + } + public String getThrottleString() { + return fThrottle; + } + public int getThrottle() { + try { + return Integer.parseInt(fThrottle); + } catch(RuntimeException e) { + return 1024; + } + } + public void setThrottleString(String throttle) { + fThrottle = throttle; } } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java index 950c8c9f18a..1f0c5a2344f 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java @@ -22,6 +22,7 @@ public class SpeedTestSettingsPage implements ISettingsPage { final SpeedTestSettings fSettings; Text fInputFile; Text fBufferSize; + private Text fThrottle; SpeedTestSettingsPage(SpeedTestSettings settings) { fSettings=settings; } @@ -33,6 +34,7 @@ public class SpeedTestSettingsPage implements ISettingsPage { composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fInputFile=createTextField(composite, "Input File:");//$NON-NLS-1$ fBufferSize=createTextField(composite, "Buffer Size:");//$NON-NLS-1$ + fThrottle=createTextField(composite, "Throttle:");//$NON-NLS-1$ loadSettings(); } private Text createTextField(Composite composite, String label) { @@ -45,6 +47,7 @@ public class SpeedTestSettingsPage implements ISettingsPage { public void loadSettings() { setText(fInputFile, fSettings.getInputFile()); setText(fBufferSize, fSettings.getBufferSizeString()); + setText(fThrottle, fSettings.getThrottleString()); } private void setText(Text text, String value) { if(value==null) @@ -55,6 +58,7 @@ public class SpeedTestSettingsPage implements ISettingsPage { public void saveSettings() { fSettings.setInputFile(fInputFile.getText()); fSettings.setBufferSizeString(fBufferSize.getText()); + fSettings.setThrottleString(fThrottle.getText()); } public boolean validateSettings() { From 05762f33a7d3574a0297e36428e5600dc2f0cc60 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 5 Oct 2007 00:06:54 +0000 Subject: [PATCH 183/843] better throttle --- .../tm/internal/terminal/speedtest/SpeedTestConnection.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java index dba3bc2ed8d..b77ed9ab7e9 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java @@ -80,10 +80,10 @@ public class SpeedTestConnection extends Thread { os.write(crnl); n+=line.length(); } - if(throttle>0) - sleep(throttle); // process at least this number of characters to update the UI if(line==null || n>bufferSize) { + if(throttle>0) + sleep(throttle); // we assume we get ASCII UTF8 bytes long t=System.currentTimeMillis(); T+=t-t0; From a6f144f5a52a2ad3da92e0e1a0b42170356a954c Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 5 Oct 2007 03:06:10 +0000 Subject: [PATCH 184/843] throttle was saved wrongly --- .../tm/internal/terminal/speedtest/SpeedTestSettings.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index 4301eda4984..84f94226ce0 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -44,7 +44,7 @@ public class SpeedTestSettings { public void save(ISettingsStore store) { store.put("inputFile", fInputFile); store.put("bufferSize", fBufferSize); - store.put("throttle", fInputFile); + store.put("throttle", fThrottle); } public String getThrottleString() { return fThrottle; @@ -53,7 +53,7 @@ public class SpeedTestSettings { try { return Integer.parseInt(fThrottle); } catch(RuntimeException e) { - return 1024; + return 0; } } public void setThrottleString(String throttle) { From a26aaa1e7191552620eb85c91d6aa9d8d81890fb Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 5 Oct 2007 13:01:02 +0000 Subject: [PATCH 185/843] 199285: [terminal][api] id is optional to not break API https://bugs.eclipse.org/bugs/show_bug.cgi?id=199285 --- org.eclipse.tm.terminal/schema/terminalConnector.exsd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd index fcae9c202c8..453c7491ebd 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -54,7 +54,7 @@ - + Uniquely identify this connector From 384a4bd15b25a84c7fd60fdad295508f12162a6c Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 8 Oct 2007 04:15:46 +0000 Subject: [PATCH 186/843] bug 205443: [terminal] Workbench terminal view refresh problem between perspectives https://bugs.eclipse.org/bugs/show_bug.cgi?id=205443 --- .../terminal/emulator/VT100Emulator.java | 5 +- .../emulator/VT100TerminalControl.java | 10 +-- .../textcanvas/AbstractTextCanvasModel.java | 5 +- .../terminal/textcanvas/TextCanvas.java | 84 +++++++++++++++++-- .../terminal/textcanvas/VirtualCanvas.java | 43 ++++++---- 5 files changed, 107 insertions(+), 40 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 0caa98ef586..d503d5aa3b9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -148,15 +148,12 @@ public class VT100Emulator implements ControlListener { else text=new VT100EmulatorBackend(data); - text.setDimensions(24, 80); +// text.setDimensions(24, 80); Style style=Style.getStyle("BLACK", "WHITE"); //$NON-NLS-1$ //$NON-NLS-2$ text.setDefaultStyle(style); text.setStyle(style); } public void setDimensions(int lines,int cols) { - // TODO allow to set the dimension in the UI and or prefs - lines=Math.max(3, lines); - cols=Math.max(10, cols); text.setDimensions(lines, cols); ITerminalConnector telnetConnection = getConnector(); if (telnetConnection != null) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 441d0c98071..baf48386efb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -37,14 +37,12 @@ import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.graphics.Rectangle; 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.swt.widgets.Display; import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; @@ -114,7 +112,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fConnectors=connectors; fTerminalListener=target; fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); - fTerminalModel.setDimensions(24, 80); fTerminalModel.setMaxHeight(1000); fInputStream=new PipedInputStream(8*1024); fTerminalText=new VT100Emulator(fTerminalModel,this,fInputStream); @@ -494,11 +491,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fCtlText.setLayoutData(new GridData(GridData.FILL_BOTH)); fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - fCtlText.addListener(SWT.Resize, new Listener() { - public void handleEvent(Event e) { - Rectangle bonds=fCtlText.getClientArea(); - int lines=bonds.height/fCtlText.getCellHeight(); - int columns=bonds.width/fCtlText.getCellWidth(); + fCtlText.addResizeHandler(new TextCanvas.ResizeListener() { + public void sizeChanged(int lines, int columns) { fTerminalText.setDimensions(lines, columns); } }); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 0bdc0cfd617..21ae6f1bcfd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -39,6 +39,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { * do not update while update is running */ boolean fInUpdate; + private int fCols; public AbstractTextCanvasModel(ITerminalTextDataSnapshot snapshot) { fSnapshot=snapshot; @@ -72,6 +73,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } } + public ITerminalTextDataReadOnly getTerminalText() { return fSnapshot; } @@ -88,9 +90,10 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { // TODO why does hasDimensionsChanged not work?????? // if(fSnapshot.hasDimensionsChanged()) // fireDimensionsChanged(); - if(fLines!=fSnapshot.getHeight()) { + if(fLines!=fSnapshot.getHeight() || fCols!=fSnapshot.getWidth()) { fireDimensionsChanged(fSnapshot.getWidth(),fSnapshot.getHeight()); fLines=fSnapshot.getHeight(); + fCols=fSnapshot.getWidth(); } int y=fSnapshot.getFirstChangedLine(); // has any line changed? diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 72212c55c39..d9b4b5b30a8 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -24,8 +24,6 @@ import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; /** * A cell oriented Canvas. Maintains a list of "cells". @@ -39,6 +37,9 @@ public class TextCanvas extends GridCanvas { private boolean fScrollLock; private Point fDraggingStart; private Point fDraggingEnd; + private ResizeListener fResizeListener; + private int fMinColumns=20; + private int fMinLines=4; /** * Create a new CellCanvas with the given SWT style bits. * (SWT.H_SCROLL and SWT.V_SCROLL are automatically added). @@ -58,6 +59,7 @@ public class TextCanvas extends GridCanvas { repaintRange(col,line,width,height); } public void dimensionsChanged(int cols, int rows) { + setVirtualExtend(cols+getCellWidth(), rows+getCellHeight()); calculateGrid(); } public void terminalDataChanged() { @@ -66,11 +68,6 @@ public class TextCanvas extends GridCanvas { scrollToEnd(); } }); - addListener(SWT.Resize, new Listener() { - public void handleEvent(Event e) { - calculateGrid(); - } - }); addFocusListener(new FocusListener(){ public void focusGained(FocusEvent e) { fCellCanvasModel.setCursorEnabled(true); @@ -109,6 +106,8 @@ public class TextCanvas extends GridCanvas { } } }); + serVerticalBarVisible(true); + setHorizontalBarVisible(false); } void setSelection(Point p) { @@ -146,6 +145,55 @@ public class TextCanvas extends GridCanvas { public ILinelRenderer getCellRenderer() { return fCellRenderer; } + + public int getMinColumns() { + return fMinColumns; + } + + public void setMinColumns(int minColumns) { + fMinColumns = minColumns; + } + + public int getMinLines() { + return fMinLines; + } + + public void setMinLines(int minLines) { + fMinLines = minLines; + } + + protected void onResize() { +// if(!isShowHScrollBar()) { + if(fResizeListener!=null) { + Rectangle bonds=getClientArea(); + int lines=bonds.height/getCellHeight(); + int columns=bonds.width/getCellWidth(); + if(columns=fMinColumns && isHorizontalBarVisble()) { + setHorizontalBarVisible(false); + bonds=getClientArea(); + lines=bonds.height/getCellHeight(); + columns=bonds.width/getCellWidth(); + + } + if(lines0 && columns>0 && (lines!=getRows()||columns!=getCols())) { + if(lines>0 && columns>0) { + fResizeListener.sizeChanged(lines, columns); + } + } +// } + super.onResize(); + calculateGrid(); + } + private void calculateGrid() { setVirtualExtend(getCols()*getCellWidth(),getRows()*getCellHeight()); // scroll to end @@ -154,7 +202,6 @@ public class TextCanvas extends GridCanvas { scrollY(getVerticalBar()); scrollX(getHorizontalBar()); - updateViewRectangle(); getParent().layout(); redraw(); } @@ -163,7 +210,7 @@ public class TextCanvas extends GridCanvas { int y=-(getRows()*getCellHeight()-getClientArea().height); Rectangle v=getViewRectangle(); if(v.y!=y) { - setVirtualOrigin(0,y); + setVirtualOrigin(v.x,y); } } } @@ -216,5 +263,24 @@ public class TextCanvas extends GridCanvas { public boolean isEmpty() { return false; } + /** + * Gets notified when the visible size of the terminal changes. + * This should update the model! + * + */ + public interface ResizeListener { + void sizeChanged(int lines, int columns); + } + /** + * @param listener this listener gets notified, when the size of + * the widget changed. It should change the dimensions of the underlying + * terminaldata + */ + public void addResizeHandler(ResizeListener listener) { + if(fResizeListener!=null) + throw new IllegalArgumentException("There can be at most one listener at the moment!"); //$NON-NLS-1$ + fResizeListener=listener; + } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index f9a65665a17..0e984fc85cc 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -38,7 +38,7 @@ public abstract class VirtualCanvas extends Canvas { * prevent infinite loop in {@link #updateScrollbars()} */ private boolean fInUpdateScrollbars; - + public VirtualCanvas(Composite parent, int style) { super(parent, style|SWT.NO_BACKGROUND|SWT.NO_REDRAW_RESIZE); fPaintGC= new GC(this); @@ -51,7 +51,7 @@ public abstract class VirtualCanvas extends Canvas { addListener(SWT.Resize, new Listener() { public void handleEvent(Event event) { fClientArea=getClientArea(); - updateViewRectangle(); + onResize(); } }); getVerticalBar().addListener(SWT.Selection, new Listener() { @@ -77,6 +77,9 @@ public abstract class VirtualCanvas extends Canvas { }); } + protected void onResize() { + updateViewRectangle(); + } protected void scrollX(ScrollBar hBar) { int hSelection = hBar.getSelection (); int destX = -hSelection - fVirtualBounds.x; @@ -209,7 +212,7 @@ public abstract class VirtualCanvas extends Canvas { } /** - * Sets the extend of the virtual dieplay ares + * Sets the extend of the virtual display ares * @param width * @param height */ @@ -255,7 +258,7 @@ public abstract class VirtualCanvas extends Canvas { } /** called when the viewed part is changing */ private Rectangle fViewRectangle=new Rectangle(0,0,0,0); - void updateViewRectangle() { + protected void updateViewRectangle() { if( fViewRectangle.x==-fVirtualBounds.x && fViewRectangle.y==-fVirtualBounds.y @@ -303,32 +306,36 @@ public abstract class VirtualCanvas extends Canvas { private void doUpdateScrollbar() { Point size= getSize(); Rectangle clientArea= getClientArea(); - ScrollBar horizontal= getHorizontalBar(); - if (fVirtualBounds.width <= clientArea.width) { - // TODO IMPORTANT in ScrollBar.setVisible comment out the line - // that checks 'isvisible' and returns (at the beginning) - horizontal.setVisible(false); - horizontal.setSelection(0); - } else { + if(horizontal.isVisible()) { horizontal.setPageIncrement(clientArea.width - horizontal.getIncrement()); int max= fVirtualBounds.width + (size.x - clientArea.width); horizontal.setMaximum(max); horizontal.setThumb(size.x > max ? max : size.x); - horizontal.setVisible(true); } - ScrollBar vertical= getVerticalBar(); - if (fVirtualBounds.height <= clientArea.height) { - vertical.setVisible(false); - vertical.setSelection(0); - } else { + if(vertical.isVisible()) { vertical.setPageIncrement(clientArea.height - vertical.getIncrement()); int max= fVirtualBounds.height + (size.y - clientArea.height); vertical.setMaximum(max); vertical.setThumb(size.y > max ? max : size.y); - vertical.setVisible(true); } } + protected boolean isVertialBarVisible() { + return getVerticalBar().isVisible(); + } + protected void serVerticalBarVisible(boolean showVScrollBar) { + ScrollBar vertical= getVerticalBar(); + vertical.setVisible(showVScrollBar); + vertical.setSelection(0); + } + protected boolean isHorizontalBarVisble() { + return getHorizontalBar().isVisible(); + } + protected void setHorizontalBarVisible(boolean showHScrollBar) { + ScrollBar horizontal= getHorizontalBar(); + horizontal.setVisible(showHScrollBar); + horizontal.setSelection(0); + } } From fcf8a099dd67f7c6c8e2a545701522395eb8b15a Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 8 Oct 2007 13:21:03 +0000 Subject: [PATCH 187/843] added logging to recursion guard (log at most once!) --- .../internal/terminal/textcanvas/VirtualCanvas.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 0e984fc85cc..fdc38869149 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -11,6 +11,8 @@ package org.eclipse.tm.internal.terminal.textcanvas; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; import org.eclipse.swt.SWT; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; @@ -23,6 +25,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.ScrollBar; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; /** * A Canvas showing a virtual object. @@ -38,6 +41,7 @@ public abstract class VirtualCanvas extends Canvas { * prevent infinite loop in {@link #updateScrollbars()} */ private boolean fInUpdateScrollbars; + private static boolean fInUpdateScrollbarsLogged; public VirtualCanvas(Composite parent, int style) { super(parent, style|SWT.NO_BACKGROUND|SWT.NO_REDRAW_RESIZE); @@ -301,6 +305,13 @@ public abstract class VirtualCanvas extends Canvas { } finally { fInUpdateScrollbars=false; } + } else { + if(!fInUpdateScrollbarsLogged) { + fInUpdateScrollbarsLogged=true; + TerminalPlugin.getDefault().getLog().log(new Status(IStatus.WARNING, + TerminalPlugin.PLUGIN_ID, IStatus.OK, "Unexpected Recursion in terminal", //$NON-NLS-1$ + new RuntimeException())); + } } } private void doUpdateScrollbar() { From c3f3b3ab7fb9ddccdb69af822caee944229a9bd4 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 8 Oct 2007 21:12:57 +0000 Subject: [PATCH 188/843] bug 205679: [terminal] Before the terminal is connected, the cursor and scrollbar are wrong https://bugs.eclipse.org/bugs/show_bug.cgi?id=205679 --- .../emulator/VT100EmulatorBackend.java | 28 ++++++++++++++++--- .../terminal/textcanvas/TextCanvas.java | 19 ++++++------- .../terminal/textcanvas/VirtualCanvas.java | 8 ++++-- 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index cda57c62c3a..144582c2723 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -78,14 +78,34 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { if(lines==fLines && cols==fColumns) return; // nothing to do // cursor line from the bottom - int cl=fLines-getCursorLine(); + int cl=lines-(fLines-getCursorLine()); int cc=getCursorColumn(); - + int newLines=Math.max(lines,fTerminal.getHeight()); + // if the terminal has no history, then resize by + // setting the size to the new size + if(fTerminal.getHeight()==fLines) { + if(lines1) +// break; +// // is the line empty? +// if(segments[0].getText().replaceAll("[\000 ]+", "").length()==0) +// break; +// } + } else { + cl+=fLines-lines; + } + } fLines=lines; fColumns=cols; // make the terminal at least as high as we need lines - fTerminal.setDimensions(Math.max(fLines,fTerminal.getHeight()), fColumns); - setCursor(fLines-cl, cc); + fTerminal.setDimensions(newLines, fColumns); + setCursor(cl, cc); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index d9b4b5b30a8..97fd807f891 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -163,11 +163,13 @@ public class TextCanvas extends GridCanvas { } protected void onResize() { -// if(!isShowHScrollBar()) { - if(fResizeListener!=null) { - Rectangle bonds=getClientArea(); - int lines=bonds.height/getCellHeight(); - int columns=bonds.width/getCellWidth(); + if(fResizeListener!=null) { + Rectangle bonds=getClientArea(); + int lines=bonds.height/getCellHeight(); + int columns=bonds.width/getCellWidth(); + // when the view is minimised, its size is set to 0 + // we don't sent this to the terminal! + if(lines>0 && columns>0) { if(columns0 && columns>0 && (lines!=getRows()||columns!=getCols())) { - if(lines>0 && columns>0) { - fResizeListener.sizeChanged(lines, columns); - } + fResizeListener.sizeChanged(lines, columns); } -// } + } super.onResize(); calculateGrid(); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index fdc38869149..eb0e8ccaff1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -318,14 +318,18 @@ public abstract class VirtualCanvas extends Canvas { Point size= getSize(); Rectangle clientArea= getClientArea(); ScrollBar horizontal= getHorizontalBar(); - if(horizontal.isVisible()) { + // even if setVisible was called on the scrollbar, isVisible + // returns false if its parent is not visible. + if(!isVisible() || horizontal.isVisible()) { horizontal.setPageIncrement(clientArea.width - horizontal.getIncrement()); int max= fVirtualBounds.width + (size.x - clientArea.width); horizontal.setMaximum(max); horizontal.setThumb(size.x > max ? max : size.x); } ScrollBar vertical= getVerticalBar(); - if(vertical.isVisible()) { + // even if setVisible was called on the scrollbar, isVisible + // returns false if its parent is not visible. + if(!isVisible() || vertical.isVisible()) { vertical.setPageIncrement(clientArea.height - vertical.getIncrement()); int max= fVirtualBounds.height + (size.y - clientArea.height); vertical.setMaximum(max); From fab24699386c4afdaefead577234b08c67856cf9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 9 Oct 2007 01:12:11 +0000 Subject: [PATCH 189/843] bug 205772: [terminal] crash on linux (division by zero) https://bugs.eclipse.org/bugs/show_bug.cgi?id=205772 --- .../terminal/test/ui/TerminalTextUITest.java | 3 +-- .../terminal/emulator/VT100TerminalControl.java | 4 ++-- .../tm/internal/terminal/textcanvas/TextCanvas.java | 12 +++++------- .../terminal/textcanvas/TextLineRenderer.java | 4 +--- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java index 84ce334b59e..7d9bdf91a1a 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java @@ -82,8 +82,7 @@ public class TerminalTextUITest { // TODO how to get the initial size correctly! snapshot.updateSnapshot(false); fgModel=new PollingTextCanvasModel(snapshot); - fgTextCanvas=new TextCanvas(shell,fgModel, SWT.NONE); - fgTextCanvas.setCellRenderer(new TextLineRenderer(fgTextCanvas,fgModel)); + fgTextCanvas=new TextCanvas(shell,fgModel, SWT.NONE,new TextLineRenderer(fgTextCanvas,fgModel)); fgTextCanvas.setLayoutData(new GridData(GridData.FILL_BOTH)); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index baf48386efb..efbcb76d795 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -486,8 +486,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // TODO how to get the initial size correctly! snapshot.updateSnapshot(false); ITextCanvasModel canvasModel=new PollingTextCanvasModel(snapshot); - fCtlText=new TextCanvas(fWndParent,canvasModel,SWT.NONE); - fCtlText.setCellRenderer(new TextLineRenderer(fCtlText,canvasModel)); + fCtlText=new TextCanvas(fWndParent,canvasModel,SWT.NONE,new TextLineRenderer(fCtlText,canvasModel)); + fCtlText.setLayoutData(new GridData(GridData.FILL_BOTH)); fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 97fd807f891..032e8d8c2a3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -33,7 +33,7 @@ import org.eclipse.swt.widgets.Composite; public class TextCanvas extends GridCanvas { protected final ITextCanvasModel fCellCanvasModel; /** Renders the cells */ - private ILinelRenderer fCellRenderer; + private final ILinelRenderer fCellRenderer; private boolean fScrollLock; private Point fDraggingStart; private Point fDraggingEnd; @@ -44,8 +44,11 @@ public class TextCanvas extends GridCanvas { * Create a new CellCanvas with the given SWT style bits. * (SWT.H_SCROLL and SWT.V_SCROLL are automatically added). */ - public TextCanvas(Composite parent, ITextCanvasModel model, int style) { + public TextCanvas(Composite parent, ITextCanvasModel model, int style,ILinelRenderer cellRenderer) { super(parent, style | SWT.H_SCROLL | SWT.V_SCROLL); + fCellRenderer=cellRenderer; + setCellWidth(fCellRenderer.getCellWidth()); + setCellHeight(fCellRenderer.getCellHeight()); fCellCanvasModel=model; fCellCanvasModel.addCellCanvasModelListener(new ITextCanvasModelListener(){ public void cellSizeChanged() { @@ -137,11 +140,6 @@ public class TextCanvas extends GridCanvas { return -1; } } - public void setCellRenderer(ILinelRenderer cellRenderer) { - fCellRenderer = cellRenderer; - setCellWidth(fCellRenderer.getCellWidth()); - setCellHeight(fCellRenderer.getCellHeight()); - } public ILinelRenderer getCellRenderer() { return fCellRenderer; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 54180496f8f..3b0ead33250 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -24,14 +24,12 @@ import org.eclipse.tm.terminal.model.Style; * */ public class TextLineRenderer implements ILinelRenderer { - TextCanvas fCanvas; private final ITextCanvasModel fModel; StyleMap fStyleMap=new StyleMap(); Color fBackgroundColor; public TextLineRenderer(TextCanvas c, ITextCanvasModel model) { - fCanvas=c; fModel=model; - fBackgroundColor=c.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); + fBackgroundColor=Display.getCurrent().getSystemColor(SWT.COLOR_LIST_BACKGROUND); } /* (non-Javadoc) * @see com.imagicus.thumbs.view.ICellRenderer#getCellWidth() From f3b468ac9d305375c6c893ace68b102d7a68bc2f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 9 Oct 2007 14:48:53 +0000 Subject: [PATCH 190/843] fixed tests --- .../emulator/VT100EmulatorBackendTest.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java index a98a351c2ea..b5b927b377a 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -1158,8 +1158,8 @@ public class VT100EmulatorBackendTest extends TestCase { IVT100EmulatorBackend vt100=makeBakend(term); term.setMaxHeight(6); vt100.setDimensions(3, 4); - // the cursor is now at the end.... - assertEquals(2,vt100.getCursorLine()); + // the cursor still at the beginning.... + assertEquals(0,vt100.getCursorLine()); assertEquals(0,vt100.getCursorColumn()); vt100.setCursor(0, 2); vt100.setCursorLine(1); @@ -1174,13 +1174,29 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals(2,vt100.getCursorLine()); assertEquals(3,vt100.getCursorColumn()); } + public void testSetCursorAndSetDimensions() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(3, 4); + // the cursor still at the beginning.... + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setDimensions(6, 4); + assertEquals(0,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorColumn()); + vt100.setCursor(2, 3); + vt100.setDimensions(8, 4); + assertEquals(2,vt100.getCursorLine()); + assertEquals(3,vt100.getCursorColumn()); + } public void testSetCursorColumn() { ITerminalTextData term=makeITerminalTextData(); IVT100EmulatorBackend vt100=makeBakend(term); term.setMaxHeight(6); vt100.setDimensions(3, 4); - assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorLine()); assertEquals(0,vt100.getCursorColumn()); vt100.setCursor(1, 0); vt100.setCursorColumn(2); @@ -1201,7 +1217,7 @@ public class VT100EmulatorBackendTest extends TestCase { IVT100EmulatorBackend vt100=makeBakend(term); term.setMaxHeight(6); vt100.setDimensions(3, 4); - assertEquals(2,vt100.getCursorLine()); + assertEquals(0,vt100.getCursorLine()); assertEquals(0,vt100.getCursorColumn()); vt100.setCursor(0, 0); assertEquals(0,vt100.getCursorLine()); From 35bd7142e1520b8858f8114320028bd03fb6cf9e Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 9 Oct 2007 14:58:09 +0000 Subject: [PATCH 191/843] make sure to run tests with assertions enabled --- .../.settings/org.eclipse.jdt.core.prefs | 8 ++++---- .../terminal/model/AbstractITerminalTextDataTest.java | 8 ++++++++ 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index d4ce580d8a5..ffcbd6342d6 100644 --- a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,7 @@ -#Fri Aug 03 17:25:20 CEST 2007 +#Tue Oct 09 16:54:56 CEST 2007 eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java index f8d039c6c8b..9720ec2cd8f 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java @@ -20,6 +20,14 @@ import org.eclipse.tm.terminal.model.StyleColor; abstract public class AbstractITerminalTextDataTest extends TestCase { abstract protected ITerminalTextData makeITerminalTextData(); + protected void setUp() throws Exception { + try { + assert false; + throw new Error("make sure you run this code with assertions enabled (vmargs: -ea)"); + } catch(AssertionError e) { + } + super.setUp(); + } protected String toSimple(ITerminalTextData term) { return TerminalTextTestHelper.toSimple(term); } From 9a1593c2cc9b1fef571fcd2251fa2a64ac0a2167 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 9 Oct 2007 15:01:05 +0000 Subject: [PATCH 192/843] make sure to run tests with assertions enabled II --- .../model/AbstractITerminalTextDataTest.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java index 9720ec2cd8f..493547a54c9 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java @@ -23,8 +23,9 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { protected void setUp() throws Exception { try { assert false; - throw new Error("make sure you run this code with assertions enabled (vmargs: -ea)"); + throw new Error("No Assertions! Run this code with assertions enabled! (vmargs: -ea)"); } catch(AssertionError e) { + // OK, assertions are enabled! } super.setUp(); } @@ -259,7 +260,7 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { assertEqualsTerm(s, toMultiLineText(term)); try { term.setDimensions(-3, 4); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { // OK } @@ -371,32 +372,32 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { assertEquals('E', term.getChar(2,4)); try { term.getChar(0,-1); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { term.getChar(-1,-1); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { term.getChar(-1,0); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { term.getChar(0,5); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { term.getChar(3,5); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { term.getChar(3,0); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } } @@ -481,7 +482,7 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { try { // check if we cannot exceed the range term.setChars(4, 1, new char[]{'1','2','3','4','5'}, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} } @@ -527,24 +528,24 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { fill(term, s); try { term.setChars(1, 0, chars, 7, 10, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} fill(term, s); try { term.setChars(1, -1, chars, 0, 2, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { term.setChars(-1, 1, chars, 0, 2, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { term.setChars(1, 10, chars, 0, 2, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { term.setChars(10, 1, chars, 0, 2, null); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} // assertEquals(s, toSimpleText(term)); } @@ -617,22 +618,22 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { try { fillSimple(termCopy, sCopy); termCopy.copyRange(term,1,1,5); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { fillSimple(termCopy, sCopy); termCopy.copyRange(term,0,0,6); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { fillSimple(termCopy, sCopy); termCopy.copyRange(term,7,0,1); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} try { fillSimple(termCopy, sCopy); termCopy.copyRange(term,0,7,1); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) {} } public void testCopyLine() { @@ -789,12 +790,12 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { public void testScrollFail() { try { scrollTest(5,2,-1,"012345","012345"); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } try { scrollTest(0,7,1,"012345"," "); - fail(); // make sure you run this code with assertions enabled (vmargs: -ea) + fail(); } catch (RuntimeException e) { } } From 08ef6ffd0823f7dc83df546c3cb4ce12de4108fd Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 9 Oct 2007 15:21:41 +0000 Subject: [PATCH 193/843] Fix build.properties for Terminal tests --- org.eclipse.tm.terminal.test/build.properties | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties index 34d2e4d2dad..e8fa4ae5c78 100644 --- a/org.eclipse.tm.terminal.test/build.properties +++ b/org.eclipse.tm.terminal.test/build.properties @@ -1,4 +1,8 @@ source.. = src/ output.. = bin/ bin.includes = META-INF/,\ - . + .,\ + plugin.properties,\ + plugin.xml +javacSource=1.4 +javacTarget=1.4 From bc17809feda6b25b1338253301a4fc04ab1f02b1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 9 Oct 2007 15:22:33 +0000 Subject: [PATCH 194/843] Fix unnecessary access warning from Terminal tests --- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 1bec5807239..84675d5ce46 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", - org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, + org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view,org.eclipse.tm.terminal.test", From edd1e5aaa814fb80d6aadb6c805f96ccd6d283c5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 9 Oct 2007 15:23:30 +0000 Subject: [PATCH 195/843] Organize Manifest, throwing out old Telnet String --- org.eclipse.tm.terminal/plugin.properties | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index c6e04d21c73..f5c474e9c62 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -17,8 +17,6 @@ pluginName = Target Management Terminal Widget providerName = Eclipse.org -telnetConnection = Telnet - terminal.context.name=Terminal widget context terminal.context.description=Override ALT+x menu access keys From cb381d72fe669f834332dd9f8af1d033ff7555b2 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 15:25:08 +0000 Subject: [PATCH 196/843] don't clean the screen at the end --- .../tm/internal/terminal/speedtest/SpeedTestConnection.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java index b77ed9ab7e9..115435b0ff9 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java @@ -73,9 +73,7 @@ public class SpeedTestConnection extends Thread { line=reader.readLine(); // read some bytes - if(line==null) { - fControl.displayTextInTerminal("\033[2J\033c"+info); - } else { + if(line!=null) { os.write(line.getBytes("UTF-8")); os.write(crnl); n+=line.length(); From b84df5798a8767310a04d8e106bc4250a4f010f0 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 15:25:51 +0000 Subject: [PATCH 197/843] only re-layout hen the parent is visible --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index efbcb76d795..4aa5db94bcd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -881,7 +881,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fCommandInputField=inputField; if(fCommandInputField!=null) fCommandInputField.createControl(fWndParent, this); - fWndParent.layout(true); + if(fWndParent.isVisible()) + fWndParent.layout(true); } public int getBufferLineLimit() { From ed15760bd94f41799bc568ac3b850bc2551b2030 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 15:39:20 +0000 Subject: [PATCH 198/843] helper method added to be used in "New Detail Formatter.." in the debugger variables view --- .../terminal/model/TerminalTextData.java | 53 +++++++++++++++---- .../textcanvas/AbstractTextCanvasModel.java | 2 +- .../terminal/textcanvas/GridCanvas.java | 22 ++++++-- 3 files changed, 63 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index 7101f21b04f..341e3b740a5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -15,6 +15,7 @@ import java.util.Arrays; import java.util.List; import org.eclipse.tm.terminal.model.ITerminalTextData; +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; import org.eclipse.tm.terminal.model.LineSegment; import org.eclipse.tm.terminal.model.Style; @@ -31,6 +32,40 @@ public class TerminalTextData implements ITerminalTextData { public TerminalTextDataSnapshot[] fSnapshots=new TerminalTextDataSnapshot[0]; private int fCursorColumn; private int fCursorLine; + /** + * Debug helper method -- use as "New Detail Formatter.." in the + * debugger variables view: + *
                TerminalTextData.toMultiLineText(this,0,200))
                + * @param term the terminal + * @param start start line to show + * @param len number of lines to show -- negative numbers means show all + * @return a string representation of the content + */ + static public String toMultiLineText(ITerminalTextDataReadOnly term, int start, int len) { + if(len<0) + len=term.getHeight(); + StringBuffer buff=new StringBuffer(); + int width=term.getWidth(); + int n=Math.min(len,term.getHeight()-start); + for (int line = start; line < n; line++) { + if(line>0) + buff.append("\n"); //$NON-NLS-1$ + for (int column = 0; column < width; column++) { + buff.append(term.getChar(line, column)); + } + } + return buff.toString().replaceAll("\000+", ""); //$NON-NLS-1$//$NON-NLS-2$ + } + + /** + * Show the first 100 lines + * see {@link #toMultiLineText(ITerminalTextDataReadOnly, int, int)} + * @param term + * @return a string representaron of the terminal + */ + static public String toMultiLineText(ITerminalTextDataReadOnly term) { + return toMultiLineText(term, 0, 100); + } public TerminalTextData() { this(new TerminalTextDataFastScroll()); @@ -118,7 +153,7 @@ public class TerminalTextData implements ITerminalTextData { fSnapshots[i].markLinesChanged(line, n); } } - + /** * Notify snapshot that a region was scrolled * @param startLine @@ -163,7 +198,7 @@ public class TerminalTextData implements ITerminalTextData { // was is an append or a scroll? int newHeight=getHeight(); if(newHeight>oldHeight) { - //the line was appended + //the line was appended sendLinesChangedToSnapshot(oldHeight, 1); int width=getWidth(); sendDimensionsChanged(oldHeight, width, newHeight, width); @@ -172,7 +207,7 @@ public class TerminalTextData implements ITerminalTextData { // the line was scrolled sendScrolledToSnapshots(0, oldHeight, -1); } - + } public void copy(ITerminalTextData source) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 21ae6f1bcfd..f39516cce26 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -168,7 +168,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } } public void setVisibleRectangle(int startLine, int startCol, int height, int width) { - fSnapshot.setInterestWindow(Math.max(0,startLine), Math.max(1,Math.min(fSnapshot.getHeight(),height))); + fSnapshot.setInterestWindow(Math.max(0,startLine), Math.max(1,height)); update(); } protected void showCursor(boolean show) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java index 60dd821c621..f920c92df6e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java @@ -45,6 +45,20 @@ abstract public class GridCanvas extends VirtualCanvas { } + public void setBounds(int x, int y, int width, int height) { + // adjust the height so that there are no characters cut + // Maybe it would be better to use a custom Layout... + int shiftH=0; + if(getCellHeight()!=0) + shiftH=height % getCellHeight(); + super.setBounds(x, y+shiftH, width, height-shiftH); + } + + public void setBounds(Rectangle rect) { + // just to be sure our set bounds is called! + setBounds(rect.x,rect.y,rect.width,rect.height); + } + /** template method paint. * iterates over all cells in the clipping rectangle and paints them. */ @@ -159,11 +173,11 @@ abstract public class GridCanvas extends VirtualCanvas { int cellY=virtualYToCell(y); // End coordinates int xE=virtualXToCell(x+fCellWidth+width-1); - if(xE>getCols()) - xE=getCols(); +// if(xE>getCols()) +// xE=getCols(); int yE=virtualYToCell(y+fCellHeight+height-1); - if(yE>getRows()) - yE=getRows(); +// if(yE>getRows()) +// yE=getRows(); visibleCellRectangleChanged(cellX,cellY,xE-cellX,yE-cellY); } From ff7683de7d2a04da7181a5a4376897e4079aa0b2 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 16:30:42 +0000 Subject: [PATCH 199/843] bug 205879: [terminal] clicking into the terminal creates a selection of one character https://bugs.eclipse.org/bugs/show_bug.cgi?id=205879 --- .../textcanvas/AbstractTextCanvasModel.java | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index f39516cce26..2625af2afa4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -28,7 +28,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { private final ITerminalTextDataSnapshot fSnapshot; private int fLines; - private int fSelectionStartLine; + private int fSelectionStartLine=-1; private int fSeletionEndLine; private int fSelectionStartCoumn; private int fSelectionEndColumn; @@ -50,7 +50,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } public void removeCellCanvasModelListener(ITextCanvasModelListener listener) { - fListeners.remove(listener); + fListeners.remove(listener); } protected void fireCellRangeChanged(int x, int y, int width, int height) { @@ -64,16 +64,16 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); listener.dimensionsChanged(width,height); } - + } protected void fireTerminalDataChanged() { for (Iterator iter = fListeners.iterator(); iter.hasNext();) { ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); listener.terminalDataChanged(); } - + } - + public ITerminalTextDataReadOnly getTerminalText() { return fSnapshot; } @@ -101,7 +101,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { int height=fSnapshot.getLastChangedLine()-y+1; fireCellRangeChanged(0, y, fSnapshot.getWidth(), height); } - + } finally { fInUpdate=false; } @@ -183,7 +183,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { public boolean isCursorEnabled() { return fCursorIsEnabled; } - + public Point getSelectionEnd() { if(fSelectionStartLine<0) return null; @@ -255,7 +255,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { else return line >= fSelectionStartLine && line <= fSeletionEndLine; } - + public String getSelectedText() { return fCurrentSelection; } @@ -305,8 +305,8 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } // check if the content of the selection has changed. If the content has // changed, clear the selection - if (fCurrentSelection.length()>0 && fSelectionSnapshot != null - && fSelectionSnapshot.getFirstChangedLine() <= fSeletionEndLine + if (fCurrentSelection.length()>0 && fSelectionSnapshot != null + && fSelectionSnapshot.getFirstChangedLine() <= fSeletionEndLine && fSelectionSnapshot.getLastChangedLine() >= fSelectionStartLine) { // has the selected text changed? if (!fCurrentSelection.equals(extractSelectedText())) { From 2fceb87742eb163b2b0642620dfcace18af4c698 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 16:42:39 +0000 Subject: [PATCH 200/843] bug 205879: [terminal] clicking into the terminal creates a selection of one character https://bugs.eclipse.org/bugs/show_bug.cgi?id=205879 The user has to drag at least one character to make a selection --- .../terminal/textcanvas/ITextCanvasModel.java | 37 +++++++------- .../terminal/textcanvas/TextCanvas.java | 51 +++++++++++++------ 2 files changed, 55 insertions(+), 33 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java index bb2eac1599b..75d9ef3a430 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -16,10 +16,10 @@ import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; public interface ITextCanvasModel { void addCellCanvasModelListener(ITextCanvasModelListener listener); void removeCellCanvasModelListener(ITextCanvasModelListener listener); - + ITerminalTextDataReadOnly getTerminalText(); /** - * This is is + * This is is * @param startLine * @param startCol * @param height @@ -36,48 +36,49 @@ public interface ITextCanvasModel { * @param visible */ void setCursorEnabled(boolean visible); - + /** * @return true if the cursor is shown. */ boolean isCursorEnabled(); - + /** - * @return the line of the cursor + * @return the line of the cursor */ int getCursorLine(); /** * @return the column of the cursor */ int getCursorColumn(); - + /** * @return the start of the selection or null if nothing is selected - * {@link Point#x} is the column and {@link Point#y} is the line. + * {@link Point#x} is the column and {@link Point#y} is the line. */ Point getSelectionStart(); /** * @return the end of the selection or null if nothing is selected - * {@link Point#x} is the column and {@link Point#y} is the line. + * {@link Point#x} is the column and {@link Point#y} is the line. */ Point getSelectionEnd(); - + Point getSelectionAnchor(); - + void setSelectionAnchor(Point anchor); /** + * Sets the selection. A negative startLine clears the selection. * @param startLine * @param endLine * @param startColumn * @param endColumn */ void setSelection(int startLine, int endLine, int startColumn, int endColumn); - + /** * @param line * @return true if line is part of the selection */ boolean hasLineSelection(int line); - + String getSelectedText(); } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 032e8d8c2a3..50eab90ac4c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -37,6 +37,7 @@ public class TextCanvas extends GridCanvas { private boolean fScrollLock; private Point fDraggingStart; private Point fDraggingEnd; + private boolean fHasSelection; private ResizeListener fResizeListener; private int fMinColumns=20; private int fMinLines=4; @@ -56,7 +57,7 @@ public class TextCanvas extends GridCanvas { setCellHeight(fCellRenderer.getCellHeight()); calculateGrid(); - + } public void rangeChanged(int col, int line, int width, int height) { repaintRange(col,line,width,height); @@ -84,6 +85,7 @@ public class TextCanvas extends GridCanvas { public void mouseDown(MouseEvent e) { if(e.button==1) { // left button fDraggingStart=screenPointToCell(e.x, e.y); + fHasSelection=false; if((e.stateMask&SWT.SHIFT)!=0) { Point anchor=fCellCanvasModel.getSelectionAnchor(); if(anchor!=null) @@ -94,9 +96,13 @@ public class TextCanvas extends GridCanvas { fDraggingEnd=null; } } - public void mouseUp(MouseEvent e) { + public void mouseUp(MouseEvent e) { if(e.button==1) { // left button - setSelection(screenPointToCell(e.x, e.y)); + updateHasSelection(e); + if(fHasSelection) + setSelection(screenPointToCell(e.x, e.y)); + else + fCellCanvasModel.setSelection(-1,-1,-1,-1); fDraggingStart=null; } } @@ -105,6 +111,7 @@ public class TextCanvas extends GridCanvas { public void mouseMove(MouseEvent e) { if (fDraggingStart != null) { + updateHasSelection(e); setSelection(screenPointToCell(e.x, e.y)); } } @@ -113,6 +120,20 @@ public class TextCanvas extends GridCanvas { setHorizontalBarVisible(false); } + /** + * The user has to drag the mouse to at least one character to make a selection. + * Once this is done, even a one char selection is OK. + * + * @param e + */ + private void updateHasSelection(MouseEvent e) { + if(fDraggingStart!=null) { + Point p=screenPointToCell(e.x, e.y); + if(fDraggingStart.x!=p.x||fDraggingStart.y!=p.y) + fHasSelection=true; + } + } + void setSelection(Point p) { if (fDraggingStart !=null && !p.equals(fDraggingEnd)) { fDraggingEnd = p; @@ -143,7 +164,7 @@ public class TextCanvas extends GridCanvas { public ILinelRenderer getCellRenderer() { return fCellRenderer; } - + public int getMinColumns() { return fMinColumns; } @@ -212,15 +233,15 @@ public class TextCanvas extends GridCanvas { } } /** - * + * * @return true if the cursor should be shown on output.... */ public boolean isScrollLock() { return fScrollLock; } /** - * If set then if the size changes - * @param scrollLock + * If set then if the size changes + * @param scrollLock */ public void setScrollLock(boolean scrollLock) { fScrollLock=scrollLock; @@ -232,7 +253,7 @@ public class TextCanvas extends GridCanvas { } protected void drawLine(GC gc, int line, int x, int y, int colFirst, int colLast) { fCellRenderer.drawLine(fCellCanvasModel, gc,line,x,y,colFirst, colLast); - + } protected void visibleCellRectangleChanged(int x, int y, int width, int height) { fCellCanvasModel.setVisibleRectangle(y,x,height,width); @@ -278,6 +299,6 @@ public class TextCanvas extends GridCanvas { throw new IllegalArgumentException("There can be at most one listener at the moment!"); //$NON-NLS-1$ fResizeListener=listener; } - + } From 3284e79cbb5a5bd3d0194b4ade1c0dbdab607a6b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 20:00:56 +0000 Subject: [PATCH 201/843] UNFINISHED (does not work as expected) - bug 205486: [terminal] create a switch for scroll locking https://bugs.eclipse.org/bugs/show_bug.cgi?id=205486 --- .../terminal/actions/ActionMessages.java | 5 ++- .../actions/ActionMessages.properties | 4 +- .../actions/TerminalActionClearAll.java | 10 ++--- .../actions/TerminalActionScrollLock.java | 41 +++++++++++++++++++ .../internal/terminal/view/ITerminalView.java | 4 +- .../internal/terminal/view/ImageConsts.java | 10 ++++- .../internal/terminal/view/TerminalView.java | 38 +++++++++++------ .../terminal/view/TerminalViewPlugin.java | 8 +++- .../control/ITerminalViewControl.java | 20 +++++---- .../control/impl/TerminalControl.java | 33 +++++++++------ .../emulator/VT100TerminalControl.java | 38 ++++++++++------- 11 files changed, 151 insertions(+), 60 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java index 11c91e393fd..95192d71f22 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; @@ -27,6 +27,9 @@ public class ActionMessages extends NLS { public static String TOGGLE_COMMAND_INPUT_FIELD; public static String DISCONNECT; public static String SETTINGS_ELLIPSE; + public static String SCROLL_LOCK_0; + public static String SCROLL_LOCK_1; + public static String COPY; public static String CUT; public static String PASTE; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index 7716ea26665..75217014f2a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -18,10 +18,12 @@ NEW_TERMINAL = New Terminal CONNECT = Connect DISCONNECT = Disconnect SETTINGS_ELLIPSE = Settings... +SCROLL_LOCK_0 = Scroll &Lock +SCROLL_LOCK_1 = Scroll Lock COPY = Copy CUT = Cut PASTE = Paste SELECTALL = Select All -CLEARALL = Clear All +CLEARALL = Clear Terminal SETTINGS = Settings TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java index 0e0c5d785e5..cedc350c53c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java @@ -11,13 +11,13 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; -import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; public class TerminalActionClearAll extends TerminalAction { @@ -28,9 +28,9 @@ public class TerminalActionClearAll extends TerminalAction setupAction(ActionMessages.CLEARALL, ActionMessages.CLEARALL, - (ImageDescriptor)null, - null, - null, + ImageConsts.IMAGE_CLCL_CLEAR_ALL, + ImageConsts.IMAGE_ELCL_CLEAR_ALL, + ImageConsts.IMAGE_DLCL_CLEAR_ALL, false); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java new file mode 100644 index 00000000000..39d023cf469 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2004, 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionScrollLock extends TerminalAction +{ + public TerminalActionScrollLock(ITerminalView target) + { + super(target, + TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON); + + setupAction(ActionMessages.SCROLL_LOCK_0, + ActionMessages.SCROLL_LOCK_1, + ImageConsts.IMAGE_CLCL_SCROLL_LOCK, + ImageConsts.IMAGE_ELCL_SCROLL_LOCK, + ImageConsts.IMAGE_DLCL_SCROLL_LOCK, + true); + } + public void run() { + fTarget.setScrollLock(!fTarget.isScrollLock()); + setChecked(fTarget.isScrollLock()); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index 65abe655307..a1074f80cca 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -6,7 +6,7 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -28,4 +28,6 @@ public interface ITerminalView { public void onEditSelectAll(); public boolean hasCommandInputField(); public void setCommandInputField(boolean on); + public boolean isScrollLock(); + public void setScrollLock(boolean b); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java index d09d6916bee..c02c33a59fc 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -11,12 +11,12 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalConsts + * Michael Scharf (Wind River) - extracted from TerminalConsts * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -public interface ImageConsts +public interface ImageConsts { public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ public final static String IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ @@ -33,14 +33,20 @@ public interface ImageConsts public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_CLEAR_ALL = "ImageClclClearAll"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_CLEAR_ALL = "ImageDlclClearAll"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_CLEAR_ALL = "ImageElclClearAll"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 52dc1911615..f3434978f9a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -88,6 +88,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected TerminalAction fActionTerminalConnect; +// private TerminalAction fActionTerminalScrollLock; + protected TerminalAction fActionTerminalDisconnect; protected TerminalAction fActionTerminalSettings; @@ -103,13 +105,13 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected TerminalAction fActionEditSelectAll; protected TerminalAction fActionToggleCommandInputField; - + protected TerminalMenuHandlerEdit fMenuHandlerEdit; protected TerminalPropertyChangeHandler fPropertyChangeHandler; protected boolean fMenuAboutToShow; - + private SettingsStore fStore; private CommandInputFieldWithHistory fCommandInputField; @@ -125,12 +127,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } } }; - public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ } - + String findUniqueTitle(String title) { IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); String id= getViewSite().getId(); @@ -166,7 +167,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi if(!limitOutput) bufferLineLimit=-1; fCtlTerminal.setBufferLineLimit(bufferLineLimit); - + } // TerminalTarget interface public void setState(final TerminalState state) { @@ -321,7 +322,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setTitleToolTip(getPartName()+": "+strTitle); //$NON-NLS-1$ } /** - * @return the setting summary. If there is no connection, or the connection + * @return the setting summary. If there is no connection, or the connection * has not been initialized, use the last stored state. */ private String getSettingsSummary() { @@ -344,9 +345,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi return ViewMessages.STATE_CONNECTED; } else if(state==TerminalState.CONNECTING) { return ViewMessages.STATE_CONNECTING; - } else if(state==TerminalState.OPENED) { + } else if(state==TerminalState.OPENED) { return ViewMessages.STATE_OPENED; - } else if(state==TerminalState.CLOSED) { + } else if(state==TerminalState.CLOSED) { return ViewMessages.STATE_CLOSED; } else { throw new IllegalStateException(state.toString()); @@ -472,13 +473,13 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ updatePreferences(); TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); - + // restore the title of this view String title=fStore.get(STORE_TITLE); if(title!=null && title.length()>0) setPartName(title); } - + private void saveSettings(ITerminalConnectorInfo connector) { ITerminalConnectorInfo[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { @@ -488,7 +489,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fStore.put(STORE_CONNECTION_TYPE,connector.getId()); } } - + public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); fStore=new SettingsStore(memento); @@ -509,6 +510,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected void setupActions() { fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); +// fActionTerminalScrollLock = new TerminalActionScrollLock(this); fActionTerminalConnect = new TerminalActionConnect(this); fActionTerminalDisconnect = new TerminalActionDisconnect(this); fActionTerminalSettings = new TerminalActionSettings(this); @@ -552,6 +554,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); toolBarMgr.add(fActionTerminalNewTerminal); +// toolBarMgr.add(fActionTerminalScrollLock); toolBarMgr.add(fActionTerminalConnect); toolBarMgr.add(fActionTerminalDisconnect); toolBarMgr.add(fActionTerminalSettings); @@ -581,7 +584,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi menuMgr.add(new Separator()); menuMgr.add(fActionEditClearAll); menuMgr.add(fActionEditSelectAll); + menuMgr.add(new Separator()); menuMgr.add(fActionToggleCommandInputField); +// menuMgr.add(fActionTerminalScrollLock); + // Other plug-ins can contribute there actions here menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ @@ -744,4 +750,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } fCtlTerminal.setCommandInputField(fCommandInputField); } + + public boolean isScrollLock() { + return fCtlTerminal.isScrollLock(); + } + + public void setScrollLock(boolean on) { + fCtlTerminal.setScrollLock(on); + } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 733162398a6..5de2c98f97c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -48,6 +48,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); @@ -59,6 +61,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); @@ -70,6 +74,8 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index d498d97ac64..9424c59547f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -50,7 +50,7 @@ public interface ITerminalViewControl { * @param string write string to terminal */ public boolean pasteString(String string); - + boolean isConnected(); /** @@ -61,7 +61,7 @@ public interface ITerminalViewControl { * @return null or the current input field */ ICommandInputField getCommandInputField(); - + /** * @return the maximum number of lines to display * in the terminal view. -1 means unlimited. @@ -70,7 +70,9 @@ public interface ITerminalViewControl { /** * @param bufferLineLimit the maximum number of lines to show - * in the terminal view. -1 means unlimited. + * in the terminal view. -1 means unlimited. */ public void setBufferLineLimit(int bufferLineLimit); + boolean isScrollLock(); + void setScrollLock(boolean on); } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index f528280bd86..0eccf75ed87 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -85,7 +85,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro private Clipboard fClipboard; private TerminalModifyListener fModifyListener; private KeyListener fKeyHandler; - private ITerminalListener fTerminalListener; + private final ITerminalListener fTerminalListener; private String fMsg = ""; //$NON-NLS-1$ private VerifyKeyListener fVerifyKeyListener; private FocusListener fFocusListener; @@ -128,7 +128,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // for (int i = 0; i < strText.length(); i++) { // sendChar(strText.charAt(i), false); // } -// +// // } // }.start(); } @@ -277,7 +277,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro // TODO private void waitForConnect() { Logger.log("entered."); //$NON-NLS-1$ - // TODO + // TODO // Eliminate this code while (getState()==TerminalState.CONNECTING) { if (fDisplay.readAndDispatch()) @@ -288,11 +288,11 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg()); - + disconnectTerminal(); return; } - + getCtlText().setFocus(); } @@ -424,12 +424,12 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro GridLayout layout=new GridLayout(); layout.marginWidth=0; layout.marginHeight=0; - + fWndParent.setLayout(layout); setCtlText(new StyledText(fWndParent, SWT.V_SCROLL)); fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); //fCtlText.setWordWrap(false); - + fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); // fViewer.setDocument(new TerminalDocument()); @@ -479,10 +479,10 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro } catch (IOException e) { // should never happen! e.printStackTrace(); - } - + } + } - + public OutputStream getRemoteToTerminalOutputStream() { return getTerminalText().getOutputStream(); } @@ -835,7 +835,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public void setConnector(ITerminalConnectorInfo connector) { fConnectorInfo=connector; - + } public ICommandInputField getCommandInputField() { return fCommandInputField; @@ -859,7 +859,14 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public void setBufferLineLimit(int bufferLineLimit) { getTerminalText().setLimitOutput(bufferLineLimit!=-1); getTerminalText().setBufferLineLimit(bufferLineLimit); - + + } + + public boolean isScrollLock() { + return false; + } + + public void setScrollLock(boolean on) { } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 4aa5db94bcd..087f3595ab0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -87,13 +87,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC * text processing on data received from the remote host and controls how text is * displayed using the view's StyledText widget. */ - private VT100Emulator fTerminalText; + private final VT100Emulator fTerminalText; private Display fDisplay; private TextCanvas fCtlText; private Composite fWndParent; private Clipboard fClipboard; private KeyListener fKeyHandler; - private ITerminalListener fTerminalListener; + private final ITerminalListener fTerminalListener; private String fMsg = ""; //$NON-NLS-1$ private FocusListener fFocusListener; private ITerminalConnectorInfo fConnectorInfo; @@ -104,7 +104,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private volatile TerminalState fState; - private ITerminalTextData fTerminalModel; + private final ITerminalTextData fTerminalModel; volatile private Job fJob; @@ -115,7 +115,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fTerminalModel.setMaxHeight(1000); fInputStream=new PipedInputStream(8*1024); fTerminalText=new VT100Emulator(fTerminalModel,this,fInputStream); - + setupTerminal(wndParent); } @@ -143,7 +143,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // for (int i = 0; i < strText.length(); i++) { // sendChar(strText.charAt(i), false); // } -// +// // } // }.start(); } @@ -292,7 +292,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // TODO private void waitForConnect() { Logger.log("entered."); //$NON-NLS-1$ - // TODO + // TODO // Eliminate this code while (getState()==TerminalState.CONNECTING) { if (fDisplay.readAndDispatch()) @@ -303,7 +303,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg()); - + disconnectTerminal(); return; } @@ -333,7 +333,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC try { // TODO: should block when no text is available! fTerminalText.processText(); - + } catch (Exception e) { disconnectTerminal(); status=new Status(IStatus.ERROR,TerminalPlugin.PLUGIN_ID,e.getLocalizedMessage(),e); @@ -479,9 +479,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC GridLayout layout=new GridLayout(); layout.marginWidth=0; layout.marginHeight=0; - + fWndParent.setLayout(layout); - + ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); // TODO how to get the initial size correctly! snapshot.updateSnapshot(false); @@ -543,10 +543,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } catch (IOException e) { // should never happen! e.printStackTrace(); - } - + } + } - + public OutputStream getRemoteToTerminalOutputStream() { return fInputStream.getOutputStream(); } @@ -869,7 +869,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void setConnector(ITerminalConnectorInfo connector) { fConnectorInfo=connector; - + } public ICommandInputField getCommandInputField() { return fCommandInputField; @@ -898,4 +898,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fTerminalModel.setMaxHeight(bufferLineLimit); } } + + public boolean isScrollLock() { + return fCtlText.isScrollLock(); + } + + public void setScrollLock(boolean on) { + fCtlText.setScrollLock(on); + } } From 29fe824ee1bc4a92363d9dfd3046e5cfa47abd02 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 11 Oct 2007 20:20:51 +0000 Subject: [PATCH 202/843] UNFINISHED (does not work as expected) - bug 205486: [terminal] create a switch for scroll locking https://bugs.eclipse.org/bugs/show_bug.cgi?id=205486 --- .../icons/clcl16/clear_co.gif | Bin 0 -> 595 bytes .../icons/clcl16/lock_co.gif | Bin 0 -> 626 bytes .../icons/dlcl16/clear_co.gif | Bin 0 -> 364 bytes .../icons/dlcl16/lock_co.gif | Bin 0 -> 588 bytes .../icons/elcl16/clear_co.gif | Bin 0 -> 595 bytes .../icons/elcl16/lock_co.gif | Bin 0 -> 626 bytes 6 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..af30a42f83d2f91801206463e1f4601a747dd38e GIT binary patch literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..6775edfabb98762b8ce735171380920edc076efc GIT binary patch literal 364 zcmZ?wbhEHb6krfwxXQrr`}dz;zkdJx`Rm7zpAQ~BIehfgxeHfLow;!Q2KY#wb zefxI%_U+rYZQHbI)0#DFRqv0~ApMGF@$oHuXY?Afzt&YU@8#*FFH zr%#(U?f?J(3={yxpDc_F4B8AjATvOIVqoh$Ae!bOv##%ivfAOCFau8&wgXGj^h7d5 zgbic_SR0;xy2Hivydi4sR4$3$c5$5yZN&+Ub^IH-l?#g4`GgtjB!mRJx|kGHdqTUVSreem&vYxnP5+P7=n)JdIBAKkon`_l6# zcb+}Ief9F$^JkC0d-Lq&^M~8FZC<}>?%EY|)-0dBdfBX%OJ?lYvg+geSMT4xSigGF zotu|VpEz{w%7uG(ZoC4jesJ&er;mpY9{m6R|G$6#{{H<7WH1ahp!k!8k%7U5K?me; zP@FKZuWWE>YHn$5cIfEr>S}Tj@1M{wJ;9+@Tx`ZnF@14fmZ>g%vt~+(Gczyf6J5PV zlz%<{N{QvmMYeIU3JI;$QB<^MViFeS<~+7i)!trJn~{;3hwIW*2L&5PM>_>uMkYb= z)mKb(tgLiQtRxu)-UwV#mXX(!)iQ9FWS_Fo%-q6MS2Kx2^3j6J%LC+!W*AI#Zsk#Q d;)!8kXprg>R&tr6V3;hpC_v6pl#7MI8US7A;iv!r literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..af30a42f83d2f91801206463e1f4601a747dd38e GIT binary patch literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ literal 0 HcmV?d00001 From e18580df42e7a8f9dc191392945aba679c32b58b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 12 Oct 2007 16:23:41 +0000 Subject: [PATCH 203/843] bug 206164: [terminal] StringIndexOutOfBoundsException in getSelectedText https://bugs.eclipse.org/bugs/show_bug.cgi?id=206164 --- .../internal/terminal/textcanvas/AbstractTextCanvasModel.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 2625af2afa4..cac9e326f66 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -264,7 +264,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { * @return the currently selected text */ private String extractSelectedText() { - if(fSelectionStartLine<0 || fSelectionStartCoumn<0|| fSelectionSnapshot==null) + if(fSelectionStartLine<0 || fSelectionStartCoumn<0 || fSelectionEndColumn<0 || fSelectionSnapshot==null) return ""; //$NON-NLS-1$ StringBuffer buffer=new StringBuffer(); for (int line = fSelectionStartLine; line <= fSeletionEndLine; line++) { From 19da04c3ecef4e20f23d5c8b78ca696f086fde66 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 01:36:50 +0000 Subject: [PATCH 204/843] bug 205260: [terminal] The terminal does not take the font from the preferences https://bugs.eclipse.org/bugs/show_bug.cgi?id=205260 --- .../terminal/emulator/VT100Emulator.java | 50 +++++++++---------- .../emulator/VT100TerminalControl.java | 2 +- .../terminal/textcanvas/ILinelRenderer.java | 13 ++--- .../textcanvas/ITextCanvasModelListener.java | 13 +++-- .../terminal/textcanvas/StyleMap.java | 36 +++++++------ .../terminal/textcanvas/TextCanvas.java | 14 +++--- .../terminal/textcanvas/TextLineRenderer.java | 21 ++++---- 7 files changed, 78 insertions(+), 71 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index d503d5aa3b9..bf7d66fe267 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -43,7 +43,7 @@ import org.eclipse.tm.terminal.model.Style; * use of screen-oriented applications, such as vi, Emacs, and any GNU * readline-enabled application (Bash, bc, ncftp, etc.). *

                - * + * * @author Fran Litterio * @author Chris Thew */ @@ -70,7 +70,7 @@ public class VT100Emulator implements ControlListener { /** * This field holds the current state of the Finite TerminalState Automaton (FSA) * that recognizes ANSI escape sequences. - * + * * @see #processNewText() */ private int ansiState = ANSISTATE_INITIAL; @@ -79,7 +79,7 @@ public class VT100Emulator implements ControlListener { * This field holds a reference to the {@link TerminalControl} object that * instantiates this class. */ - private ITerminalControlForText terminal; + private final ITerminalControlForText terminal; /** * This field holds a reference to the StyledText widget that is used to @@ -104,13 +104,13 @@ public class VT100Emulator implements ControlListener { * parsing the escape sequence "\e[20;10H", this array holds the strings * "20" and "10". */ - private StringBuffer[] ansiParameters = new StringBuffer[16]; + private final StringBuffer[] ansiParameters = new StringBuffer[16]; /** * This field holds the OS-specific command found in an escape sequence of * the form "\e]...\u0007". */ - private StringBuffer ansiOsCommand = new StringBuffer(128); + private final StringBuffer ansiOsCommand = new StringBuffer(128); /** * This field holds the index of the next unused element of the array stored @@ -119,7 +119,7 @@ public class VT100Emulator implements ControlListener { private int nextAnsiParameter = 0; final Reader fReader; - + boolean fCrAfterNewLine; /** * The constructor. @@ -147,7 +147,7 @@ public class VT100Emulator implements ControlListener { text=new VT100BackendTraceDecorator(new VT100EmulatorBackend(data),System.out); else text=new VT100EmulatorBackend(data); - + // text.setDimensions(24, 80); Style style=Style.getStyle("BLACK", "WHITE"); //$NON-NLS-1$ //$NON-NLS-2$ text.setDefaultStyle(style); @@ -181,7 +181,7 @@ public class VT100Emulator implements ControlListener { /** * This method is required by interface ControlListener. It allows us to - * know when the StyledText widget is resized. + * know when the StyledText widget is resized. */ public void controlResized(ControlEvent event) { Logger.log("entered"); //$NON-NLS-1$ @@ -189,7 +189,7 @@ public class VT100Emulator implements ControlListener { } /** - * This method erases all text from the Terminal view. + * This method erases all text from the Terminal view. */ public void clearTerminal() { Logger.log("entered"); //$NON-NLS-1$ @@ -209,14 +209,14 @@ public class VT100Emulator implements ControlListener { } // /** // * This method executes in the Display thread to process data received from -// * the remote host by class {@link org.eclipse.tm.internal.terminal.telnet.TelnetConnection} and -// * other implementors of {@link ITerminalConnector}, like the +// * the remote host by class {@link org.eclipse.tm.internal.terminal.telnet.TelnetConnection} and +// * other implementors of {@link ITerminalConnector}, like the // * SerialPortHandler. // *

                // * These connectors write text to the terminal's buffer through -// * {@link TerminalControl#writeToTerminal(String)} and then have -// * this run method executed in the display thread. This method -// * must not execute at the same time as methods +// * {@link TerminalControl#writeToTerminal(String)} and then have +// * this run method executed in the display thread. This method +// * must not execute at the same time as methods // * {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. // *

                // * IMPORTANT: This method must be called in strict alternation with method @@ -256,7 +256,7 @@ public class VT100Emulator implements ControlListener { /** * This method scans the newly received text, processing ANSI control * characters and escape sequences and displaying normal text. - * @throws IOException + * @throws IOException */ private void processNewText() throws IOException { Logger.log("entered"); //$NON-NLS-1$ @@ -342,7 +342,7 @@ public class VT100Emulator implements ControlListener { ansiState = ANSISTATE_INITIAL; moveCursor(savedCursorLine, savedCursorColumn); break; - + case 'c': // Reset the terminal ansiState = ANSISTATE_INITIAL; @@ -863,7 +863,7 @@ public class VT100Emulator implements ControlListener { /** * This method returns one of the numeric ANSI parameters received in the * most recent escape sequence. - * + * * @return The parameterIndexth numeric ANSI parameter or -1 if the * index is out of range. */ @@ -913,7 +913,7 @@ public class VT100Emulator implements ControlListener { * append each non-control character individually to the StyledText widget. * A non-control character is any character that passes the condition in the * below while loop. - * @throws IOException + * @throws IOException */ private void processNonControlCharacters(char character) throws IOException { StringBuffer buffer=new StringBuffer(); @@ -942,7 +942,7 @@ public class VT100Emulator implements ControlListener { * view, wrapping text at the right edge of the screen and overwriting text * when the cursor is not at the very end of the screen's text. *

                - * + * * There are never any ANSI control characters or escape sequences in the * text being displayed by this method (this includes newlines, carriage * returns, and tabs). @@ -987,7 +987,7 @@ public class VT100Emulator implements ControlListener { * first column of the next line, as if a carriage return (CR) and a NL were * written. *

                - * + * * UNIX terminals typically display a NL character as a CR followed by a NL * because the terminal device typically has the ONLCR attribute bit set * (see the termios(4) man page for details), which causes the terminal @@ -1018,7 +1018,7 @@ public class VT100Emulator implements ControlListener { * the edges of the view window (i.e., the view window does not become * larger to accommodate its contents becoming larger). *

                - * + * * This method must be called immediately before each time text is written * to the terminal so that we can properly line wrap text. Because it is * called so frequently, it must be fast when there is no resizing to be @@ -1055,7 +1055,7 @@ public class VT100Emulator implements ControlListener { * This method returns the relative line number of the line containing the * cursor. The returned line number is relative to the topmost visible line, * which has relative line number 0. - * + * * @return The relative line number of the line containing the cursor. */ private int relativeCursorLine() { @@ -1127,7 +1127,7 @@ public class VT100Emulator implements ControlListener { */ private int fNextChar=-1; private char getNextChar() throws IOException { - int c=-1; + int c=-1; if(fNextChar!=-1) { c= fNextChar; fNextChar=-1; @@ -1154,7 +1154,7 @@ public class VT100Emulator implements ControlListener { */ void pushBackChar(char c) { //assert fNextChar!=-1: "Already a character waiting:"+fNextChar; //$NON-NLS-1$ - fNextChar=c; + fNextChar=c; } private int getCursorColumn() { return text.getCursorColumn(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 087f3595ab0..beb7be9a682 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -458,7 +458,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } // Tell the TerminalControl singleton that the font has changed. - + fCtlText.onFontChange(); getTerminalText().fontChanged(); } public Font getFont() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java index d217186a996..86f9990c810 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -19,4 +19,5 @@ public interface ILinelRenderer { int getCellWidth(); int getCellHeight(); void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast); + void onFontChange(); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java index cb52c8cf529..5a96bc73e94 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -13,7 +13,6 @@ package org.eclipse.tm.internal.terminal.textcanvas; /** */ public interface ITextCanvasModelListener { - void cellSizeChanged(); void rangeChanged(int col, int line, int width, int height); void dimensionsChanged(int cols, int rows); /** diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 1311cf3fe89..e4df2d66d3c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -23,11 +23,12 @@ import org.eclipse.tm.terminal.model.Style; import org.eclipse.tm.terminal.model.StyleColor; public class StyleMap { - String fFontName=JFaceResources.TEXT_FONT; + // TODO propagate the name of the fonf in the FontRegistry + String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ Map fColorMap=new HashMap(); Map fFontMap=new HashMap(); private Point fCharSize; - private Style fDefaultStyle; + private final Style fDefaultStyle; StyleMap() { Display display=Display.getCurrent(); fColorMap.put(StyleColor.getStyleColor("white"), new Color(display,255,255,255)); //$NON-NLS-1$ @@ -49,11 +50,7 @@ public class StyleMap { fColorMap.put(StyleColor.getStyleColor("MAGENTA"), new Color(display,255,255,0)); //$NON-NLS-1$ fColorMap.put(StyleColor.getStyleColor("GRAY"), new Color(display,128,128,128)); //$NON-NLS-1$ fDefaultStyle=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("white")); //$NON-NLS-1$ //$NON-NLS-2$ - GC gc = new GC (display); - gc.setFont(getFont()); - fCharSize = gc.textExtent ("W"); //$NON-NLS-1$ - gc.dispose (); - + updateFont(); } public Color getColor(StyleColor colorName) { return (Color) fColorMap.get(colorName); @@ -89,14 +86,14 @@ public class StyleMap { return JFaceResources.getFontRegistry().getBold(fFontName); } else if(style.isUnderline()) { return JFaceResources.getFontRegistry().getItalic(fFontName); - + } return JFaceResources.getFontRegistry().get(fFontName); } - + public Font getFont() { return JFaceResources.getFontRegistry().get(fFontName); - + } public int getFontWidth() { return fCharSize.x; @@ -104,4 +101,11 @@ public class StyleMap { public int getFontHeight() { return fCharSize.y; } + public void updateFont() { + Display display=Display.getCurrent(); + GC gc = new GC (display); + gc.setFont(getFont()); + fCharSize = gc.textExtent ("W"); //$NON-NLS-1$ + gc.dispose (); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 50eab90ac4c..2e4e9d3b2fa 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -52,13 +52,6 @@ public class TextCanvas extends GridCanvas { setCellHeight(fCellRenderer.getCellHeight()); fCellCanvasModel=model; fCellCanvasModel.addCellCanvasModelListener(new ITextCanvasModelListener(){ - public void cellSizeChanged() { - setCellWidth(fCellRenderer.getCellWidth()); - setCellHeight(fCellRenderer.getCellHeight()); - - calculateGrid(); - - } public void rangeChanged(int col, int line, int width, int height) { repaintRange(col,line,width,height); } @@ -300,5 +293,12 @@ public class TextCanvas extends GridCanvas { fResizeListener=listener; } + public void onFontChange() { + fCellRenderer.onFontChange(); + setCellWidth(fCellRenderer.getCellWidth()); + setCellHeight(fCellRenderer.getCellHeight()); + calculateGrid(); + } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 3b0ead33250..5f7ec3cbbca 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -82,13 +82,13 @@ public class TextLineRenderer implements ILinelRenderer { } } } - + private void fillBackground(GC gc, int x, int y, int width, int height) { Color bg=gc.getBackground(); gc.setBackground(getBackgroundColor()); gc.fillRectangle (x,y,width,height); gc.setBackground(bg); - + } private Color getBackgroundColor() { @@ -98,7 +98,7 @@ public class TextLineRenderer implements ILinelRenderer { if(!model.isCursorOn()) return; int cursorLine=model.getCursorLine(); - + if(row==cursorLine) { int cursorColumn=model.getCursorColumn(); if(cursorColumn Date: Sat, 13 Oct 2007 02:20:08 +0000 Subject: [PATCH 205/843] bug 206219: [terminal] make it easy to invert the terminal colors https://bugs.eclipse.org/bugs/show_bug.cgi?id=206219 --- .../view/TerminalPreferenceInitializer.java | 3 ++- .../terminal/view/TerminalPreferencePage.java | 13 +++++++++++-- .../tm/internal/terminal/view/TerminalView.java | 5 ++++- .../tm/internal/terminal/view/ViewMessages.java | 7 ++++--- .../terminal/view/ViewMessages.properties | 1 + .../terminal/control/ITerminalViewControl.java | 1 + .../terminal/control/impl/TerminalControl.java | 3 +++ .../terminal/emulator/VT100TerminalControl.java | 4 ++++ .../terminal/textcanvas/ILinelRenderer.java | 1 + .../internal/terminal/textcanvas/StyleMap.java | 16 ++++++++++++++-- .../internal/terminal/textcanvas/TextCanvas.java | 5 +++++ .../terminal/textcanvas/TextLineRenderer.java | 4 ++++ 12 files changed, 54 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java index 7fd4c4a10ed..b1f721e63fc 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java @@ -6,7 +6,7 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -22,6 +22,7 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer public void initializeDefaultPreferences() { Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); + store.setDefault(TerminalPreferencePage.PREF_INVERT_COLORS, TerminalPreferencePage.DEFAULT_INVERT_COLORS); store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java index 412796abf91..fc02b1a6969 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -35,14 +35,18 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ + public static final String PREF_INVERT_COLORS = "TerminalPrefInvertColors"; //$NON-NLS-1$ public static final boolean DEFAULT_LIMITOUTPUT = true; public static final int DEFAULT_BUFFERLINES = 1000; public static final int DEFAULT_TIMEOUT_SERIAL = 5; public static final int DEFAULT_TIMEOUT_NETWORK = 5; + public static final boolean DEFAULT_INVERT_COLORS = false; + - protected TerminalBooleanFieldEditor fEditorLimitOutput; + protected BooleanFieldEditor fInvertColors; + protected IntegerFieldEditor fEditorBufferSize; protected IntegerFieldEditor fEditorSerialTimeout; @@ -57,6 +61,7 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements Label ctlLabel; boolean bEnabled; + ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent()); ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent()); @@ -95,6 +100,9 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements setPreferenceStore(preferenceStore); } protected void setupEditors() { + fInvertColors = new BooleanFieldEditor( + PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS, + getFieldEditorParent()); fEditorLimitOutput = new TerminalBooleanFieldEditor( PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT, getFieldEditorParent()); @@ -111,6 +119,7 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); + addField(fInvertColors); addField(fEditorLimitOutput); addField(fEditorBufferSize); addField(fEditorSerialTimeout); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index f3434978f9a..e5d444e7920 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -125,6 +125,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES)) { updatePreferences(); } + if(event.getProperty().equals(TerminalPreferencePage.PREF_INVERT_COLORS)) { + Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); + fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS)); + } } }; public TerminalView() { @@ -167,7 +171,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi if(!limitOutput) bufferLineLimit=-1; fCtlTerminal.setBufferLineLimit(bufferLineLimit); - } // TerminalTarget interface public void setState(final TerminalState state) { diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index 75c48464b6f..18691e6d25c 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -30,8 +30,9 @@ public class ViewMessages extends NLS { public static String CONNECTIONTYPE; public static String VIEW_TITLE; public static String VIEW_SETTINGS; - + public static String LIMITOUTPUT; + public static String INVERT_COLORS; public static String BUFFERLINES; public static String SERIALTIMEOUT; public static String NETWORKTIMEOUT; @@ -40,7 +41,7 @@ public class ViewMessages extends NLS { public static String STATE_CONNECTING; public static String STATE_OPENED; public static String STATE_CLOSED; - + public static String CANNOT_INITIALIZE; public static String CONNECTOR_NOT_AVAILABLE; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index 96a9132669c..cc5d69faf79 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -24,6 +24,7 @@ VIEW_TITLE = View Title: VIEW_SETTINGS = View Settings: LIMITOUTPUT = Limit terminal output +INVERT_COLORS = Invert terminal colors BUFFERLINES = Terminal buffer lines: SERIALTIMEOUT = Serial timeout (seconds): NETWORKTIMEOUT = Network timeout (seconds): diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index 9424c59547f..3511f964d6e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -24,6 +24,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; public interface ITerminalViewControl { boolean isEmpty(); void setFont(Font font); + void setInvertedColors(boolean invert); Font getFont(); Control getControl(); boolean isDisposed(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index 0eccf75ed87..cc75630f8d1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -869,4 +869,7 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro public void setScrollLock(boolean on) { } + public void setInvertedColors(boolean invert) { + } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index beb7be9a682..e990dadc316 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -906,4 +906,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void setScrollLock(boolean on) { fCtlText.setScrollLock(on); } + + public void setInvertedColors(boolean invert) { + fCtlText.setInvertedColors(invert); + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java index 86f9990c810..c957d98a18a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java @@ -20,4 +20,5 @@ public interface ILinelRenderer { int getCellHeight(); void drawLine(ITextCanvasModel model, GC gc, int line, int x, int y, int colFirst, int colLast); void onFontChange(); + void setInvertedColors(boolean invert); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index e4df2d66d3c..df735fa2c2b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -29,6 +29,7 @@ public class StyleMap { Map fFontMap=new HashMap(); private Point fCharSize; private final Style fDefaultStyle; + private boolean fInvertColors; StyleMap() { Display display=Display.getCurrent(); fColorMap.put(StyleColor.getStyleColor("white"), new Color(display,255,255,255)); //$NON-NLS-1$ @@ -57,7 +58,7 @@ public class StyleMap { } public Color getForegrondColor(Style style) { style = defaultIfNull(style); - if(style.isReverse()) + if(isReverse(style)) return getColor(style.getBackground()); else return getColor(style.getForground()); @@ -69,11 +70,22 @@ public class StyleMap { } public Color getBackgroundColor(Style style) { style = defaultIfNull(style); - if(style.isReverse()) + if(isReverse(style)) return getColor(style.getForground()); else return getColor(style.getBackground()); } + private boolean isReverse(Style style) { + if(fInvertColors) + return !style.isReverse(); + else + return style.isReverse(); + + } + public void setInvertedColors(boolean invert) { + fInvertColors=invert; + + } // static Font getBoldFont(Font font) { // FontData fontDatas[] = font.getFontData(); // FontData data = fontDatas[0]; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 2e4e9d3b2fa..f11f8925341 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -300,5 +300,10 @@ public class TextCanvas extends GridCanvas { calculateGrid(); } + public void setInvertedColors(boolean invert) { + fCellRenderer.setInvertedColors(invert); + redraw(); + } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 5f7ec3cbbca..66d7a2f9e7a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -139,4 +139,8 @@ public class TextLineRenderer implements ILinelRenderer { public void onFontChange() { fStyleMap.updateFont(); } + public void setInvertedColors(boolean invert) { + fStyleMap.setInvertedColors(invert); + + } } From 7fa5d0ab1ee3118b4b6d6ba28317fad7f4af28f9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 03:18:46 +0000 Subject: [PATCH 206/843] bug 206218: [terminal] Terminal instances should use shared colors https://bugs.eclipse.org/bugs/show_bug.cgi?id=206218 --- .../terminal/textcanvas/StyleMap.java | 79 ++++++++++++------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index df735fa2c2b..7bd13927bbc 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -18,47 +18,58 @@ import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.RGB; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.terminal.model.Style; import org.eclipse.tm.terminal.model.StyleColor; public class StyleMap { + private static final String BLACK = "black"; //$NON-NLS-1$ + private static final String WHITE = "white"; //$NON-NLS-1$ + private static final String GRAY = "gray"; //$NON-NLS-1$ + private static final String MAGENTA = "magenta"; //$NON-NLS-1$ + private static final String CYAN = "cyan"; //$NON-NLS-1$ + private static final String YELLOW = "yellow"; //$NON-NLS-1$ + private static final String BLUE = "blue"; //$NON-NLS-1$ + private static final String GREEN = "green"; //$NON-NLS-1$ + private static final String RED = "red"; //$NON-NLS-1$ + + private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ // TODO propagate the name of the fonf in the FontRegistry String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ Map fColorMap=new HashMap(); Map fFontMap=new HashMap(); private Point fCharSize; - private final Style fDefaultStyle; + private Style fDefaultStyle; private boolean fInvertColors; StyleMap() { - Display display=Display.getCurrent(); - fColorMap.put(StyleColor.getStyleColor("white"), new Color(display,255,255,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("black"), new Color(display,0,0,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("red"), new Color(display,255,128,128)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("green"), new Color(display,128,255,128)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("blue"), new Color(display,128,128,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("yellow"), new Color(display,255,255,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("cyan"), new Color(display,0,255,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("magenta"), new Color(display,255,255,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("gray"), new Color(display,128,128,128)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("WHITE"), new Color(display,255,255,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("BLACK"), new Color(display,0,0,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("RED"), new Color(display,255,128,128)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("GREEN"), new Color(display,128,255,128)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("BLUE"), new Color(display,128,128,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("YELLOW"), new Color(display,255,255,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("CYAN"), new Color(display,0,255,255)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("MAGENTA"), new Color(display,255,255,0)); //$NON-NLS-1$ - fColorMap.put(StyleColor.getStyleColor("GRAY"), new Color(display,128,128,128)); //$NON-NLS-1$ - fDefaultStyle=Style.getStyle(StyleColor.getStyleColor("black"),StyleColor.getStyleColor("white")); //$NON-NLS-1$ //$NON-NLS-2$ + addColor(WHITE, 255,255,255); + addColor(BLACK, 0,0,0); + addColor(RED, 255,128,128); + addColor(GREEN, 128,255,128); + addColor(BLUE, 128,128,255); + addColor(YELLOW, 255,255,0); + addColor(CYAN, 0,255,255); + addColor(MAGENTA, 255,255,0); + addColor(GRAY, 128,128,128); updateFont(); } + private void addColor(String name, int r, int g, int b) { + String colorName=PREFIX+name; + Color color=JFaceResources.getColorRegistry().get(colorName); + if(color==null) { + JFaceResources.getColorRegistry().put(colorName, new RGB(r,g,b)); + color=JFaceResources.getColorRegistry().get(colorName); + } + fColorMap.put(StyleColor.getStyleColor(name), color); + fColorMap.put(StyleColor.getStyleColor(name.toUpperCase()), color); + } public Color getColor(StyleColor colorName) { return (Color) fColorMap.get(colorName); } public Color getForegrondColor(Style style) { style = defaultIfNull(style); - if(isReverse(style)) + if(style.isReverse()) return getColor(style.getBackground()); else return getColor(style.getForground()); @@ -70,21 +81,29 @@ public class StyleMap { } public Color getBackgroundColor(Style style) { style = defaultIfNull(style); - if(isReverse(style)) + if(style.isReverse()) return getColor(style.getForground()); else return getColor(style.getBackground()); } - private boolean isReverse(Style style) { - if(fInvertColors) - return !style.isReverse(); - else - return style.isReverse(); - - } public void setInvertedColors(boolean invert) { + if(invert==fInvertColors) + return; fInvertColors=invert; + swapColors(WHITE,BLACK); + fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); + } + void swapColors(String n1, String n2) { + swapColors2(n1, n2); + swapColors2(n1.toUpperCase(), n2.toUpperCase()); + } + void swapColors2(String n1, String n2) { + Color c1=getColor(StyleColor.getStyleColor(n1)); + Color c2=getColor(StyleColor.getStyleColor(n2)); + fColorMap.put(StyleColor.getStyleColor(n1), c2); + fColorMap.put(StyleColor.getStyleColor(n2), c1); + } // static Font getBoldFont(Font font) { // FontData fontDatas[] = font.getFontData(); From 3e24a835185eae56b2090c77ec7fb2db07fdc1e0 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 03:19:46 +0000 Subject: [PATCH 207/843] color pref was not set at startup --- .../eclipse/tm/internal/terminal/view/TerminalView.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index e5d444e7920..364b202d961 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -122,13 +122,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { public void propertyChange(PropertyChangeEvent event) { if(event.getProperty().equals(TerminalPreferencePage.PREF_LIMITOUTPUT) - || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES)) { + || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES) + || event.getProperty().equals(TerminalPreferencePage.PREF_INVERT_COLORS)) { updatePreferences(); } - if(event.getProperty().equals(TerminalPreferencePage.PREF_INVERT_COLORS)) { - Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); - fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS)); - } } }; public TerminalView() { @@ -171,6 +168,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi if(!limitOutput) bufferLineLimit=-1; fCtlTerminal.setBufferLineLimit(bufferLineLimit); + fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS)); } // TerminalTarget interface public void setState(final TerminalState state) { From e79b8fce947e8580e5be128ec9025a23a40dc89c Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 03:28:06 +0000 Subject: [PATCH 208/843] bug 205260: [terminal] The terminal does not take the font from the preferences https://bugs.eclipse.org/bugs/show_bug.cgi?id=205260 --- .../terminal/textcanvas/StyleMap.java | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 7bd13927bbc..13ab0e0c6ea 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -33,7 +33,7 @@ public class StyleMap { private static final String BLUE = "blue"; //$NON-NLS-1$ private static final String GREEN = "green"; //$NON-NLS-1$ private static final String RED = "red"; //$NON-NLS-1$ - + private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ // TODO propagate the name of the fonf in the FontRegistry String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ @@ -44,14 +44,15 @@ public class StyleMap { private boolean fInvertColors; StyleMap() { addColor(WHITE, 255,255,255); - addColor(BLACK, 0,0,0); - addColor(RED, 255,128,128); - addColor(GREEN, 128,255,128); - addColor(BLUE, 128,128,255); - addColor(YELLOW, 255,255,0); - addColor(CYAN, 0,255,255); - addColor(MAGENTA, 255,255,0); - addColor(GRAY, 128,128,128); + addColor(BLACK, 0,0,0); + addColor(RED, 255,128,128); + addColor(GREEN, 128,255,128); + addColor(BLUE, 128,128,255); + addColor(YELLOW, 255,255,0); + addColor(CYAN, 0,255,255); + addColor(MAGENTA, 255,255,0); + addColor(GRAY, 128,128,128); + fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); updateFont(); } private void addColor(String name, int r, int g, int b) { @@ -90,8 +91,8 @@ public class StyleMap { if(invert==fInvertColors) return; fInvertColors=invert; - swapColors(WHITE,BLACK); - fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); + swapColors(WHITE,BLACK); + fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); } void swapColors(String n1, String n2) { swapColors2(n1, n2); @@ -103,7 +104,7 @@ public class StyleMap { Color c2=getColor(StyleColor.getStyleColor(n2)); fColorMap.put(StyleColor.getStyleColor(n1), c2); fColorMap.put(StyleColor.getStyleColor(n2), c1); - + } // static Font getBoldFont(Font font) { // FontData fontDatas[] = font.getFontData(); From 878abc5139a360195d92ab71ac1369566c363a78 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 03:28:26 +0000 Subject: [PATCH 209/843] bug 205260: [terminal] The terminal does not take the font from the preferences https://bugs.eclipse.org/bugs/show_bug.cgi?id=205260 --- .../org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 13ab0e0c6ea..25f8f4a678b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -35,7 +35,7 @@ public class StyleMap { private static final String RED = "red"; //$NON-NLS-1$ private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ - // TODO propagate the name of the fonf in the FontRegistry + // TODO propagate the name of the font in the FontRegistry String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ Map fColorMap=new HashMap(); Map fFontMap=new HashMap(); From 60e7a1f2d61de05889753fce4297439da997a397 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 13 Oct 2007 03:32:22 +0000 Subject: [PATCH 210/843] bug 206221: [terminal] The preference setting "Limit terminal output" has no effect https://bugs.eclipse.org/bugs/show_bug.cgi?id=206221 --- .../terminal/view/TerminalPreferencePage.java | 73 ------------------- .../internal/terminal/view/TerminalView.java | 6 +- 2 files changed, 3 insertions(+), 76 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java index fc02b1a6969..c8e142bd225 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java @@ -20,12 +20,6 @@ import org.eclipse.jface.preference.BooleanFieldEditor; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.IntegerFieldEditor; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; @@ -43,8 +37,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements public static final boolean DEFAULT_INVERT_COLORS = false; - protected TerminalBooleanFieldEditor fEditorLimitOutput; - protected BooleanFieldEditor fInvertColors; protected IntegerFieldEditor fEditorBufferSize; @@ -55,41 +47,15 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements public TerminalPreferencePage() { super(GRID); } - public void onLimitOutputSelected() { - Button ctlButton; - Text ctlText; - Label ctlLabel; - boolean bEnabled; - - - ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlText = fEditorBufferSize.getTextControl(getFieldEditorParent()); - ctlLabel = fEditorBufferSize.getLabelControl(getFieldEditorParent()); - bEnabled = ctlButton.getSelection(); - - ctlText.setEnabled(bEnabled); - ctlLabel.setEnabled(bEnabled); - } protected void createFieldEditors() { setupPage(); } - protected void initialize() { - super.initialize(); - - onLimitOutputSelected(); - } - protected void performDefaults() { - super.performDefaults(); - - onLimitOutputSelected(); - } public void init(IWorkbench workbench) { // do nothing } protected void setupPage() { setupData(); setupEditors(); - setupListeners(); } protected void setupData() { TerminalViewPlugin plugin; @@ -103,9 +69,6 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements fInvertColors = new BooleanFieldEditor( PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS, getFieldEditorParent()); - fEditorLimitOutput = new TerminalBooleanFieldEditor( - PREF_LIMITOUTPUT, ViewMessages.LIMITOUTPUT, - getFieldEditorParent()); fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, ViewMessages.BUFFERLINES, getFieldEditorParent()); fEditorSerialTimeout = new IntegerFieldEditor( @@ -120,44 +83,8 @@ public class TerminalPreferencePage extends FieldEditorPreferencePage implements fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); addField(fInvertColors); - addField(fEditorLimitOutput); addField(fEditorBufferSize); addField(fEditorSerialTimeout); addField(fEditorNetworkTimeout); } - protected void setupListeners() { - TerminalSelectionHandler selectionHandler; - Button ctlButton; - - selectionHandler = new TerminalSelectionHandler(); - ctlButton = fEditorLimitOutput.getChangeControl(getFieldEditorParent()); - ctlButton.addSelectionListener(selectionHandler); - } - public class TerminalBooleanFieldEditor extends BooleanFieldEditor { - public TerminalBooleanFieldEditor(String strName, String strLabel, - Composite ctlParent) { - super(strName, strLabel, ctlParent); - } - public Button getChangeControl(Composite parent) { - return super.getChangeControl(parent); - } - } - protected class TerminalSelectionHandler extends SelectionAdapter { - protected TerminalSelectionHandler() { - super(); - } - public void widgetSelected(SelectionEvent event) { - Object source; - Button ctlButton; - - source = event.getSource(); - ctlButton = fEditorLimitOutput - .getChangeControl(getFieldEditorParent()); - - if (source == ctlButton) { - onLimitOutputSelected(); - } - } - - } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 364b202d961..4a8442ba142 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -163,10 +163,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi */ private void updatePreferences() { Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); - boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); +// boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); +// if(!limitOutput) +// bufferLineLimit=-1; int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); - if(!limitOutput) - bufferLineLimit=-1; fCtlTerminal.setBufferLineLimit(bufferLineLimit); fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS)); } From 42235e4d5e3775920716f97cdbbdf5f78861f2b9 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 16 Oct 2007 03:57:30 +0000 Subject: [PATCH 211/843] bug 206363: [regression] Terminal shows spurious vertical bars around the cursor when typing https://bugs.eclipse.org/bugs/show_bug.cgi?id=206363 --- .../terminal/textcanvas/AbstractTextCanvasModel.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index cac9e326f66..7bd6bbc7b34 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -163,7 +163,16 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { if(t-fCursorTime>500) { fShowCursor=!fShowCursor; fCursorTime=t; - fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + // on some windows machines, there is some left + // over when updating the cursor . + // https://bugs.eclipse.org/bugs/show_bug.cgi?id=206363 + int col=fCursorColumn; + int width=1; + if(col>0) { + col--; + width++; + } + fireCellRangeChanged(col, fCursorLine, width, 1); } } } From 8266f8929e24ceff8c2735adbb3aac079c7d82b5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 16 Oct 2007 12:20:58 +0000 Subject: [PATCH 212/843] [206363][regression] Terminal shows spurious vertical bars around the cursor on Vista --- .../terminal/textcanvas/AbstractTextCanvasModel.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 7bd6bbc7b34..2232823aac4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -149,7 +149,14 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { // hide the old cursor! fShowCursor=false; // clean the previous cursor - fireCellRangeChanged(fCursorColumn, fCursorLine, 1, 1); + // bug 206363: paint also the char to the left and right of the cursor - see also below + int col=fCursorColumn; + int width=2; + if(col>0) { + col--; + width++; + } + fireCellRangeChanged(col, fCursorLine, width, 1); // the cursor is shown when it moves! fShowCursor=true; fCursorTime=System.currentTimeMillis(); @@ -167,7 +174,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { // over when updating the cursor . // https://bugs.eclipse.org/bugs/show_bug.cgi?id=206363 int col=fCursorColumn; - int width=1; + int width=2; if(col>0) { col--; width++; From 494e3e0027e3da7ffe85c2619fa9cbf030ec0d39 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 16 Oct 2007 14:56:44 +0000 Subject: [PATCH 213/843] Do not cache the GC --- .../terminal/textcanvas/VirtualCanvas.java | 32 +++++++------------ 1 file changed, 12 insertions(+), 20 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index eb0e8ccaff1..21419677174 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -14,8 +14,6 @@ package org.eclipse.tm.internal.terminal.textcanvas; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.swt.SWT; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; @@ -34,9 +32,8 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; */ public abstract class VirtualCanvas extends Canvas { - private Rectangle fVirtualBounds = new Rectangle(0,0,0,0); + private final Rectangle fVirtualBounds = new Rectangle(0,0,0,0); private Rectangle fClientArea; - private GC fPaintGC=null; /** * prevent infinite loop in {@link #updateScrollbars()} */ @@ -45,7 +42,6 @@ public abstract class VirtualCanvas extends Canvas { public VirtualCanvas(Composite parent, int style) { super(parent, style|SWT.NO_BACKGROUND|SWT.NO_REDRAW_RESIZE); - fPaintGC= new GC(this); fClientArea=getClientArea(); addListener(SWT.Paint, new Listener() { public void handleEvent(Event event) { @@ -71,16 +67,7 @@ public abstract class VirtualCanvas extends Canvas { } }); - addDisposeListener(new DisposeListener(){ - public void widgetDisposed(DisposeEvent e) { - if(fPaintGC!=null){ - fPaintGC.dispose(); - fPaintGC=null; - } - } - - }); - } + } protected void onResize() { updateViewRectangle(); } @@ -149,10 +136,15 @@ public abstract class VirtualCanvas extends Canvas { } protected void repaint(Rectangle r) { - if (fPaintGC!=null) { - if(inClipping(r,fClientArea)) { - fPaintGC.setClipping(r); - paint(fPaintGC); + if(isDisposed()) + return; + if(inClipping(r,fClientArea)) { + GC gc=new GC(this); + try { + gc.setClipping(r); + paint(gc); + } finally { + gc.dispose(); } } } @@ -261,7 +253,7 @@ public abstract class VirtualCanvas extends Canvas { return y-fVirtualBounds.y; } /** called when the viewed part is changing */ - private Rectangle fViewRectangle=new Rectangle(0,0,0,0); + private final Rectangle fViewRectangle=new Rectangle(0,0,0,0); protected void updateViewRectangle() { if( fViewRectangle.x==-fVirtualBounds.x From c52fca1e6e3b34ece81c8951fe3e768c1a2de86a Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 17 Oct 2007 22:33:54 +0000 Subject: [PATCH 214/843] resolved a name conflict on the mac --- .../tm/internal/terminal/textcanvas/VirtualCanvas.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 21419677174..684d5cfb33b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -153,7 +153,7 @@ public abstract class VirtualCanvas extends Canvas { * @param gc */ abstract protected void paint(GC gc); - protected Color getBackgroundColor() { + protected Color getTerminalBackgroundColor() { // return getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); return getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); } @@ -164,7 +164,7 @@ public abstract class VirtualCanvas extends Canvas { int marginHeight = (clipping.y+clipping.height) - height; if(marginWidth>0||marginHeight>0){ Color bg=getBackground(); - gc.setBackground(getBackgroundColor()); + gc.setBackground(getTerminalBackgroundColor()); if (marginWidth > 0) { gc.fillRectangle (width, clipping.y, marginWidth, clipping.height); } From 26abd8a7130b5b234f37235db5ed62d2e8e56f85 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 17 Oct 2007 23:05:42 +0000 Subject: [PATCH 215/843] bug 205186: [regression][mac] SSH Terminal does not paint correctly on OSX https://bugs.eclipse.org/bugs/show_bug.cgi?id=205186 --- .../internal/terminal/textcanvas/VirtualCanvas.java | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 684d5cfb33b..8e98d63cb91 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -138,15 +138,8 @@ public abstract class VirtualCanvas extends Canvas { protected void repaint(Rectangle r) { if(isDisposed()) return; - if(inClipping(r,fClientArea)) { - GC gc=new GC(this); - try { - gc.setClipping(r); - paint(gc); - } finally { - gc.dispose(); - } - } + redraw(r.x, r.y, r.width, r.height, true); + update(); } /** From bf10b89b789fca99c3cc50b66b92b1c76db804ae Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 17 Oct 2007 23:18:18 +0000 Subject: [PATCH 216/843] bug 205186: [regression][mac] SSH Terminal does not paint correctly on OSX https://bugs.eclipse.org/bugs/show_bug.cgi?id=205186 The correct solution is to Control.redraw(...) the rectangle and to Control.update() to display the results.... --- .../tm/internal/terminal/textcanvas/VirtualCanvas.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 8e98d63cb91..d47325e85ee 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -138,8 +138,10 @@ public abstract class VirtualCanvas extends Canvas { protected void repaint(Rectangle r) { if(isDisposed()) return; - redraw(r.x, r.y, r.width, r.height, true); - update(); + if(inClipping(r,fClientArea)) { + redraw(r.x, r.y, r.width, r.height, true); + update(); + } } /** From a348175717fd443a33585c5ce00f6b09cf9bca2d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 22 Oct 2007 04:57:11 +0000 Subject: [PATCH 217/843] bug 206892: [terminal][serial] Incorrect connected state when COM port is owned by another terminal https://bugs.eclipse.org/bugs/show_bug.cgi?id=206892 applied patch provided by Martin Oberhuber --- .../terminal/serial/SerialConnector.java | 10 ++++++++-- .../tm/internal/terminal/view/TerminalView.java | 16 +++++++++------- .../terminal/emulator/VT100TerminalControl.java | 6 ++++-- 3 files changed, 21 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index f637a34d7ff..2a3dfd00a93 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206892] Dont connect if already connecting *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -41,6 +42,7 @@ public class SerialConnector implements ITerminalConnector { private CommPortIdentifier fSerialPortIdentifier; private SerialPortHandler fTerminalSerialPortHandler; private SerialSettings fSettings; + private SerialConnectWorker fConnectWorker; public SerialConnector() { } public SerialConnector(SerialSettings settings) { @@ -56,9 +58,13 @@ public class SerialConnector implements ITerminalConnector { } public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ + if (fConnectWorker!=null && fConnectWorker.isAlive()) { + //already connecting + return; + } + fConnectWorker = new SerialConnectWorker(this, control); fControl=control; - SerialConnectWorker worker = new SerialConnectWorker(this, control); - worker.start(); + fConnectWorker.start(); } public void disconnect() { Logger.log("entered."); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 4a8442ba142..80b0d0608a9 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -212,7 +213,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalConnect() { - if (isConnected()) + //if (isConnected()) + if (fCtlTerminal.getState()!=TerminalState.CLOSED) return; if(fCtlTerminal.getTerminalConnectorInfo()==null) setConnector(showSettingsDialog()); @@ -226,13 +228,15 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void updateTerminalConnect() { - boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); fActionTerminalConnect.setEnabled(bEnabled); } private boolean isConnecting() { - return fCtlTerminal.getState()==TerminalState.CONNECTING; + return fCtlTerminal.getState()==TerminalState.CONNECTING + || fCtlTerminal.getState()==TerminalState.OPENED; } private boolean isConnected() { return fCtlTerminal.getState()==TerminalState.CONNECTED; @@ -282,10 +286,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void updateTerminalSettings() { - boolean bEnabled; - - bEnabled = ((!isConnecting()) && (!fCtlTerminal - .isConnected())); + //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); fActionTerminalSettings.setEnabled(bEnabled); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index e990dadc316..4adc5cb083a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -287,7 +288,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if(getTerminalConnector()!=null) { getTerminalConnector().disconnect(); } - } + } // TODO private void waitForConnect() { @@ -655,7 +656,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC char character = event.character; - if (!isConnected()) { + //if (!isConnected()) { + if (fState!=TerminalState.CLOSED) { // Pressing ENTER while not connected causes us to connect. if (character == '\r') { connectTerminal(); From 874b39827f139e6642aa36c26e1f6b5022135af2 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 22 Oct 2007 05:08:24 +0000 Subject: [PATCH 218/843] NEW - bug 206883: [terminal][leak] VT100TerminalControl keeps a Job running even after disconnect https://bugs.eclipse.org/bugs/show_bug.cgi?id=206883 applied patch by Martin Oberhuber --- .../emulator/VT100TerminalControl.java | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 4adc5cb083a..db2a5dd6bb3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED + * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -107,6 +108,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private final ITerminalTextData fTerminalModel; + /** + * Is protected by synchronize on this + */ volatile private Job fJob; public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { @@ -288,7 +292,22 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if(getTerminalConnector()!=null) { getTerminalConnector().disconnect(); } - } + //Ensure that a new Job can be started; then clean up old Job. + //TODO not sure whether the fInputStream needs to be cleaned too, + //or whether the Job could actually cancel in case the fInputStream is closed. + Job job; + synchronized(this) { + job = fJob; + fJob = null; + } + if (job!=null) { + job.cancel(); + //There's not really a need to interrupt, since the job will + //check its cancel status after 500 msec latest anyways... + //Thread t = job.getThread(); + //if(t!=null) t.interrupt(); + } + } // TODO private void waitForConnect() { @@ -313,7 +332,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } - private void startReaderJob() { + private synchronized void startReaderJob() { if(fJob==null) { fJob=new Job("Terminal data reader") { //$NON-NLS-1$ protected IStatus run(IProgressMonitor monitor) { From b1d2e6973c6fe68cb4159c45e7187ca5476e7960 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 22 Oct 2007 07:35:06 +0000 Subject: [PATCH 219/843] bug 206892: [terminal][serial] Incorrect connected state when COM port is owned by another terminal https://bugs.eclipse.org/bugs/show_bug.cgi?id=206892 fixed the accidentally reversed logic! --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index db2a5dd6bb3..6fc3237e45f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -676,7 +676,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC char character = event.character; //if (!isConnected()) { - if (fState!=TerminalState.CLOSED) { + if (fState==TerminalState.CLOSED) { // Pressing ENTER while not connected causes us to connect. if (character == '\r') { connectTerminal(); From a2ca08b5a8ad08ea046cfffda4a0d7c3224ff538 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 23 Oct 2007 13:20:30 +0000 Subject: [PATCH 220/843] [207158] improve error message when port not available --- .../terminal/serial/SerialConnectWorker.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 5542863c67c..02cb974f8d7 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [207158] improve error message when port not available *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -96,9 +97,12 @@ public class SerialConnectWorker extends Thread { public void run() { String portName=null; + //Ownership identifier: + //TODO [206884] This is part of API and should be changed for the next release + final String strID = getClass().getPackage().getName(); + //final String strID = "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ try { fControl.setState(TerminalState.OPENED); - String strID = getClass().getPackage().getName(); ISerialSettings s=fConn.getSerialSettings(); portName=s.getSerialPort(); try { @@ -122,7 +126,11 @@ public class SerialConnectWorker extends Thread { fControl.setState(TerminalState.CONNECTED); } catch (PortInUseException portInUseException) { fControl.setState(TerminalState.CLOSED); - fControl.displayTextInTerminal("Connection Error!\n" + portInUseException.getMessage()); //$NON-NLS-1$ + String theOwner = portInUseException.currentOwner; + if (strID.equals(theOwner)) { + theOwner = "another Terminal View"; + } + fControl.displayTextInTerminal("Connection Error!\r\n" +portName+" is already in use by "+ theOwner); } catch (NoSuchPortException e) { fControl.setState(TerminalState.CLOSED); String msg=e.getMessage(); From 46fcf6c060d491adcb6c552dca4f0e2a9d68b170 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 26 Oct 2007 05:13:35 +0000 Subject: [PATCH 221/843] FIXED - bug 206328: [regression] Terminal does not draw correctly with proportional font https://bugs.eclipse.org/bugs/show_bug.cgi?id=206328 patch applied --- .../terminal/textcanvas/StyleMap.java | 42 ++++++++++++++++++- .../terminal/textcanvas/TextLineRenderer.java | 19 ++++++++- 2 files changed, 58 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 25f8f4a678b..399c897a0d2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -33,7 +33,7 @@ public class StyleMap { private static final String BLUE = "blue"; //$NON-NLS-1$ private static final String GREEN = "green"; //$NON-NLS-1$ private static final String RED = "red"; //$NON-NLS-1$ - + private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ // TODO propagate the name of the font in the FontRegistry String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ @@ -42,6 +42,8 @@ public class StyleMap { private Point fCharSize; private Style fDefaultStyle; private boolean fInvertColors; + private boolean fProportional; + private final int[] fOffsets=new int[256]; StyleMap() { addColor(WHITE, 255,255,255); addColor(BLACK, 0,0,0); @@ -138,6 +140,44 @@ public class StyleMap { GC gc = new GC (display); gc.setFont(getFont()); fCharSize = gc.textExtent ("W"); //$NON-NLS-1$ + fProportional=false; + + for (char c = ' '; c <= '~'; c++) { + // consider only the first 128 chars for deciding if a font + // is proportional + if(measureChar(gc, c)) + fProportional=true; + } + // TODO should we also consider the upper 128 chars?? +// for (char c = ' '+128; c <= '~'+128; c++) { +// measureChar(gc, c); +// } + for (int i = 0; i < fOffsets.length; i++) { + fOffsets[i]=(fCharSize.x-fOffsets[i])/2; + } gc.dispose (); } + private boolean measureChar(GC gc, char c) { + boolean proportional=false; + Point ext=gc.textExtent(String.valueOf(c)); + if(ext.x>0 && ext.y>0 && (fCharSize.x!=ext.x || fCharSize.y!=ext.y)) { + proportional=true; + fCharSize.x=Math.max(fCharSize.x, ext.x); + fCharSize.y=Math.max(fCharSize.y, ext.y); + } + fOffsets[c]=ext.x; + return proportional; + } + public boolean isFontProportional() { + return fProportional; + } + /** + * @param c + * @return the offset in x direction to center this character + */ + public int getCharOffset(char c) { + if(c>=fOffsets.length) + return 0; + return fOffsets[c]; + } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 66d7a2f9e7a..cb08db942e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -116,8 +116,23 @@ public class TextLineRenderer implements ILinelRenderer { } private void drawText(GC gc, int x, int y, int colFirst, int col, String text) { int offset=(col-colFirst)*getCellWidth(); - text=text.replace('\000', ' '); - gc.drawString(text,x+offset,y,false); + if(fStyleMap.isFontProportional()) { + // draw the background + // TODO why does this not work??????? +// gc.fillRectangle(x,y,fStyleMap.getFontWidth()*text.length(),fStyleMap.getFontHeight()); + for (int i = 0; i < text.length(); i++) { + char c=text.charAt(i); + int xx=x+offset+i*fStyleMap.getFontWidth(); + // TODO why do I have to draw the background character by character?????? + gc.fillRectangle(xx,y,fStyleMap.getFontWidth(),fStyleMap.getFontHeight()); + if(c!=' ' && c!='\000') { + gc.drawString(String.valueOf(c),fStyleMap.getCharOffset(c)+xx,y,true); + } + } + } else { + text=text.replace('\000', ' '); + gc.drawString(text,x+offset,y,false); + } } private void setupGC(GC gc, Style style) { Color c=fStyleMap.getForegrondColor(style); From 184f56e1ad403aa9f9d538bc0be59c18d9a7acae Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 26 Oct 2007 05:42:19 +0000 Subject: [PATCH 222/843] NEW - bug 206328: [regression] Terminal does not draw correctly with proportional font https://bugs.eclipse.org/bugs/show_bug.cgi?id=206328 --- .../internal/terminal/textcanvas/StyleMap.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 399c897a0d2..288158231e0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -145,25 +145,27 @@ public class StyleMap { for (char c = ' '; c <= '~'; c++) { // consider only the first 128 chars for deciding if a font // is proportional - if(measureChar(gc, c)) + if(measureChar(gc, c, true)) fProportional=true; } // TODO should we also consider the upper 128 chars?? -// for (char c = ' '+128; c <= '~'+128; c++) { -// measureChar(gc, c); -// } + for (char c = ' '+128; c <= '~'+128; c++) { + measureChar(gc, c,false); + } for (int i = 0; i < fOffsets.length; i++) { fOffsets[i]=(fCharSize.x-fOffsets[i])/2; } gc.dispose (); } - private boolean measureChar(GC gc, char c) { + private boolean measureChar(GC gc, char c, boolean updateMax) { boolean proportional=false; Point ext=gc.textExtent(String.valueOf(c)); if(ext.x>0 && ext.y>0 && (fCharSize.x!=ext.x || fCharSize.y!=ext.y)) { proportional=true; - fCharSize.x=Math.max(fCharSize.x, ext.x); - fCharSize.y=Math.max(fCharSize.y, ext.y); + if(updateMax) { + fCharSize.x=Math.max(fCharSize.x, ext.x); + fCharSize.y=Math.max(fCharSize.y, ext.y); + } } fOffsets[c]=ext.x; return proportional; From 4bd12882d412a4040d6907c807e465b1e1fd8d46 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Oct 2007 22:38:44 +0000 Subject: [PATCH 223/843] [208145] Terminal prints garbage after quick disconnect-reconnect --- .../emulator/VT100TerminalControl.java | 48 +++++++++++-------- 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 6fc3237e45f..1760fab6d7b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs + * Martin Oberhuber (Wind River) - [208145] Terminal prints garbage after quick disconnect/reconnect *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -337,31 +338,38 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fJob=new Job("Terminal data reader") { //$NON-NLS-1$ protected IStatus run(IProgressMonitor monitor) { IStatus status=Status.OK_STATUS; - while(true) { - while(fInputStream.available()==0 && !monitor.isCanceled()) { + try { + while(true) { + while(fInputStream.available()==0 && !monitor.isCanceled()) { + try { + fInputStream.waitForAvailable(500); + } catch (InterruptedException e) { + Thread.currentThread().interrupt(); + } + } + if(monitor.isCanceled()) { + //Do not disconnect terminal here because another reader job may already be running + status=Status.CANCEL_STATUS; + break; + } try { - fInputStream.waitForAvailable(500); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); + // TODO: should block when no text is available! + fTerminalText.processText(); + } catch (Exception e) { + disconnectTerminal(); + status=new Status(IStatus.ERROR,TerminalPlugin.PLUGIN_ID,e.getLocalizedMessage(),e); + break; } } - if(monitor.isCanceled()) { - disconnectTerminal(); - status=Status.CANCEL_STATUS; - break; - } - try { - // TODO: should block when no text is available! - fTerminalText.processText(); - - } catch (Exception e) { - disconnectTerminal(); - status=new Status(IStatus.ERROR,TerminalPlugin.PLUGIN_ID,e.getLocalizedMessage(),e); - break; + } finally { + // clean the job: start a new one when the connection gets restarted + // Bug 208145: make sure we do not clean an other job that's already started (since it would become a Zombie) + synchronized (VT100TerminalControl.this) { + if (fJob==this) { + fJob=null; + } } } - // clean the job: start a new one when the connection getst restarted - fJob=null; return status; } From 1d64f9e9bf071842cdd8871f2069613cfe93ed7a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Oct 2007 23:19:13 +0000 Subject: [PATCH 224/843] [207785] NPE when trying to send char while no longer connected --- .../emulator/VT100TerminalControl.java | 43 +++++++++++-------- 1 file changed, 24 insertions(+), 19 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 1760fab6d7b..b0d0c81494c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs * Martin Oberhuber (Wind River) - [208145] Terminal prints garbage after quick disconnect/reconnect + * Martin Oberhuber (Wind River) - [207785] NPE when trying to send char while no longer connected *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -419,27 +420,31 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC protected void sendChar(char chKey, boolean altKeyPressed) { try { int byteToSend = chKey; - - if (altKeyPressed) { - // When the ALT key is pressed at the same time that a character is - // typed, translate it into an ESCAPE followed by the character. The - // alternative in this case is to set the high bit of the character - // being transmitted, but that will cause input such as ALT-f to be - // seen as the ISO Latin-1 character '�', which can be confusing to - // European users running Emacs, for whom Alt-f should move forward a - // word instead of inserting the '�' character. - // - // TODO: Make the ESCAPE-vs-highbit behavior user configurable. - - Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - getOutputStream().write('\u001b'); - getOutputStream().write(byteToSend); + OutputStream os = getOutputStream(); + if (os==null) { + // Bug 207785: NPE when trying to send char while no longer connected + Logger.log("NOT sending '" + byteToSend + "' because no longer connected"); //$NON-NLS-1$ //$NON-NLS-2$ } else { - Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - getOutputStream().write(byteToSend); - } + if (altKeyPressed) { + // When the ALT key is pressed at the same time that a character is + // typed, translate it into an ESCAPE followed by the character. The + // alternative in this case is to set the high bit of the character + // being transmitted, but that will cause input such as ALT-f to be + // seen as the ISO Latin-1 character '�', which can be confusing to + // European users running Emacs, for whom Alt-f should move forward a + // word instead of inserting the '�' character. + // + // TODO: Make the ESCAPE-vs-highbit behavior user configurable. - getOutputStream().flush(); + Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write('\u001b'); + getOutputStream().write(byteToSend); + } else { + Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + getOutputStream().write(byteToSend); + } + getOutputStream().flush(); + } } catch (SocketException socketException) { Logger.logException(socketException); From 0e1dd48e01f184b52a9a3d59a43bff37845ca1fc Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 30 Oct 2007 23:38:06 +0000 Subject: [PATCH 225/843] [208029] COM port not released after quick disconnect/reconnect --- .../terminal/serial/SerialConnectWorker.java | 23 +++- .../terminal/serial/SerialConnector.java | 110 ++++++++++++------ 2 files changed, 96 insertions(+), 37 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 02cb974f8d7..0685f00a4cf 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [207158] improve error message when port not available + * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -26,6 +27,7 @@ import java.util.Arrays; import java.util.Enumeration; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; public class SerialConnectWorker extends Thread { @@ -41,7 +43,6 @@ public class SerialConnectWorker extends Thread { super(); fControl = control; fConn = conn; - fControl.setState(TerminalState.CONNECTING); } /** @@ -91,7 +92,7 @@ public class SerialConnectWorker extends Thread { // nothing to do -- should never happen... return; } - // Reinitialise the ports because we have changed the list of known ports + // Reinitialize the ports because we have changed the list of known ports CommPortIdentifier.getPortIdentifiers(); } @@ -101,6 +102,7 @@ public class SerialConnectWorker extends Thread { //TODO [206884] This is part of API and should be changed for the next release final String strID = getClass().getPackage().getName(); //final String strID = "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ + SerialPort serialPort = null; try { fControl.setState(TerminalState.OPENED); ISerialSettings s=fConn.getSerialSettings(); @@ -116,7 +118,7 @@ public class SerialConnectWorker extends Thread { fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); int timeoutInMs = s.getTimeout() * 1000; - SerialPort serialPort=(SerialPort) fConn.getSerialPortIdentifier().open(strID,timeoutInMs); + serialPort=(SerialPort) fConn.getSerialPortIdentifier().open(strID,timeoutInMs); serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); serialPort.setFlowControlMode(s.getFlowControl()); serialPort.addEventListener(fConn.getSerialPortHandler()); @@ -139,7 +141,22 @@ public class SerialConnectWorker extends Thread { fControl.displayTextInTerminal("No such port: \"" + msg+"\"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ } catch (Exception exception) { + Logger.logException(exception); + if (serialPort!=null) { + //Event listener is removed as part of close(), + //but exceptions need to be caught to ensure that close() really succeeds + try { + serialPort.removeEventListener(); + Thread.sleep(50); //allow a little time for RXTX Native to catch up - makes stuff more stable + } catch(Exception e) { + Logger.logException(e); + } + serialPort.close(); + fConn.getSerialPortIdentifier().removePortOwnershipListener(fConn.getSerialPortHandler()); + } fControl.setState(TerminalState.CLOSED); + } finally { + fConn.doneConnect(); } } } \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 2a3dfd00a93..c63fec23d53 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -13,7 +13,8 @@ * Contributors: * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [206892] Dont connect if already connecting + * Martin Oberhuber (Wind River) - [206892] Don't connect if already connecting + * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -42,7 +43,9 @@ public class SerialConnector implements ITerminalConnector { private CommPortIdentifier fSerialPortIdentifier; private SerialPortHandler fTerminalSerialPortHandler; private SerialSettings fSettings; - private SerialConnectWorker fConnectWorker; + private SerialConnectWorker fConnectWorker = null; + private volatile boolean fDisconnectGoingOn = false; + public SerialConnector() { } public SerialConnector(SerialSettings settings) { @@ -58,16 +61,37 @@ public class SerialConnector implements ITerminalConnector { } public void connect(ITerminalControl control) { Logger.log("entered."); //$NON-NLS-1$ - if (fConnectWorker!=null && fConnectWorker.isAlive()) { - //already connecting - return; + synchronized(this) { + if (fConnectWorker!=null || fDisconnectGoingOn) { + //avoid multiple background connect/disconnect threads at the same time + return; + } + fConnectWorker = new SerialConnectWorker(this, control); } - fConnectWorker = new SerialConnectWorker(this, control); fControl=control; + fControl.setState(TerminalState.CONNECTING); fConnectWorker.start(); } + /** + * Indicate that the connectWorker is finished. + */ + void doneConnect() { + synchronized(this) { + fConnectWorker = null; + } + } public void disconnect() { Logger.log("entered."); //$NON-NLS-1$ + synchronized(this) { + //avoid multiple background connect/disconnect threads at the same time + if (fConnectWorker!=null) { + fConnectWorker.interrupt(); + return; + } else if (fDisconnectGoingOn) { + return; + } + fDisconnectGoingOn = true; + } // Fix for SPR 112422. When output is being received from the serial port, the // below call to removePortOwnershipListener() attempts to lock the serial port @@ -85,37 +109,53 @@ public class SerialConnector implements ITerminalConnector { new Thread("Terminal View Serial Port Disconnect Worker") //$NON-NLS-1$ { public void run() { - - if (getSerialPortIdentifier() != null) { - getSerialPortIdentifier() - .removePortOwnershipListener(getSerialPortHandler()); - } - - if (getSerialPort() != null) { - getSerialPort().removeEventListener(); - Logger.log("Calling close() on serial port ..."); //$NON-NLS-1$ - getSerialPort().close(); - } - - if (getInputStream() != null) { - try { - getInputStream().close(); - } catch (Exception exception) { - Logger.logException(exception); + try { + if (getSerialPortIdentifier() != null) { + try { + getSerialPortIdentifier() + .removePortOwnershipListener(getSerialPortHandler()); + } catch(Exception e) { + Logger.logException(e); + } } - } - - if (getOutputStream() != null) { - try { - getOutputStream().close(); - } catch (Exception exception) { - Logger.logException(exception); + + if (getSerialPort() != null) { + //Event listener is removed as part of close(), + //but exceptions need to be caught to ensure that close() really succeeds + try { + getSerialPort().removeEventListener(); + Thread.sleep(50); //allow a little time for RXTX Native to catch up - makes stuff more stable + } catch(Exception e) { + Logger.logException(e); + } + Logger.log("Calling close() on serial port ..."); //$NON-NLS-1$ + getSerialPort().close(); } + + if (getInputStream() != null) { + try { + getInputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + if (getOutputStream() != null) { + try { + getOutputStream().close(); + } catch (Exception exception) { + Logger.logException(exception); + } + } + + setSerialPortIdentifier(null); + cleanSerialPort(); + setSerialPortHandler(null); + } catch(Exception e) { + Logger.logException(e); + } finally { + fDisconnectGoingOn = false; } - - setSerialPortIdentifier(null); - cleanSerialPort(); - setSerialPortHandler(null); } }.start(); @@ -165,6 +205,7 @@ public class SerialConnector implements ITerminalConnector { return fSerialPortIdentifier; } protected void setSerialPortIdentifier(CommPortIdentifier serialPortIdentifier) { + //System.out.println("setSerialPortId: "+Thread.currentThread().getName()+ " - "+serialPortIdentifier + " - "+System.currentTimeMillis()); fSerialPortIdentifier = serialPortIdentifier; } void setSerialPortHandler(SerialPortHandler serialPortHandler) { @@ -175,6 +216,7 @@ public class SerialConnector implements ITerminalConnector { } public ISerialSettings getSerialSettings() { return fSettings; + } public ISettingsPage makeSettingsPage() { return new SerialSettingsPage(fSettings); From bfc803fd98717ef19d84520c54dc91f6fced60b4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 31 Oct 2007 00:47:20 +0000 Subject: [PATCH 226/843] [208166] Avoid unnecessary arraycopy in BoundedByteBuffer --- .../tm/internal/terminal/textcanvas/PipedInputStream.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java index c522626f246..aacebffbe90 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer * Martin Oberhuber (Wind River) - the waitForAvailable method + * Martin Oberhuber (Wind River) - [208166] Avoid unnecessary arraycopy in BoundedByteBuffer *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -100,7 +101,7 @@ public class PipedInputStream extends InputStream { wait(); int n = Math.min(len, fBuffer.length - fPutPos); System.arraycopy(b, off, fBuffer, fPutPos, n); - if (fPutPos + len > n) + if (fPutPos + len > fBuffer.length) System.arraycopy(b, off + n, fBuffer, 0, len - n); fPutPos = (fPutPos + len) % fBuffer.length; // cyclically increment boolean wasEmpty = fUsedSlots == 0; From 49404acb05205e97ed7163a8a5ec6a8a440a8f6a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 31 Oct 2007 18:13:23 +0000 Subject: [PATCH 227/843] Rev up plugin and feature versions towards TM 3.0 --- org.eclipse.tm.terminal-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.sdk-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.serial-feature/feature.xml | 10 +++++----- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.xml | 8 ++++---- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 8 ++++---- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 8 ++++---- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 12 files changed, 33 insertions(+), 33 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index dec05659730..ac9665e243f 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ @@ -18,8 +18,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index f122d15c8bd..821535038ec 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ @@ -19,8 +19,8 @@ - - + + @@ -18,17 +18,17 @@ - - + + - + @@ -18,14 +18,14 @@ - - + + - + diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index dfbba0111b1..f0866ccd9ad 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 1.0.1.qualifier +Bundle-Version: 2.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[1.0.0,2.0.0)", + org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index d024b7475b4..a4c2cc10225 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -2,7 +2,7 @@ @@ -18,14 +18,14 @@ - - + + - + @@ -18,14 +18,14 @@ - - + + - + Date: Tue, 13 Nov 2007 12:31:34 +0000 Subject: [PATCH 228/843] Update Terminal README for new fast implementation --- org.eclipse.tm.terminal/README.txt | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/README.txt b/org.eclipse.tm.terminal/README.txt index 0f370d7f16f..dc1cc117b6b 100644 --- a/org.eclipse.tm.terminal/README.txt +++ b/org.eclipse.tm.terminal/README.txt @@ -1,9 +1,11 @@ Terminal README =============== -The Terminal is a Jface StyledText widget that can be hooked -up to various ITerminalConnectors providing an InputStream, -OutputStream, and a method for setting the Terminal Size. +The Terminal is a UI-less model of a grid of characters, +plus an SWT widget that's updated asynchronously for +maximum performance. The widget can be hooked up to various +ITerminalConnectors providing an InputStream, OutputStream, +and a method for setting the Terminal Size. The widget processes ANSI control characters, including NUL, backspace, carriage return, linefeed, and a subset of ANSI From 7a3ca9170a44e64a091596f21b7f81265af9acc7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Nov 2007 14:11:30 +0000 Subject: [PATCH 229/843] Update Terminal README for RXTX installation as plugins --- org.eclipse.tm.terminal.serial/README.txt | 34 +++++++++++++++++++---- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index 0855ff79a34..96b69ce1a03 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -5,14 +5,36 @@ to RSE downloads after 2.0M4. Instructions for previous versions (using Sun javacomm / javax.comm package instead of gnu.io) are still available from http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 + Prerequisites: -------------- -In order to compile and run this plugin, RXTX has to be installed into -the jvm. Once RXTXcomm.jar is installed in your JRE, you'll need to -quit and re-start Eclipse PDE in order to recompute the classpath. +In order to compile and run this plugin, RXTX has to be installed. +There are two options: Either installing RXTX as an Eclipse plugin, +or installing RXTX as a JVM extension. For installation as plugin, +you can download a ZIP archive or use the Update Manager. +In either case, once RXTX is installed, you'll need to quit and +re-start Eclipse PDE in order to recompute the classpath. -Installation: -------------- + +Option A.1: Installation as an Eclipse Plugin via Update Manager: +----------------------------------------------------------------- +* In Eclipse, choose Help > Software Updates > Find and Install + - Search for New Features to Install, Next + - New Remote Site: + Name = RXTX + URL = http://rxtx.qbang.org/eclipse/ + - Finish, select proper version, Install All + + +Option A.2: Installation as an Eclipse Plugin via Download: +----------------------------------------------------------- +* Download RXTX SDK or Runtime ZIP from + http://rxtx.qbang.org/eclipse/downloads/ + and extract it into your Eclipse installation. + + +Option B: Installation as a JVM Extension: +------------------------------------------ * Get RXTX binaries from ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip * Copy RXTXcomm.jar into $JRE/lib/ext @@ -24,7 +46,9 @@ Installation: are available from the "ToyBox" link on http://users.frii.com/jarvi/rxtx/download.html + Changelog: ---------- +1.0.1 - Added options for installing RXTX as an Eclipse Plugin 0.9.100 - switched from Sun javax.comm to rxtx gnu.io for serial support 0.9.0 - first version \ No newline at end of file From 2fdbf8e3e200558e0b02aae0416c5f1132cf532b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 14 Nov 2007 05:58:57 +0000 Subject: [PATCH 230/843] call Logger.encode only if logging is enabled --- .../terminal/telnet/TelnetConnection.java | 5 +- .../internal/terminal/view/TerminalView.java | 122 +++++++----------- 2 files changed, 51 insertions(+), 76 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index b4b2370ce44..895951ea5bf 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -311,8 +311,9 @@ public class TelnetConnection extends Thread implements TelnetCodes { terminalControl.setState(TerminalState.CLOSED); break; } else { - Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ - Logger.encode(new String(rawBytes, 0, nRawBytes)) + "'"); //$NON-NLS-1$ + if(Logger.isLogEnabled()) + Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ + Logger.encode(new String(rawBytes, 0, nRawBytes)) + "'"); //$NON-NLS-1$ // Process any TELNET protocol data that we receive. Don't // send any TELNET protocol data until we are sure the remote diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 80b0d0608a9..6a7e11d8f92 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -22,6 +22,7 @@ import java.util.Set; import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; @@ -613,28 +614,48 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi * */ protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { - protected String fActionDefinitionIdCopy; - - protected String fActionDefinitionIdPaste; - - protected String fActionDefinitionIdSelectAll; - - protected int fAcceleratorCopy; - - protected int fAcceleratorPaste; - - protected int fAcceleratorSelectAll; - + AcceleratorDisabler fAcceleratorDisablerCopy=new AcceleratorDisabler(); + AcceleratorDisabler fAcceleratorDisablerPaste=new AcceleratorDisabler(); + AcceleratorDisabler fAcceleratorDisablerSelectAll=new AcceleratorDisabler(); + /** + * @author scharf + * 209656: [terminal] ClassCastException in TerminalView under Eclipse-3.4M3 + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=209656 + * + * + * TODO: eliminate this code. + */ + class AcceleratorDisabler { + String fActionDefinitionId; + int fAccelerator; + ActionContributionItem fActionContributionItem; + public void menuAboutToShow(IContributionItem contribution) { + fActionContributionItem=null; + if(contribution instanceof ActionContributionItem) { + ActionContributionItem item = (ActionContributionItem) contribution; + if(item.getAction() instanceof RetargetAction) { + RetargetAction action = (RetargetAction) item.getAction(); + fActionDefinitionId = action.getActionDefinitionId(); + fAccelerator = action.getAccelerator(); + action.setActionDefinitionId(null); + action.enableAccelerator(false); + item.update(); + fActionContributionItem=item; + } + } + } + public void menuHidden() { + if(fActionContributionItem!=null) { + RetargetAction action = (RetargetAction) fActionContributionItem.getAction(); + action.setActionDefinitionId(fActionDefinitionId); + action.setAccelerator(fAccelerator); + action.enableAccelerator(true); + fActionContributionItem.update(); + fActionContributionItem=null; + } + } + } protected TerminalMenuHandlerEdit() { - super(); - - fActionDefinitionIdCopy = ""; //$NON-NLS-1$ - fActionDefinitionIdPaste = ""; //$NON-NLS-1$ - fActionDefinitionIdSelectAll = ""; //$NON-NLS-1$ - - fAcceleratorCopy = 0; - fAcceleratorPaste = 0; - fAcceleratorSelectAll = 0; } public void menuAboutToShow(IMenuManager menuMgr) { @@ -643,68 +664,21 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi updateEditCut(); updateEditPaste(); updateEditSelectAll(); - - ActionContributionItem item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY.getId()); - RetargetAction action = (RetargetAction) item.getAction(); - fActionDefinitionIdCopy = action.getActionDefinitionId(); - fAcceleratorCopy = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE.getId()); - action = (RetargetAction) item.getAction(); - fActionDefinitionIdPaste = action.getActionDefinitionId(); - fAcceleratorPaste = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - fActionDefinitionIdSelectAll = action.getActionDefinitionId(); - fAcceleratorSelectAll = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); + fAcceleratorDisablerCopy.menuAboutToShow(menuMgr.find(ActionFactory.COPY.getId())); + fAcceleratorDisablerPaste.menuAboutToShow(menuMgr.find(ActionFactory.PASTE.getId())); + fAcceleratorDisablerSelectAll.menuAboutToShow(menuMgr.find(ActionFactory.SELECT_ALL.getId())); } public void menuShown(MenuEvent event) { // do nothing } public void menuHidden(MenuEvent event) { - MenuManager menuMgr; - ActionContributionItem item; - RetargetAction action; - fMenuAboutToShow = false; updateEditCopy(); updateEditCut(); - menuMgr = getEditMenuManager(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.COPY - .getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdCopy); - action.setAccelerator(fAcceleratorCopy); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr.find(ActionFactory.PASTE - .getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdPaste); - action.setAccelerator(fAcceleratorPaste); - action.enableAccelerator(true); - item.update(); - - item = (ActionContributionItem) menuMgr - .find(ActionFactory.SELECT_ALL.getId()); - action = (RetargetAction) item.getAction(); - action.setActionDefinitionId(fActionDefinitionIdSelectAll); - action.setAccelerator(fAcceleratorSelectAll); - action.enableAccelerator(true); - item.update(); + fAcceleratorDisablerCopy.menuHidden(); + fAcceleratorDisablerPaste.menuHidden(); + fAcceleratorDisablerSelectAll.menuHidden(); } } From 30aa2c9998d47aa6b8539408ba2e425fd491f96d Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 14 Nov 2007 06:15:07 +0000 Subject: [PATCH 231/843] bug 209665: Need ability to log byte streams from Terminal for debugging https://bugs.eclipse.org/bugs/show_bug.cgi?id=209665 --- .../terminal/telnet/TelnetConnection.java | 4 -- .../emulator/LoggingOutputStream.java | 48 +++++++++++++++++++ .../emulator/VT100TerminalControl.java | 6 ++- 3 files changed, 53 insertions(+), 5 deletions(-) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 895951ea5bf..6fcb145ca3f 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -311,10 +311,6 @@ public class TelnetConnection extends Thread implements TelnetCodes { terminalControl.setState(TerminalState.CLOSED); break; } else { - if(Logger.isLogEnabled()) - Logger.log("Received " + nRawBytes + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ - Logger.encode(new String(rawBytes, 0, nRawBytes)) + "'"); //$NON-NLS-1$ - // Process any TELNET protocol data that we receive. Don't // send any TELNET protocol data until we are sure the remote // endpoint is a TELNET server. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java new file mode 100644 index 00000000000..b71c907442a --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.emulator; + +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +public class LoggingOutputStream extends FilterOutputStream { + + public LoggingOutputStream(OutputStream out) { + super(out); + } + + public void write(byte[] b, int off, int len) throws IOException { + if(Logger.isLogEnabled()) + Logger.log("Received " + len + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ + Logger.encode(new String(b, 0, len)) + "'"); //$NON-NLS-1$ + + // we cannot call super.write, because this would call our write + // which logs character by character..... + //super.write(b, off, len); + if ((off | len | (b.length - (len + off)) | (off + len)) < 0) + throw new IndexOutOfBoundsException(); + + for (int i = 0 ; i < len ; i++) { + super.write(b[off + i]); + } + } + + public void write(int b) throws IOException { + if(Logger.isLogEnabled()) + Logger.log("Received " + 1 + " bytes: '" + //$NON-NLS-1$ //$NON-NLS-2$ + Logger.encode(new String(new byte[]{(byte)b}, 0, 1)) + "'"); //$NON-NLS-1$ + super.write(b); + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index b0d0c81494c..4ecf4a92ca6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -581,7 +581,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } public OutputStream getRemoteToTerminalOutputStream() { - return fInputStream.getOutputStream(); + if(Logger.isLogEnabled()) { + return new LoggingOutputStream(fInputStream.getOutputStream()); + } else { + return fInputStream.getOutputStream(); + } } protected boolean isLogCharEnabled() { return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); From 47965c8123e87ff036b81b1660ad52f320f8f64e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 14 Nov 2007 12:40:45 +0000 Subject: [PATCH 232/843] [209656] ClassCastException in TerminalView under Eclipse-3.4M3 --- .../src/org/eclipse/tm/internal/terminal/view/TerminalView.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 6a7e11d8f92..3fff566db85 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED + * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; From 27406bb70acc3d56b9293a2a88112df996d8fff5 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 14 Nov 2007 20:26:13 +0000 Subject: [PATCH 233/843] bug 189774: [terminal] Ctrl+V does not work in the command input field. https://bugs.eclipse.org/bugs/show_bug.cgi?id=189774 --- .../internal/terminal/view/TerminalView.java | 129 +----------------- 1 file changed, 1 insertion(+), 128 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 3fff566db85..75e55b24bb9 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 + * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -22,8 +23,6 @@ import java.util.HashSet; import java.util.Set; import org.eclipse.core.runtime.Preferences; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; @@ -32,7 +31,6 @@ import org.eclipse.jface.action.Separator; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.window.ApplicationWindow; import org.eclipse.jface.window.Window; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.events.MenuEvent; @@ -61,15 +59,11 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.ui.IActionBars; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbenchActionConstants; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; -import org.eclipse.ui.actions.ActionFactory; -import org.eclipse.ui.actions.RetargetAction; import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { @@ -109,8 +103,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected TerminalAction fActionToggleCommandInputField; - protected TerminalMenuHandlerEdit fMenuHandlerEdit; - protected TerminalPropertyChangeHandler fPropertyChangeHandler; protected boolean fMenuAboutToShow; @@ -431,7 +423,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setPartName(findUniqueTitle(ViewMessages.PROP_TITLE)); setupControls(wndParent); setupActions(); - setupMenus(); setupLocalToolBars(); setupContextMenus(); setupListeners(wndParent); @@ -445,14 +436,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - MenuManager menuMgr = getEditMenuManager(); - Menu menu = menuMgr.getMenu(); - - menuMgr.removeMenuListener(fMenuHandlerEdit); - - if (menu != null) - menu.removeMenuListener(fMenuHandlerEdit); - fCtlTerminal.disposeTerminal(); super.dispose(); } @@ -525,36 +508,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fActionEditClearAll = new TerminalActionClearAll(this); fActionEditSelectAll = new TerminalActionSelectAll(this); fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); - - IActionBars actionBars = getViewSite().getActionBars(); - actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), fActionEditCopy); - - actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), fActionEditCut); - - actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), fActionEditPaste); - - actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), fActionEditSelectAll); } - - protected void setupMenus() { - MenuManager menuMgr = getEditMenuManager(); - Menu menu = menuMgr.getMenu(); - - fMenuHandlerEdit = new TerminalMenuHandlerEdit(); - menuMgr.addMenuListener(fMenuHandlerEdit); - menu.addMenuListener(fMenuHandlerEdit); - } - /** - * @return the Edit Menu - */ - private MenuManager getEditMenuManager() { - ApplicationWindow workbenchWindow = (ApplicationWindow) TerminalViewPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow(); - MenuManager menuMgr = workbenchWindow.getMenuBarManager(); - menuMgr = (MenuManager) menuMgr.findMenuUsingPath(IWorkbenchActionConstants.M_EDIT); - return menuMgr; - } - - protected void setupLocalToolBars() { IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); @@ -578,7 +532,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi contextMenuHandler = new TerminalContextMenuHandler(); ctlText.setMenu(menu); - menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(contextMenuHandler); menu.addMenuListener(contextMenuHandler); } @@ -603,86 +556,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); } - // Inner classes - - /** - * Because it is too expensive to update the cut/copy/pase/selectAll actions - * each time the selection in the terminal view has changed, we update them, - * when the menu is shown. - *

                - * TODO: this might be dangerous because those actions might be shown in the toolbar - * and might not update... - * - */ - protected class TerminalMenuHandlerEdit implements MenuListener, IMenuListener { - AcceleratorDisabler fAcceleratorDisablerCopy=new AcceleratorDisabler(); - AcceleratorDisabler fAcceleratorDisablerPaste=new AcceleratorDisabler(); - AcceleratorDisabler fAcceleratorDisablerSelectAll=new AcceleratorDisabler(); - /** - * @author scharf - * 209656: [terminal] ClassCastException in TerminalView under Eclipse-3.4M3 - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=209656 - * - * - * TODO: eliminate this code. - */ - class AcceleratorDisabler { - String fActionDefinitionId; - int fAccelerator; - ActionContributionItem fActionContributionItem; - public void menuAboutToShow(IContributionItem contribution) { - fActionContributionItem=null; - if(contribution instanceof ActionContributionItem) { - ActionContributionItem item = (ActionContributionItem) contribution; - if(item.getAction() instanceof RetargetAction) { - RetargetAction action = (RetargetAction) item.getAction(); - fActionDefinitionId = action.getActionDefinitionId(); - fAccelerator = action.getAccelerator(); - action.setActionDefinitionId(null); - action.enableAccelerator(false); - item.update(); - fActionContributionItem=item; - } - } - } - public void menuHidden() { - if(fActionContributionItem!=null) { - RetargetAction action = (RetargetAction) fActionContributionItem.getAction(); - action.setActionDefinitionId(fActionDefinitionId); - action.setAccelerator(fAccelerator); - action.enableAccelerator(true); - fActionContributionItem.update(); - fActionContributionItem=null; - } - } - } - protected TerminalMenuHandlerEdit() { - } - public void menuAboutToShow(IMenuManager menuMgr) { - - fMenuAboutToShow = true; - updateEditCopy(); - updateEditCut(); - updateEditPaste(); - updateEditSelectAll(); - fAcceleratorDisablerCopy.menuAboutToShow(menuMgr.find(ActionFactory.COPY.getId())); - fAcceleratorDisablerPaste.menuAboutToShow(menuMgr.find(ActionFactory.PASTE.getId())); - fAcceleratorDisablerSelectAll.menuAboutToShow(menuMgr.find(ActionFactory.SELECT_ALL.getId())); - } - public void menuShown(MenuEvent event) { - // do nothing - } - public void menuHidden(MenuEvent event) { - fMenuAboutToShow = false; - updateEditCopy(); - updateEditCut(); - - fAcceleratorDisablerCopy.menuHidden(); - fAcceleratorDisablerPaste.menuHidden(); - fAcceleratorDisablerSelectAll.menuHidden(); - } - } - protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { public void menuHidden(MenuEvent event) { fMenuAboutToShow = false; From b660bdcc3aac2bc673f674dfd56051f56869efdc Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Nov 2007 01:37:41 +0000 Subject: [PATCH 234/843] RESOLVED - bug 209746: [terminal] There are cases where some colors not displayed correctly https://bugs.eclipse.org/bugs/show_bug.cgi?id=209746 --- .../terminal/emulator/VT100Emulator.java | 3 +- .../terminal/textcanvas/StyleMap.java | 111 +++++++++++------- 2 files changed, 72 insertions(+), 42 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index bf7d66fe267..06dcba26fb4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -777,7 +778,7 @@ public class VT100Emulator implements ControlListener { break; case 37: - text.setStyle(style.setForground("WHITE")); //$NON-NLS-1$ + text.setStyle(style.setForground("WHITE_FOREGROUND")); //$NON-NLS-1$ break; case 40: diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 288158231e0..cad496038d4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -14,6 +15,7 @@ import java.util.HashMap; import java.util.Map; import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.GC; @@ -26,6 +28,7 @@ import org.eclipse.tm.terminal.model.StyleColor; public class StyleMap { private static final String BLACK = "black"; //$NON-NLS-1$ private static final String WHITE = "white"; //$NON-NLS-1$ + private static final String WHITE_FOREGROUND = "white_foreground"; //$NON-NLS-1$ private static final String GRAY = "gray"; //$NON-NLS-1$ private static final String MAGENTA = "magenta"; //$NON-NLS-1$ private static final String CYAN = "cyan"; //$NON-NLS-1$ @@ -37,76 +40,102 @@ public class StyleMap { private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ // TODO propagate the name of the font in the FontRegistry String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$ - Map fColorMap=new HashMap(); + Map fColorMapForeground=new HashMap(); + Map fColorMapBackground=new HashMap(); Map fFontMap=new HashMap(); private Point fCharSize; - private Style fDefaultStyle; + private final Style fDefaultStyle; private boolean fInvertColors; private boolean fProportional; private final int[] fOffsets=new int[256]; StyleMap() { - addColor(WHITE, 255,255,255); - addColor(BLACK, 0,0,0); - addColor(RED, 255,128,128); - addColor(GREEN, 128,255,128); - addColor(BLUE, 128,128,255); - addColor(YELLOW, 255,255,0); - addColor(CYAN, 0,255,255); - addColor(MAGENTA, 255,255,0); - addColor(GRAY, 128,128,128); + initColors(); fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); updateFont(); } - private void addColor(String name, int r, int g, int b) { - String colorName=PREFIX+name; + private void initColors() { + initForegroundColors(); + initBackgroundColors(); + } + private void initForegroundColors() { + if(fInvertColors) { + setColor(fColorMapForeground, WHITE, 0, 0, 0); + setColor(fColorMapForeground, WHITE_FOREGROUND, 50, 50, 50); + setColor(fColorMapForeground, BLACK, 255, 255, 255); + } else { + setColor(fColorMapForeground, WHITE, 255, 255, 255); + setColor(fColorMapForeground, WHITE_FOREGROUND, 229, 229, 229); + setColor(fColorMapForeground, BLACK, 0, 0, 0); + } + setColor(fColorMapForeground, RED, 255, 128, 128); + setColor(fColorMapForeground, GREEN, 128, 255, 128); + setColor(fColorMapForeground, BLUE, 128, 128, 255); + setColor(fColorMapForeground, YELLOW, 255, 255, 0); + setColor(fColorMapForeground, CYAN, 0, 255, 255); + setColor(fColorMapForeground, MAGENTA, 255, 255, 0); + setColor(fColorMapForeground, GRAY, 128, 128, 128); + } + + private void initBackgroundColors() { + if(fInvertColors) { + setColor(fColorMapBackground, WHITE, 0, 0, 0); + setColor(fColorMapBackground, WHITE_FOREGROUND, 50, 50, 50); // only used when colors are inverse + setColor(fColorMapBackground, BLACK, 255, 255, 255); + } else { + setColor(fColorMapBackground, WHITE, 255, 255, 255); + setColor(fColorMapBackground, WHITE_FOREGROUND, 229, 229, 229); + setColor(fColorMapBackground, BLACK, 0, 0, 0); + } + setColor(fColorMapBackground, RED, 255, 128, 128); + setColor(fColorMapBackground, GREEN, 128, 255, 128); + setColor(fColorMapBackground, BLUE, 128, 128, 255); + setColor(fColorMapBackground, YELLOW, 255, 255, 0); + setColor(fColorMapBackground, CYAN, 0, 255, 255); + setColor(fColorMapBackground, MAGENTA, 255, 255, 0); + setColor(fColorMapBackground, GRAY, 128, 128, 128); + } + private void setColor(Map colorMap, String name, int r, int g, int b) { + String colorName=PREFIX+r+"-"+g+"-"+b; //$NON-NLS-1$//$NON-NLS-2$ Color color=JFaceResources.getColorRegistry().get(colorName); if(color==null) { JFaceResources.getColorRegistry().put(colorName, new RGB(r,g,b)); color=JFaceResources.getColorRegistry().get(colorName); } - fColorMap.put(StyleColor.getStyleColor(name), color); - fColorMap.put(StyleColor.getStyleColor(name.toUpperCase()), color); - } - public Color getColor(StyleColor colorName) { - return (Color) fColorMap.get(colorName); + colorMap.put(StyleColor.getStyleColor(name), color); + colorMap.put(StyleColor.getStyleColor(name.toUpperCase()), color); } + public Color getForegrondColor(Style style) { style = defaultIfNull(style); if(style.isReverse()) - return getColor(style.getBackground()); + return getColor(fColorMapForeground,style.getBackground()); else - return getColor(style.getForground()); + return getColor(fColorMapForeground,style.getForground()); + } + public Color getBackgroundColor(Style style) { + style = defaultIfNull(style); + if(style.isReverse()) + return getColor(fColorMapBackground,style.getForground()); + else + return getColor(fColorMapBackground,style.getBackground()); + } + Color getColor(Map map,StyleColor color) { + Color c=(Color) map.get(color); + if(c==null) { + c=Display.getCurrent().getSystemColor(SWT.COLOR_GRAY); + } + return c; } private Style defaultIfNull(Style style) { if(style==null) style=fDefaultStyle; return style; } - public Color getBackgroundColor(Style style) { - style = defaultIfNull(style); - if(style.isReverse()) - return getColor(style.getForground()); - else - return getColor(style.getBackground()); - } public void setInvertedColors(boolean invert) { if(invert==fInvertColors) return; fInvertColors=invert; - swapColors(WHITE,BLACK); - fDefaultStyle=Style.getStyle(StyleColor.getStyleColor(BLACK),StyleColor.getStyleColor(WHITE)); - } - void swapColors(String n1, String n2) { - swapColors2(n1, n2); - swapColors2(n1.toUpperCase(), n2.toUpperCase()); - } - - void swapColors2(String n1, String n2) { - Color c1=getColor(StyleColor.getStyleColor(n1)); - Color c2=getColor(StyleColor.getStyleColor(n2)); - fColorMap.put(StyleColor.getStyleColor(n1), c2); - fColorMap.put(StyleColor.getStyleColor(n2), c1); - + initColors(); } // static Font getBoldFont(Font font) { // FontData fontDatas[] = font.getFontData(); From c9a0fb7e54beb206ae08164f4dd7f55964519aa7 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 30 Nov 2007 23:51:31 +0000 Subject: [PATCH 235/843] RESOLVED - bug 211659: Add FieldAssist to the terminal input field https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659 --- .../control/CommandInputFieldWithHistory.java | 70 ++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index ca9fbe77789..13c2cbf8d12 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -12,9 +12,14 @@ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashSet; import java.util.Iterator; import java.util.List; +import java.util.Set; +import org.eclipse.jface.fieldassist.IContentProposal; +import org.eclipse.jface.fieldassist.IContentProposalProvider; +import org.eclipse.jface.fieldassist.TextContentAdapter; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; @@ -22,6 +27,7 @@ import org.eclipse.swt.graphics.Font; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter; /** @@ -38,6 +44,52 @@ import org.eclipse.swt.widgets.Text; * */ public class CommandInputFieldWithHistory implements ICommandInputField { + private class FieldAssist implements IContentProposalProvider { + + public IContentProposal[] getProposals(String contents, int position) { + String prefix=contents.substring(0, position); + List result=new ArrayList(); + // show an entry only once + Set seen=new HashSet(); + for (Iterator iterator = fHistory.iterator(); iterator.hasNext();) { + String history = (String) iterator.next(); + if(history.startsWith(prefix) && !seen.contains(history)) { + // the content is the rest of the history item + String content=history.substring(prefix.length()); + result.add(new Proposal(content,history)); + // don't add this proposal again + seen.add(history); + } + } + return (IContentProposal[]) result.toArray(new IContentProposal[result.size()]); + } + + } + private static class Proposal implements IContentProposal { + + private final String fContent; + private final String fLabel; + Proposal(String content, String label) { + fContent= content; + fLabel= label; + } + public String getContent() { + return fContent; + } + + public String getLabel() { + return fLabel; + } + + public String getDescription() { + return null; + } + + public int getCursorPosition() { + return fContent.length(); + } + } + final List fHistory=new ArrayList(); /** * Keeps a modifiable history while in history editing mode @@ -149,7 +201,15 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } public void createControl(Composite parent,final ITerminalViewControl terminal) { fInputField=new Text(parent, SWT.SINGLE|SWT.BORDER); - fInputField.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + GridData data=new GridData(SWT.FILL, SWT.FILL, true, false); + boolean installDecoration=true; + if(installDecoration) { + // The ContentAssistCommandAdapter says: "The client is responsible for + // ensuring that adequate space is reserved for the decoration." + // TODO: what is the "adequate space"??? + data.horizontalIndent=6; + } + fInputField.setLayoutData(data); fInputField.setFont(terminal.getFont()); fInputField.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { @@ -180,6 +240,14 @@ public class CommandInputFieldWithHistory implements ICommandInputField { public void keyReleased(KeyEvent e) { } }); + // register the field assist + new ContentAssistCommandAdapter( + fInputField, + new TextContentAdapter(), + new FieldAssist(), + null, + null, + installDecoration); } public void setFont(Font font) { fInputField.setFont(font); From 7970d553df6a4fc5c1ea0b002fb78574de29292f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 22 Jan 2008 20:24:06 +0000 Subject: [PATCH 236/843] FIXED - bug 211659: Add FieldAssist to the terminal input field https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659 --- .../control/CommandInputFieldWithHistory.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 13c2cbf8d12..4fc3a062b5d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -211,8 +211,18 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } fInputField.setLayoutData(data); fInputField.setFont(terminal.getFont()); + // register the field assist + new ContentAssistCommandAdapter( + fInputField, + new TextContentAdapter(), + new FieldAssist(), + null, + null, + installDecoration); fInputField.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { + if(!e.doit) + return; if(e.keyCode=='\n' || e.keyCode=='\r') { e.doit=false; String line=fInputField.getText(); @@ -240,14 +250,6 @@ public class CommandInputFieldWithHistory implements ICommandInputField { public void keyReleased(KeyEvent e) { } }); - // register the field assist - new ContentAssistCommandAdapter( - fInputField, - new TextContentAdapter(), - new FieldAssist(), - null, - null, - installDecoration); } public void setFont(Font font) { fInputField.setFont(font); From 14cb84314f59a151ca9c467a748ff02c2b70322b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 22 Jan 2008 22:40:51 +0000 Subject: [PATCH 237/843] RESOLVED - bug 211659: Add FieldAssist to the terminal input field https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659 (coments added) --- .../control/CommandInputFieldWithHistory.java | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 4fc3a062b5d..208e2baea56 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,10 +7,10 @@ * * Contributors: * Michael Scharf (Wind River) - initial implementation + * Michael Scharf (Wing River) - fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659 *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; - -import java.util.ArrayList; + import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; @@ -30,6 +30,7 @@ import org.eclipse.swt.widgets.Text; import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter; + /** * Manages the Command History for the command line input * of the terminal control. @@ -211,7 +212,10 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } fInputField.setLayoutData(data); fInputField.setFont(terminal.getFont()); - // register the field assist + // Register field assist *before* the key listener. + // Else the ENTER key is sent *first* to the input field + // and then to the field assist popup. + // (https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659) new ContentAssistCommandAdapter( fInputField, new TextContentAdapter(), @@ -221,6 +225,8 @@ public class CommandInputFieldWithHistory implements ICommandInputField { installDecoration); fInputField.addKeyListener(new KeyListener(){ public void keyPressed(KeyEvent e) { + // if the field assist has handled the key already then + // ignore it (https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659) if(!e.doit) return; if(e.keyCode=='\n' || e.keyCode=='\r') { From 53eafbe59716452542f4ddcd156de6cb20190577 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 25 Jan 2008 12:43:40 +0000 Subject: [PATCH 238/843] [155026] Add hardcoded keepalives for SSH --- .../org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 316755146fe..7f347fe98ff 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -12,6 +12,7 @@ * - copied code from org.eclipse.team.cvs.ssh2/JSchSession (Copyright IBM) * Martin Oberhuber (Wind River) - [198790] make SSH createSession() protected * Mikhail Kalugin - [201864] Fix Terminal SSH keyboard interactive authentication + * Martin Oberhuber (Wind River) - [155026] Add keepalives for SSH connection *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -67,6 +68,8 @@ class SshConnection extends Thread { Session session = service.createSession(hostname, port, username); //session.setTimeout(getSshTimeoutInMillis()); session.setTimeout(0); //never time out on the session + session.setServerAliveInterval(300000); //5 minutes + session.setServerAliveCountMax(6); //give up after 6 tries (remote will be dead after 30 min) if (password != null) session.setPassword(password); session.setUserInfo(wrapperUI); From a42bdaef89a8d54841e50de7846b65554b1727a0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 1 Feb 2008 13:16:09 +0000 Subject: [PATCH 239/843] Manifest: migrate Eclipse-LazyStart to Bundle-ActivationPolicy --- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 1 + org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 1 + org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 1 + org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 1 + org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 1 + 5 files changed, 5 insertions(+) diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 17fc5b342c4..9f848f19c8e 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)" +Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index f0866ccd9ad..0bf143514e5 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -13,4 +13,5 @@ Require-Bundle: org.eclipse.ui, Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true Bundle-Activator: org.eclipse.tm.internal.terminal.ssh.Activator +Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index a238149552e..913124d6fdf 100644 --- a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -10,4 +10,5 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true +Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 4b75cbb3b24..2e7275cc813 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)" +Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-Vendor: %providerName diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 6eafbb8fb28..5ef7aff6765 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui +Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . From 1fad0e752abe5abb82e2331d04f8c9a86b4ae348 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Feb 2008 18:00:19 +0000 Subject: [PATCH 240/843] [199285][api][breaking] make terminal connector id required again in plugin.xml --- .../schema/terminalConnector.exsd | 37 ++----------------- 1 file changed, 3 insertions(+), 34 deletions(-) diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd index 453c7491ebd..cea285b0e8f 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -1,6 +1,6 @@ - + @@ -54,7 +54,7 @@ - + Uniquely identify this connector @@ -74,41 +74,10 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + From 1019afcb515872d0feda26fabe02e9f314b6d7fe Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Feb 2008 18:48:47 +0000 Subject: [PATCH 241/843] Fix Javadoc spelling errors --- .../org/eclipse/tm/internal/terminal/telnet/TelnetOption.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java index 68e26f8ad01..779799784ca 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java @@ -131,7 +131,7 @@ class TelnetOption implements TelnetCodes * This constant and the others having similar names represent the states of a * finite state automaton (FSA) that tracks the negotiation state of this option. * The initial state is NEGOTIATION_NOT_STARTED. The state machine is as follows - * (with transitions labelled with letters in parentheses):

                + * (with transitions labeled with letters in parentheses):

                * *

                      *     NEGOTIATION_NOT_STARTED -----> {@link #NEGOTIATION_IN_PROGRESS}
                @@ -159,7 +159,7 @@ class TelnetOption implements TelnetCodes
                      *
                      * Transition C happens when the local endpoint receives an option command from the
                      * remote endpoint before sending a command for the same option.  In that case, the
                -     * local endpoint replies immediately with an option command and the negotitation
                +     * local endpoint replies immediately with an option command and the negotiation
                      * terminates. 

                * * Some TELNET servers (e.g., the Solaris server), after sending WILL and receiving From 6935aa82045c04f2e0a3b8b2c830aaa56d89cfe8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Feb 2008 18:50:09 +0000 Subject: [PATCH 242/843] Remove Eclipse-LazyStart since no bundle activator defined --- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 913124d6fdf..10ab983fa4a 100644 --- a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -10,5 +10,3 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true From 40420a8792a21b6a97890afc3f364999ac3b05e8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 5 Feb 2008 19:46:59 +0000 Subject: [PATCH 243/843] [217891][cleanup] Avoid Javadoc warnings due to missing reference visibility --- .../.settings/org.eclipse.jdt.core.prefs | 5 +- .../.settings/org.eclipse.jdt.core.prefs | 5 +- .../.settings/org.eclipse.jdt.core.prefs | 11 +++- .../.settings/org.eclipse.jdt.core.prefs | 66 ++++++++++++++++++- .../.settings/org.eclipse.jdt.core.prefs | 5 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- 6 files changed, 85 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index d141d33956c..2c13e00b84d 100644 --- a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Jan 30 22:33:44 CET 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -25,7 +25,7 @@ org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error @@ -33,6 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index d141d33956c..2c13e00b84d 100644 --- a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Jan 30 22:33:44 CET 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -25,7 +25,7 @@ org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error @@ -33,6 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index cb7a272ad2d..2c13e00b84d 100644 --- a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,15 +1,18 @@ -#Tue Jun 05 14:27:33 CEST 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 -instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -22,7 +25,7 @@ org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error @@ -30,6 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public @@ -64,3 +68,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index ffcbd6342d6..8a5ebf78a49 100644 --- a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,7 +1,71 @@ -#Tue Oct 09 16:54:56 CEST 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs index d141d33956c..2c13e00b84d 100644 --- a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Jan 30 22:33:44 CET 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -25,7 +25,7 @@ org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error @@ -33,6 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index e06a0de226b..8a5ebf78a49 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,6 +1,5 @@ -#Thu Aug 09 03:12:08 CEST 2007 +#Tue Feb 05 20:25:39 CET 2008 eclipse.preferences.version=1 -instance/org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.compliance=1.4 @@ -26,7 +25,7 @@ org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error @@ -34,6 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public From b9b3520c38e65be521d0e8dd9e8ff0a47d4fc928 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 12 Feb 2008 22:22:00 +0000 Subject: [PATCH 244/843] [cleanup] fix copyright notices for 2008 --- org.eclipse.tm.terminal.test/build.properties | 10 ++++++++++ .../internal/terminal/model/SnapshotChangesTest.java | 10 ++++++++++ .../terminal/test/terminalcanvas/Snippet48.java | 10 ++++++++++ .../internal/terminal/textcanvas/PipedStreamTest.java | 10 ++++++++++ .../tm/internal/terminal/model/ISnapshotChanges.java | 10 ++++++++++ .../tm/internal/terminal/model/SnapshotChanges.java | 10 ++++++++++ 6 files changed, 60 insertions(+) diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties index e8fa4ae5c78..5dcef6081c3 100644 --- a/org.eclipse.tm.terminal.test/build.properties +++ b/org.eclipse.tm.terminal.test/build.properties @@ -1,3 +1,13 @@ +############################################################################### +# Copyright (c) 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +############################################################################### source.. = src/ output.. = bin/ bin.includes = META-INF/,\ diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java index 1fec8177063..d622dc5e578 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; import org.eclipse.tm.terminal.model.ITerminalTextData; diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java index c8fd8aacd95..1f68c959f22 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ package org.eclipse.tm.internal.terminal.test.terminalcanvas; diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java index 22ac1a03b7e..4b55ca81a06 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; import java.io.IOException; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java index 15d7d9bf1f6..82bcbc56d99 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; import org.eclipse.tm.terminal.model.ITerminalTextData; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java index 91b72481a93..6822999cf22 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java @@ -1,3 +1,13 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; import org.eclipse.tm.terminal.model.ITerminalTextData; From b587645a9eb3723afdb79f055c0bcc65c467684c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 12 Feb 2008 23:51:21 +0000 Subject: [PATCH 245/843] [cleanup] fix copyright notices for 2008 --- .../org/eclipse/tm/internal/terminal/telnet/TelnetOption.java | 2 +- org.eclipse.tm.terminal.test/build.properties | 2 +- .../tm/internal/terminal/model/SnapshotChangesTest.java | 2 +- .../tm/internal/terminal/test/terminalcanvas/Snippet48.java | 2 +- .../tm/internal/terminal/textcanvas/PipedStreamTest.java | 2 +- org.eclipse.tm.terminal/build.properties | 4 ++-- .../eclipse/tm/internal/terminal/model/ISnapshotChanges.java | 4 ++-- .../eclipse/tm/internal/terminal/model/SnapshotChanges.java | 4 ++-- 8 files changed, 11 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java index 779799784ca..60f752208dd 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties index 5dcef6081c3..11f23ecc4bf 100644 --- a/org.eclipse.tm.terminal.test/build.properties +++ b/org.eclipse.tm.terminal.test/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java index d622dc5e578..464f0d71147 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java index 1f68c959f22..604d8b58bd2 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java index 4b55ca81a06..11e7ecfebb5 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index f3c88941ea4..730e1bdb868 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,4 +30,4 @@ src.includes = schema/,\ about.html javacSource=1.4 javacTarget=1.4 - \ No newline at end of file + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java index 82bcbc56d99..b81fef70c84 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -87,4 +87,4 @@ public interface ISnapshotChanges { int getInterestWindowStartLine(); int getInterestWindowSize(); -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java index 6822999cf22..4bebcb66900 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -388,4 +388,4 @@ public class SnapshotChanges implements ISnapshotChanges { void setChangedLinesLength(int length) { fChangedLines=new boolean[length]; } -} \ No newline at end of file +} From 0c42c3f101785610662f8df563657f57bfe0a95c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 00:28:51 +0000 Subject: [PATCH 246/843] [cleanup] fix copyright notices for 2008 --- org.eclipse.tm.terminal-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.serial/about.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.ssh/about.properties | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.telnet/about.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.view/about.properties | 4 ++-- org.eclipse.tm.terminal/about.properties | 4 ++-- 21 files changed, 40 insertions(+), 40 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 3bd5c1c9f70..bb179e8ced7 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -31,7 +31,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 940cbaee260..0ff0909753a 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties index 9e045627649..d7720534e62 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Widget Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 1eca83042bc..ba0c933a3c6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -31,7 +31,7 @@ tmMilestoneSiteName=Target Management 2.0 Milestone Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index 4ec3a6c70e1..a7001154dad 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 079161b99a2..74f7baa7b23 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties index 62112940848..4771c45a9ce 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Serial Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.serial/about.properties b/org.eclipse.tm.terminal.serial/about.properties index a1fddf6ae7a..dd9d0c53170 100644 --- a/org.eclipse.tm.terminal.serial/about.properties +++ b/org.eclipse.tm.terminal.serial/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Serial Connector\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index b44c5c22766..ac302b21054 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index af782af4bf0..a5788165a65 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties index 4ec3e1c6a74..34100b169e7 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.ssh/about.properties b/org.eclipse.tm.terminal.ssh/about.properties index 4abc829ca32..3f9ed5ee499 100644 --- a/org.eclipse.tm.terminal.ssh/about.properties +++ b/org.eclipse.tm.terminal.ssh/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index c96d51220ac..48d890847f5 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index eb7b7b67868..de7557c98b1 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties index cabafe3c463..d143444aad7 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Telnet Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet/about.properties b/org.eclipse.tm.terminal.telnet/about.properties index c6b0c8536a8..025524e7dfb 100644 --- a/org.eclipse.tm.terminal.telnet/about.properties +++ b/org.eclipse.tm.terminal.telnet/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Telnet Connector\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index cc9e692efa6..58f22a1d8a7 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -30,7 +30,7 @@ description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 299b46bd07d..59bd23eb718 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties index d82e34f1cd4..abbbbdf06f5 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal View Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.view/about.properties b/org.eclipse.tm.terminal.view/about.properties index d629aca7f76..8475972e9ce 100644 --- a/org.eclipse.tm.terminal.view/about.properties +++ b/org.eclipse.tm.terminal.view/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal View\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal/about.properties b/org.eclipse.tm.terminal/about.properties index c4c6a91333f..e38f7d84136 100644 --- a/org.eclipse.tm.terminal/about.properties +++ b/org.eclipse.tm.terminal/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Widget\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2007. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm From 010f4e45a1e5dd4d0ea321182489ee54a84a5da5 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 13 Feb 2008 02:23:49 +0000 Subject: [PATCH 247/843] RESOLVED - bug 206328: [regression] Terminal does not draw correctly with proportional font https://bugs.eclipse.org/bugs/show_bug.cgi?id=206328 --- .../tm/internal/terminal/textcanvas/StyleMap.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index cad496038d4..3bd5473be5c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -181,11 +181,20 @@ public class StyleMap { for (char c = ' '+128; c <= '~'+128; c++) { measureChar(gc, c,false); } + if(fProportional) { + fCharSize.x-=3; + } for (int i = 0; i < fOffsets.length; i++) { fOffsets[i]=(fCharSize.x-fOffsets[i])/2; } gc.dispose (); } + /** + * @param gc + * @param c + * @param updateMax + * @return true if the the font is proportional + */ private boolean measureChar(GC gc, char c, boolean updateMax) { boolean proportional=false; Point ext=gc.textExtent(String.valueOf(c)); From d1c202484299c27ada9d25d6eecbb4e3b86503fa Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 13:30:46 +0000 Subject: [PATCH 248/843] Add tm.terminal.test-feature --- .../.project | 2 +- .../build.properties | 27 ++-- .../feature.properties | 6 +- .../feature.xml | 14 +- .../epl-v10.html | 0 .../license.html => rootfiles/notice.html} | 20 +-- .../sourceTemplateFeature/feature.properties | 143 ------------------ .../sourceTemplatePlugin/about.ini | 27 ---- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 4 +- .../sourceTemplatePlugin/eclipse32.png | Bin 4594 -> 0 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- 13 files changed, 43 insertions(+), 233 deletions(-) rename org.eclipse.tm.terminal.telnet-feature/{sourceTemplateFeature => rootfiles}/epl-v10.html (100%) rename org.eclipse.tm.terminal.telnet-feature/{sourceTemplateFeature/license.html => rootfiles/notice.html} (98%) delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png diff --git a/org.eclipse.tm.terminal.telnet-feature/.project b/org.eclipse.tm.terminal.telnet-feature/.project index c78da8d1f85..e5464802aed 100644 --- a/org.eclipse.tm.terminal.telnet-feature/.project +++ b/org.eclipse.tm.terminal.telnet-feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.telnet-feature + org.eclipse.tm.terminal.test-feature diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/org.eclipse.tm.terminal.telnet-feature/build.properties index 8babd3045ce..1d1df401372 100644 --- a/org.eclipse.tm.terminal.telnet-feature/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -1,14 +1,19 @@ -################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -################################################################################ +############################################################################### +# Copyright (c) 2005, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Martin Oberhuber (Wind River) - Adding source plugin for tests +############################################################################### bin.includes = feature.xml,\ - epl-v10.html,\ feature.properties,\ + epl-v10.html,\ license.html +src.includes = epl-v10.html,\ + license.html +root=rootfiles +generate.plugin@org.eclipse.tm.terminal.test.source=org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index 48d890847f5..cf9d59d05cf 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector +featureName=Target Management Terminal Unit Tests # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -26,11 +26,11 @@ tmMilestoneSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. +description=TM Terminal Unit Tests. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index a4c2cc10225..9f25fdb124d 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,6 +1,6 @@ @@ -26,13 +26,19 @@ + + version="0.0.0"/> + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/rootfiles/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html rename to org.eclipse.tm.terminal.telnet-feature/rootfiles/epl-v10.html diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html similarity index 98% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html rename to org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html index c6af966b61e..a9b560f44cd 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html @@ -17,24 +17,24 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                - -

                Applicable Licenses

                - + +

                Applicable Licenses

                +

                Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

                Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS modules ("Modules") and made available as downloadable archives ("Downloads").

                - +
                • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
                • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                • -
                - +
              +

              The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

              @@ -46,7 +46,7 @@ including, but not limited to the following locations:

            • Sub-directories of the directory named "src" of certain Plug-ins
            • Feature directories
            - +

            Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. @@ -60,7 +60,7 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

          • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
          • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
          • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
          • -
          • IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
          • +
          • IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
          • Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
          • Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
          @@ -73,7 +73,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

          Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

          - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties deleted file mode 100644 index de7557c98b1..00000000000 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ /dev/null @@ -1,143 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector Source - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - - -# "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ -March 17, 2005\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse.org CVS\n\ -repository ("Repository") in CVS modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Eclipse Update Manager, you must agree to a license ("Feature Update\n\ -License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index fdd61ff0dd8..00000000000 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=eclipse32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index d143444aad7..00000000000 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Telnet Connector Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties index d8761451956..52b7dcea95f 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png deleted file mode 100644 index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO Date: Wed, 13 Feb 2008 13:52:27 +0000 Subject: [PATCH 249/843] RESOLVED - bug 217999: [terminal] duplicate context menu entries https://bugs.eclipse.org/bugs/show_bug.cgi?id=217999 --- .../org/eclipse/tm/internal/terminal/view/TerminalView.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 75e55b24bb9..3a60706deca 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -529,6 +529,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi ctlText = fCtlTerminal.getControl(); menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menu = menuMgr.createContextMenu(ctlText); + loadContextMenus(menuMgr); contextMenuHandler = new TerminalContextMenuHandler(); ctlText.setMenu(menu); @@ -572,8 +573,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi updateEditSelectAll(); updateEditPaste(); updateEditClearAll(); - - loadContextMenus(menuMgr); } } From 8c1c6612df5a52ae06230a46d9073730755a4828 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 13:56:43 +0000 Subject: [PATCH 250/843] Organize Manifest and add feature branding --- .../META-INF/MANIFEST.MF | 8 +- org.eclipse.tm.terminal.test/about.ini | 27 ++++++ org.eclipse.tm.terminal.test/about.mappings | 6 ++ org.eclipse.tm.terminal.test/about.properties | 25 +++++ org.eclipse.tm.terminal.test/eclipse32.png | Bin 0 -> 4594 bytes org.eclipse.tm.terminal.test/test.xml | 90 ++++++++++++++++++ 6 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 org.eclipse.tm.terminal.test/about.ini create mode 100644 org.eclipse.tm.terminal.test/about.mappings create mode 100644 org.eclipse.tm.terminal.test/about.properties create mode 100644 org.eclipse.tm.terminal.test/eclipse32.png create mode 100644 org.eclipse.tm.terminal.test/test.xml diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index b2477fa7a62..127cb19577c 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -10,4 +10,10 @@ Require-Bundle: org.junit, org.eclipse.swt, org.eclipse.jface Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.tm.internal.terminal.speedtest +Export-Package: org.eclipse.tm.internal.terminal.emulator;x-internal:=true, + org.eclipse.tm.internal.terminal.model;x-internal:=true, + org.eclipse.tm.internal.terminal.speedtest;x-internal:=true, + org.eclipse.tm.internal.terminal.test.terminalcanvas;x-internal:=true, + org.eclipse.tm.internal.terminal.test.ui;x-internal:=true, + org.eclipse.tm.internal.terminal.textcanvas;x-internal:=true, + org.eclipse.tm.terminal.model diff --git a/org.eclipse.tm.terminal.test/about.ini b/org.eclipse.tm.terminal.test/about.ini new file mode 100644 index 00000000000..fdd61ff0dd8 --- /dev/null +++ b/org.eclipse.tm.terminal.test/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=eclipse32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/about.mappings b/org.eclipse.tm.terminal.test/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/org.eclipse.tm.terminal.test/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/about.properties b/org.eclipse.tm.terminal.test/about.properties new file mode 100644 index 00000000000..99ddff5ef83 --- /dev/null +++ b/org.eclipse.tm.terminal.test/about.properties @@ -0,0 +1,25 @@ +############################################################################### +# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +############################################################################### +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=TM Terminal Unit Tests\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2007, 2008. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.test/eclipse32.png b/org.eclipse.tm.terminal.test/eclipse32.png new file mode 100644 index 0000000000000000000000000000000000000000..568fac1d05f4d05a2470f02033e92c77ce49a660 GIT binary patch literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From e3f7c281173e3901edb45045ae129ad13adf9280 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 14:01:48 +0000 Subject: [PATCH 251/843] Add tm.terminal.test-feature --- org.eclipse.tm.terminal.test-feature/.project | 17 ++ .../build.properties | 19 ++ .../epl-v10.html | 256 ++++++++++++++++++ .../feature.properties | 143 ++++++++++ .../feature.xml | 44 +++ .../license.html | 79 ++++++ .../rootfiles/epl-v10.html | 256 ++++++++++++++++++ .../rootfiles/notice.html | 79 ++++++ .../sourceTemplatePlugin/about.html | 33 +++ .../sourceTemplatePlugin/build.properties | 12 + .../sourceTemplatePlugin/plugin.properties | 12 + 11 files changed, 950 insertions(+) create mode 100644 org.eclipse.tm.terminal.test-feature/.project create mode 100644 org.eclipse.tm.terminal.test-feature/build.properties create mode 100644 org.eclipse.tm.terminal.test-feature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.test-feature/feature.properties create mode 100644 org.eclipse.tm.terminal.test-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.test-feature/license.html create mode 100644 org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html create mode 100644 org.eclipse.tm.terminal.test-feature/rootfiles/notice.html create mode 100644 org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html create mode 100644 org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties create mode 100644 org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.test-feature/.project b/org.eclipse.tm.terminal.test-feature/.project new file mode 100644 index 00000000000..e5464802aed --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.test-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.test-feature/build.properties b/org.eclipse.tm.terminal.test-feature/build.properties new file mode 100644 index 00000000000..1d1df401372 --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/build.properties @@ -0,0 +1,19 @@ +############################################################################### +# Copyright (c) 2005, 2008 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# IBM Corporation - initial API and implementation +# Martin Oberhuber (Wind River) - Adding source plugin for tests +############################################################################### +bin.includes = feature.xml,\ + feature.properties,\ + epl-v10.html,\ + license.html +src.includes = epl-v10.html,\ + license.html +root=rootfiles +generate.plugin@org.eclipse.tm.terminal.test.source=org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.test-feature/epl-v10.html b/org.eclipse.tm.terminal.test-feature/epl-v10.html new file mode 100644 index 00000000000..9321f4082e7 --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/epl-v10.html @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

          Eclipse Public License - v 1.0

          + +

          THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

          + +

          1. DEFINITIONS

          + +

          "Contribution" means:

          + +

          a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

          +

          b) in the case of each subsequent Contributor:

          +

          i) changes to the Program, and

          +

          ii) additions to the Program;

          +

          where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

          + +

          "Contributor" means any person or entity that distributes +the Program.

          + +

          "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

          + +

          "Program" means the Contributions distributed in accordance +with this Agreement.

          + +

          "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

          + +

          2. GRANT OF RIGHTS

          + +

          a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

          + +

          b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

          + +

          c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

          + +

          d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

          + +

          3. REQUIREMENTS

          + +

          A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

          + +

          a) it complies with the terms and conditions of this +Agreement; and

          + +

          b) its license agreement:

          + +

          i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

          + +

          ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

          + +

          iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

          + +

          iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

          + +

          When the Program is made available in source code form:

          + +

          a) it must be made available under this Agreement; and

          + +

          b) a copy of this Agreement must be included with each +copy of the Program.

          + +

          Contributors may not remove or alter any copyright notices contained +within the Program.

          + +

          Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

          + +

          4. COMMERCIAL DISTRIBUTION

          + +

          Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

          + +

          For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

          + +

          5. NO WARRANTY

          + +

          EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

          + +

          6. DISCLAIMER OF LIABILITY

          + +

          EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

          + +

          7. GENERAL

          + +

          If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

          + +

          If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

          + +

          All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

          + +

          Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

          + +

          This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

          + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/org.eclipse.tm.terminal.test-feature/feature.properties new file mode 100644 index 00000000000..cf9d59d05cf --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/feature.properties @@ -0,0 +1,143 @@ +############################################################################### +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Unit Tests + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + + +# "description" property - description of the feature +description=TM Terminal Unit Tests. Includes Source. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.test-feature/feature.xml b/org.eclipse.tm.terminal.test-feature/feature.xml new file mode 100644 index 00000000000..9f25fdb124d --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/feature.xml @@ -0,0 +1,44 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.test-feature/license.html b/org.eclipse.tm.terminal.test-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

          Eclipse Foundation Software User Agreement

          +

          March 17, 2005

          + +

          Usage Of Content

          + +

          THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

          + +

          Applicable Licenses

          + +

          Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

          + +

          Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

          + +
            +
          • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
          • +
          • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
          • +
          • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
          • +
          • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
          • +
          + +

          The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

          + +
            +
          • The top-level (root) directory
          • +
          • Plug-in and Fragment directories
          • +
          • Inside Plug-ins and Fragments packaged as JARs
          • +
          • Sub-directories of the directory named "src" of certain Plug-ins
          • +
          • Feature directories
          • +
          + +

          Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

          + +

          THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

          + + + +

          IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

          + +

          Cryptography

          + +

          Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

          + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html b/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html new file mode 100644 index 00000000000..9321f4082e7 --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

          Eclipse Public License - v 1.0

          + +

          THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

          + +

          1. DEFINITIONS

          + +

          "Contribution" means:

          + +

          a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

          +

          b) in the case of each subsequent Contributor:

          +

          i) changes to the Program, and

          +

          ii) additions to the Program;

          +

          where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

          + +

          "Contributor" means any person or entity that distributes +the Program.

          + +

          "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

          + +

          "Program" means the Contributions distributed in accordance +with this Agreement.

          + +

          "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

          + +

          2. GRANT OF RIGHTS

          + +

          a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

          + +

          b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

          + +

          c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

          + +

          d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

          + +

          3. REQUIREMENTS

          + +

          A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

          + +

          a) it complies with the terms and conditions of this +Agreement; and

          + +

          b) its license agreement:

          + +

          i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

          + +

          ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

          + +

          iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

          + +

          iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

          + +

          When the Program is made available in source code form:

          + +

          a) it must be made available under this Agreement; and

          + +

          b) a copy of this Agreement must be included with each +copy of the Program.

          + +

          Contributors may not remove or alter any copyright notices contained +within the Program.

          + +

          Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

          + +

          4. COMMERCIAL DISTRIBUTION

          + +

          Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

          + +

          For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

          + +

          5. NO WARRANTY

          + +

          EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

          + +

          6. DISCLAIMER OF LIABILITY

          + +

          EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

          + +

          7. GENERAL

          + +

          If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

          + +

          If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

          + +

          All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

          + +

          Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

          + +

          This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

          + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html new file mode 100644 index 00000000000..a9b560f44cd --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

          Eclipse Foundation Software User Agreement

          +

          March 17, 2005

          + +

          Usage Of Content

          + +

          THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

          + +

          Applicable Licenses

          + +

          Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

          + +

          Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

          + +
            +
          • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
          • +
          • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
          • +
          • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
          • +
          • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
          • +
          + +

          The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

          + +
            +
          • The top-level (root) directory
          • +
          • Plug-in and Fragment directories
          • +
          • Inside Plug-ins and Fragments packaged as JARs
          • +
          • Sub-directories of the directory named "src" of certain Plug-ins
          • +
          • Feature directories
          • +
          + +

          Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

          + +

          THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

          + + + +

          IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

          + +

          Cryptography

          + +

          Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

          + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html new file mode 100644 index 00000000000..e7b57cffff2 --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html @@ -0,0 +1,33 @@ + + + + +About + + +

          About This Content

          + +

          June 5, 2007

          +

          License

          + +

          The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

          + +

          If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

          + +

          Source Code

          +

          This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license +agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the +src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

          + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties new file mode 100644 index 00000000000..52b7dcea95f --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +sourcePlugin = true diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties new file mode 100644 index 00000000000..fad84e65776 --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties @@ -0,0 +1,12 @@ +################################################################################ +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +pluginName=Target Management Terminal Unit Tests Source +providerName=Eclipse.org From c836c0b4101a17f25b167425f9c651d793e060cc Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 14:04:15 +0000 Subject: [PATCH 252/843] Restore terminal-telnet-feature from invalid commit --- .../.project | 2 +- .../build.properties | 27 ++-- .../feature.properties | 6 +- .../feature.xml | 14 +- .../epl-v10.html | 0 .../sourceTemplateFeature/feature.properties | 143 ++++++++++++++++++ .../license.html} | 20 +-- .../sourceTemplatePlugin/about.ini | 27 ++++ .../sourceTemplatePlugin/about.mappings | 6 + .../sourceTemplatePlugin/about.properties | 25 +++ .../sourceTemplatePlugin/build.properties | 4 +- .../sourceTemplatePlugin/eclipse32.png | Bin 0 -> 4594 bytes .../sourceTemplatePlugin/plugin.properties | 2 +- 13 files changed, 233 insertions(+), 43 deletions(-) rename org.eclipse.tm.terminal.telnet-feature/{rootfiles => sourceTemplateFeature}/epl-v10.html (100%) create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties rename org.eclipse.tm.terminal.telnet-feature/{rootfiles/notice.html => sourceTemplateFeature/license.html} (98%) create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png diff --git a/org.eclipse.tm.terminal.telnet-feature/.project b/org.eclipse.tm.terminal.telnet-feature/.project index e5464802aed..c78da8d1f85 100644 --- a/org.eclipse.tm.terminal.telnet-feature/.project +++ b/org.eclipse.tm.terminal.telnet-feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.test-feature + org.eclipse.tm.terminal.telnet-feature diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/org.eclipse.tm.terminal.telnet-feature/build.properties index 1d1df401372..8babd3045ce 100644 --- a/org.eclipse.tm.terminal.telnet-feature/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -1,19 +1,14 @@ -############################################################################### -# Copyright (c) 2005, 2008 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -# Martin Oberhuber (Wind River) - Adding source plugin for tests -############################################################################### +################################################################################ +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +################################################################################ bin.includes = feature.xml,\ - feature.properties,\ epl-v10.html,\ + feature.properties,\ license.html -src.includes = epl-v10.html,\ - license.html -root=rootfiles -generate.plugin@org.eclipse.tm.terminal.test.source=org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index cf9d59d05cf..48d890847f5 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Unit Tests +featureName=Target Management Terminal Telnet Connector # "providerName" property - name of the company that provides the feature providerName=Eclipse.org @@ -26,11 +26,11 @@ tmMilestoneSiteName=Target Management 2.0 Milestone Updates # "description" property - description of the feature -description=TM Terminal Unit Tests. Includes Source. +description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index 9f25fdb124d..a4c2cc10225 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,6 +1,6 @@ @@ -26,19 +26,13 @@ - - - + version="0.0.0" + unpack="false"/> diff --git a/org.eclipse.tm.terminal.telnet-feature/rootfiles/epl-v10.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/rootfiles/epl-v10.html rename to org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties new file mode 100644 index 00000000000..de7557c98b1 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -0,0 +1,143 @@ +############################################################################### +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Telnet Connector Source + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management Updates +tmMilestoneSiteName=Target Management 2.0 Milestone Updates + + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html similarity index 98% rename from org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html rename to org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html index a9b560f44cd..c6af966b61e 100644 --- a/org.eclipse.tm.terminal.telnet-feature/rootfiles/notice.html +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html @@ -17,24 +17,24 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

          - -

          Applicable Licenses

          - + +

          Applicable Licenses

          +

          Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

          Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS modules ("Modules") and made available as downloadable archives ("Downloads").

          - +
          • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
          • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
          • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
          • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
          • -
          - +
        +

        The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

        @@ -46,7 +46,7 @@ including, but not limited to the following locations:

      • Sub-directories of the directory named "src" of certain Plug-ins
      • Feature directories
      - +

      Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. @@ -60,7 +60,7 @@ OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    • -
    • IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
    • +
    • IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)
    • Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)
    • Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)
    @@ -73,7 +73,7 @@ contact the Eclipse Foundation to determine what terms and conditions govern tha

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini new file mode 100644 index 00000000000..fdd61ff0dd8 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=eclipse32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties new file mode 100644 index 00000000000..d143444aad7 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties @@ -0,0 +1,25 @@ +################################################################################ +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=Target Management Terminal Telnet Connector Source\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2008. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties index 52b7dcea95f..d8761451956 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png new file mode 100644 index 0000000000000000000000000000000000000000..568fac1d05f4d05a2470f02033e92c77ce49a660 GIT binary patch literal 4594 zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5 z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7} zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf zVxhe-O!X z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4 ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS= zB9o|3v?Y2H`NVi)In3rTB8+ej^> zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^ zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^# z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6 zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8 zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|= zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^= zgB=w+-tUy`ytONMS8KgRef4hA?t0j zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3? zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7 zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)} z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(` z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7 zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%> ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4 zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1 z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm! zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9 z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3 z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL* zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ zzP;Hwv$__aeQO Date: Wed, 13 Feb 2008 14:14:07 +0000 Subject: [PATCH 253/843] RESOLVED - bug 217675: NPE or SWTException when closing Terminal View while connection establishing https://bugs.eclipse.org/bugs/show_bug.cgi?id=217675 --- .../tm/internal/terminal/control/impl/TerminalControl.java | 5 +++++ .../tm/internal/terminal/emulator/VT100TerminalControl.java | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java index cc75630f8d1..146e54eca3c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Ruslan Sychev - [217675] NPE or SWTException when closing Terminal View while connection establishing *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -285,6 +286,10 @@ public class TerminalControl implements ITerminalControlForText, ITerminalContro fDisplay.sleep(); } + if(getCtlText().isDisposed()) { + disconnectTerminal(); + return; + } if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg()); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 4ecf4a92ca6..254e9a4c1e7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs * Martin Oberhuber (Wind River) - [208145] Terminal prints garbage after quick disconnect/reconnect * Martin Oberhuber (Wind River) - [207785] NPE when trying to send char while no longer connected + * Ruslan Sychev - [217675] NPE or SWTException when closing Terminal View while connection establishing *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -322,6 +323,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fDisplay.sleep(); } + if(getCtlText().isDisposed()) { + disconnectTerminal(); + return; + } if (!getMsg().equals("")) //$NON-NLS-1$ { showErrorMessage(getMsg()); From d9a38215eded90b9e19b4b685f01c6020264cdba Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 13 Feb 2008 14:39:26 +0000 Subject: [PATCH 254/843] RESOLVED - bug 209818: [terminal] Remove the old terminal implementation https://bugs.eclipse.org/bugs/show_bug.cgi?id=209818 --- .../control/TerminalViewControlFactory.java | 7 +- .../control/impl/TerminalControl.java | 880 ------- .../terminal/control/impl/TerminalText.java | 2056 ----------------- .../terminal/emulator/VT100Emulator.java | 1 - 4 files changed, 1 insertion(+), 2943 deletions(-) delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index beb3a296121..9f5074a90a5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -12,16 +12,11 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.widgets.Composite; -import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; -import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; public class TerminalViewControlFactory { public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { - if(System.getProperty("org.eclipse.tm.terminal.OldImplementation")!=null || TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/use_old_implementation")) //$NON-NLS-1$ //$NON-NLS-2$ - return new TerminalControl(target, wndParent, connectors); - else - return new VT100TerminalControl(target, wndParent, connectors); + return new VT100TerminalControl(target, wndParent, connectors); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java deleted file mode 100644 index 146e54eca3c..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalControl.java +++ /dev/null @@ -1,880 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Ruslan Sychev - [217675] NPE or SWTException when closing Terminal View while connection establishing - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.control.impl; - -import java.io.IOException; -import java.io.OutputStream; -import java.io.UnsupportedEncodingException; -import java.net.SocketException; - -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.custom.VerifyKeyListener; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.FocusEvent; -import org.eclipse.swt.events.FocusListener; -import org.eclipse.swt.events.KeyAdapter; -import org.eclipse.swt.events.KeyEvent; -import org.eclipse.swt.events.KeyListener; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.VerifyEvent; -import org.eclipse.swt.graphics.Font; -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.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.tm.internal.terminal.control.ICommandInputField; -import org.eclipse.tm.internal.terminal.control.ITerminalListener; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.contexts.IContextActivation; -import org.eclipse.ui.contexts.IContextService; -import org.eclipse.ui.keys.IBindingService; - -/** - * - * This class was originally written to use nested classes, which unfortunately makes - * this source file larger and more complex than it needs to be. In particular, the - * methods in the nested classes directly access the fields of the enclosing class. - * One day we should pull the nested classes out into their own source files (but still - * in this package). - * - * @author Chris Thew - */ -public class TerminalControl implements ITerminalControlForText, ITerminalControl, ITerminalViewControl -{ - protected final static String[] LINE_DELIMITERS = { "\n" }; //$NON-NLS-1$ - - /** - * This field holds a reference to a TerminalText object that performs all ANSI - * text processing on data received from the remote host and controls how text is - * displayed using the view's StyledText widget. - */ - private TerminalText fTerminalText; - - private Display fDisplay; - private StyledText fCtlText; - private Composite fWndParent; - private Clipboard fClipboard; - private TerminalModifyListener fModifyListener; - private KeyListener fKeyHandler; - private final ITerminalListener fTerminalListener; - private String fMsg = ""; //$NON-NLS-1$ - private VerifyKeyListener fVerifyKeyListener; - private FocusListener fFocusListener; - private ITerminalConnectorInfo fConnectorInfo; - private final ITerminalConnectorInfo[] fConnectors; - - private ICommandInputField fCommandInputField; - - private volatile TerminalState fState; - - public TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { - fConnectors=connectors; - fTerminalListener=target; - setTerminalText(new TerminalText(this)); - - setupTerminal(wndParent); - } - - public ITerminalConnectorInfo[] getConnectors() { - return fConnectors; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy() - */ - public void copy() { - getCtlText().copy(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste() - */ - public void paste() { - TextTransfer textTransfer = TextTransfer.getInstance(); - String strText = (String) fClipboard.getContents(textTransfer); - pasteString(strText); -// TODO paste in another thread.... to avoid blocking -// new Thread() { -// public void run() { -// for (int i = 0; i < strText.length(); i++) { -// sendChar(strText.charAt(i), false); -// } -// -// } -// }.start(); - } - - /** - * @param strText - */ - public boolean pasteString(String strText) { - if(!isConnected()) - return false; - if (strText == null) - return false; - for (int i = 0; i < strText.length(); i++) { - sendChar(strText.charAt(i), false); - } - return true; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#selectAll() - */ - public void selectAll() { - getCtlText().selectAll(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#sendKey(char) - */ - public void sendKey(char character) { - Event event; - KeyEvent keyEvent; - - event = new Event(); - event.widget = getCtlText(); - event.character = character; - event.keyCode = 0; - event.stateMask = 0; - event.doit = true; - keyEvent = new KeyEvent(event); - - fKeyHandler.keyPressed(keyEvent); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#clearTerminal() - */ - public void clearTerminal() { - // The TerminalText object does all text manipulation. - - getTerminalText().clearTerminal(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getClipboard() - */ - public Clipboard getClipboard() { - return fClipboard; - } - - /** - * @return non null selection - */ - public String getSelection() { - String txt= fCtlText.getSelectionText(); - if(txt==null) - txt=""; //$NON-NLS-1$ - return txt; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setFocus() - */ - public void setFocus() { - getCtlText().setFocus(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isEmpty() - */ - public boolean isEmpty() { - return (getCtlText().getCharCount() == 0); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isDisposed() - */ - public boolean isDisposed() { - return getCtlText().isDisposed(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnected() - */ - public boolean isConnected() { - return fState==TerminalState.CONNECTED; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disposeTerminal() - */ - public void disposeTerminal() { - Logger.log("entered."); //$NON-NLS-1$ - disconnectTerminal(); - fClipboard.dispose(); - getTerminalText().dispose(); - } - - public void connectTerminal() { - Logger.log("entered."); //$NON-NLS-1$ - if(getTerminalConnector()==null) - return; - fTerminalText.resetState(); - if(fConnectorInfo.getInitializationErrorMessage()!=null) { - showErrorMessage(NLS.bind( - TerminalMessages.CannotConnectTo, - fConnectorInfo.getName(), - fConnectorInfo.getInitializationErrorMessage())); - // we cannot connect because the connector was not initialized - return; - } - getTerminalConnector().connect(this); - // clean the error message - setMsg(""); //$NON-NLS-1$ - waitForConnect(); - } - - private ITerminalConnector getTerminalConnector() { - if(fConnectorInfo==null) - return null; - return fConnectorInfo.getConnector(); - } - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() - */ - public void disconnectTerminal() { - Logger.log("entered."); //$NON-NLS-1$ - - if (getState()==TerminalState.CLOSED) { - return; - } - if(getTerminalConnector()!=null) { - getTerminalConnector().disconnect(); - } - } - - // TODO - private void waitForConnect() { - Logger.log("entered."); //$NON-NLS-1$ - // TODO - // Eliminate this code - while (getState()==TerminalState.CONNECTING) { - if (fDisplay.readAndDispatch()) - continue; - - fDisplay.sleep(); - } - if(getCtlText().isDisposed()) { - disconnectTerminal(); - return; - } - if (!getMsg().equals("")) //$NON-NLS-1$ - { - showErrorMessage(getMsg()); - - disconnectTerminal(); - return; - } - - getCtlText().setFocus(); - } - - private void showErrorMessage(String message) { - String strTitle = TerminalMessages.TerminalError; - MessageDialog.openError( getShell(), strTitle, message); - } - - protected void sendString(String string) { - try { - // Send the string after converting it to an array of bytes using the - // platform's default character encoding. - // - // TODO: Find a way to force this to use the ISO Latin-1 encoding. - - getOutputStream().write(string.getBytes()); - getOutputStream().flush(); - } catch (SocketException socketException) { - displayTextInTerminal(socketException.getMessage()); - - String strMsg = TerminalMessages.SocketError - + "!\n" + socketException.getMessage(); //$NON-NLS-1$ - showErrorMessage(strMsg); - - Logger.logException(socketException); - - disconnectTerminal(); - } catch (IOException ioException) { - showErrorMessage(TerminalMessages.IOError + "!\n" + ioException.getMessage());//$NON-NLS-1$ - - Logger.logException(ioException); - - disconnectTerminal(); - } - } - - public Shell getShell() { - return getCtlText().getShell(); - } - - protected void sendChar(char chKey, boolean altKeyPressed) { - try { - int byteToSend = chKey; - - if (altKeyPressed) { - // When the ALT key is pressed at the same time that a character is - // typed, translate it into an ESCAPE followed by the character. The - // alternative in this case is to set the high bit of the character - // being transmitted, but that will cause input such as ALT-f to be - // seen as the ISO Latin-1 character '�', which can be confusing to - // European users running Emacs, for whom Alt-f should move forward a - // word instead of inserting the '�' character. - // - // TODO: Make the ESCAPE-vs-highbit behavior user configurable. - - Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - getOutputStream().write('\u001b'); - getOutputStream().write(byteToSend); - } else { - Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - getOutputStream().write(byteToSend); - } - - getOutputStream().flush(); - } catch (SocketException socketException) { - Logger.logException(socketException); - - displayTextInTerminal(socketException.getMessage()); - - String strMsg = TerminalMessages.SocketError - + "!\n" + socketException.getMessage(); //$NON-NLS-1$ - - showErrorMessage(strMsg); - Logger.logException(socketException); - - disconnectTerminal(); - } catch (IOException ioException) { - Logger.logException(ioException); - - displayTextInTerminal(ioException.getMessage()); - - String strMsg = TerminalMessages.IOError + "!\n" + ioException.getMessage(); //$NON-NLS-1$ - - showErrorMessage(strMsg); - Logger.logException(ioException); - - disconnectTerminal(); - } - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal() - */ - public void setupTerminal(Composite parent) { - fState=TerminalState.CLOSED; - setupControls(parent); - setupListeners(); - setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#onFontChanged() - */ - public void setFont(Font font) { - getCtlText().setFont(font); - if(fCommandInputField!=null) { - fCommandInputField.setFont(font); - } - - // Tell the TerminalControl singleton that the font has changed. - - getTerminalText().fontChanged(); - } - public Font getFont() { - return getCtlText().getFont(); - } - public Control getControl() { - return fCtlText; - } - protected void setupControls(Composite parent) { - // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it - // can't have a horizontal scroll bar (but a vertical one is ok). Also, do - // _not_ make the TextViewer read-only, because that prevents it from seeing a - // TAB character when the user presses TAB (instead, the TAB causes focus to - // switch to another Workbench control). We prevent local keyboard input from - // modifying the text in method TerminalVerifyKeyListener.verifyKey(). - - fWndParent=new Composite(parent,SWT.NONE); - GridLayout layout=new GridLayout(); - layout.marginWidth=0; - layout.marginHeight=0; - - fWndParent.setLayout(layout); - setCtlText(new StyledText(fWndParent, SWT.V_SCROLL)); - fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); - //fCtlText.setWordWrap(false); - - fDisplay = getCtlText().getDisplay(); - fClipboard = new Clipboard(fDisplay); -// fViewer.setDocument(new TerminalDocument()); - getCtlText().setFont(JFaceResources.getTextFont()); - } - - protected void setupListeners() { - fKeyHandler = new TerminalKeyHandler(); - fModifyListener = new TerminalModifyListener(); - fVerifyKeyListener = new TerminalVerifyKeyListener(); - fFocusListener = new TerminalFocusListener(); - - getCtlText().addVerifyKeyListener(fVerifyKeyListener); - getCtlText().addKeyListener(fKeyHandler); - getCtlText().addModifyListener(fModifyListener); - getCtlText().addVerifyKeyListener(fVerifyKeyListener); - getCtlText().addFocusListener(fFocusListener); - } - - /** - * Setup all the help contexts for the controls. - */ - protected void setupHelp(Composite parent, String id) { - Control[] children = parent.getChildren(); - - for (int nIndex = 0; nIndex < children.length; nIndex++) { - if (children[nIndex] instanceof Composite) { - setupHelp((Composite) children[nIndex], id); - } - } - - PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, id); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#displayTextInTerminal(java.lang.String) - */ - public void displayTextInTerminal(String text) { - writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ - } - private void writeToTerminal(String text) { - try { - getRemoteToTerminalOutputStream().write(text.getBytes("ISO-8859-1")); //$NON-NLS-1$ - } catch (UnsupportedEncodingException e) { - // should never happen! - e.printStackTrace(); - } catch (IOException e) { - // should never happen! - e.printStackTrace(); - } - - } - - public OutputStream getRemoteToTerminalOutputStream() { - return getTerminalText().getOutputStream(); - } - protected boolean isLogCharEnabled() { - return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); - } - protected boolean isLogBufferSizeEnabled() { - return TerminalPlugin - .isOptionEnabled(Logger.TRACE_DEBUG_LOG_BUFFER_SIZE); - } - - - public OutputStream getOutputStream() { - if(getTerminalConnector()!=null) - return getTerminalConnector().getOutputStream(); - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setMsg(java.lang.String) - */ - public void setMsg(String msg) { - fMsg = msg; - } - - public String getMsg() { - return fMsg; - } - - void setCtlText(StyledText ctlText) { - fCtlText = ctlText; - fTerminalText.setStyledText(ctlText); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getCtlText() - */ - protected StyledText getCtlText() { - return fCtlText; - } - - void setTerminalText(TerminalText terminalText) { - fTerminalText = terminalText; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getTerminalText() - */ - public TerminalText getTerminalText() { - return fTerminalText; - } - - /** - */ - public ITerminalConnectorInfo getTerminalConnectorInfo() { - return fConnectorInfo; - } - protected class TerminalModifyListener implements ModifyListener { - public void modifyText(ModifyEvent e) { - if (e.getSource() instanceof StyledText) { - StyledText text = (StyledText) e.getSource(); - text.setSelection(text.getText().length()); - } - } - } - - protected class TerminalFocusListener implements FocusListener { - private IContextActivation contextActivation = null; - - protected TerminalFocusListener() { - super(); - } - - public void focusGained(FocusEvent event) { - // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view - // can see every keystroke. Without this, Emacs, vi, and Bash are unusable - // in the Terminal view. - - IBindingService bindingService = (IBindingService) PlatformUI - .getWorkbench().getAdapter(IBindingService.class); - bindingService.setKeyFilterEnabled(false); - - // The above code fails to cause Eclipse to disable menu-activation - // accelerators (e.g., Alt-F for the File menu), so we set the command - // context to be the Terminal view's command context. This enables us to - // override menu-activation accelerators with no-op commands in our - // plugin.xml file, which enables the Terminal view to see absolutly _all_ - // key-presses. - - IContextService contextService = (IContextService) PlatformUI - .getWorkbench().getAdapter(IContextService.class); - contextActivation = contextService - .activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ - } - - public void focusLost(FocusEvent event) { - // Enable all keybindings. - - IBindingService bindingService = (IBindingService) PlatformUI - .getWorkbench().getAdapter(IBindingService.class); - bindingService.setKeyFilterEnabled(true); - - // Restore the command context to its previous value. - - IContextService contextService = (IContextService) PlatformUI - .getWorkbench().getAdapter(IContextService.class); - contextService.deactivateContext(contextActivation); - } - } - - protected class TerminalVerifyKeyListener implements VerifyKeyListener { - public void verifyKey(VerifyEvent event) { - // We set event.doit to false to prevent keyboard input from locally - // modifying the contents of the StyledText widget. The only text we - // display is text received from the remote endpoint. This also prevents - // the caret from moving locally when the user presses an arrow key or the - // PageUp or PageDown keys. For some reason, doing this in - // TerminalKeyHandler.keyPressed() does not work, hence the need for this - // class. - - event.doit = false; - } - } - protected class TerminalKeyHandler extends KeyAdapter { - public void keyPressed(KeyEvent event) { - if (getState()==TerminalState.CONNECTING) - return; - - // We set the event.doit to false to prevent any further processing of this - // key event. The only reason this is here is because I was seeing the F10 - // key both send an escape sequence (due to this method) and switch focus - // to the Workbench File menu (forcing the user to click in the Terminal - // view again to continue entering text). This fixes that. - - event.doit = false; - - char character = event.character; - - if (!isConnected()) { - // Pressing ENTER while not connected causes us to connect. - if (character == '\r') { - connectTerminal(); - return; - } - - // Ignore all other keyboard input when not connected. - return; - } - - // If the event character is NUL ('\u0000'), then a special key was pressed - // (e.g., PageUp, PageDown, an arrow key, a function key, Shift, Alt, - // Control, etc.). The one exception is when the user presses Control-@, - // which sends a NUL character, in which case we must send the NUL to the - // remote endpoint. This is necessary so that Emacs will work correctly, - // because Control-@ (i.e., NUL) invokes Emacs' set-mark-command when Emacs - // is running on a terminal. When the user presses Control-@, the keyCode - // is 50. - - if (character == '\u0000' && event.keyCode != 50) { - // A special key was pressed. Figure out which one it was and send the - // appropriate ANSI escape sequence. - // - // IMPORTANT: Control will not enter this method for these special keys - // unless certain tags are present in the plugin.xml file - // for the Terminal view. Do not delete those tags. - - switch (event.keyCode) { - case 0x1000001: // Up arrow. - sendString("\u001b[A"); //$NON-NLS-1$ - break; - - case 0x1000002: // Down arrow. - sendString("\u001b[B"); //$NON-NLS-1$ - break; - - case 0x1000003: // Left arrow. - sendString("\u001b[D"); //$NON-NLS-1$ - break; - - case 0x1000004: // Right arrow. - sendString("\u001b[C"); //$NON-NLS-1$ - break; - - case 0x1000005: // PgUp key. - sendString("\u001b[I"); //$NON-NLS-1$ - break; - - case 0x1000006: // PgDn key. - sendString("\u001b[G"); //$NON-NLS-1$ - break; - - case 0x1000007: // Home key. - sendString("\u001b[H"); //$NON-NLS-1$ - break; - - case 0x1000008: // End key. - sendString("\u001b[F"); //$NON-NLS-1$ - break; - - case 0x100000a: // F1 key. - sendString("\u001b[M"); //$NON-NLS-1$ - break; - - case 0x100000b: // F2 key. - sendString("\u001b[N"); //$NON-NLS-1$ - break; - - case 0x100000c: // F3 key. - sendString("\u001b[O"); //$NON-NLS-1$ - break; - - case 0x100000d: // F4 key. - sendString("\u001b[P"); //$NON-NLS-1$ - break; - - case 0x100000e: // F5 key. - sendString("\u001b[Q"); //$NON-NLS-1$ - break; - - case 0x100000f: // F6 key. - sendString("\u001b[R"); //$NON-NLS-1$ - break; - - case 0x1000010: // F7 key. - sendString("\u001b[S"); //$NON-NLS-1$ - break; - - case 0x1000011: // F8 key. - sendString("\u001b[T"); //$NON-NLS-1$ - break; - - case 0x1000012: // F9 key. - sendString("\u001b[U"); //$NON-NLS-1$ - break; - - case 0x1000013: // F10 key. - sendString("\u001b[V"); //$NON-NLS-1$ - break; - - case 0x1000014: // F11 key. - sendString("\u001b[W"); //$NON-NLS-1$ - break; - - case 0x1000015: // F12 key. - sendString("\u001b[X"); //$NON-NLS-1$ - break; - - default: - // Ignore other special keys. Control flows through this case when - // the user presses SHIFT, CONTROL, ALT, and any other key not - // handled by the above cases. - break; - } - - // It's ok to return here, because we never locally echo special keys. - - return; - } - - // To fix SPR 110341, we consider the Alt key to be pressed only when the - // Control key is _not_ also pressed. This works around a bug in SWT where, - // on European keyboards, the AltGr key being pressed appears to us as Control - // + Alt being pressed simultaneously. - - Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ - - boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && ((event.stateMask & SWT.CTRL) == 0)); - - if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 - && character == ' ') { - // Send a NUL character -- many terminal emulators send NUL when - // Control-Space is pressed. This is used to set the mark in Emacs. - - character = '\u0000'; - } - - sendChar(character, altKeyPressed); - - // Special case: When we are in a TCP connection and echoing characters - // locally, send a LF after sending a CR. - // ISSUE: Is this absolutely required? - - if (character == '\r' && getTerminalConnectorInfo() != null - && isConnected() - && getTerminalConnectorInfo().getConnector().isLocalEcho()) { - sendChar('\n', false); - } - - // Now decide if we should locally echo the character we just sent. We do - // _not_ locally echo the character if any of these conditions are true: - // - // o This is a serial connection. - // - // o This is a TCP connection (i.e., m_telnetConnection is not null) and - // the remote endpoint is not a TELNET server. - // - // o The ALT (or META) key is pressed. - // - // o The character is any of the first 32 ISO Latin-1 characters except - // Control-I or Control-M. - // - // o The character is the DELETE character. - - if (getTerminalConnectorInfo() == null - || getTerminalConnectorInfo().getConnector().isLocalEcho() == false || altKeyPressed - || (character >= '\u0001' && character < '\t') - || (character > '\t' && character < '\r') - || (character > '\r' && character <= '\u001f') - || character == '\u007f') { - // No local echoing. - return; - } - - // Locally echo the character. - - StringBuffer charBuffer = new StringBuffer(); - charBuffer.append(character); - - // If the character is a carriage return, we locally echo it as a CR + LF - // combination. - - if (character == '\r') - charBuffer.append('\n'); - - writeToTerminal(charBuffer.toString()); - } - - } - - public void setTerminalTitle(String title) { - fTerminalListener.setTerminalTitle(title); - } - - - public TerminalState getState() { - return fState; - } - - - public void setState(TerminalState state) { - fState=state; - fTerminalListener.setState(state); - } - - public String getSettingsSummary() { - if(getTerminalConnector()!=null) - return getTerminalConnector().getSettingsSummary(); - return ""; //$NON-NLS-1$ - } - - public void setConnector(ITerminalConnectorInfo connector) { - fConnectorInfo=connector; - - } - public ICommandInputField getCommandInputField() { - return fCommandInputField; - } - - public void setCommandInputField(ICommandInputField inputField) { - if(fCommandInputField!=null) - fCommandInputField.dispose(); - fCommandInputField=inputField; - if(fCommandInputField!=null) - fCommandInputField.createControl(fWndParent, this); - fWndParent.layout(true); - } - - public int getBufferLineLimit() { - if(getTerminalText().isLimitOutput()) - return getTerminalText().getBufferLineLimit(); - return -1; - } - - public void setBufferLineLimit(int bufferLineLimit) { - getTerminalText().setLimitOutput(bufferLineLimit!=-1); - getTerminalText().setBufferLineLimit(bufferLineLimit); - - } - - public boolean isScrollLock() { - return false; - } - - public void setScrollLock(boolean on) { - } - - public void setInvertedColors(boolean invert) { - } - -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java deleted file mode 100644 index 616d499be50..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalText.java +++ /dev/null @@ -1,2056 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.control.impl; - -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Reader; -import java.io.UnsupportedEncodingException; -import java.nio.charset.Charset; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.StyleRange; -import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.events.ControlEvent; -import org.eclipse.swt.events.ControlListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Display; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -/** - * This class processes character data received from the remote host and - * displays it to the user using the Terminal view's StyledText widget. This - * class processes ANSI control characters, including NUL, backspace, carriage - * return, linefeed, and a subset of ANSI escape sequences sufficient to allow - * use of screen-oriented applications, such as vi, Emacs, and any GNU - * readline-enabled application (Bash, bc, ncftp, etc.). - *

    - * - * @author Fran Litterio - * @author Chris Thew - */ -public class TerminalText implements ControlListener { - /** This is a character processing state: Initial state. */ - protected static final int ANSISTATE_INITIAL = 0; - - /** This is a character processing state: We've seen an escape character. */ - protected static final int ANSISTATE_ESCAPE = 1; - - /** - * This is a character processing state: We've seen a '[' after an escape - * character. Expecting a parameter character or a command character next. - */ - protected static final int ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND = 2; - - /** - * This is a character processing state: We've seen a ']' after an escape - * character. We are now expecting an operating system command that - * reprograms an intelligent terminal. - */ - protected static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; - - /** - * This field holds the current state of the Finite TerminalState Automaton (FSA) - * that recognizes ANSI escape sequences. - * - * @see #processNewText() - */ - protected int ansiState = ANSISTATE_INITIAL; - - /** - * This field holds a reference to the {@link TerminalControl} object that - * instantiates this class. - */ - protected ITerminalControlForText terminal; - - /** - * This field holds a reference to the StyledText widget that is used to - * display text to the user. - */ - protected StyledText text; - - /** - * This field holds the width of a character (in pixels) for the font used - * to display text. - */ - protected int characterPixelWidth = 0; - - /** - * This field holds the width of the terminal screen in columns. - */ - protected int widthInColumns = 0; - - /** - * This field holds the height of the terminal screen in visible lines. The - * StyledText widget can contain more lines than are visible. - */ - protected int heightInLines = 0; - - /** - * This field holds the number of the column in which the cursor is - * logically positioned. The leftmost column on the screen is column 0, and - * column numbers increase to the right. The maximum value of this field is - * {@link #widthInColumns} - 1. We track the cursor column using this field - * to avoid having to recompute it repeatly using StyledText method calls. - *

    - * - * The StyledText widget that displays text has a vertical bar (called the - * "caret") that appears _between_ character cells, but ANSI terminals have - * the concept of a cursor that appears _in_ a character cell, so we need a - * convention for which character cell the cursor logically occupies when - * the caret is physically between two cells. The convention used in this - * class is that the cursor is logically in column N when the caret is - * physically positioned immediately to the _left_ of column N. - *

    - * - * When cursorColumn is N, the next character output to the terminal appears - * in column N. When a character is output to the rightmost column on a - * given line (column widthInColumns - 1), the cursor moves to column 0 on - * the next line after the character is drawn (this is how line wrapping is - * implemented). If the cursor is in the bottommost line when line wrapping - * occurs, the topmost visible line is scrolled off the top edge of the - * screen. - *

    - */ - protected int cursorColumn = 0; - - /** - * This field holds the caret offset when we last moved it or wrote text to - * the terminal. The reason we need to remember this value is because, - * unlike with a normal terminal emulator, the user can move the caret by - * clicking anywhere in the terminal view. In a normal terminal emulator, - * the cursor only moves as the result of character output (i.e., escape - * sequences or normal characters). We use the value stored in this field to - * restore the position of the caret immediately before processing each - * chunk of output from the remote endpoint. - */ - protected int caretOffset = 0; - - /** - * This field hold the saved absolute line number of the cursor when - * processing the "ESC 7" and "ESC 8" command sequences. - */ - protected int savedCursorLine = 0; - - /** - * This field hold the saved column number of the cursor when processing the - * "ESC 7" and "ESC 8" command sequences. - */ - protected int savedCursorColumn = 0; - - /** - * This field holds an array of StringBuffer objects, each of which is one - * parameter from the current ANSI escape sequence. For example, when - * parsing the escape sequence "\e[20;10H", this array holds the strings - * "20" and "10". - */ - protected StringBuffer[] ansiParameters = new StringBuffer[16]; - - /** - * This field holds the OS-specific command found in an escape sequence of - * the form "\e]...\u0007". - */ - protected StringBuffer ansiOsCommand = new StringBuffer(128); - - /** - * This field holds the index of the next unused element of the array stored - * in field {@link #ansiParameters}. - */ - protected int nextAnsiParameter = 0; - - /** - * This field holds the Color object representing the current foreground - * color as set by the ANSI escape sequence "\e[m". - */ - protected Color currentForegroundColor; - - /** - * This field holds the Color object representing the current background - * color as set by the ANSI escape sequence "\e[m". - */ - protected Color currentBackgroundColor; - - /** - * This field holds an integer representing the current font style as set by - * the ANSI escape sequence "\e[m". - */ - protected int currentFontStyle = SWT.NORMAL; - - /** - * This field is true if we are currently outputing text in reverse video - * mode, false otherwise. - */ - protected boolean reverseVideo = false; - - /** - * Color object representing the color black. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color BLACK = new Color(Display.getCurrent(), 0, 0, 0); - - /** - * Color object representing the color red. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color RED = new Color(Display.getCurrent(), 255, 0, 0); - - /** - * Color object representing the color green. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color GREEN = new Color(Display.getCurrent(), 0, 255, 0); - - /** - * Color object representing the color yellow. The Color class requires us - * to call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color YELLOW = new Color(Display.getCurrent(), 255, 255, 0); - - /** - * Color object representing the color blue. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color BLUE = new Color(Display.getCurrent(), 0, 0, 255); - - /** - * Color object representing the color magenta. The Color class requires us - * to call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color MAGENTA = new Color(Display.getCurrent(), 255, 0, 255); - - /** - * Color object representing the color cyan. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color CYAN = new Color(Display.getCurrent(), 0, 255, 255); - - /** - * Color object representing the color white. The Color class requires us to - * call dispose() on this object when we no longer need it. We do that in - * method {@link #dispose()}. - */ - protected final Color WHITE = new Color(Display.getCurrent(), 255, 255, 255); - - protected boolean fLimitOutput; - protected int fBufferLineLimit; - final TerminalInputStream fTerminalInputStream; - final Reader fReader; - /** - * The constructor. - */ - public TerminalText(ITerminalControlForText terminal) { - super(); - - Logger.log("entered"); //$NON-NLS-1$ - - this.terminal = terminal; - - for (int i = 0; i < ansiParameters.length; ++i) { - ansiParameters[i] = new StringBuffer(); - } - fTerminalInputStream=new TerminalInputStream(1024, 100, new Runnable() { - public void run() { - processText(); - }}); - Reader reader=null; - try { - // TODO convert byte to char using "ISO-8859-1" - reader=new InputStreamReader(fTerminalInputStream,"ISO-8859-1"); //$NON-NLS-1$ - } catch (UnsupportedEncodingException e) { - // should never happen! - e.printStackTrace(); - } - fReader=reader; - } - - /** - * @param ctlText Sets the styled text. - * - *

    Note:This method can only be called once. - */ - public void setStyledText(StyledText ctlText) { - if(text!=null) - throw new java.lang.IllegalStateException("Text can be set only once"); //$NON-NLS-1$ - text=ctlText; - - // Register this class instance as a ControlListener so we can learn - // when the StyledText widget is resized. - - text.addControlListener(this); - - resetState(); - } - - - /** - * This method performs clean up when this TerminalText object is no longer - * needed. After calling this method, no other method on this object should - * be called. - */ - public void dispose() { - Logger.log("entered"); //$NON-NLS-1$ - - // Call dispose() on the Color objects we created. - - BLACK.dispose(); - RED.dispose(); - GREEN.dispose(); - YELLOW.dispose(); - BLUE.dispose(); - MAGENTA.dispose(); - CYAN.dispose(); - WHITE.dispose(); - } - - /** - * This method is required by interface ControlListener. It allows us to - * know when the StyledText widget is moved. - */ - public void controlMoved(ControlEvent event) { - Logger.log("entered"); //$NON-NLS-1$ - // Empty. - } - - /** - * This method is required by interface ControlListener. It allows us to - * know when the StyledText widget is resized. - */ - public void controlResized(ControlEvent event) { - Logger.log("entered"); //$NON-NLS-1$ - adjustTerminalDimensions(); - } - - /** - * This method erases all text from the Terminal view. - */ - public void clearTerminal() { - Logger.log("entered"); //$NON-NLS-1$ - text.setText(""); //$NON-NLS-1$ - cursorColumn = 0; - } - - /** - * This method is called when the user changes the Terminal view's font. We - * attempt to recompute the pixel width of the new font's characters and fix - * the terminal's dimensions. - */ - public void fontChanged() { - Logger.log("entered"); //$NON-NLS-1$ - - characterPixelWidth = 0; - - if (text != null) - adjustTerminalDimensions(); - } - /** - * This method executes in the Display thread to process data received from - * the remote host by class {@link org.eclipse.tm.internal.terminal.telnet.TelnetConnection} and - * other implementors of {@link ITerminalConnector}, like the - * SerialPortHandler. - *

    - * These connectors write text to the terminal's buffer through - * {@link TerminalControl#writeToTerminal(String)} and then have - * this run method executed in the display thread. This method - * must not execute at the same time as methods - * {@link #setNewText(StringBuffer)} and {@link #clearTerminal()}. - *

    - * IMPORTANT: This method must be called in strict alternation with method - * {@link #setNewText(StringBuffer)}. - *

    - */ - void processText() { - try { - // This method can be called just after the user closes the view, so we - // make sure not to cause a widget-disposed exception. - - if (text != null && text.isDisposed()) - return; - - // If the status bar is showing "OPENED", change it to "CONNECTED". - - if (terminal.getState()==TerminalState.OPENED) { - // TODO Why???? - terminal.setState(TerminalState.CONNECTED); - } - - // Find the width and height of the terminal, and resize it to display an - // integral number of lines and columns. - - adjustTerminalDimensions(); - - // Restore the caret offset, process and display the new text, then save - // the caret offset. See the documentation for field caretOffset for - // details. - - // ISSUE: Is this causing the scroll-to-bottom-on-output behavior? - - text.setCaretOffset(caretOffset); - try { - processNewText(); - } catch (IOException e) { - Logger.logException(e); - } - - caretOffset = text.getCaretOffset(); - } catch (Exception ex) { - Logger.logException(ex); - } - } - /** - * This method scans the newly received text, processing ANSI control - * characters and escape sequences and displaying normal text. - * @throws IOException - */ - protected void processNewText() throws IOException { - Logger.log("entered"); //$NON-NLS-1$ - - // Stop the StyledText widget from redrawing while we manipulate its contents. - // This helps display performance. - - text.setRedraw(false); - - // Scan the newly received text. - - while (hasNextChar()) { - char character = getNextChar(); - - switch (ansiState) { - case ANSISTATE_INITIAL: - switch (character) { - case '\u0000': - break; // NUL character. Ignore it. - - case '\u0007': - processBEL(); // BEL (Control-G) - break; - - case '\b': - processBackspace(); // Backspace - break; - - case '\t': - processTab(); // Tab. - break; - - case '\n': - processNewline(); // Newline (Control-J) - break; - - case '\r': - processCarriageReturn(); // Carriage Return (Control-M) - break; - - case '\u001b': - ansiState = ANSISTATE_ESCAPE; // Escape. - break; - - default: - processNonControlCharacters(character); - break; - } - break; - - case ANSISTATE_ESCAPE: - // We've seen an escape character. Here, we process the character - // immediately following the escape. - - switch (character) { - case '[': - ansiState = ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND; - nextAnsiParameter = 0; - - // Erase the parameter strings in preparation for optional - // parameter characters. - - for (int i = 0; i < ansiParameters.length; ++i) { - ansiParameters[i].delete(0, ansiParameters[i].length()); - } - break; - - case ']': - ansiState = ANSISTATE_EXPECTING_OS_COMMAND; - ansiOsCommand.delete(0, ansiOsCommand.length()); - break; - - case '7': - // Save cursor position and character attributes - - ansiState = ANSISTATE_INITIAL; - savedCursorLine = absoluteCursorLine(); - savedCursorColumn = cursorColumn; - break; - - case '8': - // Restore cursor and attributes to previously saved - // position - - ansiState = ANSISTATE_INITIAL; - moveCursor(savedCursorLine, savedCursorColumn); - break; - - default: - Logger - .log("Unsupported escape sequence: escape '" + character + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - ansiState = ANSISTATE_INITIAL; - break; - } - break; - - case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: - // Parameters can appear after the '[' in an escape sequence, but they - // are optional. - - if (character == '@' || (character >= 'A' && character <= 'Z') - || (character >= 'a' && character <= 'z')) { - ansiState = ANSISTATE_INITIAL; - processAnsiCommandCharacter(character); - } else { - processAnsiParameterCharacter(character); - } - break; - - case ANSISTATE_EXPECTING_OS_COMMAND: - // A BEL (\u0007) character marks the end of the OSC sequence. - - if (character == '\u0007') { - ansiState = ANSISTATE_INITIAL; - processAnsiOsCommand(); - } else { - ansiOsCommand.append(character); - } - break; - - default: - // This should never happen! If it does happen, it means there is a - // bug in the FSA. For robustness, we return to the initial - // state. - - Logger.log("INVALID ANSI FSA STATE: " + ansiState); //$NON-NLS-1$ - ansiState = ANSISTATE_INITIAL; - break; - } - } - - // Allow the StyledText widget to redraw itself. - - text.setRedraw(true); - } - /** - * This method is called when we have parsed an OS Command escape sequence. - * The only one we support is "\e]0;...\u0007", which sets the terminal - * title. - */ - protected void processAnsiOsCommand() { - if (ansiOsCommand.charAt(0) != '0' || ansiOsCommand.charAt(1) != ';') { - Logger - .log("Ignoring unsupported ANSI OSC sequence: '" + ansiOsCommand + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - return; - } - terminal.setTerminalTitle(ansiOsCommand.substring(2)); - } - - /** - * This method dispatches control to various processing methods based on the - * command character found in the most recently received ANSI escape - * sequence. This method only handles command characters that follow the - * ANSI standard Control Sequence Introducer (CSI), which is "\e[...", where - * "..." is an optional ';'-separated sequence of numeric parameters. - *

    - */ - protected void processAnsiCommandCharacter(char ansiCommandCharacter) { - // If the width or height of the terminal is ridiculously small (one line or - // column or less), don't even try to process the escape sequence. This avoids - // throwing an exception (SPR 107450). The display will be messed up, but what - // did you user expect by making the terminal so small? - - if (heightInLines <= 1 || widthInColumns <= 1) - return; - - switch (ansiCommandCharacter) { - case '@': - // Insert character(s). - processAnsiCommand_atsign(); - break; - - case 'A': - // Move cursor up N lines (default 1). - processAnsiCommand_A(); - break; - - case 'B': - // Move cursor down N lines (default 1). - processAnsiCommand_B(); - break; - - case 'C': - // Move cursor forward N columns (default 1). - processAnsiCommand_C(); - break; - - case 'D': - // Move cursor backward N columns (default 1). - processAnsiCommand_D(); - break; - - case 'E': - // Move cursor to first column of Nth next line (default 1). - processAnsiCommand_E(); - break; - - case 'F': - // Move cursor to first column of Nth previous line (default 1). - processAnsiCommand_F(); - break; - - case 'G': - // Move to column N of current line (default 1). - processAnsiCommand_G(); - break; - - case 'H': - // Set cursor Position. - processAnsiCommand_H(); - break; - - case 'J': - // Erase part or all of display. Cursor does not move. - processAnsiCommand_J(); - break; - - case 'K': - // Erase in line (cursor does not move). - processAnsiCommand_K(); - break; - - case 'L': - // Insert line(s) (current line moves down). - processAnsiCommand_L(); - break; - - case 'M': - // Delete line(s). - processAnsiCommand_M(); - break; - - case 'm': - // Set Graphics Rendition (SGR). - processAnsiCommand_m(); - break; - - case 'n': - // Device Status Report (DSR). - processAnsiCommand_n(); - break; - - case 'P': - // Delete character(s). - processAnsiCommand_P(); - break; - - case 'S': - // Scroll up. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'T': - // Scroll down. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'X': - // Erase character. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - case 'Z': - // Cursor back tab. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. - break; - - default: - Logger.log("Ignoring unsupported ANSI command character: '" + //$NON-NLS-1$ - ansiCommandCharacter + "'"); //$NON-NLS-1$ - break; - } - } - - /** - * This method makes room for N characters on the current line at the cursor - * position. Text under the cursor moves right without wrapping at the end - * of hte line. - */ - protected void processAnsiCommand_atsign() { - int charactersToInsert = getAnsiParameter(0); - int caretOffset = text.getCaretOffset(); - - text.replaceTextRange(caretOffset, 0, generateString(' ', - charactersToInsert)); - - // If the current line extends past the right edge of the screen, delete the - // characters beyond the rightmost visible column. - - int currentLineAbsolute = absoluteCursorLine(); - int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); - int currentLineEndOffset; - - if (currentLineAbsolute == text.getLineCount() - 1) { - // The cursor is on the bottommost line of text. - - currentLineEndOffset = text.getCharCount(); - } else { - // The cursor is not on the bottommost line of text. - - currentLineEndOffset = text - .getOffsetAtLine(currentLineAbsolute + 1) - 1; - } - - if (currentLineEndOffset - currentLineStartOffset > widthInColumns) { - int charactersToDelete = currentLineEndOffset - - currentLineStartOffset - widthInColumns; - - text.replaceTextRange(currentLineStartOffset + widthInColumns, - charactersToDelete, ""); //$NON-NLS-1$ - } - - // Is this necessary? - - text.setCaretOffset(caretOffset); - } - - /** - * This method moves the cursor up by the number of lines specified by the - * escape sequence parameter (default 1). - */ - protected void processAnsiCommand_A() { - moveCursorUp(getAnsiParameter(0)); - } - - /** - * This method moves the cursor down by the number of lines specified by the - * escape sequence parameter (default 1). - */ - protected void processAnsiCommand_B() { - moveCursorDown(getAnsiParameter(0)); - } - - /** - * This method moves the cursor forward by the number of columns specified - * by the escape sequence parameter (default 1). - */ - protected void processAnsiCommand_C() { - moveCursorForward(getAnsiParameter(0)); - } - - /** - * This method moves the cursor backward by the number of columns specified - * by the escape sequence parameter (default 1). - */ - protected void processAnsiCommand_D() { - moveCursorBackward(getAnsiParameter(0)); - } - - /** - * This method moves the cursor to the first column of the Nth next line, - * where N is specified by the ANSI parameter (default 1). - */ - protected void processAnsiCommand_E() { - int linesToMove = getAnsiParameter(0); - - moveCursor(relativeCursorLine() + linesToMove, 0); - } - - /** - * This method moves the cursor to the first column of the Nth previous - * line, where N is specified by the ANSI parameter (default 1). - */ - protected void processAnsiCommand_F() { - int linesToMove = getAnsiParameter(0); - - moveCursor(relativeCursorLine() - linesToMove, 0); - } - - /** - * This method moves the cursor within the current line to the column - * specified by the ANSI parameter (default is column 1). - */ - protected void processAnsiCommand_G() { - int targetColumn = 1; - - if (ansiParameters[0].length() > 0) - targetColumn = getAnsiParameter(0) - 1; - - moveCursor(relativeCursorLine(), targetColumn); - } - - /** - * This method sets the cursor to a position specified by the escape - * sequence parameters (default is the upper left corner of the screen). - */ - protected void processAnsiCommand_H() { - moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); - } - - /** - * This method deletes some (or all) of the text on the screen without - * moving the cursor. - */ - protected void processAnsiCommand_J() { - int ansiParameter; - - if (ansiParameters[0].length() == 0) - ansiParameter = 0; - else - ansiParameter = getAnsiParameter(0); - - switch (ansiParameter) { - case 0: - // Erase from current position to end of screen (inclusive). - - int caretOffset = text.getCaretOffset(); - - text.replaceTextRange(caretOffset, text.getCharCount() - - caretOffset, generateString('\n', heightInLines - - relativeCursorLine() - 1)); - - // The above call moves the caret to the end of the text, so restore its - // position. - - text.setCaretOffset(caretOffset); - break; - - case 1: - // Erase from beginning to current position (inclusive). - - int currentRelativeLineNumber = relativeCursorLine(); - int topmostScreenLineStartOffset = text - .getOffsetAtLine(absoluteLine(0)); - - text.replaceTextRange(topmostScreenLineStartOffset, text - .getCaretOffset() - - topmostScreenLineStartOffset, generateString('\n', - currentRelativeLineNumber) - + generateString(' ', cursorColumn)); - - text.setCaretOffset(topmostScreenLineStartOffset - + currentRelativeLineNumber + cursorColumn); - break; - - case 2: - // Erase entire display. - - int currentLineNumber = relativeCursorLine(); - topmostScreenLineStartOffset = text - .getOffsetAtLine(absoluteLine(0)); - - text.replaceTextRange(topmostScreenLineStartOffset, text - .getCharCount() - - topmostScreenLineStartOffset, generateString('\n', - heightInLines - 1)); - - moveCursor(currentLineNumber, cursorColumn); - break; - - default: - Logger.log("Unexpected J-command parameter: " + ansiParameter); //$NON-NLS-1$ - break; - } - } - - /** - * This method deletes some (or all) of the text in the current line without - * moving the cursor. - */ - protected void processAnsiCommand_K() { - int ansiParameter = getAnsiParameter(0); - int originalCaretOffset = text.getCaretOffset(); - - switch (ansiParameter) { - case 0: - // Erase from beginning to current position (inclusive). - - int currentLineStartOffset = text - .getOffsetAtLine(absoluteCursorLine()); - - text.replaceTextRange(currentLineStartOffset, cursorColumn, - generateString(' ', cursorColumn)); - break; - - case 1: - // Erase from current position to end (inclusive). - - int caretOffset = text.getCaretOffset(); - - if (absoluteCursorLine() == text.getLineCount() - 1) { - text.replaceTextRange(caretOffset, text.getCharCount() - - caretOffset, ""); //$NON-NLS-1$ - } else { - int nextLineStartOffset = text - .getOffsetAtLine(absoluteCursorLine() + 1); - - text.replaceTextRange(caretOffset, nextLineStartOffset - - caretOffset - 1, ""); //$NON-NLS-1$ - } - break; - - case 2: - // Erase entire line. - - currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); - - if (absoluteCursorLine() == text.getLineCount() - 1) { - // The cursor is on the bottommost line of text. Replace its contents - // with enough spaces to leave the cursor in the current column. - - text.replaceTextRange(currentLineStartOffset, text - .getCharCount() - - currentLineStartOffset, generateString(' ', - cursorColumn)); - } else { - // The cursor is not on the bottommost line of text. Replace the - // current line's contents with enough spaces to leave the cursor in - // the current column. - - int nextLineStartOffset = text - .getOffsetAtLine(absoluteCursorLine() + 1); - - text.replaceTextRange(currentLineStartOffset, - nextLineStartOffset - currentLineStartOffset - 1, - generateString(' ', cursorColumn)); - } - break; - - default: - Logger.log("Unexpected K-command parameter: " + ansiParameter); //$NON-NLS-1$ - break; - } - - // There is some undocumented strangeness with method - // StyledText.replaceTextRange() that requires us to manually reposition the - // caret after calling that method. If we don't do this, the caret sometimes - // moves to the very end of the text when deleting text within a line. - - text.setCaretOffset(originalCaretOffset); - } - - /** - * Insert one or more blank lines. The current line of text moves down. Text - * that falls off the bottom of the screen is deleted. - */ - protected void processAnsiCommand_L() { - int linesToInsert = getAnsiParameter(0); - - int currentLineStartOffset = text.getOffsetAtLine(absoluteCursorLine()); - - // Compute how many of the bottommost lines of text to delete. This is - // necessary if those lines are being pushed off the bottom of the screen by - // the insertion of the blank lines. - - int totalLines = text.getLineCount(); - int linesToDelete = -1; - - if (heightInLines <= totalLines) { - // There are more lines of text than are displayed, so delete as many lines - // at the end as we insert in the middle. - - linesToDelete = linesToInsert; - } else { - // There are fewer lines of text than the size of the terminal window, so - // compute how many lines will be pushed off the end of the screen by the - // insertion. NOTE: It is possible that we may not have to delete any - // lines at all, which will leave linesToDelete set to -1. - - if (totalLines + linesToInsert > heightInLines) { - linesToDelete = (totalLines + linesToInsert) - heightInLines; - } - } - - if (linesToDelete != -1) { - // Delete the bottomost linesToInsert lines plus the newline on the line - // immediately above the first line to be deleted. - - int firstLineToDeleteStartOffset = text.getOffsetAtLine(totalLines - - linesToDelete); - - text.replaceTextRange(firstLineToDeleteStartOffset - 1, text - .getCharCount() - - firstLineToDeleteStartOffset + 1, ""); //$NON-NLS-1$ - } - - // Insert the new blank lines, leaving the cursor on the topmost of the new - // blank lines. - - int totalCharacters = text.getCharCount(); - - if (currentLineStartOffset > totalCharacters) { - // We are inserting the blank lines at the very end of the text, so - // currentLineStartOffset is now out of range. It will be be in range - // again after these newlines are appended. - - text.replaceTextRange(totalCharacters, 0, generateString('\n', - linesToInsert)); - } else { - // We are inserting the blank lines in the middle of the text, so - // currentLineStartOffset is not out of range. - - text.replaceTextRange(currentLineStartOffset, 0, generateString( - '\n', linesToInsert)); - } - - text.setCaretOffset(currentLineStartOffset); - } - - /** - * Delete one or more lines of text. Any lines below the deleted lines move - * up, which we implement by appending newlines to the end of the text. - */ - protected void processAnsiCommand_M() { - int totalLines = text.getLineCount(); - int linesToDelete = getAnsiParameter(0); - int currentLineAbsolute = absoluteCursorLine(); - int currentLineStartOffset = text.getOffsetAtLine(currentLineAbsolute); - - // Compute the offset of the character after the lines to be deleted. This - // might be the end of the text. - - if (linesToDelete >= totalLines - currentLineAbsolute) { - // We are deleting all the lines to the bottom of the text. Replace them - // with blank lines. - - text.replaceTextRange(currentLineStartOffset, text.getCharCount() - - currentLineStartOffset, generateString('\n', totalLines - - currentLineAbsolute - 1)); - } else { - // Delete the next linesToDelete lines. - - int firstUndeletedLineStartOffset = text - .getOffsetAtLine(currentLineAbsolute + linesToDelete); - - text.replaceTextRange(currentLineStartOffset, - firstUndeletedLineStartOffset - currentLineStartOffset, ""); //$NON-NLS-1$ - - // Add an equal number of blank lines to the end of the text. - - text.replaceTextRange(text.getCharCount(), 0, generateString('\n', - linesToDelete)); - } - - text.setCaretOffset(currentLineStartOffset); - } - - /** - * This method sets a new graphics rendition mode, such as - * foreground/background color, bold/normal text, and reverse video. - */ - protected void processAnsiCommand_m() { - if (ansiParameters[0].length() == 0) { - // This a special case: when no ANSI parameter is specified, act like a - // single parameter equal to 0 was specified. - - ansiParameters[0].append('0'); - } - - // There are a non-zero number of ANSI parameters. Process each one in - // order. - - int totalParameters = ansiParameters.length; - int parameterIndex = 0; - - while (parameterIndex < totalParameters - && ansiParameters[parameterIndex].length() > 0) { - int ansiParameter = getAnsiParameter(parameterIndex); - - switch (ansiParameter) { - case 0: - // Reset all graphics modes. - currentForegroundColor = text.getForeground(); - currentBackgroundColor = text.getBackground(); - currentFontStyle = SWT.NORMAL; - reverseVideo = false; - break; - - case 1: - currentFontStyle = SWT.BOLD; // Turn on bold. - break; - - case 7: - reverseVideo = true; // Reverse video. - break; - - case 10: // Set primary font. Ignored. - break; - - case 22: - currentFontStyle = SWT.NORMAL; // Cancel bold or dim attributes - // only. - break; - - case 27: - reverseVideo = false; // Cancel reverse video attribute only. - break; - - case 30: - currentForegroundColor = BLACK; // Foreground is black. - break; - - case 31: - currentForegroundColor = RED; // Foreground is red. - break; - - case 32: - currentForegroundColor = GREEN; // Foreground is green. - break; - - case 33: - currentForegroundColor = YELLOW; // Foreground is yellow. - break; - - case 34: - currentForegroundColor = BLUE; // Foreground is blue. - break; - - case 35: - currentForegroundColor = MAGENTA; // Foreground is magenta. - break; - - case 36: - currentForegroundColor = CYAN; // Foreground is cyan. - break; - - case 37: - currentForegroundColor = text.getForeground(); // Foreground is - // white. - break; - - case 40: - currentBackgroundColor = text.getBackground(); // Background is - // black. - break; - - case 41: - currentBackgroundColor = RED; // Background is red. - break; - - case 42: - currentBackgroundColor = GREEN; // Background is green. - break; - - case 43: - currentBackgroundColor = YELLOW; // Background is yellow. - break; - - case 44: - currentBackgroundColor = BLUE; // Background is blue. - break; - - case 45: - currentBackgroundColor = MAGENTA; // Background is magenta. - break; - - case 46: - currentBackgroundColor = CYAN; // Background is cyan. - break; - - case 47: - currentBackgroundColor = WHITE; // Background is white. - break; - - default: - Logger - .log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ - break; - } - - ++parameterIndex; - } - } - - /** - * This method responds to an ANSI Device Status Report (DSR) command from - * the remote endpoint requesting the cursor position. Requests for other - * kinds of status are ignored. - */ - protected void processAnsiCommand_n() { - // Do nothing if the numeric parameter was not 6 (which means report cursor - // position). - - if (getAnsiParameter(0) != 6) - return; - - // Send the ANSI cursor position (which is 1-based) to the remote endpoint. - - String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ - (cursorColumn + 1) + "R"; //$NON-NLS-1$ - - OutputStreamWriter streamWriter = new OutputStreamWriter(terminal - .getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ - - try { - streamWriter.write(positionReport, 0, positionReport.length()); - streamWriter.flush(); - } catch (IOException ex) { - Logger.log("Caught IOException!"); //$NON-NLS-1$ - } - } - - /** - * Deletes one or more characters starting at the current cursor position. - * Characters on the same line and to the right of the deleted characters - * move left. If there are no characters on the current line at or to the - * right of the cursor column, no text is deleted. - */ - protected void processAnsiCommand_P() { - int currentLineEndOffset; - int currentLineAbsolute = absoluteCursorLine(); - - if (currentLineAbsolute == text.getLineCount() - 1) { - // The cursor is on the bottommost line of text. - - currentLineEndOffset = text.getCharCount(); - } else { - // The cursor is not on the bottommost line of text. - - currentLineEndOffset = text - .getOffsetAtLine(currentLineAbsolute + 1) - 1; - } - - int caretOffset = text.getCaretOffset(); - int remainingCharactersOnLine = currentLineEndOffset - caretOffset; - - if (remainingCharactersOnLine > 0) { - // There are characters that can be deleted. - - int charactersToDelete = getAnsiParameter(0); - - if (charactersToDelete > remainingCharactersOnLine) - charactersToDelete = remainingCharactersOnLine; - - text.replaceTextRange(caretOffset, charactersToDelete, ""); //$NON-NLS-1$ - text.setCaretOffset(caretOffset); - } - } - - /** - * This method returns one of the numeric ANSI parameters received in the - * most recent escape sequence. - * - * @return The parameterIndexth numeric ANSI parameter or -1 if the - * index is out of range. - */ - protected int getAnsiParameter(int parameterIndex) { - if (parameterIndex < 0 || parameterIndex >= ansiParameters.length) { - // This should never happen. - return -1; - } - - String parameter = ansiParameters[parameterIndex].toString(); - - if (parameter.length() == 0) - return 1; - - int parameterValue = 1; - - // Don't trust the remote endpoint to send well formed numeric - // parameters. - - try { - parameterValue = Integer.parseInt(parameter); - } catch (NumberFormatException ex) { - parameterValue = 1; - } - - return parameterValue; - } - - /** - * This method processes a single parameter character in an ANSI escape - * sequence. Parameters are the (optional) characters between the leading - * "\e[" and the command character in an escape sequence (e.g., in the - * escape sequence "\e[20;10H", the parameter characters are "20;10"). - * Parameters are integers separated by one or more ';'s. - */ - protected void processAnsiParameterCharacter(char ch) { - if (ch == ';') { - ++nextAnsiParameter; - } else { - if (nextAnsiParameter < ansiParameters.length) - ansiParameters[nextAnsiParameter].append(ch); - } - } - /** - * This method processes a contiguous sequence of non-control characters. - * This is a performance optimization, so that we don't have to insert or - * append each non-control character individually to the StyledText widget. - * A non-control character is any character that passes the condition in the - * below while loop. - * @throws IOException - */ - protected void processNonControlCharacters(char character) throws IOException { - StringBuffer buffer=new StringBuffer(); - buffer.append(character); - // Identify a contiguous sequence of non-control characters, starting at - // firstNonControlCharacterIndex in newText. - while(hasNextChar()) { - character=getNextChar(); - if(character == '\u0000' || character == '\b' || character == '\t' - || character == '\u0007' || character == '\n' - || character == '\r' || character == '\u001b') { - pushBackChar(character); - break; - } - buffer.append(character); - } - int preDisplayCaretOffset = text.getCaretOffset(); - - // Now insert the sequence of non-control characters in the StyledText widget - // at the location of the cursor. - - displayNewText(buffer.toString()); - - // If any one of the current font style, foreground color or background color - // differs from the defaults, apply the current style to the newly displayed - // text. Since this method is only called for a contiguous sequence of - // non-control characters, the current style applies to the entire - // sequence of characters. - - if (!currentForegroundColor.equals(text.getForeground()) - || !currentBackgroundColor.equals(text.getBackground()) - || currentFontStyle != SWT.NORMAL || reverseVideo == true) { - StyleRange style = new StyleRange(preDisplayCaretOffset, text - .getCaretOffset() - - preDisplayCaretOffset, - reverseVideo ? currentBackgroundColor - : currentForegroundColor, - reverseVideo ? currentForegroundColor - : currentBackgroundColor, currentFontStyle); - - text.setStyleRange(style); - } - } - - /** - * This method displays a subset of the newly-received text in the Terminal - * view, wrapping text at the right edge of the screen and overwriting text - * when the cursor is not at the very end of the screen's text. - *

    - * - * There are never any ANSI control characters or escape sequences in the - * text being displayed by this method (this includes newlines, carriage - * returns, and tabs). - *

    - */ - protected void displayNewText(String buffer) { - if (text.getCaretOffset() == text.getCharCount()) { - // The cursor is at the very end of the terminal's text, so we append the - // new text to the StyledText widget. - - displayNewTextByAppending(buffer); - } else { - // The cursor is not at the end of the screen's text, so we have to - // overwrite existing text. - - displayNewTextByOverwriting(buffer); - } - } - - /** - * This method displays new text by appending it to the end of the existing - * text, wrapping text that extends past the right edge of the screen. - *

    - * - * There are never any ANSI control characters or escape sequences in the - * text being displayed by this method (this includes newlines, carriage - * returns, and tabs). - *

    - */ - protected void displayNewTextByAppending(String newText) { - int first=0; - int last=newText.length()-1; - int numCharsToOutput = newText.length(); - int availableSpaceOnLine = widthInColumns - cursorColumn; - - if (numCharsToOutput >= availableSpaceOnLine) { - // We need to wrap the text, because it's longer than the available - // space on the current line. First, appends as many characters as - // will fit in the space remaining on the current line. - // - // NOTE: We don't line wrap the text in this method the same way we line - // wrap the text in method displayNewTextByOverwriting(), but this is by far - // the most common case, and it has to run the fastest. - - text.append(newText.substring(first, first + availableSpaceOnLine)); - first += availableSpaceOnLine; - - processCarriageReturn(); - processNewline(); - - while (first <= last) { - availableSpaceOnLine = widthInColumns; - - if (availableSpaceOnLine > last - first + 1) { - text.append(newText.substring(first, last + 1)); - cursorColumn = last - first + 1; - break; - } else { - text.append(newText.substring(first, first - + availableSpaceOnLine)); - first += availableSpaceOnLine; - - processCarriageReturn(); - processNewline(); - } - } - } else { - // We don't need to wrap the text. - - text.append(newText.substring(first, last + 1)); - cursorColumn += last - first + 1; - } - } - - /** - * This method displays new text by overwriting existing text, wrapping text - * that extends past the right edge of the screen. - *

    - * - * There are never any ANSI control characters or escape sequences in the - * text being displayed by this method (this includes newlines, carriage - * returns, and tabs). - *

    - */ - protected void displayNewTextByOverwriting(String newText) { - // First, break new text into segments, based on where it needs to line wrap, - // so that each segment contains text that will appear on a separate - // line. - int first=0; - int last=newText.length()-1; - - List textSegments = new ArrayList(100); - - int availableSpaceOnLine = widthInColumns - cursorColumn; - - while (first <= last) { - String segment; - - if (last - first + 1 > availableSpaceOnLine) - segment = newText - .substring(first, first + availableSpaceOnLine); - else - segment = newText.substring(first, last + 1); - - textSegments.add(segment); - - first += availableSpaceOnLine; - availableSpaceOnLine = widthInColumns; - } - - // Next, for each segment, if the cursor is at the end of the text, append the - // segment along with a newline character. If the cursor is not at the end of - // the text, replace the next N characters starting at the cursor position with - // the segment, where N is the minimum of the length of the segment or the - // length of the rest of the current line. - - Iterator iter = textSegments.iterator(); - - while (iter.hasNext()) { - String segment = (String) iter.next(); - int caretOffset = text.getCaretOffset(); - - if (caretOffset == text.getCharCount()) { - // The cursor is at the end of the text, so just append the current - // segment along with a newline. - - text.append(segment); - - // If there is another segment to display, move the cursor to a new - // line. - - if (iter.hasNext()) { - processCarriageReturn(); - processNewline(); - } - } else { - // The cursor is not at the end of the text, so replace some or all of - // the text following the cursor on the current line with the current - // segment. - - int numCharactersAfterCursorOnLine; - - if (absoluteCursorLine() == text.getLineCount() - 1) { - // The cursor is on the last line of text. - numCharactersAfterCursorOnLine = text.getCharCount() - - caretOffset; - } else { - // The cursor is not on the last line of text. - numCharactersAfterCursorOnLine = text - .getOffsetAtLine(absoluteCursorLine() + 1) - - caretOffset - 1; - } - - int segmentLength = segment.length(); - int numCharactersToReplace; - - if (segmentLength < numCharactersAfterCursorOnLine) - numCharactersToReplace = segmentLength; - else - numCharactersToReplace = numCharactersAfterCursorOnLine; - - text.replaceTextRange(caretOffset, numCharactersToReplace, - segment); - text.setCaretOffset(caretOffset + segmentLength); - cursorColumn += segmentLength; - - // If there is another segment, move the cursor to the start of - // the - // next line. - - if (iter.hasNext()) { - cursorColumn = 0; - text.setCaretOffset(caretOffset + segmentLength + 1); - } else { - // We just inserted the last segment. If the current line is full, - // wrap the cursor onto a new line. - - if (cursorColumn == widthInColumns) { - processCarriageReturn(); - processNewline(); - } - } - } - } - } - - /** - * Process a BEL (Control-G) character. - */ - protected void processBEL() { - Display.getCurrent().beep(); - } - - /** - * Process a backspace (Control-H) character. - */ - protected void processBackspace() { - moveCursorBackward(1); - } - - /** - * Process a tab (Control-I) character. We don't insert a tab character into - * the StyledText widget. Instead, we move the cursor forward to the next - * tab stop, without altering any of the text. Tab stops are every 8 - * columns. The cursor will never move past the rightmost column. - */ - protected void processTab() { - moveCursorForward(8 - (cursorColumn % 8)); - } - - /** - * Process a newline (Control-J) character. A newline (NL) character just - * moves the cursor to the same column on the next line, creating new lines - * when the cursor reaches the bottom edge of the terminal. This is - * counter-intuitive, especially to UNIX programmers who are taught that - * writing a single NL to a terminal is sufficient to move the cursor to the - * first column of the next line, as if a carriage return (CR) and a NL were - * written. - *

    - * - * UNIX terminals typically display a NL character as a CR followed by a NL - * because the terminal device typically has the ONLCR attribute bit set - * (see the termios(4) man page for details), which causes the terminal - * device driver to translate NL to CR + NL on output. The terminal itself - * (i.e., a hardware terminal or a terminal emulator, like xterm or this - * code) _always_ interprets a CR to mean "move the cursor to the beginning - * of the current line" and a NL to mean "move the cursor to the same column - * on the next line". - *

    - */ - protected void processNewline() { - int totalLines = text.getLineCount(); - int currentLineAbsolute = absoluteCursorLine(); - - if (currentLineAbsolute < totalLines - 1) { - // The cursor is not on the bottommost line of text, so we move the cursor - // to the same column on the next line. - - // TODO: If we can verify that the next character is a carriage return, we - // can optimize out the insertion of spaces that moveCursorDown() - // will do. - - moveCursorDown(1); - } else if (currentLineAbsolute == totalLines - 1) { - // The cursor is on the bottommost line of text, so we append a newline - // character to the end of the terminal's text (creating a new line on the - // screen) and insert cursorColumn spaces. - - text.append("\n"); //$NON-NLS-1$ - text.append(generateString(' ', cursorColumn)); - text.setCaretOffset(text.getCharCount()); - - // We may have scrolled a line off the top of the screen, so check - // if we - // need to delete some of the the oldest lines in the scroll buffer. - - deleteTopmostLines(); - } else { - // This should _never_ happen. If it does happen, it is a bug in this - // algorithm. - - Logger.log("SHOULD NOT BE REACHED!"); //$NON-NLS-1$ - } - } - - /** - * Process a Carriage Return (Control-M). - */ - protected void processCarriageReturn() { - // Move the cursor to the beginning of the current line. - - text.setCaretOffset(text.getOffsetAtLine(text.getLineAtOffset(text - .getCaretOffset()))); - cursorColumn = 0; - } - - /** - * This method computes the width of the terminal in columns and its height - * in lines, then adjusts the width and height of the view's StyledText - * widget so that it displays an integral number of lines and columns of - * text. The adjustment is always to shrink the widget vertically or - * horizontally, because if the control were to grow, it would be clipped by - * the edges of the view window (i.e., the view window does not become - * larger to accommodate its contents becoming larger). - *

    - * - * This method must be called immediately before each time text is written - * to the terminal so that we can properly line wrap text. Because it is - * called so frequently, it must be fast when there is no resizing to be - * done. - *

    - */ - protected void adjustTerminalDimensions() { - // Compute how many pixels we need to shrink the StyledText control vertically - // to make it display an integral number of lines of text. - - int linePixelHeight = text.getLineHeight(); - Point textWindowDimensions = text.getSize(); - int verticalPixelsToShrink = textWindowDimensions.y % linePixelHeight; - - // Compute the current height of the terminal in lines. - - heightInLines = textWindowDimensions.y / linePixelHeight; - - // Compute how many pixels we need to shrink the StyledText control to make - // it display an integral number of columns of text. We can only do this if we - // know the pixel width of a character in the font used by the StyledText - // widget. - - int horizontalPixelsToShrink = 0; - - if (characterPixelWidth == 0) - computeCharacterPixelWidth(); - - if (characterPixelWidth != 0) { - horizontalPixelsToShrink = textWindowDimensions.x - % characterPixelWidth; - - // The width of the StyledText widget that text.getSize() returns includes - // the space occupied by the vertical scrollbar, so we have to fudge this - // calculation (by subtracting 3 columns) to account for the presence of - // the scrollbar. Ugh. - - widthInColumns = textWindowDimensions.x / characterPixelWidth - 3; - } - - // If necessary, resize the text widget. - - if (verticalPixelsToShrink > 0 || horizontalPixelsToShrink > 0) { - // Remove this class instance from being a ControlListener on the - // StyledText widget, because we are about to resize and move the widget, - // and we don't want this method to be recursively invoked. - - text.removeControlListener(this); - - // Shrink the StyledText control so that it displays an integral number - // of lines of text and an integral number of columns of text. - - textWindowDimensions.y -= verticalPixelsToShrink; - textWindowDimensions.x -= horizontalPixelsToShrink; - text.setSize(textWindowDimensions); - - // Move the StyledText control down by the same number of pixels that - // we just shrank it vertically and right by the same number of pixels that - // we just shrank it horizontally. This makes the padding appear to the - // left and top of the widget, which is more visually appealing. This is - // only necessary because there is no way to programmatically shrink the - // view itself. - - Point textLocation = text.getLocation(); - textLocation.y += verticalPixelsToShrink; - text.setLocation(textLocation); - - // Restore this class instance as the ControlListener on the StyledText - // widget so we know when the user resizes the Terminal view. - - text.addControlListener(this); - - // Scroll the StyledText widget to the bottommost position. - - text.setSelectionRange(text.getCharCount(), 0); - text.showSelection(); - - // Tell the parent object to redraw itself. This erases any partial - // line of text that might be left visible where the parent object is - // now exposed. This call only happens if the size needed to be changed, - // so it should not cause any flicker. - - text.getParent().redraw(); - } - - // If we are in a TELNET connection and we know the dimensions of the terminal, - // we give the size information to the TELNET connection object so it can - // communicate it to the TELNET server. If we are in a serial connection, - // there is nothing we can do to tell the remote host about the size of the - // terminal. - - ITerminalConnector telnetConnection = getConnector(); - // TODO MSA: send only if dimensions have really changed! - if (telnetConnection != null && widthInColumns != 0 && heightInLines != 0) { - telnetConnection.setTerminalSize(widthInColumns, heightInLines); - } - } - - private ITerminalConnector getConnector() { - if(terminal.getTerminalConnectorInfo()!=null) - return terminal.getTerminalConnectorInfo().getConnector(); - return null; - } - - /** - * This method computes the the pixel width of a character in the current - * font. The Font object representing the font in the Terminal view doesn't - * provide the pixel width of the characters (even for a fixed width font). - * Instead, we get the pixel coordinates of the upper left corner of the - * bounding boxes for two adjacent characters on the same line and subtract - * the X coordinate of one from the X coordinate of the other. Simple, no? - */ - protected void computeCharacterPixelWidth() { - // We can't assume there is any text in the terminal, so make sure there's at - // least two characters. - - text.replaceTextRange(0, 0, " "); //$NON-NLS-1$ - - Point firstCharLocation = text.getLocationAtOffset(0); - Point secondCharLocation = text.getLocationAtOffset(1); - - characterPixelWidth = secondCharLocation.x - firstCharLocation.x; - - text.replaceTextRange(0, 3, ""); //$NON-NLS-1$ - } - - /** - * This method deletes as many of the topmost lines of text as needed to - * keep the total number of lines of text in the Terminal view less than or - * equal to the limit configured in the preferences. If no limit is - * configured, this method does nothing. - */ - protected void deleteTopmostLines() { - if (!fLimitOutput) - return; - - // Compute the number of lines to delete, but don't do anything if there are - // fewer lines in the terminal than the height of the terminal in lines. - - int totalLineCount = text.getLineCount(); - - if (totalLineCount <= heightInLines) - return; - - int bufferLineLimit = fBufferLineLimit; - - // Don't allow the user to set the buffer line limit to less than the height of - // the terminal in lines. - - if (bufferLineLimit <= heightInLines) - bufferLineLimit = heightInLines + 1; - - int linesToDelete = totalLineCount - bufferLineLimit; - - // Delete the lines. A small optimization here: don't do anything unless - // there's at least 5 lines to delete. - - if (linesToDelete >= 5) - text.replaceTextRange(0, text.getOffsetAtLine(linesToDelete), ""); //$NON-NLS-1$ - } - - /** - * This method returns the absolute line number of the line containing the - * cursor. The very first line of text (even if it is scrolled off the - * screen) is absolute line number 0. - * - * @return The absolute line number of the line containing the cursor. - */ - protected int absoluteCursorLine() { - return text.getLineAtOffset(text.getCaretOffset()); - } - - /** - * This method returns the relative line number of the line containing the - * cursor. The returned line number is relative to the topmost visible line, - * which has relative line number 0. - * - * @return The relative line number of the line containing the cursor. - */ - protected int relativeCursorLine() { - int totalLines = text.getLineCount(); - - if (totalLines <= heightInLines) - return text.getLineAtOffset(text.getCaretOffset()); - - return absoluteCursorLine() - totalLines + heightInLines; - } - - /** - * This method converts a visible line number (i.e., line 0 is the topmost - * visible line if the terminal is scrolled all the way down, and line - * number heightInLines - 1 is the bottommost visible line if the terminal - * is scrolled all the way down) to a line number as known to the StyledText - * widget. - */ - protected int absoluteLine(int visibleLineNumber) { - int totalLines = text.getLineCount(); - - if (totalLines <= heightInLines) - return visibleLineNumber; - - return totalLines - heightInLines + visibleLineNumber; - } - - /** - * This method returns a String containing count ch - * characters. - * - * @return A String containing count ch characters. - */ - protected String generateString(char ch, int count) { - char[] chars = new char[count]; - - for (int i = 0; i < chars.length; ++i) - chars[i] = ch; - - return new String(chars); - } - - /** - * This method moves the cursor to the specified line and column. Parameter - * targetLine is the line number of a screen line, so it has a - * minimum value of 0 (the topmost screen line) and a maximum value of - * heightInLines - 1 (the bottommost screen line). A line does not have to - * contain any text to move the cursor to any column in that line. - */ - protected void moveCursor(int targetLine, int targetColumn) { - // Don't allow out of range target line and column values. - - if (targetLine < 0) - targetLine = 0; - if (targetLine >= heightInLines) - targetLine = heightInLines - 1; - - if (targetColumn < 0) - targetColumn = 0; - if (targetColumn >= widthInColumns) - targetColumn = widthInColumns - 1; - - // First, find out if we need to append newlines to the end of the text. This - // is necessary if there are fewer total lines of text than visible screen - // lines and the target line is below the bottommost line of text. - - int totalLines = text.getLineCount(); - - if (totalLines < heightInLines && targetLine >= totalLines) - text.append(generateString('\n', heightInLines - totalLines)); - - // Next, compute the offset of the start of the target line. - - int targetLineStartOffset = text - .getOffsetAtLine(absoluteLine(targetLine)); - - // Next, find how many characters are in the target line. Be careful not to - // index off the end of the StyledText widget. - - int nextLineNumber = absoluteLine(targetLine + 1); - int targetLineLength; - - if (nextLineNumber >= totalLines) { - // The target line is the bottommost line of text. - - targetLineLength = text.getCharCount() - targetLineStartOffset; - } else { - // The target line is not the bottommost line of text, so compute its - // length by subtracting the start offset of the target line from the start - // offset of the following line. - - targetLineLength = text.getOffsetAtLine(nextLineNumber) - - targetLineStartOffset - 1; - } - - // Find out if we can just move the cursor without having to insert spaces at - // the end of the target line. - - if (targetColumn >= targetLineLength) { - // The target line is not long enough to just move the cursor, so we have - // to append spaces to it before positioning the cursor. - - int spacesToAppend = targetColumn - targetLineLength; - - text.replaceTextRange(targetLineStartOffset + targetLineLength, 0, - generateString(' ', spacesToAppend)); - } - - // Now position the cursor. - - text.setCaretOffset(targetLineStartOffset + targetColumn); - - cursorColumn = targetColumn; - } - - /** - * This method moves the cursor down lines lines, but won't move the - * cursor past the bottom of the screen. This method does not cause any - * scrolling. - */ - protected void moveCursorDown(int lines) { - moveCursor(relativeCursorLine() + lines, cursorColumn); - } - - /** - * This method moves the cursor up lines lines, but won't move the - * cursor past the top of the screen. This method does not cause any - * scrolling. - */ - protected void moveCursorUp(int lines) { - moveCursor(relativeCursorLine() - lines, cursorColumn); - } - - /** - * This method moves the cursor forward columns columns, but won't - * move the cursor past the right edge of the screen, nor will it move the - * cursor onto the next line. This method does not cause any scrolling. - */ - protected void moveCursorForward(int columnsToMove) { - moveCursor(relativeCursorLine(), cursorColumn + columnsToMove); - } - - /** - * This method moves the cursor backward columnsToMove columns, but - * won't move the cursor past the left edge of the screen, nor will it move - * the cursor onto the previous line. This method does not cause any - * scrolling. - */ - protected void moveCursorBackward(int columnsToMove) { - // We don't call moveCursor() here, because this is optimized for backward - // cursor motion on a single line. - - if (columnsToMove > cursorColumn) - columnsToMove = cursorColumn; - - text.setCaretOffset(text.getCaretOffset() - columnsToMove); - - cursorColumn -= columnsToMove; - } - /** - * Resets the state of the terminal text (foreground color, background color, - * font style and other internal state). It essentially makes it ready for new input. - */ - public void resetState() { - ansiState=ANSISTATE_INITIAL; - currentForegroundColor = text.getForeground(); - currentBackgroundColor = text.getBackground(); - currentFontStyle = SWT.NORMAL; - reverseVideo = false; - } - protected int getBufferLineLimit() { - return fBufferLineLimit; - } - - protected void setBufferLineLimit(int bufferLineLimit) { - fBufferLineLimit = bufferLineLimit; - } - - protected boolean isLimitOutput() { - return fLimitOutput; - } - - protected void setLimitOutput(boolean limitOutput) { - fLimitOutput = limitOutput; - } - - public OutputStream getOutputStream() { - return fTerminalInputStream.getOutputStream(); - } - - /** - * Buffer for {@link #pushBackChar(char)}. - */ - private int fNextChar=-1; - private char getNextChar() throws IOException { - int c=-1; - if(fNextChar!=-1) { - c= fNextChar; - fNextChar=-1; - } else { - c = fReader.read(); - } - // TODO: better end of file handling - if(c==-1) - c=0; - return (char)c; - } - - private boolean hasNextChar() throws IOException { - if(fNextChar>=0) - return true; - return fReader.ready(); - } - - /** - * Put back one character to the stream. This method can push - * back exactly one character. The character is the next character - * returned by {@link #getNextChar} - * @param c the character to be pushed back. - */ - void pushBackChar(char c) { - //assert fNextChar!=-1: "Already a character waiting:"+fNextChar; //$NON-NLS-1$ - fNextChar=c; - } -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 06dcba26fb4..cd6e24ebcb3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -28,7 +28,6 @@ import java.nio.charset.Charset; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.ControlListener; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; -import org.eclipse.tm.internal.terminal.control.impl.TerminalControl; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; From e2ac09dbca0694557061697fa84acfcbfe5cfcb5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 13 Feb 2008 15:10:42 +0000 Subject: [PATCH 255/843] Run core-test in terminal rather than ui-test due to split packages --- org.eclipse.tm.terminal.test/test.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/test.xml b/org.eclipse.tm.terminal.test/test.xml index 631d9810945..e3c4e783329 100644 --- a/org.eclipse.tm.terminal.test/test.xml +++ b/org.eclipse.tm.terminal.test/test.xml @@ -29,13 +29,14 @@ Needs to be updated and tested for org.eclipse.tm.terminal - + + - + + + + + + + + Date: Tue, 26 Feb 2008 02:43:54 +0000 Subject: [PATCH 261/843] [cleanup] fix some comments and copyright dates --- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../terminal/control/CommandInputFieldWithHistory.java | 2 +- .../org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java | 4 +++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 0ff0909753a..963dd795426 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -30,7 +30,7 @@ description=An ANSI (vt102) compatible Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 59bd23eb718..eaf90ab802e 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -30,7 +30,7 @@ description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2006 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 208e2baea56..39e8b1a323c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -7,7 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial implementation - * Michael Scharf (Wing River) - fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=211659 + * Michael Scharf (Wing River) - [211659] Add field assist to terminal input field *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 3bd5473be5c..74b001b26f0 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,7 +7,9 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [205260] Terminal does not take the font from the preferences * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly + * Michael Scharf (Wind River) - [206328] Terminal does not draw correctly with proportional fonts *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; From 11e52bf8baff6f3c625866338156fd0bd852909d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 26 Feb 2008 02:54:00 +0000 Subject: [PATCH 262/843] [cleanup] fix some comments and copyright dates --- .../internal/terminal/telnet/TelnetConnection.java | 1 + .../tm/internal/terminal/view/TerminalView.java | 3 ++- .../control/CommandInputFieldWithHistory.java | 4 ++-- .../tm/internal/terminal/emulator/VT100Emulator.java | 2 +- .../terminal/emulator/VT100TerminalControl.java | 1 + .../tm/internal/terminal/model/TerminalTextData.java | 12 ++++++------ .../tm/internal/terminal/textcanvas/GridCanvas.java | 4 ++-- .../terminal/textcanvas/PipedInputStream.java | 11 +++++++---- .../tm/internal/terminal/textcanvas/StyleMap.java | 3 ++- .../terminal/textcanvas/TextLineRenderer.java | 2 ++ .../internal/terminal/textcanvas/VirtualCanvas.java | 12 +++++++----- 11 files changed, 33 insertions(+), 22 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 6fcb145ca3f..6453add3e9f 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -11,6 +11,7 @@ * Ted Williams (Wind River) - repackaged into org.eclipse namespace * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 3a60706deca..2a821a8ce13 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. + * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 39e8b1a323c..5403e4ce613 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -113,7 +113,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } /** * Add a line to the history. - * @param line + * @param line The line to be added to the history. */ protected void pushLine(String line) { endHistoryMode(); @@ -158,7 +158,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { return buff.toString(); } /** - * @param currLine + * @param currLine Line of text to be moved in history * @param count (+1 or -1) for forward and backward movement. -1 goes back * @return the new string to be displayed in the command line or null, * if the limit is reached. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index cd6e24ebcb3..5441bbf5277 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index f3a541cf2d0..c76f0279271 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [206883] Serial Terminal leaks Jobs * Martin Oberhuber (Wind River) - [208145] Terminal prints garbage after quick disconnect/reconnect * Martin Oberhuber (Wind River) - [207785] NPE when trying to send char while no longer connected + * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Ruslan Sychev (Xored Software) - [217675] NPE or SWTException when closing Terminal View while connection establishing *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index 341e3b740a5..bfa4f2fde5a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -60,8 +60,8 @@ public class TerminalTextData implements ITerminalTextData { /** * Show the first 100 lines * see {@link #toMultiLineText(ITerminalTextDataReadOnly, int, int)} - * @param term - * @return a string representaron of the terminal + * @param term A read-only terminal model + * @return a string representation of the terminal */ static public String toMultiLineText(ITerminalTextDataReadOnly term) { return toMultiLineText(term, 0, 100); @@ -156,9 +156,9 @@ public class TerminalTextData implements ITerminalTextData { /** * Notify snapshot that a region was scrolled - * @param startLine - * @param size - * @param shift + * @param startLine first line of scrolled region + * @param size size of scrolled region (number of lines) + * @param shift delta by which the region is scrolled */ protected void sendScrolledToSnapshots(int startLine,int size, int shift) { for (int i = 0; i < fSnapshots.length; i++) { @@ -172,7 +172,7 @@ public class TerminalTextData implements ITerminalTextData { } /** * Removes the snapshot from the @observer@ list - * @param snapshot + * @param snapshot A snapshot of a terminal model */ protected void removeSnapshot(TerminalTextDataSnapshot snapshot) { // poor mans approach to modify the array diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java index f920c92df6e..522b29db5d2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java @@ -186,9 +186,9 @@ abstract public class GridCanvas extends VirtualCanvas { * Override when you need this information.... * Is only called if the values change (well, almost) * @param x origin of visible cells - * @param y + * @param y origin of visible cells * @param width number of cells visible in x direction - * @param height + * @param height number of cells visible in y direction */ protected void visibleCellRectangleChanged(int x, int y, int width, int height) { } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java index aacebffbe90..6a589632f9a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -76,8 +76,9 @@ public class PipedInputStream extends InputStream { } /** * Writes a single byte to the buffer. Blocks if the buffer is full. - * @param b - * @throws InterruptedException + * @param b byte to write to the buffer + * @throws InterruptedException when the thread is interrupted while waiting + * for the buffer to become ready * Must be called with a lock on this! */ public void write(byte b) throws InterruptedException { @@ -112,7 +113,8 @@ public class PipedInputStream extends InputStream { /** * Read a single byte. Blocks until a byte is available. * @return a byte from the buffer - * @throws InterruptedException + * @throws InterruptedException when the thread is interrupted while waiting + * for the buffer to become ready * Must be called with a lock on this! */ public int read() throws InterruptedException { @@ -224,7 +226,8 @@ public class PipedInputStream extends InputStream { /** * Waits until data is available for reading. * @param millis see {@link Object#wait(long)} - * @throws InterruptedException + * @throws InterruptedException when the thread is interrupted while waiting + * for the buffer to become ready */ public void waitForAvailable(long millis) throws InterruptedException { synchronized(fQueue) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 74b001b26f0..5d1f25333e4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -214,7 +214,8 @@ public class StyleMap { return fProportional; } /** - * @param c + * Return the offset in pixels required to center a given character + * @param c the character to measure * @return the offset in x direction to center this character */ public int getCharOffset(char c) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index cb08db942e7..06f0069b28a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -7,6 +7,8 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [205260] Terminal does not take the font from the preferences + * Michael Scharf (Wind River) - [206328] Terminal does not draw correctly with proportional fonts *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index d47325e85ee..080188023d9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -145,7 +145,9 @@ public abstract class VirtualCanvas extends Canvas { } /** - * @param gc + * Paint the virtual canvas. + * Override to implement actual paint method. + * @param gc graphics context to paint in */ abstract protected void paint(GC gc); protected Color getTerminalBackgroundColor() { @@ -203,9 +205,9 @@ public abstract class VirtualCanvas extends Canvas { } /** - * Sets the extend of the virtual display ares - * @param width - * @param height + * Sets the extent of the virtual display area + * @param width width of the display area + * @param height height of the display area */ protected void setVirtualExtend(int width, int height) { fVirtualBounds.width=width; @@ -233,7 +235,7 @@ public abstract class VirtualCanvas extends Canvas { } /** * @param x - * @return the virtual coordinate in scree space + * @return the virtual coordinate in screen space */ protected int virtualXtoScreen(int x) { return x+fVirtualBounds.x; From 98e317421b8eaea45227b1d33c896445a1ce75ea Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 29 Feb 2008 11:24:47 +0000 Subject: [PATCH 263/843] [cleanup] Remove tmMilestoneSiteName in features --- org.eclipse.tm.terminal-feature/feature.properties | 2 -- .../sourceTemplateFeature/feature.properties | 2 -- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 -- org.eclipse.tm.terminal.serial-feature/feature.properties | 2 -- .../sourceTemplateFeature/feature.properties | 2 -- org.eclipse.tm.terminal.ssh-feature/feature.properties | 2 -- .../sourceTemplateFeature/feature.properties | 2 -- org.eclipse.tm.terminal.telnet-feature/feature.properties | 2 -- .../sourceTemplateFeature/feature.properties | 2 -- org.eclipse.tm.terminal.test-feature/feature.properties | 2 -- org.eclipse.tm.terminal.view-feature/feature.properties | 2 -- .../sourceTemplateFeature/feature.properties | 2 -- 12 files changed, 24 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index bb179e8ced7..7caecabc2ee 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 963dd795426..75baca71d9e 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index ba0c933a3c6..95829045dd5 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -26,8 +26,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index a7001154dad..c99117835b9 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 74f7baa7b23..7dae54b97dc 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index ac302b21054..0171d2cac6b 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index a5788165a65..d2270d08453 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index 48d890847f5..ba20052c8d3 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index de7557c98b1..9d123fafdd2 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/org.eclipse.tm.terminal.test-feature/feature.properties index cf9d59d05cf..a4a6c1b5e47 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/org.eclipse.tm.terminal.test-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=TM Terminal Unit Tests. Includes Source. diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index 58f22a1d8a7..7129c503498 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index eaf90ab802e..59292523e04 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -22,8 +22,6 @@ providerName=Eclipse.org # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management Updates -tmMilestoneSiteName=Target Management 2.0 Milestone Updates - # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. From e06a68c31e3226c87311f0da42b11d75fff9deb3 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 29 Feb 2008 16:48:59 +0000 Subject: [PATCH 264/843] [196447] The optional terminal input line should be resizeable --- .../control/CommandInputFieldWithHistory.java | 35 +++++++++++++++++-- .../emulator/VT100TerminalControl.java | 5 +-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 5403e4ce613..a41fd2b36cb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial implementation * Michael Scharf (Wing River) - [211659] Add field assist to terminal input field + * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; @@ -24,8 +25,12 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.Sash; import org.eclipse.swt.widgets.Text; import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter; @@ -108,6 +113,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { * The input text field. */ private Text fInputField; + private Sash fSash; public CommandInputFieldWithHistory(int maxHistorySize) { fMaxSize=maxHistorySize; } @@ -200,8 +206,31 @@ public class CommandInputFieldWithHistory implements ICommandInputField { fEditedHistory=null; fEditHistoryPos=0; } - public void createControl(Composite parent,final ITerminalViewControl terminal) { - fInputField=new Text(parent, SWT.SINGLE|SWT.BORDER); + public void createControl(final Composite parent,final ITerminalViewControl terminal) { +// fSash = new Sash(parent,SWT.HORIZONTAL|SWT.SMOOTH); + fSash = new Sash(parent,SWT.HORIZONTAL); + final GridData gd_sash = new GridData(SWT.FILL, SWT.CENTER, true, false); + gd_sash.heightHint=5; + fSash.setLayoutData(gd_sash); + fSash.addListener (SWT.Selection, new Listener () { + public void handleEvent (Event e) { + // no idea why this is needed + GridData gdata = (GridData) fInputField.getLayoutData(); + Rectangle sashRect = fSash.getBounds (); + Rectangle containerRect = parent.getClientArea (); + + int h=fInputField.getLineHeight(); + // make sure the input filed hight is a multiple of the line height + gdata.heightHint = Math.max(((containerRect.height-e.y-sashRect.height)/h)*h,h); + // do not show less then one line + e.y=Math.min(e.y,containerRect.height-h); + fInputField.setLayoutData(gdata); + parent.layout(); + // else the content assist icon will be replicated + parent.redraw(); + } + }); + fInputField=new Text(parent, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL); GridData data=new GridData(SWT.FILL, SWT.FILL, true, false); boolean installDecoration=true; if(installDecoration) { @@ -262,6 +291,8 @@ public class CommandInputFieldWithHistory implements ICommandInputField { fInputField.getParent().layout(true); } public void dispose() { + fSash.dispose(); + fSash=null; fInputField.dispose(); fInputField=null; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index c76f0279271..a45377bc392 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [207785] NPE when trying to send char while no longer connected * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Ruslan Sychev (Xored Software) - [217675] NPE or SWTException when closing Terminal View while connection establishing + * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -518,7 +519,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC GridLayout layout=new GridLayout(); layout.marginWidth=0; layout.marginHeight=0; - + layout.verticalSpacing=0; fWndParent.setLayout(layout); ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); From f9fbde8b7e76d8fbf836dcef8294016769585bc7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 12 Mar 2008 12:07:48 +0000 Subject: [PATCH 265/843] [218880] Apply patch from Johnson Ma: UI for SSH keepalives --- .../internal/terminal/ssh/ISshSettings.java | 55 ++++++++++++++++++- .../internal/terminal/ssh/SshConnection.java | 6 +- .../tm/internal/terminal/ssh/SshMessages.java | 5 +- .../terminal/ssh/SshMessages.properties | 5 +- .../tm/internal/terminal/ssh/SshSettings.java | 21 ++++++- .../terminal/ssh/SshSettingsPage.java | 8 ++- 6 files changed, 94 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java index 8c1b7805828..4c389be56df 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,18 +8,71 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ISshSettings { + /** + * Get the host name or IP address of remote system to connect. + * @return host name or IP address of the remote system. + */ String getHost(); + + /** + * Get the login name for connecting to the remote system. + * @return remote login name + */ String getUser(); + + /** + * Get the password for connecting to the remote system. + * May be empty if connecting via SSH public key authentication + * (with or without passphrase). + * @return password to use + */ String getPassword(); + + /** + * Get the timeout (in seconds) after which the SSH connection is assumed dead. + * @return timeout (in seconds) for the SSH connection. + */ int getTimeout(); + + /** + * Get the keepalive interval (in seconds). + * After this time of inactivity, the SSH connector will send a message to the + * remote system in order to avoid timeouts on the remote. A maximum of 6 + * keepalive messages will be sent if enabled. When set to 0, the keepalive + * feature is disabled. + * @return interval (in seconds) for keepalive messages. + */ + int getKeepalive(); + + /** + * Get the TCP/IP port on the remote system to use. + * @return TCP/IP port on the remote system to use. + */ int getPort(); + + /** + * Return a human-readable String summarizing all relevant connection data. + * This String can be displayed in the Terminal caption, for instance. + * @return a human-readable String summarizing relevant connection data. + */ String getSummary(); + + /** + * Load connection data from a settings store. + * @param store the settings store to access. + */ void load(ISettingsStore store); + + /** + * Store connection data into a settings store. + * @param store the settings store to access. + */ void save(ISettingsStore store); } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 7f347fe98ff..04c27793f29 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -13,6 +13,7 @@ * Martin Oberhuber (Wind River) - [198790] make SSH createSession() protected * Mikhail Kalugin - [201864] Fix Terminal SSH keyboard interactive authentication * Martin Oberhuber (Wind River) - [155026] Add keepalives for SSH connection + * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -68,7 +69,6 @@ class SshConnection extends Thread { Session session = service.createSession(hostname, port, username); //session.setTimeout(getSshTimeoutInMillis()); session.setTimeout(0); //never time out on the session - session.setServerAliveInterval(300000); //5 minutes session.setServerAliveCountMax(6); //give up after 6 tries (remote will be dead after 30 min) if (password != null) session.setPassword(password); @@ -87,6 +87,7 @@ class SshConnection extends Thread { public void run() { try { int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; + int nKeepalive = fConn.getTelnetSettings().getKeepalive() * 1000; String host = fConn.getTelnetSettings().getHost(); String user = fConn.getTelnetSettings().getUser(); String password = fConn.getTelnetSettings().getPassword(); @@ -108,6 +109,9 @@ class SshConnection extends Thread { //config.put("StrictHostKeyChecking", "no"); //session.setConfig(config); //ui.aboutToConnect(); + if (nKeepalive > 0) { + session.setServerAliveInterval(nKeepalive); //default is 5 minutes + } session.connect(nTimeout); // making connection with timeout. ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java index ca912590635..d24753a17bb 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -22,6 +23,8 @@ public class SshMessages extends NLS { public static String PORT; public static String PASSWORD; public static String TIMEOUT; + public static String KEEPALIVE; + public static String KEEPALIVE_Tooltip; public static String WARNING; public static String INFO; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties index b3e54267791..b2f0806a9a3 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,12 +8,15 @@ # Contributors: # Michael Scharf (Wind River) - initial API and implementation # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives ############################################################################### HOST = Host USER = User PORT = Port PASSWORD = Password TIMEOUT = Timeout (sec) +KEEPALIVE = KeepAlive (sec) +KEEPALIVE_Tooltip=Interval for sending keepalive messages in case of inactivity. Enter 0 to disable keepalives. WARNING = Warning INFO = Info diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index 45c469dff73..3aa99536803 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Mikhail Kalugin - [201867] Improve Terminal SSH connection summary string + * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -20,6 +21,7 @@ public class SshSettings implements ISshSettings { protected String fPassword; protected String fPort; protected String fTimeout; + protected String fKeepalive; public String getHost() { return fHost; } @@ -41,6 +43,7 @@ public class SshSettings implements ISshSettings { fUser = store.get("User");//$NON-NLS-1$ fPort = store.get("Port");//$NON-NLS-1$ fTimeout = store.get("Timeout");//$NON-NLS-1$ + fKeepalive = store.get("Keepalive");//$NON-NLS-1$ } @@ -49,6 +52,7 @@ public class SshSettings implements ISshSettings { store.put("User", fUser);//$NON-NLS-1$ store.put("Port", fPort);//$NON-NLS-1$ store.put("Timeout", fTimeout);//$NON-NLS-1$ + store.put("Keepalive", fKeepalive);//$NON-NLS-1$ } @@ -66,6 +70,21 @@ public class SshSettings implements ISshSettings { public void setTimeout(String timeout) { fTimeout = timeout; } + + public int getKeepalive() { + try { + return Integer.parseInt(fKeepalive); + } catch (NumberFormatException numberFormatException) { + return 300; + } + } + public String getKeepaliveString() { + return fKeepalive; + } + + public void setKeepalive(String keepalive) { + fKeepalive = keepalive; + } public String getUser() { return fUser; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index 5ae8292f4a1..35d6b800bb5 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -23,6 +24,7 @@ public class SshSettingsPage implements ISettingsPage { private Text fHostText; private Text fUser; private Text fTimeout; + private Text fKeepalive; private final SshSettings fTerminalSettings; private Text fPort; private Text fPassword; @@ -36,12 +38,14 @@ public class SshSettingsPage implements ISettingsPage { fTerminalSettings.setPassword(fPassword.getText()); fTerminalSettings.setPort(fPort.getText()); fTerminalSettings.setTimeout(fTimeout.getText()); + fTerminalSettings.setKeepalive(fKeepalive.getText()); } public void loadSettings() { if(fTerminalSettings!=null) { fHostText.setText(get(fTerminalSettings.getHost(),""));//$NON-NLS-1$ fTimeout.setText(get(fTerminalSettings.getTimeoutString(),"0"));//$NON-NLS-1$ + fKeepalive.setText(get(fTerminalSettings.getKeepaliveString(),"300"));//$NON-NLS-1$ fUser.setText(get(fTerminalSettings.getUser(),""));//$NON-NLS-1$ fPort.setText(get(fTerminalSettings.getPortString(),"22"));//$NON-NLS-1$ fPassword.setText(get(fTerminalSettings.getPassword(),""));//$NON-NLS-1$ @@ -67,6 +71,8 @@ public class SshSettingsPage implements ISettingsPage { fUser = createTextField(composite, SshMessages.USER); fPassword = createTextField(composite, SshMessages.PASSWORD,SWT.PASSWORD); fTimeout = createTextField(composite, SshMessages.TIMEOUT); + fKeepalive = createTextField(composite, SshMessages.KEEPALIVE); + fKeepalive.setToolTipText(SshMessages.KEEPALIVE_Tooltip); fPort = createTextField(composite, SshMessages.PORT); loadSettings(); } From 4dc7a1350acfabfabb884ca0e668aa181341f9ba Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 16 Mar 2008 20:15:07 +0000 Subject: [PATCH 266/843] [cleanup] Remove unused LIMITOUTPUT NLS String from Terminal --- .../eclipse/tm/internal/terminal/view/SettingsStore.java | 7 ++++--- .../eclipse/tm/internal/terminal/view/ViewMessages.java | 1 - .../tm/internal/terminal/view/ViewMessages.properties | 1 - 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index 673c6130e74..37e215eb306 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -6,7 +6,7 @@ * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -28,7 +28,7 @@ import org.eclipse.ui.IMemento; * @author Michael Scharf */ class SettingsStore implements ISettingsStore { - + private static final String KEYS = "_keys_"; //$NON-NLS-1$ final private Map fMap=new HashMap(); public SettingsStore(IMemento memento) { @@ -79,7 +79,8 @@ class SettingsStore implements ISettingsStore { } /** * Save the state into memento. - * @param memento + * + * @param memento Memento to save state into. */ public void saveState(IMemento memento) { String[] keyNames=(String[]) fMap.keySet().toArray(new String[fMap.size()]); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index 18691e6d25c..707bd83e376 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -31,7 +31,6 @@ public class ViewMessages extends NLS { public static String VIEW_TITLE; public static String VIEW_SETTINGS; - public static String LIMITOUTPUT; public static String INVERT_COLORS; public static String BUFFERLINES; public static String SERIALTIMEOUT; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index cc5d69faf79..8d13a68748a 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -23,7 +23,6 @@ CONNECTIONTYPE = Connection Type VIEW_TITLE = View Title: VIEW_SETTINGS = View Settings: -LIMITOUTPUT = Limit terminal output INVERT_COLORS = Invert terminal colors BUFFERLINES = Terminal buffer lines: SERIALTIMEOUT = Serial timeout (seconds): From 0f40ef354731439df28692a202ac3abc61fc8219 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 16 Mar 2008 20:16:27 +0000 Subject: [PATCH 267/843] [cleanup] switch off unnecessary compiler warnings in terminal.tests project --- .../.settings/org.eclipse.jdt.core.prefs | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index 8a5ebf78a49..fb0f754afde 100644 --- a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Sun Mar 16 19:48:21 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 @@ -14,6 +14,7 @@ org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning @@ -33,7 +34,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public @@ -41,12 +42,15 @@ org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore org.eclipse.jdt.core.compiler.problem.nullReference=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled @@ -59,13 +63,17 @@ org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.4 From 67ea5bbfd2da05386b9c4106078cd1aec1c1d651 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 16 Mar 2008 20:19:58 +0000 Subject: [PATCH 268/843] [cleanup] Switch on API Tooling checks for terminal and discovery --- org.eclipse.tm.terminal.serial/.project | 6 ++++++ org.eclipse.tm.terminal.ssh/.project | 6 ++++++ org.eclipse.tm.terminal.telnet/.project | 6 ++++++ org.eclipse.tm.terminal.test/.project | 6 ++++++ org.eclipse.tm.terminal.view/.project | 6 ++++++ org.eclipse.tm.terminal/.project | 6 ++++++ 6 files changed, 36 insertions(+) diff --git a/org.eclipse.tm.terminal.serial/.project b/org.eclipse.tm.terminal.serial/.project index c5459a13ec6..a06d0caecb3 100644 --- a/org.eclipse.tm.terminal.serial/.project +++ b/org.eclipse.tm.terminal.serial/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal.ssh/.project b/org.eclipse.tm.terminal.ssh/.project index 7ba4652e877..f5d184b60cc 100644 --- a/org.eclipse.tm.terminal.ssh/.project +++ b/org.eclipse.tm.terminal.ssh/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal.telnet/.project b/org.eclipse.tm.terminal.telnet/.project index 141a2dcee8f..15718654262 100644 --- a/org.eclipse.tm.terminal.telnet/.project +++ b/org.eclipse.tm.terminal.telnet/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal.test/.project b/org.eclipse.tm.terminal.test/.project index 492f603b4c0..2ce045cfe4d 100644 --- a/org.eclipse.tm.terminal.test/.project +++ b/org.eclipse.tm.terminal.test/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal.view/.project b/org.eclipse.tm.terminal.view/.project index 7daef6e58df..b54e2fe953b 100644 --- a/org.eclipse.tm.terminal.view/.project +++ b/org.eclipse.tm.terminal.view/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal/.project b/org.eclipse.tm.terminal/.project index 621a3a690cf..79c78f7826f 100644 --- a/org.eclipse.tm.terminal/.project +++ b/org.eclipse.tm.terminal/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature From 3fd964d3a884f583b21acabc012c624ea05a6ced Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 Mar 2008 13:24:14 +0000 Subject: [PATCH 269/843] [cleanup] add compiler warning for missing parameter of standard javadoc tags --- .../.settings/org.eclipse.jdt.core.prefs | 4 ++-- .../.settings/org.eclipse.jdt.core.prefs | 4 ++-- .../.settings/org.eclipse.jdt.core.prefs | 4 ++-- .../.settings/org.eclipse.jdt.core.prefs | 4 ++-- org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index 2c13e00b84d..381fc6eb064 100644 --- a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Fri Mar 28 14:14:24 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -33,7 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index 2c13e00b84d..381fc6eb064 100644 --- a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Fri Mar 28 14:14:24 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -33,7 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index 2c13e00b84d..381fc6eb064 100644 --- a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Fri Mar 28 14:14:24 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -33,7 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs index 2c13e00b84d..381fc6eb064 100644 --- a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Fri Mar 28 14:14:24 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 @@ -33,7 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index 8a5ebf78a49..138063a1c19 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,4 +1,4 @@ -#Tue Feb 05 20:25:39 CET 2008 +#Fri Mar 28 14:14:24 CET 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 @@ -33,7 +33,7 @@ org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public From 7eebb4ff9f902560d8be6eac55c9a1d1ae6586f3 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 Mar 2008 13:54:17 +0000 Subject: [PATCH 270/843] [cleanup] Fix plugin sizes in feature.xml --- .../feature.xml | 20 +++++++++---------- .../feature.xml | 4 ++-- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 821535038ec..3d0913c8fd6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -45,32 +45,32 @@ diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index a4c2cc10225..d91b26fece5 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -30,8 +30,8 @@ From 0f05234334d8959ed30f1918f8742f2e22b4101c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 Mar 2008 14:27:50 +0000 Subject: [PATCH 271/843] [cleanup] Add @noimplement and similar API Tools Javadoc Markup --- .../tm/internal/terminal/view/PageBook.java | 10 +- .../provisional/api/ITerminalControl.java | 31 ++-- .../tm/terminal/model/ITerminalTextData.java | 65 ++++---- .../model/ITerminalTextDataSnapshot.java | 143 ++++++++++-------- 4 files changed, 130 insertions(+), 119 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java index ffe91a38110..abb3283b825 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java @@ -15,12 +15,10 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; /** - * A pagebook is a composite control where only a single control is visible - * at a time. It is similar to a notebook, but without tabs. - *

    - * This class may be instantiated; it is not intended to be subclassed. - *

    - * + * A pagebook is a composite control where only a single control is visible at a + * time. It is similar to a notebook, but without tabs. + * + * @noextend This class is not intended to be subclassed by clients. */ public class PageBook extends Composite { private StackLayout fLayout; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 47acc769119..86b009e259c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -17,18 +17,19 @@ import org.eclipse.swt.widgets.Shell; /** * Represents the terminal view as seen by a terminal connection. - * - *

    Not to be implemented by clients. - * @author Michael Scharf *

    * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will - * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * part of a work in progress. There is no guarantee that this API will work or + * that it will remain the same. Please do not use this API without consulting + * with the Target Management + * team. *

    + * + * @author Michael Scharf + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalControl { - + /** * @return the current state of the connection */ @@ -38,7 +39,7 @@ public interface ITerminalControl { * @param state */ void setState(TerminalState state); - + /** * A shell to show dialogs. * @return the shell in which the terminal is shown. @@ -48,7 +49,7 @@ public interface ITerminalControl { /** * Show a text in the terminal. If puts newlines at the beginning and the end. * @param text - * TODO: Michael Scharf: Is this really needed? + * TODO: Michael Scharf: Is this really needed? */ void displayTextInTerminal(String text); @@ -71,5 +72,5 @@ public interface ITerminalControl { * TODO: Michael Scharf: Should be replaced by a better error notification mechanism! */ void setMsg(String msg); - + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java index f3359e10fb4..23eeac5716f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -1,23 +1,24 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html * - * Contributors: + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.terminal.model; /** - * A writable matrix of characters and {@link Style}. This is intended to be the - * low level representation of the text of a Terminal. Higher layers are responsible - * to fill the text and styles into this representation. - * - *

    Note: Implementations of this interface has to be thread safe. - *

    Note: This interface is not intended to be implemented by clients. + * A writable matrix of characters and {@link Style}. This is intended to be + * the low level representation of the text of a Terminal. Higher layers are + * responsible to fill the text and styles into this representation. + *

    + * Note: Implementations of this interface has to be thread safe. + *

    + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalTextData extends ITerminalTextDataReadOnly { @@ -61,30 +62,30 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { * @param style the style or null */ void setChars(int line, int column, char[] chars, int start, int len, Style style); - + /** * Cleans the entire line. * @param line */ void cleanLine(int line); -// /** -// * @param line -// * @return true if this line belongs to the previous line but is simply -// * wrapped. -// */ -// boolean isWrappedLine(int line); -// -// /** -// * Makes this line an extension to the previous line. Wrapped lines get folded back -// * when the width of the terminal changes -// * @param line -// * @param extendsPreviousLine -// */ -// void setWrappedLine(int line, boolean extendsPreviousLine); - + // /** + // * @param line + // * @return true if this line belongs to the previous line but is simply + // * wrapped. + // */ + // boolean isWrappedLine(int line); + // + // /** + // * Makes this line an extension to the previous line. Wrapped lines get folded back + // * when the width of the terminal changes + // * @param line + // * @param extendsPreviousLine + // */ + // void setWrappedLine(int line, boolean extendsPreviousLine); + /** - * Shifts some lines up or down. The "empty" space is filled with '\000' chars + * Shifts some lines up or down. The "empty" space is filled with '\000' chars * and null {@link Style} *

    To illustrate shift, here is some sample data: *

    @@ -100,7 +101,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
     	 * 0 aaaa
     	 * 1 cccc
     	 * 2 dddd
    -	 * 3 
    +	 * 3
     	 * 4 eeee
     	 * 
    * @@ -108,7 +109,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { * Shift a region of 3 lines down by one line shift(1,3,1) *
     	 * 0 aaaa
    -	 * 1 
    +	 * 1
     	 * 2 bbbb
     	 * 3 cccc
     	 * 4 eeee
    @@ -119,7 +120,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
     	 * Negative number means scroll down, positive scroll up (see example above).
     	 */
     	void scroll(int startLine, int size, int shift);
    -	
    +
     	/**Adds a new line to the terminal. If maxHeigth is reached, the entire terminal
     	 * will be scrolled. Else a line will be added.
     	 */
    @@ -145,7 +146,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
     	 * @param length
     	 */
     	void copyRange(ITerminalTextData source, int sourceStartLine, int destStartLine,int length);
    -	
    +
     	void setCursorLine(int line);
     	void setCursorColumn(int column);
     }
    \ No newline at end of file
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java
    index 7d4065e7581..652e1041407 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java
    @@ -1,11 +1,11 @@
     /*******************************************************************************
      * Copyright (c) 2007 Wind River Systems, Inc. and others.
    - * All rights reserved. This program and the accompanying materials 
    - * are made available under the terms of the Eclipse Public License v1.0 
    - * which accompanies this distribution, and is available at 
    - * http://www.eclipse.org/legal/epl-v10.html 
    + * All rights reserved. This program and the accompanying materials
    + * are made available under the terms of the Eclipse Public License v1.0
    + * which accompanies this distribution, and is available at
    + * http://www.eclipse.org/legal/epl-v10.html
      * 
    - * Contributors: 
    + * Contributors:
      * Michael Scharf (Wind River) - initial API and implementation
      *******************************************************************************/
     package org.eclipse.tm.terminal.model;
    @@ -13,62 +13,73 @@ package org.eclipse.tm.terminal.model;
     /**
      * This class maintains a snapshot of an instance of {@link ITerminalTextData}.
      * While the {@link ITerminalTextData} continues changing, the snapshot remains
    - * unchanged until the next snapshot is taken by calling {@link #updateSnapshot(boolean)}.
    - * This is important, because the {@link ITerminalTextData} might get
    - * modified by another thread. Suppose you would want to draw the content of
    - * the {@link ITerminalTextData} using the following loop:
    + * unchanged until the next snapshot is taken by calling
    + * {@link #updateSnapshot(boolean)}. This is important, because the
    + * {@link ITerminalTextData} might get modified by another thread. Suppose you
    + * would want to draw the content of the {@link ITerminalTextData} using the
    + * following loop:
    + * 
      * 
    - * for(int line=0;line<term.getHeight();line++) 
    - *     for(int column=0; column<term.getWidth();column++)
    - *         drawCharacter(column,line,term.getChar(column,line),term.getStyle(column,line));
    + * for (int line = 0; line < term.getHeight(); line++)
    + * 	for (int column = 0; column < term.getWidth(); column++)
    + * 		drawCharacter(column, line, term.getChar(column, line), term.getStyle(column, line));
      * 
    - * This might fail because the background thread could change the dimensions of the - * {@link ITerminalTextData} while you iterate the loop. One solution would be to - * put a synchronized(term){} statement around the code. This has - * two problems: 1. you would have to know about the internals of the synchronisation - * of {@link ITerminalTextData}. 2. The other thread that changes {@link ITerminalTextData} - * is blocked while the potentially slow drawing is done. + * + * This might fail because the background thread could change the dimensions of + * the {@link ITerminalTextData} while you iterate the loop. One solution would + * be to put a synchronized(term){} statement around the code. + * This has two problems: 1. you would have to know about the internals of the + * synchronisation of {@link ITerminalTextData}. 2. The other thread that + * changes {@link ITerminalTextData} is blocked while the potentially slow + * drawing is done. *

    - * Solution: Take a snapshot of the terminal and use the snapshot to draw - * the content. There is no danger that the data structure get changed while - * you draw. There are also methods to find out what has changed to minimize - * the number of lines that get redrawn.

    - * - *

    Drawing optimization: To optimize redrawing of changed lines, this class keeps - * track of lines that have changed since the previous snapshot.

    - * - *
    - * // iterate over the potentially changed lines
    - * for(int line=snap.getFirstChangedLine();line<=snap.getLastChangedLine();line++) 
    - *     // redraw only if the line has changed
    - *     if(snap.hasLineChanged(line))
    - *         for(int column=0; column<snap.getWidth();column++)
    - *            drawCharacter(column,line,snap.getChar(column,line),snap.getStyle(column,line));
    - * 
    - * - *

    Scroll optimization: Often new lines are appended at the bottom of the - * terminal and the rest of the lines are scrolled up. In this case all lines would be - * marked as changed. To optimize for this - * case, {@link #updateSnapshot(boolean)} can be called with true for - * the detectScrolling parameter. The object will keep track of scrolling. - * The UI must first handle the scrolling and then use the {@link #hasLineChanged(int)} - * method to determine scrolling: - *

    - * // scroll the visible region of the UI before drawing the changed lines.
    - * doUIScrolling(snap.getScrollChangeY(),snap.getScrollChangeN(),snap.getScrollChangeShift());
    - * // iterate over the potentially changed lines
    - * for(int line=snap.getFirstChangedLine();line<=snap.getFirstChangedLine();line++) 
    - *     // redraw only if the line has changed
    - *     if(snap.hasLineChanged(line))
    - *         for(int column=0; column<snap.getWidth();column++)
    - *            drawCharacter(column,line,snap.getChar(column,line),snap.getStyle(column,line));
    - * 
    + * Solution: Take a snapshot of the terminal and use the snapshot to + * draw the content. There is no danger that the data structure get changed + * while you draw. There are also methods to find out what has changed to + * minimize the number of lines that get redrawn. *

    * - *

    Note: This interface is not intended to be implemented by clients.

    - *

    Threading Note: This class is not thread save! All methods have to be called by - * the a same thread, that created the instance by calling - * {@link ITerminalTextDataReadOnly#makeSnapshot()}.

    + *

    + * Drawing optimization: To optimize redrawing of changed lines, this + * class keeps track of lines that have changed since the previous snapshot. + *

    + * + *
    + * // iterate over the potentially changed lines
    + * for (int line = snap.getFirstChangedLine(); line <= snap.getLastChangedLine(); line++)
    + * 	// redraw only if the line has changed
    + * 	if (snap.hasLineChanged(line))
    + * 		for (int column = 0; column < snap.getWidth(); column++)
    + * 			drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
    + * 
    + * + *

    + * Scroll optimization: Often new lines are appended at the bottom of + * the terminal and the rest of the lines are scrolled up. In this case all + * lines would be marked as changed. To optimize for this case, + * {@link #updateSnapshot(boolean)} can be called with true for + * the detectScrolling parameter. The object will keep track of + * scrolling. The UI must first handle the scrolling and then use the + * {@link #hasLineChanged(int)} method to determine scrolling: + * + *

    + * // scroll the visible region of the UI <b>before</b> drawing the changed lines.
    + * doUIScrolling(snap.getScrollChangeY(), snap.getScrollChangeN(), snap.getScrollChangeShift());
    + * // iterate over the potentially changed lines
    + * for (int line = snap.getFirstChangedLine(); line <= snap.getFirstChangedLine(); line++)
    + * 	// redraw only if the line has changed
    + * 	if (snap.hasLineChanged(line))
    + * 		for (int column = 0; column < snap.getWidth(); column++)
    + * 			drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
    + * 
    + *

    + *

    + * Threading Note: This class is not thread safe! All methods have to be + * called by the a same thread, that created the instance by calling + * {@link ITerminalTextDataReadOnly#makeSnapshot()}. + *

    + * + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { /** @@ -79,7 +90,7 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { * is called and a new snapshot needs to be updated again. *

    * A typical terminal view would not update the snapshot immediately - * after the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} has been called. It would introduce a + * after the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} has been called. It would introduce a * delay to update the UI (and the snapshot} 10 or 20 times per second. * *

    Make sure you don't spend too much time in this method. @@ -94,7 +105,7 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { } void addListener(SnapshotOutOfDateListener listener); void removeListener(SnapshotOutOfDateListener listener); - + /** * Ends the listening to the {@link ITerminalTextData}. After this * has been called no new snapshot data is collected. @@ -115,11 +126,11 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { void setInterestWindow(int startLine, int size); int getInterestWindowStartLine(); int getInterestWindowSize(); - + /** * Create a new snapshot of the {@link ITerminalTextData}. It will efficiently * copy the data of the {@link ITerminalTextData} into an internal representation. - * The snapshot also keeps track of the changes since the previous snapshot. + * The snapshot also keeps track of the changes since the previous snapshot. *

    With the methods {@link #getFirstChangedLine()}, {@link #getLastChangedLine()} and * {@link #hasLineChanged(int)} * you can find out what has changed in the current snapshot since the previous snapshot. @@ -134,9 +145,9 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { /** * @return The first line changed in this snapshot compared - * to the previous snapshot. + * to the previous snapshot. * - *

    Note: If no line has changed, this + *

    Note: If no line has changed, this * returns {@link Integer#MAX_VALUE} * *

    Note: if {@link #updateSnapshot(boolean)} has been called with true, @@ -171,11 +182,11 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { * @return true if the line has changed since the previous snapshot */ boolean hasLineChanged(int line); - + boolean hasDimensionsChanged(); - + /** - * @return true if the terminal has changed (and not just the + * @return true if the terminal has changed (and not just the * window of interest) */ boolean hasTerminalChanged(); @@ -203,7 +214,7 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { * to the previous snapshot. See also {@link ITerminalTextData#scroll(int, int, int)} */ int getScrollWindowShift(); - + /** * @return The {@link ITerminalTextData} on that this instance is observing. */ From fab1649b2af730e44699b00a620e43de62875820 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 3 Apr 2008 08:01:23 +0000 Subject: [PATCH 272/843] [cleanup] Disable API Tooling again for terminal test plugin --- org.eclipse.tm.terminal.test/.project | 6 ------ 1 file changed, 6 deletions(-) diff --git a/org.eclipse.tm.terminal.test/.project b/org.eclipse.tm.terminal.test/.project index 2ce045cfe4d..492f603b4c0 100644 --- a/org.eclipse.tm.terminal.test/.project +++ b/org.eclipse.tm.terminal.test/.project @@ -20,15 +20,9 @@ - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature From 30c816b481d8309f8faa553ba36dc42cc42fe71f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 4 Apr 2008 13:52:27 +0000 Subject: [PATCH 273/843] bug 200541: [terminal][api] TerminalConnectorProxy class should be removed https://bugs.eclipse.org/bugs/show_bug.cgi?id=200541 The attached patch contains the following changes: - ITerminalConnectorInfo is gone - ITerminalConnector is now the client interface - the implmentation is in org.eclipse.tm.internal.terminal.connector.TerminalConnector (was TerminalConnectorExtension.TerminalConnectorProxy) - TerminalConnector is adaptable and can be adapted to the TerminalConnectorImpl - the terminalConnector extension now requires extensions to implement TerminalConnectorImpl (was ITerminalConnector before) - a test added for TerminalConnector --- .../terminal/serial/SerialConnector.java | 4 +- .../internal/terminal/ssh/SshConnector.java | 4 +- .../terminal/telnet/TelnetConnector.java | 4 +- .../META-INF/MANIFEST.MF | 3 +- .../connector/TerminalConnectorTest.java | 255 ++++++++++++++++++ .../speedtest/SpeedTestConnector.java | 4 +- .../terminal/test/ui/VT100DataSource.java | 4 +- .../terminal/view/TerminalSettingsDlg.java | 18 +- .../internal/terminal/view/TerminalView.java | 38 +-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 10 +- .../schema/terminalConnector.exsd | 23 +- .../terminal/connector/TerminalConnector.java | 190 +++++++++++++ .../control/ITerminalViewControl.java | 8 +- .../control/TerminalViewControlFactory.java | 4 +- .../control/impl/ITerminalControlForText.java | 4 +- .../control/impl/TerminalMessages.java | 1 + .../control/impl/TerminalMessages.properties | 3 +- .../terminal/emulator/VT100Emulator.java | 4 +- .../emulator/VT100TerminalControl.java | 42 ++- .../provisional/api/ITerminalConnector.java | 42 ++- .../api/ITerminalConnectorInfo.java | 64 ----- .../provisional/api/ITerminalControl.java | 3 +- .../api/TerminalConnectorExtension.java | 181 +++---------- .../api/TerminalConnectorImpl.java | 85 ++++++ 24 files changed, 690 insertions(+), 308 deletions(-) create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java delete mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index c63fec23d53..796b6a6c065 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -30,12 +30,12 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -public class SerialConnector implements ITerminalConnector { +public class SerialConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; private ITerminalControl fControl; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 6d45e3864c6..0ccd3fedfcc 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -16,15 +16,15 @@ import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSch; -public class SshConnector implements ITerminalConnector { +public class SshConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; private ITerminalControl fControl; diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 73097e4e442..f791135f65d 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -23,12 +23,12 @@ import java.net.Socket; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -public class TelnetConnector implements ITerminalConnector { +public class TelnetConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; private Socket fSocket; diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 127cb19577c..aaa76488f5c 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -8,7 +8,8 @@ Bundle-Localization: plugin Require-Bundle: org.junit, org.eclipse.tm.terminal, org.eclipse.swt, - org.eclipse.jface + org.eclipse.jface, + org.eclipse.core.runtime Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java new file mode 100644 index 00000000000..b97225f55d2 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -0,0 +1,255 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.connector; + +import java.io.OutputStream; + +import junit.framework.TestCase; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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.TerminalConnectorImpl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +public class TerminalConnectorTest extends TestCase { + public class SettingsMock implements ISettingsStore { + + public String get(String key) { + return null; + } + + public String get(String key, String defaultValue) { + return null; + } + + public void put(String key, String value) { + } + + } + public static class TerminalControlMock implements ITerminalControl { + + public void displayTextInTerminal(String text) { + } + + public OutputStream getRemoteToTerminalOutputStream() { + return null; + } + + public Shell getShell() { + return null; + } + + public TerminalState getState() { + return null; + } + + public void setMsg(String msg) { + } + + public void setState(TerminalState state) { + } + + public void setTerminalTitle(String title) { + } + + } + static class ConnectorMock extends TerminalConnectorImpl { + + public boolean fEcho; + public int fWidth; + public int fHeight; + public ITerminalControl fControl; + public ISettingsStore fSaveStore; + public ISettingsStore fLoadStore; + public boolean fDisconnect; + + public boolean isLocalEcho() { + return fEcho; + } + public void setTerminalSize(int newWidth, int newHeight) { + fWidth=newWidth; + fHeight=newHeight; + } + public void connect(ITerminalControl control) { + fControl=control; + } + public void disconnect() { + fDisconnect=true; + } + + public OutputStream getOutputStream() { + return null; + } + + public String getSettingsSummary() { + return "Summary"; + } + + public void load(ISettingsStore store) { + fLoadStore=store; + } + + public ISettingsPage makeSettingsPage() { + return new ISettingsPage(){ + public void createControl(Composite parent) { + } + public void loadSettings() { + } + public void saveSettings() { + } + public boolean validateSettings() { + return false; + }}; + } + + public void save(ISettingsStore store) { + fSaveStore=store; + } + } + static class SimpleFactory implements Factory { + final TerminalConnectorImpl fConnector; + public SimpleFactory(TerminalConnectorImpl connector) { + fConnector = connector; + } + public TerminalConnectorImpl makeConnector() throws Exception { + // TODO Auto-generated method stub + return fConnector; + } + } + public void testGetInitializationErrorMessage() { + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + c.connect(new TerminalControlMock()); + assertNull(c.getInitializationErrorMessage()); + + c=new TerminalConnector(new SimpleFactory(new ConnectorMock(){ + public void initialize() throws Exception { + throw new Exception("FAILED"); + }}),"xID","xName"); + c.connect(new TerminalControlMock()); + assertEquals("FAILED",c.getInitializationErrorMessage()); + + } + + public void testGetIdAndName() { + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + assertEquals("xID", c.getId()); + assertEquals("xName", c.getName()); + } + + public void testIsInitialized() { + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + assertFalse(c.isInitialized()); + c.getId(); + assertFalse(c.isInitialized()); + c.getName(); + assertFalse(c.isInitialized()); + c.getSettingsSummary(); + assertFalse(c.isInitialized()); + c.setTerminalSize(10,10); + assertFalse(c.isInitialized()); + c.load(null); + assertFalse(c.isInitialized()); + c.save(null); + assertFalse(c.isInitialized()); + c.getAdapter(ConnectorMock.class); + assertFalse(c.isInitialized()); + } + + public void testConnect() { + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + assertFalse(c.isInitialized()); + c.connect(new TerminalControlMock()); + assertTrue(c.isInitialized()); + + } + + public void testDisconnect() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalControlMock control=new TerminalControlMock(); + c.connect(control); + c.disconnect(); + assertTrue(mock.fDisconnect); + } + + public void testGetTerminalToRemoteStream() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalControlMock control=new TerminalControlMock(); + c.connect(control); + assertSame(mock.fControl,control); + } + + public void testGetSettingsSummary() { + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + assertEquals("Not Initialized", c.getSettingsSummary()); + c.connect(new TerminalControlMock()); + assertEquals("Summary", c.getSettingsSummary()); + } + + public void testIsLocalEcho() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + assertFalse(c.isLocalEcho()); + mock.fEcho=true; + assertTrue(c.isLocalEcho()); + } + + public void testLoad() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + ISettingsStore s=new SettingsMock(); + c.load(s); + // the load is called after the connect... + assertNull(mock.fLoadStore); + c.connect(new TerminalControlMock()); + assertSame(s,mock.fLoadStore); + } + + public void testSave() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + ISettingsStore s=new SettingsMock(); + c.save(s); + assertNull(mock.fSaveStore); + c.connect(new TerminalControlMock()); + c.save(s); + assertSame(s,mock.fSaveStore); + } + + public void testMakeSettingsPage() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + assertNotNull(c.makeSettingsPage()); + } + + public void testSetTerminalSize() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + c.setTerminalSize(100, 200); + + } + + public void testGetAdapter() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + assertNull(c.getAdapter(ConnectorMock.class)); + // the load is called after the connect... + c.connect(new TerminalControlMock()); + + assertSame(mock, c.getAdapter(ConnectorMock.class)); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index ad42a5aa10d..50823141a97 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -18,12 +18,12 @@ import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -public class SpeedTestConnector implements ITerminalConnector { +public class SpeedTestConnector extends TerminalConnectorImpl { final SpeedTestSettings fSettings=new SpeedTestSettings(); InputStream fInputStream; OutputStream fOutputStream; diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java index 9e6908df0ec..7a072837121 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java @@ -19,7 +19,7 @@ import java.io.OutputStream; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.model.ITerminalTextData; @@ -89,7 +89,7 @@ final class VT100DataSource implements IDataSource { return TerminalState.CONNECTED; } - public ITerminalConnectorInfo getTerminalConnectorInfo() { + public ITerminalConnector getTerminalConnector() { return null; } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 01a760c8e54..4bac655bd79 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -41,12 +41,12 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; class TerminalSettingsDlg extends Dialog { private Combo fCtlConnTypeCombo; private Text fTerminalTitleText; - private final ITerminalConnectorInfo[] fConnectors; + private final ITerminalConnector[] fConnectors; private final ISettingsPage[] fPages; /** * Maps the fConnectors index to the fPages index @@ -58,7 +58,7 @@ class TerminalSettingsDlg extends Dialog { private IDialogSettings fDialogSettings; private String fTerminalTitle; - public TerminalSettingsDlg(Shell shell, ITerminalConnectorInfo[] connectors, ITerminalConnectorInfo connector) { + public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { super(shell); fConnectors=getValidConnectors(connectors); fPages=new ISettingsPage[fConnectors.length]; @@ -73,21 +73,21 @@ class TerminalSettingsDlg extends Dialog { * @param connectors * @return connectors excluding connectors with errors */ - private ITerminalConnectorInfo[] getValidConnectors(ITerminalConnectorInfo[] connectors) { + private ITerminalConnector[] getValidConnectors(ITerminalConnector[] connectors) { List list=new ArrayList(Arrays.asList(connectors)); for (Iterator iterator = list.iterator(); iterator.hasNext();) { - ITerminalConnectorInfo info = (ITerminalConnectorInfo) iterator.next(); + ITerminalConnector info = (ITerminalConnector) iterator.next(); if(info.isInitialized() && info.getInitializationErrorMessage()!=null) iterator.remove(); } - connectors=(ITerminalConnectorInfo[]) list.toArray(new ITerminalConnectorInfo[list.size()]); + connectors=(ITerminalConnector[]) list.toArray(new ITerminalConnector[list.size()]); return connectors; } ISettingsPage getPage(int i) { if(fPages[i]==null) { if(fConnectors[i].getInitializationErrorMessage()!=null) { // create a error message - final ITerminalConnectorInfo conn=fConnectors[i]; + final ITerminalConnector conn=fConnectors[i]; fPages[i]=new ISettingsPage(){ public void createControl(Composite parent) { Label l=new Label(parent,SWT.WRAP); @@ -105,7 +105,7 @@ class TerminalSettingsDlg extends Dialog { public boolean validateSettings() {return false;} }; } else { - fPages[i]=fConnectors[i].getConnector().makeSettingsPage(); + fPages[i]=fConnectors[i].makeSettingsPage(); } // TODO: what happens if an error occurs while // the control is partly created? @@ -245,7 +245,7 @@ class TerminalSettingsDlg extends Dialog { } }); } - public ITerminalConnectorInfo getConnector() { + public ITerminalConnector getConnector() { if(fSelectedConnector>=0) return fConnectors[fSelectedConnector]; return null; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 2a821a8ce13..89fb64b67a9 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -56,7 +56,7 @@ import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -211,7 +211,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi //if (isConnected()) if (fCtlTerminal.getState()!=TerminalState.CLOSED) return; - if(fCtlTerminal.getTerminalConnectorInfo()==null) + if(fCtlTerminal.getTerminalConnector()==null) setConnector(showSettingsDialog()); fCtlTerminal.connectTerminal(); } @@ -246,7 +246,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalSettings() { - ITerminalConnectorInfo c=showSettingsDialog(); + ITerminalConnector c=showSettingsDialog(); if(c!=null) { setConnector(c); @@ -254,11 +254,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } } - private ITerminalConnectorInfo showSettingsDialog() { + private ITerminalConnector showSettingsDialog() { // When the settings dialog is opened, load the Terminal settings from the // persistent settings. - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnectorInfo()); + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnector()); dlgTerminalSettings.setTerminalTitle(getPartName()); Logger.log("opening Settings dialog."); //$NON-NLS-1$ @@ -276,7 +276,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi return dlgTerminalSettings.getConnector(); } - private void setConnector(ITerminalConnectorInfo connector) { + private void setConnector(ITerminalConnector connector) { fCtlTerminal.setConnector(connector); } @@ -296,7 +296,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // display in the view's content description line. This is used by class // TerminalText when it processes an ANSI OSC escape sequence that commands // the terminal to display text in its title bar. - } else if(fCtlTerminal.getTerminalConnectorInfo()==null){ + } else if(fCtlTerminal.getTerminalConnector()==null){ strTitle=ViewMessages.NO_CONNECTION_SELECTED; } else { // When parameter 'data' is null, we construct a descriptive string to @@ -307,7 +307,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi //In order to make the logic of assembling, and the separators, better adapt to foreign languages if(summary.length()>0) summary=summary+" - "; //$NON-NLS-1$ - String name=fCtlTerminal.getTerminalConnectorInfo().getName(); + String name=fCtlTerminal.getTerminalConnector().getName(); if(name.length()>0) { name+=": "; //$NON-NLS-1$ } @@ -327,7 +327,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // TODO: use another mechanism than "?" for the magic non initialized state // see TerminalConnectorProxy.getSettingsSummary String summary="?"; //$NON-NLS-1$ - if(fCtlTerminal.getTerminalConnectorInfo()!=null) + if(fCtlTerminal.getTerminalConnector()!=null) summary=fCtlTerminal.getSettingsSummary(); if("?".equals(summary)) { //$NON-NLS-1$ summary=fStore.get(STORE_SETTING_SUMMARY, ""); //$NON-NLS-1$ @@ -451,11 +451,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi * This method creates the top-level control for the Terminal view. */ protected void setupControls(Composite wndParent) { - ITerminalConnectorInfo[] connectors=TerminalConnectorExtension.getTerminalConnectors(); + ITerminalConnector[] connectors = makeConnectors(); fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); String connectionType=fStore.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { - connectors[i].getConnector().load(getStore(connectors[i])); + connectors[i].load(getStore(connectors[i])); if(connectors[i].getId().equals(connectionType)) fCtlTerminal.setConnector(connectors[i]); } @@ -469,10 +469,18 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setPartName(title); } - private void saveSettings(ITerminalConnectorInfo connector) { - ITerminalConnectorInfo[] connectors=fCtlTerminal.getConnectors(); + /** + * @return a list of connectors this view can use + */ + protected ITerminalConnector[] makeConnectors() { + ITerminalConnector[] connectors=TerminalConnectorExtension.makeTerminalConnectors(); + return connectors; + } + + private void saveSettings(ITerminalConnector connector) { + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { - connectors[i].getConnector().save(getStore(connectors[i])); + connectors[i].save(getStore(connectors[i])); } if(connector!=null) { fStore.put(STORE_CONNECTION_TYPE,connector.getId()); @@ -493,7 +501,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fStore.put(STORE_TITLE,getPartName()); fStore.saveState(memento); } - private ISettingsStore getStore(ITerminalConnectorInfo connector) { + private ISettingsStore getStore(ITerminalConnector connector) { return new SettingStorePrefixDecorator(fStore,connector.getId()+"."); //$NON-NLS-1$ } diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 5ef7aff6765..a574e1a8777 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -12,10 +12,16 @@ Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . -Export-Package: org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", +Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view,org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api; + x-friends:="org.eclipse.tm.terminal.serial, + org.eclipse.tm.terminal.ssh, + org.eclipse.tm.terminal.telnet, + org.eclipse.tm.terminal.view, + org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd index cea285b0e8f..61098975c03 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnector.exsd @@ -2,9 +2,9 @@ - + - + @@ -34,9 +34,9 @@ - + - + @@ -49,9 +49,9 @@ A class implementing ITerminalConnector - - - + + + @@ -66,9 +66,9 @@ The name of the connection (used in the UI) - + - + @@ -78,11 +78,10 @@ - - + - + Copyright (c) 2006 Wind River Systems, Inc. and others. All rights reserved. This program and the accompanying materials diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java new file mode 100644 index 00000000000..522e5bcaed3 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -0,0 +1,190 @@ +package org.eclipse.tm.internal.terminal.connector; + +import java.io.OutputStream; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.Platform; +import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * A placeholder for the ITerminalConnector. It gets initialized when + * the real connector is needed. + * The following methods can be called without initializing + * the contributed class: {@link #getId()}, {@link #getName()}, + * {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, + * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)}, + * {@link #getAdapter(Class)} + * + */ +public class TerminalConnector implements ITerminalConnector { + /** + * Creates an instance of TerminalConnectorImpl. This is + * used to lazily load classed defined in extensions. + */ + public interface Factory { + /** + * @return an Connector + * @throws Exception + */ + TerminalConnectorImpl makeConnector() throws Exception; + } + /** + * + */ + private final TerminalConnector.Factory fTerminalConnectorFactory; + /** + * The (display) name of the TerminalConnector + */ + private final String fName; + /** + * The unique id the connector + */ + private final String fId; + /** + * The connector + */ + private TerminalConnectorImpl fConnector; + /** + * If the initialization of the class specified in the extension fails, + * this variable contains the error + */ + private Exception fException; + /** + * The store might be set before the real connector is initialized. + * This keeps the value until the connector is created. + */ + private ISettingsStore fStore; + /** + * @param terminalConnectorFactory + * @param id + * @param name + */ + public TerminalConnector(TerminalConnector.Factory terminalConnectorFactory, String id, String name) { + fTerminalConnectorFactory = terminalConnectorFactory; + fId = id; + fName = name; + } + public String getInitializationErrorMessage() { + getConnectorImpl(); + if(fException!=null) + return fException.getLocalizedMessage(); + return null; + } + public String getId() { + return fId; + } + public String getName() { + return fName; + } + private TerminalConnectorImpl getConnectorImpl() { + if(!isInitialized()) { + try { + fConnector=fTerminalConnectorFactory.makeConnector(); + fConnector.initialize(); + } catch (Exception e) { + fException=e; + fConnector=new TerminalConnectorImpl(){ + public void connect(ITerminalControl control) { + control.setState(TerminalState.CLOSED); + control.setMsg(getInitializationErrorMessage()); + } + public void disconnect() { + } + public OutputStream getOutputStream() { + return null; + } + public String getSettingsSummary() { + return null; + } + public void load(ISettingsStore store) { + } + public ISettingsPage makeSettingsPage() { + return null; + } + public void save(ISettingsStore store) { + }}; + // that's the place where we log the exception + Logger.logException(e); + } + if(fConnector!=null && fStore!=null) + fConnector.load(fStore); + } + return fConnector; + } + + public boolean isInitialized() { + return fConnector!=null || fException!=null; + } + public void connect(ITerminalControl control) { + getConnectorImpl().connect(control); + } + public void disconnect() { + getConnectorImpl().disconnect(); + } + public OutputStream getTerminalToRemoteStream() { + return getConnectorImpl().getOutputStream(); + } + public String getSettingsSummary() { + if(fConnector!=null) + return getConnectorImpl().getSettingsSummary(); + else + return TerminalMessages.NotInitialized; + } + public boolean isLocalEcho() { + return getConnectorImpl().isLocalEcho(); + } + public void load(ISettingsStore store) { + if(fConnector==null) { + fStore=store; + } else { + getConnectorImpl().load(store); + } + } + public ISettingsPage makeSettingsPage() { + return getConnectorImpl().makeSettingsPage(); + } + public void save(ISettingsStore store) { + // no need to save the settings: it cannot have changed + // because we are not initialized.... + if(fConnector!=null) + getConnectorImpl().save(store); + } + public void setTerminalSize(int newWidth, int newHeight) { + // we assume that setTerminalSize is called also after + // the terminal has been initialized. Else we would have to cache + // the values.... + if(fConnector!=null) { + fConnector.setTerminalSize(newWidth, newHeight); + } + } + public Object getAdapter(Class adapter) { + TerminalConnectorImpl connector=null; + if(isInitialized()) + connector=getConnectorImpl(); + // if we cannot create the connector then we cannot adapt... + if(connector!=null) { + // maybe the connector is adaptable + if(connector instanceof IAdaptable) { + Object result =((IAdaptable)connector).getAdapter(adapter); + // Not sure if the next block is needed.... + if(result==null) + //defer to the platform + result= Platform.getAdapterManager().getAdapter(connector, adapter); + if(result!=null) + return result; + } + // maybe the real adapter is what we need.... + if(adapter.isInstance(connector)) + return connector; + } + // maybe we have to be adapted.... + return Platform.getAdapterManager().getAdapter(this, adapter); + } +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index 3511f964d6e..c7a59f98553 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -14,7 +14,7 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Control; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -38,10 +38,10 @@ public interface ITerminalViewControl { void disconnectTerminal(); void disposeTerminal(); String getSettingsSummary(); - ITerminalConnectorInfo[] getConnectors(); + ITerminalConnector[] getConnectors(); void setFocus(); - ITerminalConnectorInfo getTerminalConnectorInfo(); - void setConnector(ITerminalConnectorInfo connector); + ITerminalConnector getTerminalConnector(); + void setConnector(ITerminalConnector connector); void connectTerminal(); /** * @param write a single character to terminal diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 9f5074a90a5..1968afd4fd5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -13,10 +13,10 @@ package org.eclipse.tm.internal.terminal.control; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; public class TerminalViewControlFactory { - public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { + public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { return new VT100TerminalControl(target, wndParent, connectors); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index 0e99bf61b57..f9784c645bd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -13,7 +13,7 @@ package org.eclipse.tm.internal.terminal.control.impl; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -27,7 +27,7 @@ public interface ITerminalControlForText { void setState(TerminalState state); void setTerminalTitle(String title); - ITerminalConnectorInfo getTerminalConnectorInfo(); + ITerminalConnector getTerminalConnector(); void disconnectTerminal(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index 97031d5c80d..a7aa65abad4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -22,4 +22,5 @@ public class TerminalMessages extends NLS { public static String SocketError; public static String IOError; public static String CannotConnectTo; + public static String NotInitialized; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index ee82aa2f003..1d26751782e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -17,4 +17,5 @@ TerminalError = Terminal Error SocketError = Socket Error IOError = IO Error -CannotConnectTo = Cannot initialize {0}:\n{1} \ No newline at end of file +CannotConnectTo = Cannot initialize {0}:\n{1} +NotInitialized = Not Initialized diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 5441bbf5277..e931e6ee3dd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1046,8 +1046,8 @@ public class VT100Emulator implements ControlListener { } private ITerminalConnector getConnector() { - if(terminal.getTerminalConnectorInfo()!=null) - return terminal.getTerminalConnectorInfo().getConnector(); + if(terminal.getTerminalConnector()!=null) + return terminal.getTerminalConnector(); return null; } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index a45377bc392..3e0cd07937e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -58,7 +58,6 @@ import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnectorInfo; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -103,8 +102,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private final ITerminalListener fTerminalListener; private String fMsg = ""; //$NON-NLS-1$ private FocusListener fFocusListener; - private ITerminalConnectorInfo fConnectorInfo; - private final ITerminalConnectorInfo[] fConnectors; + private ITerminalConnector fConnector; + private final ITerminalConnector[] fConnectors; PipedInputStream fInputStream; private ICommandInputField fCommandInputField; @@ -118,7 +117,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC */ volatile private Job fJob; - public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnectorInfo[] connectors) { + public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { fConnectors=connectors; fTerminalListener=target; fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); @@ -129,7 +128,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC setupTerminal(wndParent); } - public ITerminalConnectorInfo[] getConnectors() { + public ITerminalConnector[] getConnectors() { return fConnectors; } @@ -266,11 +265,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if(getTerminalConnector()==null) return; fTerminalText.resetState(); - if(fConnectorInfo.getInitializationErrorMessage()!=null) { + if(fConnector.getInitializationErrorMessage()!=null) { showErrorMessage(NLS.bind( TerminalMessages.CannotConnectTo, - fConnectorInfo.getName(), - fConnectorInfo.getInitializationErrorMessage())); + fConnector.getName(), + fConnector.getInitializationErrorMessage())); // we cannot connect because the connector was not initialized return; } @@ -280,10 +279,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC waitForConnect(); } - private ITerminalConnector getTerminalConnector() { - if(fConnectorInfo==null) - return null; - return fConnectorInfo.getConnector(); + public ITerminalConnector getTerminalConnector() { + return fConnector; } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() @@ -605,7 +602,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public OutputStream getOutputStream() { if(getTerminalConnector()!=null) - return getTerminalConnector().getOutputStream(); + return getTerminalConnector().getTerminalToRemoteStream(); return null; } @@ -633,13 +630,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public VT100Emulator getTerminalText() { return fTerminalText; } - - /** - */ - public ITerminalConnectorInfo getTerminalConnectorInfo() { - return fConnectorInfo; - } - protected class TerminalFocusListener implements FocusListener { private IContextActivation contextActivation = null; @@ -844,9 +834,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // locally, send a LF after sending a CR. // ISSUE: Is this absolutely required? - if (character == '\r' && getTerminalConnectorInfo() != null + if (character == '\r' && getTerminalConnector() != null && isConnected() - && getTerminalConnectorInfo().getConnector().isLocalEcho()) { + && getTerminalConnector().isLocalEcho()) { sendChar('\n', false); } @@ -865,8 +855,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // // o The character is the DELETE character. - if (getTerminalConnectorInfo() == null - || getTerminalConnectorInfo().getConnector().isLocalEcho() == false || altKeyPressed + if (getTerminalConnector() == null + || getTerminalConnector().isLocalEcho() == false || altKeyPressed || (character >= '\u0001' && character < '\t') || (character > '\t' && character < '\r') || (character > '\r' && character <= '\u001f') @@ -912,8 +902,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC return ""; //$NON-NLS-1$ } - public void setConnector(ITerminalConnectorInfo connector) { - fConnectorInfo=connector; + public void setConnector(ITerminalConnector connector) { + fConnector=connector; } public ICommandInputField getCommandInputField() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index eea187f98d9..7b3ec92a151 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -13,11 +13,16 @@ package org.eclipse.tm.internal.terminal.provisional.api; import java.io.OutputStream; +import org.eclipse.core.runtime.IAdaptable; + /** * Manage a single connection. Implementations of this class are contributed * via org.eclipse.tm.terminal.terminalConnector extension point. - * + * This class is a handle to a {@link ITerminalConnector connector} that comes from an + * extension. It maintains {@link TerminalConnectorImpl} to the connector to allow lazy initialization of the + * real {@link ITerminalConnector connector} that comes from an extension. + * @author Michael Scharf *

    * EXPERIMENTAL. This class or interface has been added as @@ -26,14 +31,31 @@ import java.io.OutputStream; * consulting with the Target Management team. *

    */ -public interface ITerminalConnector { +public interface ITerminalConnector extends IAdaptable { /** - * Initializes the Connector. Some connector depend on external libraries that - * might not be installed. - * @throws Exception The exception should have a useful - * {@link Exception#getLocalizedMessage()} that explains the problem to the user. + * @return an ID of this connector. The id from the plugin.xml. */ - void initialize() throws Exception; + String getId(); + + /** + * @return null the name (as specified in the plugin.xml) + */ + String getName(); + + /** + * @return true if the {@link TerminalConnectorImpl} has been initialized. + * If there was an initialization error, {@link #getInitializationErrorMessage()} + * returns the error message. + */ + boolean isInitialized(); + + /** + * This method initializes the connector if it is not initialized! + * If the connector was initialized successfully, null is + * returned. Otherwise an error message describing the problem is returned. + * @return null or a localized error message. + */ + String getInitializationErrorMessage(); /** * Connect using the current state of the settings. @@ -60,9 +82,11 @@ public interface ITerminalConnector { void setTerminalSize(int newWidth, int newHeight); /** - * @return a stream with data coming from the remote site. + * @return the terminal to remote stream (bytes written to this stream will + * be sent to the remote site). For the stream in the other direction (remote to + * terminal see {@link ITerminalControl#getRemoteToTerminalOutputStream()} */ - OutputStream getOutputStream(); + OutputStream getTerminalToRemoteStream(); /** * Load the state of this connection. Is typically called before diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java deleted file mode 100644 index 54c5a9cfcf0..00000000000 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnectorInfo.java +++ /dev/null @@ -1,64 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; - -/** - * This class is a handle to a {@link ITerminalConnector connector} that comes from an - * extension. It maintains a proxy to the connector to allow lazy initialization of the - * real {@link ITerminalConnector connector} that comes from an extension. - * - *

    - * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will - * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. - *

    - */ -public interface ITerminalConnectorInfo { - /** - * @return an ID of this connector. The id from the plugin.xml. - *

    Note: return null because the framework takes - * care to get the value from the plugin.xml - */ - String getId(); - - /** - * @return null the name (as specified in the plugin.xml) - *

    Note: return null because the framework takes - * care to get the value from the plugin.xml - */ - String getName(); - - /** - * @return true if the ITerminalConnector has been initialized. - * If there was an initialization error, {@link #getInitializationErrorMessage()} - * returns the error message. - */ - boolean isInitialized(); - - /** - * This method initializes the connector if it is not initialized! - * If the connector was initialized successfully, null is - * returned. Otherwise an error message describing the problem is returned. - * @return null or a localized error message. - */ - String getInitializationErrorMessage(); - - /** - * Returns a proxy to the connector that is lazily initialized. - * The following methods can be called without initializing - * the contributed class: - * {@link ITerminalConnector#getSettingsSummary()}, {@link ITerminalConnector#load(ISettingsStore)}, - * {@link ITerminalConnector#save(ISettingsStore)}, {@link ITerminalConnector#setTerminalSize(int, int)} - * @return a proxy of the real connector. Some calls initialize the the connection. - */ - ITerminalConnector getConnector(); -} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 86b009e259c..de6b7ce2ab3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -56,7 +56,8 @@ public interface ITerminalControl { /** * @return a stream used to write to the terminal. Any bytes written to this * stream appear in the terminal or are interpreted by the emulator as - * control sequences. + * control sequences. The stream in the opposite direction, terminal + * to remote is in {@link ITerminalConnector#getTerminalToRemoteStream()}. */ OutputStream getRemoteToTerminalOutputStream(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 33e2006c5a2..6c9fe13ace8 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -11,12 +11,12 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; -import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.RegistryFactory; +import org.eclipse.tm.internal.terminal.connector.TerminalConnector; /** * A factory to get {@link ITerminalConnector} instances. @@ -31,162 +31,47 @@ import org.eclipse.core.runtime.RegistryFactory; *

    */ public class TerminalConnectorExtension { - static private class TerminalConnectorInfo implements ITerminalConnectorInfo { - TerminalConnectorProxy fProxy; - TerminalConnectorInfo(TerminalConnectorProxy proxy) { - fProxy=proxy; - } - public ITerminalConnector getConnector() { - return fProxy; - } - public String getId() { - return fProxy.getId(); - } - public String getName() { - return fProxy.getName(); - } - public String getInitializationErrorMessage() { - return fProxy.getLocalizedErrorMessage(); - } - public boolean isInitialized() { - return fProxy.isInitialized(); + static private ITerminalConnector makeConnector(final IConfigurationElement config) { + String id = config.getAttribute("id"); //$NON-NLS-1$ + if(id==null || id.length()==0) + id=config.getAttribute("class"); //$NON-NLS-1$ + String name= config.getAttribute("name"); //$NON-NLS-1$ + if(name==null || name.length()==0) { + name=id; } + TerminalConnector.Factory factory=new TerminalConnector.Factory(){ + public TerminalConnectorImpl makeConnector() throws Exception { + return (TerminalConnectorImpl)config.createExecutableExtension("class"); //$NON-NLS-1$ + }}; + return new TerminalConnector(factory,id,name); + } + /** + * @param id the id of the terminal connector in the + * org.eclipse.tm.terminal.terminalConnector extension point + * @return a new ITerminalConnector with id or null if there is no + * extension with that id. + */ + public static ITerminalConnector makeTerminalConnector(String id) { + IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ + for (int i = 0; i < config.length; i++) { + if(id.equals(config[i].getAttribute("id"))) { //$NON-NLS-1$ + return makeConnector(config[i]); + } + } + return null; } /** - * A placeholder for the ITerminalConnector. It gets initialized when - * the real connector is needed. - * The following methods can be called without initializing - * the contributed class: {@link #getId()}, {@link #getName()}, - * {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, - * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)} - * + * @return a new list of {@link ITerminalConnector} instances defined in + * the org.eclipse.tm.terminal.terminalConnector extension point */ - static private class TerminalConnectorProxy implements ITerminalConnector { - /** - * The connector - */ - private ITerminalConnector fConnector; - /** - * The plugin contribution, needed for lazy initialization - * of {@link #fConnector} - */ - private final IConfigurationElement fConfig; - /** - * If the initialization of the class specified in the extension fails, - * this variable contains the error - */ - private Exception fException; - /** - * The store might be set before the real connector is initialized. - * This keeps the value until the connector is created. - */ - private ISettingsStore fStore; - - TerminalConnectorProxy(IConfigurationElement config) { - fConfig=config; - } - public String getLocalizedErrorMessage() { - getConnector(); - if(fException!=null) - return fException.getLocalizedMessage(); - return null; - } - public String getId() { - String id = fConfig.getAttribute("id"); //$NON-NLS-1$ - if(id==null || id.length()==0) - id=fConfig.getAttribute("class"); //$NON-NLS-1$ - return id; - } - public String getName() { - String name= fConfig.getAttribute("name"); //$NON-NLS-1$ - if(name==null || name.length()==0) { - name=getId(); - } - return name; - } - private ITerminalConnector getConnector() { - if(!isInitialized()) { - try { - fConnector=createConnector(fConfig); - fConnector.initialize(); - } catch (Exception e) { - fConnector=null; - fException=e; - // that's the place where we log the exception - Logger.logException(e); - } - if(fConnector!=null && fStore!=null) - fConnector.load(fStore); - } - return fConnector; - } - private boolean isInitialized() { - return fConnector!=null || fException!=null; - } - public void connect(ITerminalControl control) { - getConnector().connect(control); - } - public void disconnect() { - getConnector().disconnect(); - } - public OutputStream getOutputStream() { - return getConnector().getOutputStream(); - } - public String getSettingsSummary() { - if(fConnector!=null) - return getConnector().getSettingsSummary(); - else - // TODO: see TerminalView.getSettingsSummary - return "?"; //$NON-NLS-1$ - } - public boolean isLocalEcho() { - return getConnector().isLocalEcho(); - } - public void load(ISettingsStore store) { - if(fConnector==null) { - fStore=store; - } else { - getConnector().load(store); - } - } - public ISettingsPage makeSettingsPage() { - return getConnector().makeSettingsPage(); - } - public void save(ISettingsStore store) { - // no need to save the settings: it cannot have changed - // because we are not initialized.... - if(fConnector!=null) - getConnector().save(store); - } - public void setTerminalSize(int newWidth, int newHeight) { - // we assume that setTerminalSize is called also after - // the terminal has been initialized. Else we would have to cache - // the values.... - if(fConnector!=null) { - fConnector.setTerminalSize(newWidth, newHeight); - } - } - public void initialize() throws Exception { - throw new IllegalStateException("Connector already initialized!"); //$NON-NLS-1$ - } - } - /** - * @return null or a new connector created from the extension - */ - static private ITerminalConnector createConnector(IConfigurationElement config) throws Exception { - return (ITerminalConnector)config.createExecutableExtension("class"); //$NON-NLS-1$ - } - /** - * @return a new list of ITerminalConnectorInfo. - */ - public static ITerminalConnectorInfo[] getTerminalConnectors() { + public static ITerminalConnector[] makeTerminalConnectors() { IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ List result=new ArrayList(); for (int i = 0; i < config.length; i++) { - result.add(new TerminalConnectorInfo(new TerminalConnectorProxy(config[i]))); + result.add(makeConnector(config[i])); } - return (ITerminalConnectorInfo[]) result.toArray(new ITerminalConnectorInfo[result.size()]); + return (ITerminalConnector[]) result.toArray(new ITerminalConnector[result.size()]); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java new file mode 100644 index 00000000000..ddaa97bfaca --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +import java.io.OutputStream; + +public abstract class TerminalConnectorImpl { + /** + * Called once after the constructor + * @throws Exception + */ + public void initialize() throws Exception { + } + /** + * Connect using the current state of the settings. + * @param control Used to inform the UI about state changes and messages from the connection. + */ + abstract public void connect(ITerminalControl control); + + /** + * Disconnect if connected. Else do nothing. + * Has to set the state of the {@link ITerminalControl} + */ + abstract public void disconnect(); + + /** + * @return the terminal to remote stream (bytes written to this stream will + * be sent to the remote site). For the stream in the other direction (remote to + * terminal see {@link ITerminalControl#getRemoteToTerminalOutputStream()} + */ + abstract public OutputStream getOutputStream(); + + /** + * @return A string that represents the settings of the connection. This representation + * may be shown in the status line of the terminal view. + */ + abstract public String getSettingsSummary(); + + /** + * @return true if a local echo is needed. + * TODO:Michael Scharf: this should be handed within the connection.... + */ + public boolean isLocalEcho() { + return false; + } + + /** + * @return a new page that can be used in a dialog to setup this connection. + * The dialog should persist its settings with the {@link #load(ISettingsStore)} + * and {@link #save(ISettingsStore)} methods. + * + */ + abstract public ISettingsPage makeSettingsPage(); + + /** + * Load the state of this connection. Is typically called before + * {@link #connect(ITerminalControl)}. + * + * @param store a string based data store. Short keys like "foo" can be used to + * store the state of the connection. + */ + abstract public void load(ISettingsStore store); + /** + * When the view or dialog containing the terminal is closed, + * the state of the connection is saved into the settings store store + * @param store + */ + abstract public void save(ISettingsStore store); + + /** + * Notify the remote site that the size of the terminal has changed. + * @param newWidth + * @param newHeight + */ + public void setTerminalSize(int newWidth, int newHeight) { + } +} From fc86a78f141d6da62b2af180741a63d62df78ae7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 14:58:14 +0000 Subject: [PATCH 274/843] [cleanup] Fix typos --- .../control/impl/TerminalInputStream.java | 44 +++++++++---------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java index 6cd7eff7de0..f0e0aad8078 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java @@ -7,7 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation - * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer + * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -22,16 +22,16 @@ import org.eclipse.swt.widgets.Display; /** * The main purpose of this class is to start a runnable in the - * display thread when data is available and to pretend no data + * display thread when data is available and to pretend no data * is available after a given amount of time the runnable is running. * */ public class TerminalInputStream extends InputStream { /** - * The maximum time in milli seconds the {@link #fNotifyChange} runs until + * The maximum time in milliseconds the {@link #fNotifyChange} runs until * {@link #ready()} returns false. */ - private final int fUITimeout; + private final int fUITimeout; /** * The output stream used by the terminal backend to write to the terminal */ @@ -49,7 +49,7 @@ public class TerminalInputStream extends InputStream { * A blocking byte queue. */ private final BoundedByteBuffer fQueue; - + /** * The maximum amount of data read and written in one shot. * The timer cannot interrupt reading this amount of data. @@ -60,14 +60,14 @@ public class TerminalInputStream extends InputStream { // block size must be smaller than the Queue capacity! final int BLOCK_SIZE=64; - + /** - * The runnable that si scheduled in the display tread. Takes care of - * the timeout management. It calls the {@link #fNotifyChange} + * The runnable that is scheduled in the display tread. Takes care of the + * timeout management. It calls the {@link #fNotifyChange} */ // synchronized with fQueue! private Runnable fRunnable; - + /** * Used as flag to indicate that the current runnable * has used enough time in the display thread. @@ -81,23 +81,23 @@ public class TerminalInputStream extends InputStream { /** * A byte bounded buffer used to synchronize the input and the output stream. *

    - * Adapted from BoundedBufferWithStateTracking + * Adapted from BoundedBufferWithStateTracking * http://gee.cs.oswego.edu/dl/cpj/allcode.java * http://gee.cs.oswego.edu/dl/cpj/ *

    * BoundedBufferWithStateTracking is part of the examples for the book * Concurrent Programming in Java: Design Principles and Patterns by - * Doug Lea (ISBN 0-201-31009-0). Second edition published by - * Addison-Wesley, November 1999. The code is + * Doug Lea (ISBN 0-201-31009-0). Second edition published by + * Addison-Wesley, November 1999. The code is * Copyright(c) Douglas Lea 1996, 1999 and released to the public domain - * and may be used for any purposes whatsoever. + * and may be used for any purposes whatsoever. *

    * For some reasons a solution based on * PipedOutputStream/PipedIntputStream * does work *very* slowly: * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4404700 *

    - * + * */ class BoundedByteBuffer { protected final byte[] fBuffer; // the elements @@ -153,17 +153,17 @@ public class TerminalInputStream extends InputStream { } /** - * An output stream that calls {@link TerminalInputStream#textAvailable} + * An output stream that calls {@link TerminalInputStream#textAvailable} * every time data is written to the stream. The data is written to * {@link TerminalInputStream#fQueue}. - * + * */ class TerminalOutputStream extends OutputStream { public void write(byte[] b, int off, int len) throws IOException { try { // optimization to avoid many synchronized // sections: put the data in junks into the - // queue. + // queue. int noff=off; int end=off+len; while(noff0 && n Date: Fri, 4 Apr 2008 15:23:10 +0000 Subject: [PATCH 275/843] [200541][api][breaking] Rename terminalConnector -> terminalConnectors and add some Javadoc and @since tags --- org.eclipse.tm.terminal.ssh/plugin.xml | 2 +- org.eclipse.tm.terminal.telnet/plugin.xml | 2 +- org.eclipse.tm.terminal.test/plugin.xml | 4 +- .../schema/terminalConnector.exsd | 98 ------------------- .../provisional/api/ITerminalConnector.java | 56 ++++++----- .../api/TerminalConnectorExtension.java | 43 +++++--- 6 files changed, 61 insertions(+), 144 deletions(-) delete mode 100644 org.eclipse.tm.terminal/schema/terminalConnector.exsd diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/org.eclipse.tm.terminal.ssh/plugin.xml index 193d10b1e10..6efde09a04e 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.xml +++ b/org.eclipse.tm.terminal.ssh/plugin.xml @@ -13,7 +13,7 @@ --> + point="org.eclipse.tm.terminal.terminalConnectors"> diff --git a/org.eclipse.tm.terminal.telnet/plugin.xml b/org.eclipse.tm.terminal.telnet/plugin.xml index d307c988764..21ed3872404 100644 --- a/org.eclipse.tm.terminal.telnet/plugin.xml +++ b/org.eclipse.tm.terminal.telnet/plugin.xml @@ -13,7 +13,7 @@ --> + point="org.eclipse.tm.terminal.terminalConnectors"> diff --git a/org.eclipse.tm.terminal.test/plugin.xml b/org.eclipse.tm.terminal.test/plugin.xml index 8a517646e4e..a6fe6ae019f 100644 --- a/org.eclipse.tm.terminal.test/plugin.xml +++ b/org.eclipse.tm.terminal.test/plugin.xml @@ -1,7 +1,7 @@ + point="org.eclipse.tm.terminal.terminalConnectors"> diff --git a/org.eclipse.tm.terminal/schema/terminalConnector.exsd b/org.eclipse.tm.terminal/schema/terminalConnector.exsd deleted file mode 100644 index 61098975c03..00000000000 --- a/org.eclipse.tm.terminal/schema/terminalConnector.exsd +++ /dev/null @@ -1,98 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A class implementing ITerminalConnector - - - - - - - - - - Uniquely identify this connector - - - - - - - The name of the connection (used in the UI) - - - - - - - - - - - - - - - - - - - Copyright (c) 2006 Wind River Systems, Inc. and others. -All rights reserved. This program and the accompanying materials -are made available under the terms of the Eclipse Public License v1.0 -which accompanies this distribution, and is available at -http://www.eclipse.org/legal/epl-v10.html - -Contributors: -Michael Scharf (Wind River) - initial API and implementation -Martin Oberhuber (Wind River) - fixed copyright headers and beautified - - - - diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 7b3ec92a151..9d71f6398d3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -17,19 +17,21 @@ import org.eclipse.core.runtime.IAdaptable; /** - * Manage a single connection. Implementations of this class are contributed - * via org.eclipse.tm.terminal.terminalConnector extension point. - * This class is a handle to a {@link ITerminalConnector connector} that comes from an - * extension. It maintains {@link TerminalConnectorImpl} to the connector to allow lazy initialization of the - * real {@link ITerminalConnector connector} that comes from an extension. - + * Manage a single connection. Implementations of this class are contributed via + * org.eclipse.tm.terminal.terminalConnectors extension point. + * This class is a handle to a {@link ITerminalConnector connector} that comes + * from an extension. It maintains {@link TerminalConnectorImpl} to the + * connector to allow lazy initialization of the real + * {@link ITerminalConnector connector} that comes from an extension. + * * @author Michael Scharf - *

    - * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will - * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. - *

    + *

    + * EXPERIMENTAL. This class or interface has been + * added as part of a work in progress. There is no guarantee that this + * API will work or that it will remain the same. Please do not use this + * API without consulting with the Target Management team. + *

    */ public interface ITerminalConnector extends IAdaptable { /** @@ -48,7 +50,7 @@ public interface ITerminalConnector extends IAdaptable { * returns the error message. */ boolean isInitialized(); - + /** * This method initializes the connector if it is not initialized! * If the connector was initialized successfully, null is @@ -89,16 +91,16 @@ public interface ITerminalConnector extends IAdaptable { OutputStream getTerminalToRemoteStream(); /** - * Load the state of this connection. Is typically called before + * Load the state of this connection. Is typically called before * {@link #connect(ITerminalControl)}. - * - * @param store a string based data store. Short keys like "foo" can be used to + * + * @param store a string based data store. Short keys like "foo" can be used to * store the state of the connection. */ void load(ISettingsStore store); - + /** - * When the view or dialog containing the terminal is closed, + * When the view or dialog containing the terminal is closed, * the state of the connection is saved into the settings store store * @param store */ @@ -108,13 +110,13 @@ public interface ITerminalConnector extends IAdaptable { * @return a new page that can be used in a dialog to setup this connection. * The dialog should persist its settings with the {@link #load(ISettingsStore)} * and {@link #save(ISettingsStore)} methods. - * + * */ ISettingsPage makeSettingsPage(); /** * @return A string that represents the settings of the connection. This representation - * may be shown in the status line of the terminal view. + * may be shown in the status line of the terminal view. */ String getSettingsSummary(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 6c9fe13ace8..fc10bc7d5ef 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -20,7 +20,7 @@ import org.eclipse.tm.internal.terminal.connector.TerminalConnector; /** * A factory to get {@link ITerminalConnector} instances. - * + * * @author Michael Scharf * *

    @@ -47,26 +47,39 @@ public class TerminalConnectorExtension { } /** + * Return a specific terminal connector for a given connector id. The + * terminal connector is not yet instantiated to any real connection. + * * @param id the id of the terminal connector in the - * org.eclipse.tm.terminal.terminalConnector extension point - * @return a new ITerminalConnector with id or null if there is no - * extension with that id. + * org.eclipse.tm.terminal.terminalConnectors + * extension point + * @return a new ITerminalConnector with id or null if there + * is no extension with that id. + * @since 3.0 */ public static ITerminalConnector makeTerminalConnector(String id) { - IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ + IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ for (int i = 0; i < config.length; i++) { if(id.equals(config[i].getAttribute("id"))) { //$NON-NLS-1$ return makeConnector(config[i]); } } - return null; + return null; } /** - * @return a new list of {@link ITerminalConnector} instances defined in - * the org.eclipse.tm.terminal.terminalConnector extension point + * Return a list of available terminal connectors (connection types). + * + * The terminal connectors returned are not yet instantiated to any real + * connection. Each terminal connector can connect to one remote system at a + * time. + * + * @return a new list of {@link ITerminalConnector} instances defined in the + * org.eclipse.tm.terminal.terminalConnectors + * extension point + * @since 3.0 */ public static ITerminalConnector[] makeTerminalConnectors() { - IConfigurationElement[] config=RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnector"); //$NON-NLS-1$ + IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ List result=new ArrayList(); for (int i = 0; i < config.length; i++) { result.add(makeConnector(config[i])); From 4861d3fcf3af7e9c2e2feecd3e0379435f4c4db0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 15:25:53 +0000 Subject: [PATCH 276/843] [200541][api][breaking] Rename terminalConnector -> terminalConnectors and add some Javadoc and @since tags --- org.eclipse.tm.terminal.serial/plugin.xml | 2 +- org.eclipse.tm.terminal/plugin.xml | 4 +- .../schema/terminalConnectors.exsd | 98 +++++++++++++++++++ .../api/TerminalConnectorExtension.java | 8 +- 4 files changed, 105 insertions(+), 7 deletions(-) create mode 100644 org.eclipse.tm.terminal/schema/terminalConnectors.exsd diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/org.eclipse.tm.terminal.serial/plugin.xml index a7578808e5c..dc3e2863b5b 100644 --- a/org.eclipse.tm.terminal.serial/plugin.xml +++ b/org.eclipse.tm.terminal.serial/plugin.xml @@ -13,7 +13,7 @@ --> + point="org.eclipse.tm.terminal.terminalConnectors"> diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 0f7e5294e56..853af8e9ef3 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,7 +1,7 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A class extending TerminalConnectorImpl + + + + + + + + + + Uniquely identify this connector for programmatic access. Clients will use this ID in order to find and instantiate it. + + + + + + + The name of the connection (used in the UI) + + + + + + + + + + + + + + + + + + + Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +All rights reserved. This program and the accompanying materials +are made available under the terms of the Eclipse Public License v1.0 +which accompanies this distribution, and is available at +http://www.eclipse.org/legal/epl-v10.html + +Contributors: +Michael Scharf (Wind River) - initial API and implementation +Martin Oberhuber (Wind River) - fixed copyright headers and beautified + + + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index fc10bc7d5ef..7bd72a5a052 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -55,7 +55,7 @@ public class TerminalConnectorExtension { * extension point * @return a new ITerminalConnector with id or null if there * is no extension with that id. - * @since 3.0 + * @since org.eclipse.tm.terminal 2.0 */ public static ITerminalConnector makeTerminalConnector(String id) { IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ @@ -68,15 +68,15 @@ public class TerminalConnectorExtension { } /** * Return a list of available terminal connectors (connection types). - * + * * The terminal connectors returned are not yet instantiated to any real * connection. Each terminal connector can connect to one remote system at a * time. - * + * * @return a new list of {@link ITerminalConnector} instances defined in the * org.eclipse.tm.terminal.terminalConnectors * extension point - * @since 3.0 + * @since org.eclipse.tm.terminal 2.0 return value is ITerminalConnector[] */ public static ITerminalConnector[] makeTerminalConnectors() { IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ From b7536db44a58f4a907e342fd75e675ce74020f7e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 15:26:40 +0000 Subject: [PATCH 277/843] [200541][api][breaking] Rename terminalConnector -> terminalConnectors and add some Javadoc and @since tags --- .../provisional/api/TerminalConnectorExtension.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 7bd72a5a052..f8f34e3dfc1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -20,14 +20,18 @@ import org.eclipse.tm.internal.terminal.connector.TerminalConnector; /** * A factory to get {@link ITerminalConnector} instances. - * + * * @author Michael Scharf * + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * *

    * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will - * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * part of a work in progress. There is no guarantee that this API will work or + * that it will remain the same. Please do not use this API without consulting + * with the Target Management + * team. *

    */ public class TerminalConnectorExtension { From 23dce55e96783eb114724a0b6001317dbb7a5eb9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 15:36:12 +0000 Subject: [PATCH 278/843] [200541][api][breaking] Rename terminalConnector -> terminalConnectors and add some Javadoc and @since tags --- .../terminal/serial/SerialConnector.java | 2 +- .../internal/terminal/ssh/SshConnector.java | 2 +- .../terminal/telnet/TelnetConnector.java | 2 +- .../connector/TerminalConnectorTest.java | 2 +- .../speedtest/SpeedTestConnector.java | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 8 +--- .../schema/terminalConnectors.exsd | 2 +- .../terminal/connector/TerminalConnector.java | 2 +- .../provisional/api/ITerminalConnector.java | 1 + .../api/TerminalConnectorExtension.java | 1 + .../{ => provider}/TerminalConnectorImpl.java | 41 ++++++++++++------- 11 files changed, 37 insertions(+), 28 deletions(-) rename org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/{ => provider}/TerminalConnectorImpl.java (74%) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 796b6a6c065..b3dc40d507e 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -32,8 +32,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class SerialConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 0ccd3fedfcc..b379221e862 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -18,8 +18,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSch; diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index f791135f65d..a792a5fa242 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -25,8 +25,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TelnetConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index b97225f55d2..8588232e7d4 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -20,8 +20,8 @@ import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TerminalConnectorTest extends TestCase { public class SettingsMock implements ISettingsStore { diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index 50823141a97..8aab9125eda 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -20,8 +20,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class SpeedTestConnector extends TerminalConnectorImpl { final SpeedTestSettings fSettings=new SpeedTestSettings(); diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index a574e1a8777..4f1a7ce0093 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -17,11 +17,7 @@ Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclip org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api; - x-friends:="org.eclipse.tm.terminal.serial, - org.eclipse.tm.terminal.ssh, - org.eclipse.tm.terminal.telnet, - org.eclipse.tm.terminal.view, - org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view,org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api.provider;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff --git a/org.eclipse.tm.terminal/schema/terminalConnectors.exsd b/org.eclipse.tm.terminal/schema/terminalConnectors.exsd index ad054b5d9f1..c58c9999dd4 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnectors.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnectors.exsd @@ -50,7 +50,7 @@ A class extending TerminalConnectorImpl - + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 522e5bcaed3..b94f1c8fee1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -10,8 +10,8 @@ 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorImpl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** * A placeholder for the ITerminalConnector. It gets initialized when diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 9d71f6398d3..6e21ce8011d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -14,6 +14,7 @@ package org.eclipse.tm.internal.terminal.provisional.api; import java.io.OutputStream; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index f8f34e3dfc1..3e26e6abdbc 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -17,6 +17,7 @@ import java.util.List; import org.eclipse.core.runtime.IConfigurationElement; import org.eclipse.core.runtime.RegistryFactory; import org.eclipse.tm.internal.terminal.connector.TerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** * A factory to get {@link ITerminalConnector} instances. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java similarity index 74% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index ddaa97bfaca..0edf1980127 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorImpl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -1,17 +1,28 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; +package org.eclipse.tm.internal.terminal.provisional.api.provider; import java.io.OutputStream; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; + +/** + * Abstract base class for all terminal connector implementations to be + * registered via the org.eclipse.tm.terminal.terminalConnectors + * extension point. + * + * @since org.eclipse.tm.terminal 2.0 + */ public abstract class TerminalConnectorImpl { /** * Called once after the constructor @@ -40,10 +51,10 @@ public abstract class TerminalConnectorImpl { /** * @return A string that represents the settings of the connection. This representation - * may be shown in the status line of the terminal view. + * may be shown in the status line of the terminal view. */ abstract public String getSettingsSummary(); - + /** * @return true if a local echo is needed. * TODO:Michael Scharf: this should be handed within the connection.... @@ -56,20 +67,20 @@ public abstract class TerminalConnectorImpl { * @return a new page that can be used in a dialog to setup this connection. * The dialog should persist its settings with the {@link #load(ISettingsStore)} * and {@link #save(ISettingsStore)} methods. - * + * */ abstract public ISettingsPage makeSettingsPage(); /** - * Load the state of this connection. Is typically called before + * Load the state of this connection. Is typically called before * {@link #connect(ITerminalControl)}. - * - * @param store a string based data store. Short keys like "foo" can be used to + * + * @param store a string based data store. Short keys like "foo" can be used to * store the state of the connection. */ abstract public void load(ISettingsStore store); /** - * When the view or dialog containing the terminal is closed, + * When the view or dialog containing the terminal is closed, * the state of the connection is saved into the settings store store * @param store */ From 9cb36a7fc8e5f62ab5a74bae26484aa1e216f62d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 15:57:20 +0000 Subject: [PATCH 279/843] [200541] Update Javadocs --- .../provisional/api/ITerminalConnector.java | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 6e21ce8011d..3a389b75094 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -14,17 +14,29 @@ package org.eclipse.tm.internal.terminal.provisional.api; import java.io.OutputStream; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** - * Manage a single connection. Implementations of this class are contributed via - * org.eclipse.tm.terminal.terminalConnectors extension point. - * This class is a handle to a {@link ITerminalConnector connector} that comes - * from an extension. It maintains {@link TerminalConnectorImpl} to the - * connector to allow lazy initialization of the real - * {@link ITerminalConnector connector} that comes from an extension. + * A contributed connection type to manage a single connection. * + * Implementations of this class are contributed through the + * org.eclipse.tm.terminal.terminalConnectors extension point. + * This class gives access to the static markup of a terminal connector + * extension as well as providing the lifecycle management for the dynamically + * loaded {@link TerminalConnectorImpl} instance, which performs the actual + * communications. This pattern allows for lazy initialization, bundle + * activation and class loading of the actual {@link TerminalConnectorImpl} + * instance. + * + * Clients can get terminal connector instances from the + * {@link TerminalConnectorExtension} class, or from + * {@link ITerminalViewControl#getTerminalConnector()} when running inside an + * active terminal widget. + * + * @noimplement This interface is not intended to be implemented by clients. + * * @author Michael Scharf *

    * EXPERIMENTAL. This class or interface has been @@ -37,11 +49,13 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect public interface ITerminalConnector extends IAdaptable { /** * @return an ID of this connector. The id from the plugin.xml. + * @since org.eclipse.tm.terminal 2.0 */ String getId(); /** * @return null the name (as specified in the plugin.xml) + * @since org.eclipse.tm.terminal 2.0 */ String getName(); @@ -49,6 +63,7 @@ public interface ITerminalConnector extends IAdaptable { * @return true if the {@link TerminalConnectorImpl} has been initialized. * If there was an initialization error, {@link #getInitializationErrorMessage()} * returns the error message. + * @since org.eclipse.tm.terminal 2.0 */ boolean isInitialized(); @@ -57,6 +72,7 @@ public interface ITerminalConnector extends IAdaptable { * If the connector was initialized successfully, null is * returned. Otherwise an error message describing the problem is returned. * @return null or a localized error message. + * @since org.eclipse.tm.terminal 2.0 */ String getInitializationErrorMessage(); @@ -88,6 +104,7 @@ public interface ITerminalConnector extends IAdaptable { * @return the terminal to remote stream (bytes written to this stream will * be sent to the remote site). For the stream in the other direction (remote to * terminal see {@link ITerminalControl#getRemoteToTerminalOutputStream()} + * @since org.eclipse.tm.terminal 2.0 */ OutputStream getTerminalToRemoteStream(); From 9cae2425afb374ad52bb6f82a14334173c796f03 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 16:04:44 +0000 Subject: [PATCH 280/843] [200541] Update Javadocs --- .../terminal/connector/TerminalConnector.java | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index b94f1c8fee1..869b5ded7c2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -10,33 +10,48 @@ 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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** - * A placeholder for the ITerminalConnector. It gets initialized when - * the real connector is needed. - * The following methods can be called without initializing - * the contributed class: {@link #getId()}, {@link #getName()}, - * {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, + * A terminal connector instance, also known as terminal connection type. + * + * It provides all terminal connector functions that can be provided by static + * markup without loading the actual implementation class. The actual + * {@link TerminalConnectorImpl} implementation class is lazily loaded by the + * provided {@link TerminalConnector.Factory} interface when needed. class, and + * delegates to the actual implementation when needed. The following methods can + * be called without initializing the contributed implementation class: + * {@link #getId()}, {@link #getName()}, {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)}, * {@link #getAdapter(Class)} - * + * + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * Clients can get terminal connector instances through the + * {@link TerminalConnectorExtension} class. + * @since org.eclipse.tm.terminal 2.0 */ public class TerminalConnector implements ITerminalConnector { /** - * Creates an instance of TerminalConnectorImpl. This is - * used to lazily load classed defined in extensions. + * Creates an instance of TerminalConnectorImpl. This is used to lazily load + * classed defined in extensions. + * + * @since org.eclipse.tm.terminal 2.0 */ public interface Factory { /** - * @return an Connector + * Factory method to create the actual terminal connector implementation + * when needed. + * + * @return a Connector * @throws Exception */ TerminalConnectorImpl makeConnector() throws Exception; } /** - * + * */ private final TerminalConnector.Factory fTerminalConnectorFactory; /** @@ -118,7 +133,7 @@ public class TerminalConnector implements ITerminalConnector { } return fConnector; } - + public boolean isInitialized() { return fConnector!=null || fException!=null; } @@ -135,7 +150,7 @@ public class TerminalConnector implements ITerminalConnector { if(fConnector!=null) return getConnectorImpl().getSettingsSummary(); else - return TerminalMessages.NotInitialized; + return TerminalMessages.NotInitialized; } public boolean isLocalEcho() { return getConnectorImpl().isLocalEcho(); From c7784b2cfbac07aa7407fc4a17a4d479a1d5d9f2 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 16:09:43 +0000 Subject: [PATCH 281/843] [200541] Update Javadocs --- .../terminal/connector/TerminalConnector.java | 19 ++++++++----- .../api/provider/TerminalConnectorImpl.java | 28 +++++++++++++------ 2 files changed, 31 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 869b5ded7c2..79b901bfedd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -15,8 +15,9 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; /** - * A terminal connector instance, also known as terminal connection type. - * + * An {@link ITerminalConnector} instance, also known as terminal connection + * type, for maintaining a single terminal connection. + * * It provides all terminal connector functions that can be provided by static * markup without loading the actual implementation class. The actual * {@link TerminalConnectorImpl} implementation class is lazily loaded by the @@ -26,7 +27,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * {@link #getId()}, {@link #getName()}, {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)}, * {@link #getAdapter(Class)} - * + * * @noextend This class is not intended to be subclassed by clients. * @noinstantiate This class is not intended to be instantiated by clients. * Clients can get terminal connector instances through the @@ -51,7 +52,7 @@ public class TerminalConnector implements ITerminalConnector { TerminalConnectorImpl makeConnector() throws Exception; } /** - * + * The factory for creating impl instances. */ private final TerminalConnector.Factory fTerminalConnectorFactory; /** @@ -77,9 +78,13 @@ public class TerminalConnector implements ITerminalConnector { */ private ISettingsStore fStore; /** - * @param terminalConnectorFactory - * @param id - * @param name + * Constructor for the terminal connector. + * + * @param terminalConnectorFactory Factory for lazily instantiating the + * TerminalConnectorImpl when needed. + * @param id terminal connector ID. The connector is publicly known under + * this ID. + * @param name translatable name to display the connector in the UI. */ public TerminalConnector(TerminalConnector.Factory terminalConnectorFactory, String id, String name) { fTerminalConnectorFactory = terminalConnectorFactory; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 0edf1980127..50359d45733 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -24,12 +24,19 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; * @since org.eclipse.tm.terminal 2.0 */ public abstract class TerminalConnectorImpl { + /** - * Called once after the constructor - * @throws Exception + * Initialize this connector. This is called once after the constructor, in + * order to perform any required initializations such as loading required + * native libraries. Any work that may lead to runtime exceptions should be + * done in this method rather than in the constructor. + * + * @throws Exception when the connector fails to initialize (due to missing + * required libraries, for instance). */ public void initialize() throws Exception { } + /** * Connect using the current state of the settings. * @param control Used to inform the UI about state changes and messages from the connection. @@ -79,18 +86,21 @@ public abstract class TerminalConnectorImpl { * store the state of the connection. */ abstract public void load(ISettingsStore store); + /** - * When the view or dialog containing the terminal is closed, - * the state of the connection is saved into the settings store store - * @param store + * When the view or dialog containing the terminal is closed, the state of + * the connection is saved into the settings store store + * + * @param store the store for persisting settings. */ abstract public void save(ISettingsStore store); /** - * Notify the remote site that the size of the terminal has changed. - * @param newWidth - * @param newHeight - */ + * Notify the remote site that the size of the terminal has changed. + * + * @param newWidth the new width in characters. + * @param newHeight the new height in characters. + */ public void setTerminalSize(int newWidth, int newHeight) { } } From b3c0bbc1d58bf35600ab18577fe9dc6617bde200 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 16:22:14 +0000 Subject: [PATCH 282/843] [cleanup] Fix Copyright --- .../terminal/connector/TerminalConnector.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 79b901bfedd..091b549bbc8 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -1,3 +1,14 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [200541] Extract from TerminalConnectorExtension.TerminalConnectorProxy + *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; import java.io.OutputStream; From b0532a654c1b8d01fb0a00873cd6e38053973117 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 16:31:46 +0000 Subject: [PATCH 283/843] [cleanup] Fix copyright dates --- .../eclipse/tm/internal/terminal/serial/SerialConnector.java | 4 ++-- .../org/eclipse/tm/internal/terminal/ssh/SshConnector.java | 4 ++-- .../eclipse/tm/internal/terminal/telnet/TelnetConnection.java | 2 +- .../eclipse/tm/internal/terminal/telnet/TelnetConnector.java | 2 +- .../tm/internal/terminal/connector/TerminalConnectorTest.java | 2 +- .../tm/internal/terminal/speedtest/SpeedTestConnector.java | 2 +- .../eclipse/tm/internal/terminal/test/ui/VT100DataSource.java | 4 ++-- .../src/org/eclipse/tm/internal/terminal/view/PageBook.java | 2 +- .../org/eclipse/tm/internal/terminal/view/SettingsStore.java | 2 +- .../tm/internal/terminal/view/TerminalSettingsDlg.java | 2 +- .../org/eclipse/tm/internal/terminal/view/ViewMessages.java | 2 +- .../eclipse/tm/internal/terminal/view/ViewMessages.properties | 4 ++-- .../tm/internal/terminal/control/ITerminalViewControl.java | 4 ++-- .../internal/terminal/control/TerminalViewControlFactory.java | 2 +- .../terminal/control/impl/ITerminalControlForText.java | 4 ++-- .../tm/internal/terminal/control/impl/TerminalMessages.java | 2 +- .../terminal/control/impl/TerminalMessages.properties | 2 +- .../eclipse/tm/internal/terminal/model/TerminalTextData.java | 2 +- .../internal/terminal/provisional/api/ITerminalControl.java | 2 +- .../terminal/provisional/api/TerminalConnectorExtension.java | 2 +- .../eclipse/tm/internal/terminal/textcanvas/GridCanvas.java | 2 +- .../tm/internal/terminal/textcanvas/TextLineRenderer.java | 2 +- .../tm/internal/terminal/textcanvas/VirtualCanvas.java | 2 +- .../src/org/eclipse/tm/terminal/model/ITerminalTextData.java | 4 ++-- .../eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java | 4 ++-- 25 files changed, 33 insertions(+), 33 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index b3dc40d507e..948a12a96a8 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -230,4 +230,4 @@ public class SerialConnector extends TerminalConnectorImpl { public void save(ISettingsStore store) { fSettings.save(store); } -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index b379221e862..4a60b660312 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -123,4 +123,4 @@ public class SshConnector extends TerminalConnectorImpl { fWidth=-1; fHeight=-1; } -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 6453add3e9f..50e53e8f000 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index a792a5fa242..0784cc1bb57 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 8588232e7d4..7dca356a5fb 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index 8aab9125eda..c3ce00c35c0 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java index 7a072837121..96f63ed4339 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -113,4 +113,4 @@ final class VT100DataSource implements IDataSource { } return 80; } -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java index abb3283b825..6b653236462 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index 37e215eb306..f74f4a24b79 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 4bac655bd79..9267b416b26 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index 707bd83e376..f294571a348 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index 8d13a68748a..e08f1cdd442 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -34,4 +34,4 @@ STATE_OPENED = OPENED STATE_CLOSED = CLOSED CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} -CONNECTOR_NOT_AVAILABLE = Connector {0} not available! \ No newline at end of file +CONNECTOR_NOT_AVAILABLE = Connector {0} not available! diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index c7a59f98553..e02051ce309 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -76,4 +76,4 @@ public interface ITerminalViewControl { public void setBufferLineLimit(int bufferLineLimit); boolean isScrollLock(); void setScrollLock(boolean on); -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 1968afd4fd5..69e11952144 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index f9784c645bd..a088eb847d5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -33,4 +33,4 @@ public interface ITerminalControlForText { OutputStream getOutputStream(); -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index a7aa65abad4..a54f02e6d25 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index 1d26751782e..d433b8fe358 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index bfa4f2fde5a..b8131aa9e13 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index de6b7ce2ab3..73e33130988 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 3e26e6abdbc..ee14c8117a6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java index 522b29db5d2..491406f1e66 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 06f0069b28a..9aa6ddc1290 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 080188023d9..f89e988d856 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java index 23eeac5716f..3b2c9ad5932 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -149,4 +149,4 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { void setCursorLine(int line); void setCursorColumn(int column); -} \ No newline at end of file +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java index 652e1041407..d7da1963f07 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -220,4 +220,4 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { */ ITerminalTextData getTerminalTextData(); -} \ No newline at end of file +} From 58774da28546a1537fff04f0b60627f554296b73 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 17:07:27 +0000 Subject: [PATCH 284/843] [cleanup] Update Javadocs --- .../terminal/control/impl/TerminalInputStream.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java index f0e0aad8078..ff19ef56dff 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java @@ -120,8 +120,11 @@ public class TerminalInputStream extends InputStream { } /** * Writes a single byte to the buffer. Blocks if the buffer is full. - * @param b - * @throws InterruptedException + * + * @param b the byte to write + * @throws InterruptedException when the Thread is interrupted while + * waiting for the buffer to become available because it was + * full */ public synchronized void write(byte b) throws InterruptedException { while (fUsedSlots == fBuffer.length) @@ -136,8 +139,10 @@ public class TerminalInputStream extends InputStream { } /** * Read a single byte. Blocks until a byte is available. + * * @return a byte from the buffer - * @throws InterruptedException + * @throws InterruptedException when the Thread is interrupted while + * waiting for the buffer to be filled with a readable byte */ public synchronized byte read() throws InterruptedException { while (fUsedSlots == 0) From 3191d307c6a5a4aaa08a74d8d4321c8a1e338247 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 17:07:49 +0000 Subject: [PATCH 285/843] [cleanup] Update Javadocs --- .../internal/terminal/control/impl/TerminalInputStream.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java index ff19ef56dff..8bcdf44cfb8 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 1996, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -139,7 +139,7 @@ public class TerminalInputStream extends InputStream { } /** * Read a single byte. Blocks until a byte is available. - * + * * @return a byte from the buffer * @throws InterruptedException when the Thread is interrupted while * waiting for the buffer to be filled with a readable byte From 440d7fea444c2ea932dfa86db4553e3e3cb80d20 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Apr 2008 17:38:42 +0000 Subject: [PATCH 286/843] [225792][api][breaking] Rename SshConnector.getTelnetSettings() to getSshSettings() --- .../terminal/serial/SerialConnector.java | 40 +++++++++-------- .../internal/terminal/ssh/SshConnection.java | 43 ++++++++++--------- .../internal/terminal/ssh/SshConnector.java | 27 +++++++----- 3 files changed, 61 insertions(+), 49 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 948a12a96a8..f4f7ead640f 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalControl + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] Don't connect if already connecting * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect @@ -45,7 +45,7 @@ public class SerialConnector extends TerminalConnectorImpl { private SerialSettings fSettings; private SerialConnectWorker fConnectWorker = null; private volatile boolean fDisconnectGoingOn = false; - + public SerialConnector() { } public SerialConnector(SerialSettings settings) { @@ -53,7 +53,7 @@ public class SerialConnector extends TerminalConnectorImpl { } public void initialize() throws Exception { try { - fSettings=new SerialSettings(); + fSettings=new SerialSettings(); } catch (NoClassDefFoundError e) { // tell the user how to install the library throw new CoreException(new Status(IStatus.WARNING,Activator.PLUGIN_ID,0, SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); @@ -63,7 +63,7 @@ public class SerialConnector extends TerminalConnectorImpl { Logger.log("entered."); //$NON-NLS-1$ synchronized(this) { if (fConnectWorker!=null || fDisconnectGoingOn) { - //avoid multiple background connect/disconnect threads at the same time + //avoid multiple background connect/disconnect threads at the same time return; } fConnectWorker = new SerialConnectWorker(this, control); @@ -73,7 +73,7 @@ public class SerialConnector extends TerminalConnectorImpl { fConnectWorker.start(); } /** - * Indicate that the connectWorker is finished. + * Indicate that the connectWorker is finished. */ void doneConnect() { synchronized(this) { @@ -83,7 +83,7 @@ public class SerialConnector extends TerminalConnectorImpl { public void disconnect() { Logger.log("entered."); //$NON-NLS-1$ synchronized(this) { - //avoid multiple background connect/disconnect threads at the same time + //avoid multiple background connect/disconnect threads at the same time if (fConnectWorker!=null) { fConnectWorker.interrupt(); return; @@ -92,7 +92,7 @@ public class SerialConnector extends TerminalConnectorImpl { } fDisconnectGoingOn = true; } - + // Fix for SPR 112422. When output is being received from the serial port, the // below call to removePortOwnershipListener() attempts to lock the serial port // object, but that object is already locked by another Terminal view thread @@ -105,7 +105,7 @@ public class SerialConnector extends TerminalConnectorImpl { // The solution is to spawn a short-lived worker thread that calls // removePortOwnershipListener(), thus preventing the display thread from // deadlocking with the other Terminal view thread. - + new Thread("Terminal View Serial Port Disconnect Worker") //$NON-NLS-1$ { public void run() { @@ -118,9 +118,9 @@ public class SerialConnector extends TerminalConnectorImpl { Logger.logException(e); } } - + if (getSerialPort() != null) { - //Event listener is removed as part of close(), + //Event listener is removed as part of close(), //but exceptions need to be caught to ensure that close() really succeeds try { getSerialPort().removeEventListener(); @@ -131,7 +131,7 @@ public class SerialConnector extends TerminalConnectorImpl { Logger.log("Calling close() on serial port ..."); //$NON-NLS-1$ getSerialPort().close(); } - + if (getInputStream() != null) { try { getInputStream().close(); @@ -139,7 +139,7 @@ public class SerialConnector extends TerminalConnectorImpl { Logger.logException(exception); } } - + if (getOutputStream() != null) { try { getOutputStream().close(); @@ -147,7 +147,7 @@ public class SerialConnector extends TerminalConnectorImpl { Logger.logException(exception); } } - + setSerialPortIdentifier(null); cleanSerialPort(); setSerialPortHandler(null); @@ -179,11 +179,11 @@ public class SerialConnector extends TerminalConnectorImpl { public void setTerminalSize(int newWidth, int newHeight) { // TODO } - + protected SerialPort getSerialPort() { return fSerialPort; } - + /** * sets the socket to null */ @@ -192,9 +192,9 @@ public class SerialConnector extends TerminalConnectorImpl { setInputStream(null); setOutputStream(null); } - + protected void setSerialPort(SerialPort serialPort) throws IOException { - cleanSerialPort(); + cleanSerialPort(); if(serialPort!=null) { fSerialPort = serialPort; setOutputStream(serialPort.getOutputStream()); @@ -214,9 +214,13 @@ public class SerialConnector extends TerminalConnectorImpl { SerialPortHandler getSerialPortHandler() { return fTerminalSerialPortHandler; } + /** + * Return the Serial Settings. + * + * @return the settings for a concrete connection. + */ public ISerialSettings getSerialSettings() { return fSettings; - } public ISettingsPage makeSettingsPage() { return new SerialSettingsPage(fSettings); diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 04c27793f29..78694c513f2 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -1,19 +1,20 @@ /******************************************************************************* * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API + * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API * - copied code from org.eclipse.team.cvs.ssh2/JSchSession (Copyright IBM) * Martin Oberhuber (Wind River) - [198790] make SSH createSession() protected * Mikhail Kalugin - [201864] Fix Terminal SSH keyboard interactive authentication * Martin Oberhuber (Wind River) - [155026] Add keepalives for SSH connection * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives + * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -86,12 +87,12 @@ class SshConnection extends Thread { public void run() { try { - int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; - int nKeepalive = fConn.getTelnetSettings().getKeepalive() * 1000; - String host = fConn.getTelnetSettings().getHost(); - String user = fConn.getTelnetSettings().getUser(); - String password = fConn.getTelnetSettings().getPassword(); - int port=fConn.getTelnetSettings().getPort(); + int nTimeout = fConn.getSshSettings().getTimeout() * 1000; + int nKeepalive = fConn.getSshSettings().getKeepalive() * 1000; + String host = fConn.getSshSettings().getHost(); + String user = fConn.getSshSettings().getUser(); + String password = fConn.getSshSettings().getPassword(); + int port = fConn.getSshSettings().getPort(); ////Giving a connectionId could be the index into a local ////Store where passwords are stored @@ -102,7 +103,7 @@ class SshConnection extends Thread { //UserInfo ui=new MyUserInfo(connectionId, user, password); UserInfo ui=new MyUserInfo(null, user, password); - Session session = createSession(user, password, host, port, + Session session = createSession(user, password, host, port, ui, new NullProgressMonitor()); //java.util.Hashtable config=new java.util.Hashtable(); @@ -137,7 +138,7 @@ class SshConnection extends Thread { } catch (IOException e) { connectFailed(e.getMessage(),e.getMessage()); } finally { - + } } synchronized void setChannel(Channel channel) { @@ -177,7 +178,7 @@ class SshConnection extends Thread { } return display; } - + private static class MyUserInfo implements UserInfo, UIKeyboardInteractive { private final String fConnectionId; private final String fUser; @@ -198,10 +199,10 @@ class SshConnection extends Thread { final boolean[] retval = new boolean[1]; Display.getDefault().syncExec(new Runnable() { public void run() { - retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); + retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); } }); - return retval[0]; + return retval[0]; } private String promptSecret(final String message) { final String[] retval = new String[1]; @@ -240,7 +241,7 @@ class SshConnection extends Thread { } }); } - public String[] promptKeyboardInteractive(final String destination, + public String[] promptKeyboardInteractive(final String destination, final String name, final String instruction, final String[] prompt, final boolean[] echo) { @@ -257,14 +258,14 @@ class SshConnection extends Thread { final String[][] finResult = new String[1][]; getStandardDisplay().syncExec(new Runnable() { public void run() { - KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, + KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, fConnectionId, destination, name, instruction, prompt, echo); dialog.open(); finResult[0]=dialog.getResult(); } }); String[] result=finResult[0]; - if (result == null) + if (result == null) return null; // canceled if (result.length == 1 && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ fPassword = result[0]; diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 4a60b660312..9485405c1d8 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -1,13 +1,14 @@ /******************************************************************************* * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -59,7 +60,7 @@ public class SshConnector extends TerminalConnectorImpl { Logger.logException(exception); } } - + if (getOutputStream() != null) { try { getOutputStream().close(); @@ -94,9 +95,15 @@ public class SshConnector extends TerminalConnectorImpl { } public void setState(TerminalState state) { fControl.setState(state); - + } - public ISshSettings getTelnetSettings() { + /** + * Return the SSH Settings. + * + * @return the settings for a concrete connection. + * @since org.eclipse.tm.terminal.ssh 2.0 renamed from getTelnetSettings() + */ + public ISshSettings getSshSettings() { return fSettings; } public ISettingsPage makeSettingsPage() { @@ -107,7 +114,7 @@ public class SshConnector extends TerminalConnectorImpl { } public void load(ISettingsStore store) { fSettings.load(store); - + } public void save(ISettingsStore store) { fSettings.save(store); From 48ef25f7c3730be95733b728517f7a4a0ad7c0d7 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 5 Apr 2008 00:24:14 +0000 Subject: [PATCH 287/843] bug 225853: [terminal][api][breaking] Abstract base class TerminalConnectorImpl should provide more default functionality https://bugs.eclipse.org/bugs/show_bug.cgi?id=225853 Applied patch by Martin Oberhuber --- .../terminal/serial/SerialConnector.java | 19 ++-- .../internal/terminal/ssh/SshConnector.java | 24 ++--- .../terminal/telnet/TelnetConnector.java | 32 +++---- .../connector/TerminalConnectorTest.java | 32 ++++--- .../speedtest/SpeedTestConnector.java | 27 ++---- .../terminal/connector/TerminalConnector.java | 15 +-- .../api/provider/TerminalConnectorImpl.java | 91 +++++++++++++++---- 7 files changed, 128 insertions(+), 112 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index f4f7ead640f..9d431499080 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] Don't connect if already connecting * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -38,7 +39,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect public class SerialConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; - private ITerminalControl fControl; private SerialPort fSerialPort; private CommPortIdentifier fSerialPortIdentifier; private SerialPortHandler fTerminalSerialPortHandler; @@ -60,7 +60,7 @@ public class SerialConnector extends TerminalConnectorImpl { } } public void connect(ITerminalControl control) { - Logger.log("entered."); //$NON-NLS-1$ + super.connect(control); synchronized(this) { if (fConnectWorker!=null || fDisconnectGoingOn) { //avoid multiple background connect/disconnect threads at the same time @@ -68,7 +68,6 @@ public class SerialConnector extends TerminalConnectorImpl { } fConnectWorker = new SerialConnectWorker(this, control); } - fControl=control; fControl.setState(TerminalState.CONNECTING); fConnectWorker.start(); } @@ -80,8 +79,7 @@ public class SerialConnector extends TerminalConnectorImpl { fConnectWorker = null; } } - public void disconnect() { - Logger.log("entered."); //$NON-NLS-1$ + public void doDisconnect() { synchronized(this) { //avoid multiple background connect/disconnect threads at the same time if (fConnectWorker!=null) { @@ -140,9 +138,9 @@ public class SerialConnector extends TerminalConnectorImpl { } } - if (getOutputStream() != null) { + if (getTerminalToRemoteStream() != null) { try { - getOutputStream().close(); + getTerminalToRemoteStream().close(); } catch (Exception exception) { Logger.logException(exception); } @@ -159,12 +157,11 @@ public class SerialConnector extends TerminalConnectorImpl { } }.start(); - fControl.setState(TerminalState.CLOSED); } public InputStream getInputStream() { return fInputStream; } - public OutputStream getOutputStream() { + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } private void setInputStream(InputStream inputStream) { @@ -173,13 +170,9 @@ public class SerialConnector extends TerminalConnectorImpl { private void setOutputStream(OutputStream outputStream) { fOutputStream = outputStream; } - public boolean isLocalEcho() { - return false; - } public void setTerminalSize(int newWidth, int newHeight) { // TODO } - protected SerialPort getSerialPort() { return fSerialPort; } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 9485405c1d8..0ebfb5968e3 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -19,7 +20,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; import com.jcraft.jsch.ChannelShell; @@ -28,7 +28,6 @@ import com.jcraft.jsch.JSch; public class SshConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; - private ITerminalControl fControl; private JSch fJsch; private ChannelShell fChannel; private SshConnection fConnection; @@ -45,13 +44,11 @@ public class SshConnector extends TerminalConnectorImpl { fJsch=new JSch(); } public void connect(ITerminalControl control) { - Logger.log("entered."); //$NON-NLS-1$ - fControl=control; + super.connect(control); fConnection = new SshConnection(this,control); fConnection.start(); } - synchronized public void disconnect() { - Logger.log("entered."); //$NON-NLS-1$ + synchronized public void doDisconnect() { fConnection.disconnect(); if (getInputStream() != null) { try { @@ -61,17 +58,13 @@ public class SshConnector extends TerminalConnectorImpl { } } - if (getOutputStream() != null) { + if (getTerminalToRemoteStream() != null) { try { - getOutputStream().close(); + getTerminalToRemoteStream().close(); } catch (Exception exception) { Logger.logException(exception); } } - setState(TerminalState.CLOSED); - } - public boolean isLocalEcho() { - return false; } public void setTerminalSize(int newWidth, int newHeight) { if(fChannel!=null && (newWidth!=fWidth || newHeight!=fHeight)) { @@ -84,7 +77,7 @@ public class SshConnector extends TerminalConnectorImpl { public InputStream getInputStream() { return fInputStream; } - public OutputStream getOutputStream() { + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } void setInputStream(InputStream inputStream) { @@ -93,10 +86,6 @@ public class SshConnector extends TerminalConnectorImpl { void setOutputStream(OutputStream outputStream) { fOutputStream = outputStream; } - public void setState(TerminalState state) { - fControl.setState(state); - - } /** * Return the SSH Settings. * @@ -114,7 +103,6 @@ public class SshConnector extends TerminalConnectorImpl { } public void load(ISettingsStore store) { fSettings.load(store); - } public void save(ISettingsStore store) { fSettings.save(store); diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 0784cc1bb57..4600cd7eac5 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalControl + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -44,19 +45,14 @@ public class TelnetConnector extends TerminalConnectorImpl { public TelnetConnector(TelnetSettings settings) { fSettings=settings; } - public void initialize() throws Exception { - } public void connect(ITerminalControl control) { - Logger.log("entered."); //$NON-NLS-1$ - fControl=control; + super.connect(control); fWidth=-1; fHeight=-1; TelnetConnectWorker worker = new TelnetConnectWorker(this,control); worker.start(); } - public void disconnect() { - Logger.log("entered."); //$NON-NLS-1$ - + public void doDisconnect() { if (getSocket() != null) { try { getSocket().close(); @@ -64,7 +60,7 @@ public class TelnetConnector extends TerminalConnectorImpl { Logger.logException(exception); } } - + if (getInputStream() != null) { try { getInputStream().close(); @@ -72,16 +68,15 @@ public class TelnetConnector extends TerminalConnectorImpl { Logger.logException(exception); } } - - if (getOutputStream() != null) { + + if (getTerminalToRemoteStream() != null) { try { - getOutputStream().close(); + getTerminalToRemoteStream().close(); } catch (Exception exception) { Logger.logException(exception); } } cleanSocket(); - setState(TerminalState.CLOSED); } public boolean isLocalEcho() { if(fTelnetConnection!=null) @@ -99,7 +94,7 @@ public class TelnetConnector extends TerminalConnectorImpl { public InputStream getInputStream() { return fInputStream; } - public OutputStream getOutputStream() { + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } private void setInputStream(InputStream inputStream) { @@ -111,7 +106,7 @@ public class TelnetConnector extends TerminalConnectorImpl { Socket getSocket() { return fSocket; } - + /** * sets the socket to null */ @@ -120,7 +115,7 @@ public class TelnetConnector extends TerminalConnectorImpl { setInputStream(null); setOutputStream(null); } - + void setSocket(Socket socket) throws IOException { if(socket==null) { cleanSocket(); @@ -132,18 +127,16 @@ public class TelnetConnector extends TerminalConnectorImpl { } public void setTelnetConnection(TelnetConnection connection) { - fTelnetConnection=connection; + fTelnetConnection=connection; } public void displayTextInTerminal(String text) { fControl.displayTextInTerminal(text); } public OutputStream getRemoteToTerminalOutputStream () { return fControl.getRemoteToTerminalOutputStream(); - } public void setState(TerminalState state) { fControl.setState(state); - } public ITelnetSettings getTelnetSettings() { return fSettings; @@ -156,7 +149,6 @@ public class TelnetConnector extends TerminalConnectorImpl { } public void load(ISettingsStore store) { fSettings.load(store); - } public void save(ISettingsStore store) { fSettings.save(store); diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 7dca356a5fb..c3e23849272 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -1,12 +1,13 @@ /******************************************************************************* * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -36,7 +37,7 @@ public class TerminalConnectorTest extends TestCase { public void put(String key, String value) { } - + } public static class TerminalControlMock implements ITerminalControl { @@ -83,13 +84,14 @@ public class TerminalConnectorTest extends TestCase { fHeight=newHeight; } public void connect(ITerminalControl control) { - fControl=control; + super.connect(control); + fControl = control; } - public void disconnect() { + public void doDisconnect() { fDisconnect=true; } - public OutputStream getOutputStream() { + public OutputStream getTerminalToRemoteStream() { return null; } @@ -126,7 +128,7 @@ public class TerminalConnectorTest extends TestCase { public TerminalConnectorImpl makeConnector() throws Exception { // TODO Auto-generated method stub return fConnector; - } + } } public void testGetInitializationErrorMessage() { TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); @@ -139,7 +141,7 @@ public class TerminalConnectorTest extends TestCase { }}),"xID","xName"); c.connect(new TerminalControlMock()); assertEquals("FAILED",c.getInitializationErrorMessage()); - + } public void testGetIdAndName() { @@ -172,7 +174,7 @@ public class TerminalConnectorTest extends TestCase { assertFalse(c.isInitialized()); c.connect(new TerminalControlMock()); assertTrue(c.isInitialized()); - + } public void testDisconnect() { @@ -226,7 +228,7 @@ public class TerminalConnectorTest extends TestCase { assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); c.save(s); - assertSame(s,mock.fSaveStore); + assertSame(s,mock.fSaveStore); } public void testMakeSettingsPage() { @@ -239,7 +241,7 @@ public class TerminalConnectorTest extends TestCase { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); c.setTerminalSize(100, 200); - + } public void testGetAdapter() { diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index c3ce00c35c0..88e9b5a5d13 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -1,12 +1,13 @@ /******************************************************************************* * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.speedtest; @@ -27,12 +28,11 @@ public class SpeedTestConnector extends TerminalConnectorImpl { final SpeedTestSettings fSettings=new SpeedTestSettings(); InputStream fInputStream; OutputStream fOutputStream; - ITerminalControl fControl; SpeedTestConnection fConnection; public SpeedTestConnector() { } synchronized public void connect(ITerminalControl control) { - fControl=control; + super.connect(control); fControl.setState(TerminalState.CONNECTING); String file=fSettings.getInputFile(); try { @@ -48,7 +48,7 @@ public class SpeedTestConnector extends TerminalConnectorImpl { fConnection.start(); } - synchronized public void disconnect() { + synchronized public void doDisconnect() { if(fConnection!=null){ fConnection.interrupt(); fConnection=null; @@ -69,13 +69,12 @@ public class SpeedTestConnector extends TerminalConnectorImpl { } } fOutputStream=null; - fControl.setState(TerminalState.CLOSED); } synchronized public InputStream getInputStream() { return fInputStream; } - synchronized public OutputStream getOutputStream() { + synchronized public OutputStream getTerminalToRemoteStream() { return fOutputStream; } @@ -87,13 +86,8 @@ public class SpeedTestConnector extends TerminalConnectorImpl { //throw new RuntimeException("XXX problems\nSpeedTest\nXXX!"); } - public boolean isLocalEcho() { - return false; - } - public void load(ISettingsStore store) { fSettings.load(store); - } public ISettingsPage makeSettingsPage() { @@ -102,7 +96,6 @@ public class SpeedTestConnector extends TerminalConnectorImpl { public void save(ISettingsStore store) { fSettings.save(store); - } public void setTerminalSize(int newWidth, int newHeight) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 091b549bbc8..b2439f6c204 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [200541] Extract from TerminalConnectorExtension.TerminalConnectorProxy + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -123,23 +124,15 @@ public class TerminalConnector implements ITerminalConnector { fException=e; fConnector=new TerminalConnectorImpl(){ public void connect(ITerminalControl control) { + // super.connect(control); control.setState(TerminalState.CLOSED); control.setMsg(getInitializationErrorMessage()); } - public void disconnect() { - } - public OutputStream getOutputStream() { + public OutputStream getTerminalToRemoteStream() { return null; } public String getSettingsSummary() { return null; - } - public void load(ISettingsStore store) { - } - public ISettingsPage makeSettingsPage() { - return null; - } - public void save(ISettingsStore store) { }}; // that's the place where we log the exception Logger.logException(e); @@ -160,7 +153,7 @@ public class TerminalConnector implements ITerminalConnector { getConnectorImpl().disconnect(); } public OutputStream getTerminalToRemoteStream() { - return getConnectorImpl().getOutputStream(); + return getConnectorImpl().getTerminalToRemoteStream(); } public String getSettingsSummary() { if(fConnector!=null) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 50359d45733..27e5557339d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api.provider; @@ -15,6 +16,8 @@ import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * Abstract base class for all terminal connector implementations to be @@ -25,6 +28,12 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; */ public abstract class TerminalConnectorImpl { + /** + * The TerminalControl associated with this connector. + * Required for advertising state changes when needed. + */ + protected ITerminalControl fControl; + /** * Initialize this connector. This is called once after the constructor, in * order to perform any required initializations such as loading required @@ -39,22 +48,44 @@ public abstract class TerminalConnectorImpl { /** * Connect using the current state of the settings. - * @param control Used to inform the UI about state changes and messages from the connection. + * + * This method is designed to be overridden by actual implementations, in + * order to open the streams required for communicating with the remote + * side. Extenders must call super.connect(control) as the + * first thing they are doing. + * + * @param control Used to inform the UI about state changes and messages + * from the connection. */ - abstract public void connect(ITerminalControl control); + public void connect(ITerminalControl control) { + Logger.log("entered."); //$NON-NLS-1$ + fControl = control; + } /** - * Disconnect if connected. Else do nothing. - * Has to set the state of the {@link ITerminalControl} + * Disconnect if connected. Else do nothing. Has to set the state of the + * {@link ITerminalControl} when finished disconnecting. */ - abstract public void disconnect(); + public final void disconnect() { + Logger.log("entered."); //$NON-NLS-1$ + doDisconnect(); + fControl.setState(TerminalState.CLOSED); + } + + /** + * Disconnect if connected. Else do nothing. Clients should override to + * perform any extra work needed for disconnecting. + */ + protected void doDisconnect() { + // Do nothing by default + } /** * @return the terminal to remote stream (bytes written to this stream will * be sent to the remote site). For the stream in the other direction (remote to * terminal see {@link ITerminalControl#getRemoteToTerminalOutputStream()} */ - abstract public OutputStream getOutputStream(); + abstract public OutputStream getTerminalToRemoteStream(); /** * @return A string that represents the settings of the connection. This representation @@ -63,41 +94,65 @@ public abstract class TerminalConnectorImpl { abstract public String getSettingsSummary(); /** - * @return true if a local echo is needed. - * TODO:Michael Scharf: this should be handed within the connection.... + * Test if local echo is needed. The default implementation returns + * false. Override to modify this behavior. + * + * @return true if a local echo is needed. TODO:Michael Scharf: this should + * be handed within the connection.... */ public boolean isLocalEcho() { return false; } /** - * @return a new page that can be used in a dialog to setup this connection. - * The dialog should persist its settings with the {@link #load(ISettingsStore)} - * and {@link #save(ISettingsStore)} methods. + * Return a settings page for configuring this connector, or + * null if it cannot be configured. * + * The dialog should persist its settings with the + * {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)} methods. + * + * @return a new page that can be used in a dialog to setup this connection, + * or null. */ - abstract public ISettingsPage makeSettingsPage(); + public ISettingsPage makeSettingsPage() { + return null; + } /** - * Load the state of this connection. Is typically called before + * Load the state or settings of this connection. Is typically called before * {@link #connect(ITerminalControl)}. * - * @param store a string based data store. Short keys like "foo" can be used to - * store the state of the connection. + * Connectors that have nothing to configure do not need to implement this. + * Those terminals that do have configuration (which they expose via + * {@link #makeSettingsPage()} need to override this method to load + * settings. + * + * @param store a string based data store. Short keys like "foo" can be used + * to store the state of the connection. */ - abstract public void load(ISettingsStore store); + public void load(ISettingsStore store) { + // do nothing by default + } /** * When the view or dialog containing the terminal is closed, the state of - * the connection is saved into the settings store store + * the connection is saved into the settings store store. + * + * Connectors that have no state or settings to persist do not need to + * override this. Others should override to persist their settings. * * @param store the store for persisting settings. */ - abstract public void save(ISettingsStore store); + public void save(ISettingsStore store) { + // do nothing by default + } /** * Notify the remote site that the size of the terminal has changed. * + * Concrete connectors should override this if they have the possibility to + * inform the remote about changed terminal size. + * * @param newWidth the new width in characters. * @param newHeight the new height in characters. */ From dc038f7d6cbb63fd299c3439aae7c6db709fd9c7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 9 Apr 2008 19:55:57 +0000 Subject: [PATCH 288/843] [cleanup] organize manifests --- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index aaa76488f5c..86c3cc0812e 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -11,10 +11,12 @@ Require-Bundle: org.junit, org.eclipse.jface, org.eclipse.core.runtime Bundle-RequiredExecutionEnvironment: J2SE-1.4 -Export-Package: org.eclipse.tm.internal.terminal.emulator;x-internal:=true, +Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, + org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, org.eclipse.tm.internal.terminal.speedtest;x-internal:=true, org.eclipse.tm.internal.terminal.test.terminalcanvas;x-internal:=true, org.eclipse.tm.internal.terminal.test.ui;x-internal:=true, org.eclipse.tm.internal.terminal.textcanvas;x-internal:=true, - org.eclipse.tm.terminal.model + org.eclipse.tm.terminal.model, + org.eclipse.tm.terminal.test From 493f9cc6fc061f09243c523bfa492fbe64efeadf Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 9 Apr 2008 21:59:37 +0000 Subject: [PATCH 289/843] [206884] Update Terminal Ownership ID to "org.eclipse.tm.terminal.serial" --- .../terminal/serial/SerialConnectWorker.java | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 0685f00a4cf..4d6e1438f0d 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,10 +11,11 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalControl + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [207158] improve error message when port not available * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect + * Martin Oberhuber (Wind River) - [206884] Update Terminal Ownership ID to "org.eclipse.tm.terminal.serial" *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -44,7 +45,7 @@ public class SerialConnectWorker extends Thread { fControl = control; fConn = conn; } - + /** * Adds the named port to the name of known ports to rxtx * @param name @@ -65,7 +66,7 @@ public class SerialConnectWorker extends Thread { boolean sepNeeded=false; // When we add a port to this property, rxtx forgets the // ports it finds by scanning the system. - + // iterate over the known ports and add them to the property Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers(); while (portIdEnum.hasMoreElements()) { @@ -95,13 +96,25 @@ public class SerialConnectWorker extends Thread { // Reinitialize the ports because we have changed the list of known ports CommPortIdentifier.getPortIdentifiers(); } - + + /** + * Return the ID that this connector uses for RXTX Comm Ownership Handling. + * + * Note that this was changed in Terminal 2.0 as per + * https://bugs.eclipse.org/bugs/show_bug.cgi?id=206884 - previous versions + * of the serial terminal connector used a different string, + * "org.eclipse.tm.internal.terminal.serial". + * + * @since org.eclipse.tm.terminal.serial 2.0 + * @return ownership ID, "org.eclipse.tm.terminal.serial" + */ + public static final String getOwnershipId() { + return "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ + } + public void run() { String portName=null; - //Ownership identifier: - //TODO [206884] This is part of API and should be changed for the next release - final String strID = getClass().getPackage().getName(); - //final String strID = "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ + final String strID = getOwnershipId(); SerialPort serialPort = null; try { fControl.setState(TerminalState.OPENED); @@ -110,7 +123,7 @@ public class SerialConnectWorker extends Thread { try { fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); } catch (NoSuchPortException e) { - // let's try + // let's try addPort(portName); fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); } @@ -139,11 +152,11 @@ public class SerialConnectWorker extends Thread { if(msg==null) msg=portName; fControl.displayTextInTerminal("No such port: \"" + msg+"\"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ - + } catch (Exception exception) { Logger.logException(exception); if (serialPort!=null) { - //Event listener is removed as part of close(), + //Event listener is removed as part of close(), //but exceptions need to be caught to ensure that close() really succeeds try { serialPort.removeEventListener(); From a24d8419806c19514c1f0d925488221502ddbd76 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 17:37:14 +0000 Subject: [PATCH 290/843] [168197] Fix Terminal for CDC-1.1/Foundation-1.1 --- org.eclipse.tm.terminal/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 3 +- .../control/CommandInputFieldWithHistory.java | 55 ++++++++++++------- .../terminal/emulator/VT100Emulator.java | 6 +- .../terminal/model/TerminalTextData.java | 12 +++- .../textcanvas/AbstractTextCanvasModel.java | 12 +++- 7 files changed, 65 insertions(+), 31 deletions(-) diff --git a/org.eclipse.tm.terminal/.classpath b/org.eclipse.tm.terminal/.classpath index 52165ecfb58..73022aacf0d 100644 --- a/org.eclipse.tm.terminal/.classpath +++ b/org.eclipse.tm.terminal/.classpath @@ -1,7 +1,7 @@ - + diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index 138063a1c19..64e23de578a 100644 --- a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,12 @@ -#Fri Mar 28 14:14:24 CET 2008 +#Fri Apr 11 02:37:35 CEST 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 4f1a7ce0093..d62bf57e9d5 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -10,7 +10,8 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, + J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index a41fd2b36cb..29b264c4e22 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -1,18 +1,18 @@ /******************************************************************************* * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial implementation * Michael Scharf (Wing River) - [211659] Add field assist to terminal input field * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; @@ -42,10 +42,10 @@ import org.eclipse.ui.fieldassist.ContentAssistCommandAdapter; *

  • *
      Navigate with ARROW_UP,ARROW_DOWN,PAGE_UP,PAGE_DOWN *
        ESC to cancel history editing - *
          History can be edited (by moving up and edit) but changes are - * not persistent (like in bash). - *
            If the same command is entered multiple times in a row, - * only one entry is kept in the history. + *
              History can be edited (by moving up and edit) but changes are + * not persistent (like in bash). + *
                If the same command is entered multiple times in a row, + * only one entry is kept in the history. * * */ @@ -69,10 +69,10 @@ public class CommandInputFieldWithHistory implements ICommandInputField { } return (IContentProposal[]) result.toArray(new IContentProposal[result.size()]); } - + } private static class Proposal implements IContentProposal { - + private final String fContent; private final String fLabel; Proposal(String content, String label) { @@ -82,15 +82,15 @@ public class CommandInputFieldWithHistory implements ICommandInputField { public String getContent() { return fContent; } - + public String getLabel() { return fLabel; } - + public String getDescription() { return null; } - + public int getCursorPosition() { return fContent.length(); } @@ -118,7 +118,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { fMaxSize=maxHistorySize; } /** - * Add a line to the history. + * Add a line to the history. * @param line The line to be added to the history. */ protected void pushLine(String line) { @@ -143,7 +143,20 @@ public class CommandInputFieldWithHistory implements ICommandInputField { fHistory.clear(); if(history==null) return; - fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ + // add history entries separated by '\n' + // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ + // + int i = 0; + int j = history.indexOf('\n'); + while (j > i) { + fHistory.add(history.substring(i, j)); + do { + j++; + } while (j < history.length() && history.charAt(j) == '\n'); + i = j; + j = history.indexOf('\n', i); + } + // } /** * @return the current content of the history buffer and new line separated list @@ -218,7 +231,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { GridData gdata = (GridData) fInputField.getLayoutData(); Rectangle sashRect = fSash.getBounds (); Rectangle containerRect = parent.getClientArea (); - + int h=fInputField.getLineHeight(); // make sure the input filed hight is a multiple of the line height gdata.heightHint = Math.max(((containerRect.height-e.y-sashRect.height)/h)*h,h); @@ -248,7 +261,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { new ContentAssistCommandAdapter( fInputField, new TextContentAdapter(), - new FieldAssist(), + new FieldAssist(), null, null, installDecoration); @@ -295,6 +308,6 @@ public class CommandInputFieldWithHistory implements ICommandInputField { fSash=null; fInputField.dispose(); fInputField=null; - + } } \ No newline at end of file diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index e931e6ee3dd..f43bef9396f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -23,7 +24,6 @@ import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; import java.io.UnsupportedEncodingException; -import java.nio.charset.Charset; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.ControlListener; @@ -839,10 +839,8 @@ public class VT100Emulator implements ControlListener { String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ - OutputStreamWriter streamWriter = new OutputStreamWriter(terminal - .getOutputStream(), Charset.forName("ISO-8859-1")); //$NON-NLS-1$ - try { + OutputStreamWriter streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ streamWriter.write(positionReport, 0, positionReport.length()); streamWriter.flush(); } catch (IOException ex) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index b8131aa9e13..9ec0d1c789c 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -54,7 +55,16 @@ public class TerminalTextData implements ITerminalTextData { buff.append(term.getChar(line, column)); } } - return buff.toString().replaceAll("\000+", ""); //$NON-NLS-1$//$NON-NLS-2$ + // get rid of the empty space at the end of the lines + //return buff.toString().replaceAll("\000+", ""); //$NON-NLS-1$//$NON-NLS-2$ + // + int i = buff.length() - 1; + while (i >= 0 && buff.charAt(i) == '\000') { + i--; + } + buff.setLength(i + 1); + return buff.toString(); + // } /** diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 2232823aac4..5decdabf3d9 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -293,7 +294,14 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { if(line==fSelectionStartLine) text=text.substring(Math.min(fSelectionStartCoumn,text.length())); // get rid of the empty space at the end of the lines - text=text.replaceAll("\000+$",""); //$NON-NLS-1$//$NON-NLS-2$ + // text=text.replaceAll("\000+$",""); //$NON-NLS-1$//$NON-NLS-2$ + // + int i = text.length() - 1; + while (i >= 0 && text.charAt(i) == '\000') { + i--; + } + text = text.substring(0, i + 1); + // // null means space text=text.replace('\000', ' '); } else { From 5c64c3c9c404d77d59c09367831954955fce5d33 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 18:57:46 +0000 Subject: [PATCH 291/843] [168197] Fix Terminal for CDC-1.1/Foundation-1.1 --- org.eclipse.tm.terminal.test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- .../META-INF/MANIFEST.MF | 3 +- .../emulator/VT100EmulatorBackendTest.java | 79 ++++++++++--------- .../model/TerminalTextDataWindowTest.java | 78 +++++++++++------- .../model/TerminalTextTestHelper.java | 40 +++++++--- 6 files changed, 126 insertions(+), 82 deletions(-) diff --git a/org.eclipse.tm.terminal.test/.classpath b/org.eclipse.tm.terminal.test/.classpath index ce73933404a..7cdeb731936 100644 --- a/org.eclipse.tm.terminal.test/.classpath +++ b/org.eclipse.tm.terminal.test/.classpath @@ -1,7 +1,7 @@ - + diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index fb0f754afde..ac884dbd2fc 100644 --- a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,12 @@ -#Sun Mar 16 19:48:21 CET 2008 +#Fri Apr 11 20:49:09 CEST 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 86c3cc0812e..58537c05c52 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -10,7 +10,8 @@ Require-Bundle: org.junit, org.eclipse.swt, org.eclipse.jface, org.eclipse.core.runtime -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, + J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java index b5b927b377a..9e711db970e 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -34,7 +35,7 @@ public class VT100EmulatorBackendTest extends TestCase { protected String toMultiLineText(ITerminalTextDataReadOnly term) { return TerminalTextTestHelper.toMultiLineText(term); } - + protected void fill(ITerminalTextData term, String s) { TerminalTextTestHelper.fill(term,s); } @@ -50,7 +51,7 @@ public class VT100EmulatorBackendTest extends TestCase { * @param actual */ protected void assertEqualsTerm(String expected,String actual) { - assertEquals(expected.replaceAll(" ", "."), actual.replaceAll("\000", ".")); + assertEquals(expected.replace(' ', '.'), actual.replace('\000', '.')); } /** * Used for simple text @@ -91,7 +92,7 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals(3,vt100.getLines()); assertEquals(4,vt100.getColumns()); assertEqualsTerm(s,toMultiLineText(term)); - + vt100.setCursor(0, 2); vt100.setDimensions(2, 4); assertEquals(0, vt100.getCursorLine()); @@ -103,7 +104,7 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals(2, vt100.getCursorColumn()); assertEqualsTerm(s,toMultiLineText(term)); - + vt100.setCursor(0, 3); vt100.setDimensions(5, 2); assertEquals(0, vt100.getCursorLine()); @@ -126,7 +127,7 @@ public class VT100EmulatorBackendTest extends TestCase { ITerminalTextData term=makeITerminalTextData(); IVT100EmulatorBackend vt100=makeBakend(term); vt100.setDimensions(3, 4); - String s = + String s = "aaaa\n" + "bbbb\n" + "cccc\n" + @@ -161,7 +162,7 @@ public class VT100EmulatorBackendTest extends TestCase { "1234\n" + "4 56\n" + "9012",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 1); vt100.insertCharacters(2); @@ -186,7 +187,7 @@ public class VT100EmulatorBackendTest extends TestCase { vt100.setCursor(0, 0); vt100.insertCharacters(14); assertEqualsTerm(" ",toMultiLineText(term)); - + vt100.setDimensions(1, 10); fill(term, "0123456789"); vt100.setCursor(0, 3); @@ -210,7 +211,7 @@ public class VT100EmulatorBackendTest extends TestCase { ITerminalTextData term=makeITerminalTextData(); IVT100EmulatorBackend vt100=makeBakend(term); vt100.setDimensions(3, 4); - String s = + String s = "aaaa\n" + "bbbb\n" + "cccc\n" + @@ -234,7 +235,7 @@ public class VT100EmulatorBackendTest extends TestCase { " \n" + " \n" + " ",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 0); vt100.eraseToEndOfScreen(); @@ -264,7 +265,7 @@ public class VT100EmulatorBackendTest extends TestCase { "0123\n" + "4 \n" + " ",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 4); assertEquals(1,vt100.getCursorLine()); @@ -282,7 +283,7 @@ public class VT100EmulatorBackendTest extends TestCase { "456.\n" + " ",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 5); vt100.eraseToEndOfScreen(); @@ -333,7 +334,7 @@ public class VT100EmulatorBackendTest extends TestCase { ITerminalTextData term=makeITerminalTextData(); IVT100EmulatorBackend vt100=makeBakend(term); vt100.setDimensions(3, 4); - String s = + String s = "aaaa\n" + "bbbb\n" + "cccc\n" + @@ -357,7 +358,7 @@ public class VT100EmulatorBackendTest extends TestCase { " 123\n" + "4567\n" + "8901",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 0); vt100.eraseToCursor(); @@ -387,7 +388,7 @@ public class VT100EmulatorBackendTest extends TestCase { " \n" + " 67\n" + "8901",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 4); vt100.eraseToCursor(); @@ -403,7 +404,7 @@ public class VT100EmulatorBackendTest extends TestCase { " \n" + "8901",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 5); vt100.eraseToCursor(); @@ -470,7 +471,7 @@ public class VT100EmulatorBackendTest extends TestCase { } public void testEraseLine() { - String s = + String s = "abcde\n" + "fghij\n" + "klmno\n" + @@ -496,7 +497,7 @@ public class VT100EmulatorBackendTest extends TestCase { "zABCD\n" + "EFGHI", toMultiLineText(term)); - + vt100.setDimensions(3, 5); fill(term, s); vt100.setCursor(2, 3); @@ -513,7 +514,7 @@ public class VT100EmulatorBackendTest extends TestCase { } public void testEraseLineToEnd() { - String s = + String s = "abcde\n" + "fghij\n" + "klmno\n" + @@ -553,7 +554,7 @@ public class VT100EmulatorBackendTest extends TestCase { "zABCD\n" + "EFGHI", toMultiLineText(term)); - + vt100.setDimensions(3, 5); fill(term, s); vt100.setCursor(2, 3); @@ -569,7 +570,7 @@ public class VT100EmulatorBackendTest extends TestCase { "EFG ", toMultiLineText(term)); vt100.setDimensions(3, 5); fill(term, s); - + vt100.setCursor(2, 4); vt100.eraseLineToEnd(); assertEquals(2,vt100.getCursorLine()); @@ -597,7 +598,7 @@ public class VT100EmulatorBackendTest extends TestCase { } public void testEraseLineToCursor() { - String s = + String s = "abcde\n" + "fghij\n" + "klmno\n" + @@ -637,7 +638,7 @@ public class VT100EmulatorBackendTest extends TestCase { "zABCD\n" + "EFGHI", toMultiLineText(term)); - + vt100.setDimensions(3, 5); fill(term, s); vt100.setCursor(2, 3); @@ -653,7 +654,7 @@ public class VT100EmulatorBackendTest extends TestCase { " I", toMultiLineText(term)); vt100.setDimensions(3, 5); fill(term, s); - + vt100.setCursor(2, 4); vt100.eraseLineToCursor(); assertEquals(2,vt100.getCursorLine()); @@ -789,7 +790,7 @@ public class VT100EmulatorBackendTest extends TestCase { ITerminalTextData term=makeITerminalTextData(); IVT100EmulatorBackend vt100=makeBakend(term); vt100.setDimensions(3, 4); - String s = + String s = "aaaa\n" + "bbbb\n" + "cccc\n" + @@ -824,7 +825,7 @@ public class VT100EmulatorBackendTest extends TestCase { "1234\n" + "467 \n" + "9012",toMultiLineText(term)); - + fill(term, s); vt100.setCursor(1, 1); vt100.deleteCharacters(2); @@ -849,7 +850,7 @@ public class VT100EmulatorBackendTest extends TestCase { vt100.setCursor(0, 0); vt100.deleteCharacters(14); assertEqualsTerm(" ",toMultiLineText(term)); - + vt100.setDimensions(1, 10); fill(term, "0123456789"); vt100.setCursor(0, 3); @@ -861,7 +862,7 @@ public class VT100EmulatorBackendTest extends TestCase { vt100.setCursor(0, 3); vt100.deleteCharacters(2); assertEqualsTerm("01256789 ",toMultiLineText(term)); - + vt100.setDimensions(1, 10); fill(term, "0123456789"); vt100.setCursor(0, 3); @@ -1038,7 +1039,7 @@ public class VT100EmulatorBackendTest extends TestCase { "90a ", toMultiLineText(term)); assertEquals(2,vt100.getCursorLine()); assertEquals(3,vt100.getCursorColumn()); - + vt100.appendString("b"); assertEqualsTerm( "0123\n" + @@ -1047,7 +1048,7 @@ public class VT100EmulatorBackendTest extends TestCase { " ", toMultiLineText(term)); assertEquals(2,vt100.getCursorLine()); assertEquals(0,vt100.getCursorColumn()); - + vt100.appendString("cd"); assertEqualsTerm( "0123\n" + @@ -1056,7 +1057,7 @@ public class VT100EmulatorBackendTest extends TestCase { "cd ", toMultiLineText(term)); assertEquals(2,vt100.getCursorLine()); assertEquals(2,vt100.getCursorColumn()); - + vt100.appendString("efgh"); assertEqualsTerm( "0123\n" + @@ -1066,7 +1067,7 @@ public class VT100EmulatorBackendTest extends TestCase { "gh ", toMultiLineText(term)); assertEquals(2,vt100.getCursorLine()); assertEquals(2,vt100.getCursorColumn()); - + vt100.appendString("ijklmnopqrstuvwx"); assertEqualsTerm( "cdef\n" + @@ -1140,7 +1141,7 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals(2,vt100.getCursorLine()); assertEquals(3,vt100.getCursorColumn()); - + vt100.processNewline(); assertEqualsTerm( "2222\n" + diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java index 0154dad1904..5e739176cba 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java @@ -1,15 +1,18 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; +import java.util.ArrayList; + import org.eclipse.tm.terminal.model.ITerminalTextData; import org.eclipse.tm.terminal.model.LineSegment; import org.eclipse.tm.terminal.model.Style; @@ -37,7 +40,26 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { } private String stripMultiLine(String s) { StringBuffer b=new StringBuffer(); - String[] lines=s.split("\n"); + // String[] lines=s.split("\n"); + // + ArrayList l = new ArrayList(); + int j = 0; + for (int k = 0; k < s.length(); k++) { + if (s.charAt(k) == '\n') { + l.add(s.substring(j, k)); + j = k; + } + } + j = l.size() - 1; + while (j >= 0 && "".equals(l.get(j))) { + j--; + } + String[] lines = new String[j + 1]; + while (j >= 0) { + lines[j] = (String) l.get(j); + j--; + } + // for (int i = 0; i < lines.length; i++) { if(i>0) b.append("\n"); //$NON-NLS-1$ @@ -146,46 +168,46 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { ITerminalTextData term=makeITerminalTextData(); term.setDimensions(8, 8); LineSegment[] segments; - + term.setChars(2, 0,"0123".toCharArray(), s1); term.setChars(2, 4,"abcd".toCharArray(), null); segments=term.getLineSegments(2, 0, term.getWidth()); assertEquals(2, segments.length); assertSegment(0, "0123", s1, segments[0]); assertSegment(4, "abcd", null, segments[1]); - - + + segments=term.getLineSegments(2, 4, term.getWidth()-4); assertEquals(1, segments.length); assertSegment(4, "abcd", null, segments[0]); - + segments=term.getLineSegments(2, 3, 2); assertEquals(2, segments.length); assertSegment(3, "3", s1, segments[0]); assertSegment(4, "a", null, segments[1]); - + segments=term.getLineSegments(2, 7, 1); assertEquals(1, segments.length); assertSegment(7, "d", null, segments[0]); - + segments=term.getLineSegments(2, 0, 1); assertEquals(1, segments.length); assertSegment(0, "0", s1, segments[0]); - + // line 1 term.setChars(1, 0,"x".toCharArray(), s1); term.setChars(1, 1,"y".toCharArray(), s2); term.setChars(1, 2,"z".toCharArray(), s3); - + segments=term.getLineSegments(1, 0, term.getWidth()); assertEquals(1, segments.length); assertSegment(0, "\000\000\000\000\000\000\000\000", null, segments[0]); - + // line 3 segments=term.getLineSegments(3, 0, term.getWidth()); assertEquals(1, segments.length); assertSegment(0, "\000\000\000\000\000\000\000\000", null, segments[0]); - + } public void testGetChar() { String s="12345\n" + @@ -228,7 +250,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { assertSame(s, term.getStyle(line, column)); } } - + } public void testSetChar() { ITerminalTextData term=makeITerminalTextData(); @@ -280,7 +302,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { + "def\n" + "efg\n" + "fgh", toMultiLineText(term)); - + term.setChars(3, 1, new char[]{'1','2'}, null); assertEqualsTerm( "abc\n" @@ -298,7 +320,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { + "d12\n" + "e12\n" + "fgh", toMultiLineText(term)); - + } public void testSetCharsLen() { ITerminalTextData term=makeITerminalTextData(); @@ -332,7 +354,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { + "ABCDEF", toMultiLineText(term)); - + fill(term, s); term.setChars(1, 2, chars, 3, 4, null); assertEqualsTerm("ZYXWVU\n" @@ -356,7 +378,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { termCopy.copyRange(term,0,0,5); assertEqualsSimple(s, toSimple(term)); assertEqualsSimple("01234", toSimple(termCopy)); - + fillSimple(termCopy, sCopy); termCopy.copyRange(term,0,0,2); assertEqualsSimple(s, toSimple(term)); @@ -420,7 +442,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { fill(dest, sCopy); copySelective(dest,term,1,0,new boolean []{true,false,false,true}); assertEqualsTerm(s, toMultiLineText(term)); - assertEqualsTerm( + assertEqualsTerm( "222\n" + "bbb\n" + "ccc\n" + @@ -430,7 +452,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { fill(dest, sCopy); copySelective(dest,term,2,0,new boolean []{true,true}); assertEqualsTerm(s, toMultiLineText(term)); - assertEqualsTerm( + assertEqualsTerm( "333\n" + "444\n" + "ccc\n" + @@ -441,7 +463,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { copySelective(dest,term,0,0,new boolean []{true,true,true,true,true}); assertEqualsTerm(s, toMultiLineText(term)); assertEqualsTerm(s, toMultiLineText(dest)); - + fill(dest, sCopy); copySelective(dest,term,0,0,new boolean []{false,false,false,false,false}); assertEqualsTerm(s, toMultiLineText(term)); @@ -453,7 +475,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { ITerminalTextData data=new TerminalTextData(); fillSimple(data,"abcd"); term.copy(data); - - + + } } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java index a379ed2bc48..95a91f9b3dc 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -17,8 +18,7 @@ import org.eclipse.tm.terminal.model.StyleColor; public class TerminalTextTestHelper { static public String toSimple(ITerminalTextDataReadOnly term) { - return toMultiLineText(term).replaceAll("\000", " ").replaceAll("\n", ""); - + return toSimple(toMultiLineText(term)); } static public String toMultiLineText(ITerminalTextDataReadOnly term) { StringBuffer buff=new StringBuffer(); @@ -33,8 +33,24 @@ public class TerminalTextTestHelper { return buff.toString(); } static public String toSimple(String str) { - return str.replaceAll("\000", " ").replaceAll("\n", ""); - + //return str.replaceAll("\000", " ").replaceAll("\n", ""); + // + StringBuffer buf = new StringBuffer(str.length()); + for (int i = 0; i < str.length(); i++) { + char c = str.charAt(i); + switch (c) { + case '\000': + buf.append(' '); + break; + case '\n': + break; + default: + buf.append(c); + break; + } + } + return buf.toString(); + // } /** * @param term @@ -72,7 +88,7 @@ public class TerminalTextTestHelper { term.setDimensions(height, width); fill(term,0,0,s); } - + static public void fill(ITerminalTextData term, int column, int line, String s) { int xx=column; int yy=line; From 12e04cec9108691ec2973bd5d80489ed51f06488 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 19:25:10 +0000 Subject: [PATCH 292/843] [226738] Create team-shared Launches for Terminal Tests --- .../TerminalConnectorPluginTest.java | 59 +++++++++++++++++++ .../connector/TerminalConnectorTest.java | 29 --------- .../terminal/test/AutomatedPluginTests.java | 31 ++++++++++ .../teamConfig/Terminal All Unit Tests.launch | 16 +++++ .../teamConfig/Terminal Plugin Tests.launch | 39 ++++++++++++ 5 files changed, 145 insertions(+), 29 deletions(-) create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java create mode 100644 org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch create mode 100644 org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java new file mode 100644 index 00000000000..cc0c9ee3a78 --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Oberhuber (Wind River) - initial API and implementation + *******************************************************************************/ + +package org.eclipse.tm.internal.terminal.connector; + +import junit.framework.TestCase; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.tm.internal.terminal.connector.TerminalConnectorTest.ConnectorMock; +import org.eclipse.tm.internal.terminal.connector.TerminalConnectorTest.SimpleFactory; +import org.eclipse.tm.internal.terminal.connector.TerminalConnectorTest.TerminalControlMock; + +/** + * Testcase for TerminalConnector that must run as a JUnit plug-in test. + */ +public class TerminalConnectorPluginTest extends TestCase { + + public void testIsInitialized() { + if (!Platform.isRunning()) + return; + TerminalConnector c = new TerminalConnector(new SimpleFactory(new ConnectorMock()), "xID", "xName"); + assertFalse(c.isInitialized()); + c.getId(); + assertFalse(c.isInitialized()); + c.getName(); + assertFalse(c.isInitialized()); + c.getSettingsSummary(); + assertFalse(c.isInitialized()); + c.setTerminalSize(10, 10); + assertFalse(c.isInitialized()); + c.load(null); + assertFalse(c.isInitialized()); + c.save(null); + assertFalse(c.isInitialized()); + c.getAdapter(ConnectorMock.class); + assertFalse(c.isInitialized()); + } + + public void testGetAdapter() { + if (!Platform.isRunning()) + return; + ConnectorMock mock = new ConnectorMock(); + TerminalConnector c = new TerminalConnector(new SimpleFactory(mock), "xID", "xName"); + assertNull(c.getAdapter(ConnectorMock.class)); + // the load is called after the connect... + c.connect(new TerminalControlMock()); + + assertSame(mock, c.getAdapter(ConnectorMock.class)); + } + +} diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index c3e23849272..bb0bb64de95 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -150,25 +150,6 @@ public class TerminalConnectorTest extends TestCase { assertEquals("xName", c.getName()); } - public void testIsInitialized() { - TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); - assertFalse(c.isInitialized()); - c.getId(); - assertFalse(c.isInitialized()); - c.getName(); - assertFalse(c.isInitialized()); - c.getSettingsSummary(); - assertFalse(c.isInitialized()); - c.setTerminalSize(10,10); - assertFalse(c.isInitialized()); - c.load(null); - assertFalse(c.isInitialized()); - c.save(null); - assertFalse(c.isInitialized()); - c.getAdapter(ConnectorMock.class); - assertFalse(c.isInitialized()); - } - public void testConnect() { TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); assertFalse(c.isInitialized()); @@ -244,14 +225,4 @@ public class TerminalConnectorTest extends TestCase { } - public void testGetAdapter() { - ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); - assertNull(c.getAdapter(ConnectorMock.class)); - // the load is called after the connect... - c.connect(new TerminalControlMock()); - - assertSame(mock, c.getAdapter(ConnectorMock.class)); - } - } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java new file mode 100644 index 00000000000..9ca272e28ec --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Martin Oberhuber (Wind River) - initial API and implementation + *******************************************************************************/ + +package org.eclipse.tm.terminal.test; + +import junit.framework.Test; +import junit.framework.TestCase; +import junit.framework.TestSuite; + +/** + * Master Test Suite to run all Terminal plug-in tests. + */ +public class AutomatedPluginTests extends TestCase { + /** + * Call each AllTests class from each of the test packages. + */ + public static Test suite() { + TestSuite suite = new TestSuite(AutomatedPluginTests.class.getName()); + suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorPluginTest.class); + return suite; + } + +} diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch b/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch new file mode 100644 index 00000000000..fd2e3ebb9d4 --- /dev/null +++ b/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch b/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch new file mode 100644 index 00000000000..5def4726405 --- /dev/null +++ b/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch @@ -0,0 +1,39 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 7ab7244fd2f3a76931594973a901b63b0ce238c3 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 19:30:24 +0000 Subject: [PATCH 293/843] [226738] Create team-shared Launches for Terminal Tests --- org.eclipse.tm.terminal.test/about.html | 28 +++++++++++++++++++ org.eclipse.tm.terminal.test/build.properties | 12 +++++++- 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 org.eclipse.tm.terminal.test/about.html diff --git a/org.eclipse.tm.terminal.test/about.html b/org.eclipse.tm.terminal.test/about.html new file mode 100644 index 00000000000..d4cc693f9f0 --- /dev/null +++ b/org.eclipse.tm.terminal.test/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                About This Content

                + +

                June 5, 2007

                +

                License

                + +

                The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                + +

                If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties index 11f23ecc4bf..5a4e9b9d369 100644 --- a/org.eclipse.tm.terminal.test/build.properties +++ b/org.eclipse.tm.terminal.test/build.properties @@ -13,6 +13,16 @@ output.. = bin/ bin.includes = META-INF/,\ .,\ plugin.properties,\ - plugin.xml + plugin.xml,\ + about.properties,\ + about.mappings,\ + about.ini,\ + eclipse32.png,\ + test.xml,\ + about.html javacSource=1.4 javacTarget=1.4 +src.includes = .settings/,\ + build.properties,\ + teamConfig/,\ + about.html From fb8372b7c02302601e066f753cb6fe21d439c928 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 19:33:00 +0000 Subject: [PATCH 294/843] cvsignore bin in terminal.test --- org.eclipse.tm.terminal.test/.cvsignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 org.eclipse.tm.terminal.test/.cvsignore diff --git a/org.eclipse.tm.terminal.test/.cvsignore b/org.eclipse.tm.terminal.test/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.test/.cvsignore @@ -0,0 +1 @@ +bin From 122fac3b61e59ef60447947a945c081419fe5029 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 19:50:19 +0000 Subject: [PATCH 295/843] [168197] Fix Terminal for CDC-1.1/Foundation-1.1 --- org.eclipse.tm.terminal.telnet/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +++++++--- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 3 ++- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/.classpath b/org.eclipse.tm.terminal.telnet/.classpath index 52165ecfb58..73022aacf0d 100644 --- a/org.eclipse.tm.terminal.telnet/.classpath +++ b/org.eclipse.tm.terminal.telnet/.classpath @@ -1,7 +1,7 @@ - + diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index 381fc6eb064..64e23de578a 100644 --- a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,12 @@ -#Fri Mar 28 14:14:24 CET 2008 +#Fri Apr 11 02:37:35 CEST 2008 eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error @@ -68,4 +72,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 10ab983fa4a..ec1ec440cf3 100644 --- a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -8,5 +8,6 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)" -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, + J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true From 6aae228d73967b21e0744926cf1af980b523fad9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 19:51:41 +0000 Subject: [PATCH 296/843] [168197] Fix Terminal for eRCP --- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 58537c05c52..79e6d013cc7 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -7,9 +7,8 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, org.eclipse.tm.terminal, - org.eclipse.swt, - org.eclipse.jface, - org.eclipse.core.runtime + org.eclipse.core.runtime, + org.eclipse.ui Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, From 01f2b8e0dabecde1c7a1e09e86f256688f343d0c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Apr 2008 20:38:06 +0000 Subject: [PATCH 297/843] [168197][terminal] Replace JFace MessagDialog by SWT MessageBox --- .../terminal/serial/SerialMessages.properties | 6 ++-- .../terminal/serial/SerialPortHandler.java | 18 ++++++---- .../internal/terminal/ssh/SshConnection.java | 20 ++++++++--- .../terminal/view/TerminalSettingsDlg.java | 35 ++++++++++--------- .../emulator/VT100TerminalControl.java | 12 +++++-- 5 files changed, 60 insertions(+), 31 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties index c9c0acfd3c5..c79ce2d3a03 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox ############################################################################### PORT_IN_USE = Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? PROP_TITLE = Terminal @@ -29,7 +30,8 @@ Installation:\n\ * Get RXTX binaries from\n\ ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip\n\ * Copy RXTXcomm.jar into $JRE/lib/ext\n\ -* Copy the native libs for your Platform (*.so, *.jnilib, *.dll) into the respective native lib folder of your RSE \n\ +* Copy the native libs for your Platform (*.so, *.jnilib, *.dll)\n\ + into the respective native lib folder of your RSE \n\ * More installation instructions are at\n\ http://rxtx.qbang.org/wiki/index.php/Main_Page\n\ * More downloads for other platforms (currently about 30)\n\ diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java index 82119d1a149..20cade6d7d9 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalControl + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -23,8 +24,9 @@ import gnu.io.SerialPortEventListener; import java.io.IOException; import java.text.MessageFormat; -import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; @@ -71,12 +73,16 @@ public class SerialPortHandler implements public void run() { String[] args = new String[] { fConn.getSerialSettings().getSerialPort() }; String strMsg = MessageFormat.format(SerialMessages.PORT_IN_USE, args); - - if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) + // [168197] Replace JFace MessagDialog by SWT MessageBox + //if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) + MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); + mb.setText(SerialMessages.PROP_TITLE); + mb.setMessage(strMsg); + if (mb.open() != SWT.YES) return; fConn.disconnect(); } - + }); } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 78694c513f2..731a095ae13 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - [155026] Add keepalives for SSH connection * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() + * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -25,10 +26,11 @@ import java.io.InterruptedIOException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.OperationCanceledException; -import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.window.Window; import org.eclipse.jsch.core.IJSchService; +import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -179,7 +181,7 @@ class SshConnection extends Thread { return display; } - private static class MyUserInfo implements UserInfo, UIKeyboardInteractive { + private class MyUserInfo implements UserInfo, UIKeyboardInteractive { private final String fConnectionId; private final String fUser; private String fPassword; @@ -199,7 +201,12 @@ class SshConnection extends Thread { final boolean[] retval = new boolean[1]; Display.getDefault().syncExec(new Runnable() { public void run() { - retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); + // [168197] Replace JFace MessagDialog by SWT MessageBox + //retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); + MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); + mb.setText(SshMessages.WARNING); + mb.setMessage(str); + retval[0] = (mb.open() == SWT.YES); } }); return retval[0]; @@ -237,7 +244,12 @@ class SshConnection extends Thread { public void showMessage(final String message) { Display.getDefault().syncExec(new Runnable() { public void run() { - MessageDialog.openInformation(null, SshMessages.INFO, message); + // [168197] Replace JFace MessagDialog by SWT MessageBox + // MessageDialog.openInformation(null, SshMessages.INFO, message); + MessageBox mb = new MessageBox(null, SWT.ICON_INFORMATION | SWT.OK); + mb.setText(SshMessages.INFO); + mb.setMessage(message); + mb.open(); } }); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 9267b416b26..6f44eeda7ed 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -24,7 +25,6 @@ import java.util.List; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -38,6 +38,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; @@ -92,13 +93,15 @@ class TerminalSettingsDlg extends Dialog { public void createControl(Composite parent) { Label l=new Label(parent,SWT.WRAP); String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName()); - l.setText(error); + l.setText(error); l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED)); - MessageDialog.openError(getShell(), - error, - NLS.bind(ViewMessages.CANNOT_INITIALIZE, - conn.getName(), - conn.getInitializationErrorMessage())); + String msg = NLS.bind(ViewMessages.CANNOT_INITIALIZE, conn.getName(), conn.getInitializationErrorMessage()); + // [168197] Replace JFace MessagDialog by SWT MessageBox + //MessageDialog.openError(getShell(), error, msg); + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(error); + mb.setMessage(msg); + mb.open(); } public void loadSettings() {} public void saveSettings() {} @@ -114,7 +117,7 @@ class TerminalSettingsDlg extends Dialog { resize(); } return fPages[i]; - + } void resize() { Point size=getShell().getSize(); @@ -201,12 +204,12 @@ class TerminalSettingsDlg extends Dialog { wndGroup.setLayout(gridLayout); wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); wndGroup.setText(ViewMessages.VIEW_SETTINGS); - - + + Label label=new Label(wndGroup,SWT.NONE); label.setText(ViewMessages.VIEW_TITLE); label.setLayoutData(new GridData(GridData.BEGINNING)); - + fTerminalTitleText = new Text(wndGroup, SWT.BORDER); fTerminalTitleText.setText(fTerminalTitle); fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); @@ -229,7 +232,7 @@ class TerminalSettingsDlg extends Dialog { gridData.widthHint = 200; fCtlConnTypeCombo.setLayoutData(gridData); } - + private void setupSettingsGroup(Composite parent) { Group group = new Group(parent, SWT.NONE); group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ @@ -273,15 +276,15 @@ class TerminalSettingsDlg extends Dialog { } protected IDialogSettings getDialogBoundsSettings() { IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); - fDialogSettings = ds.getSection(getClass().getName()); + fDialogSettings = ds.getSection(getClass().getName()); if (fDialogSettings == null) { - fDialogSettings = ds.addNewSection(getClass().getName()); + fDialogSettings = ds.addNewSection(getClass().getName()); } return fDialogSettings; } public void setTerminalTitle(String partName) { fTerminalTitle=partName; - + } public String getTerminalTitle() { return fTerminalTitle; diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 3e0cd07937e..87e0cd46733 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -20,6 +20,7 @@ * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Ruslan Sychev (Xored Software) - [217675] NPE or SWTException when closing Terminal View while connection establishing * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable + * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -32,7 +33,6 @@ import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; @@ -50,6 +50,7 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; @@ -368,7 +369,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } finally { // clean the job: start a new one when the connection gets restarted - // Bug 208145: make sure we do not clean an other job that's already started (since it would become a Zombie) + // Bug 208145: make sure we do not clean an other job that's already started (since it would become a Zombie) synchronized (VT100TerminalControl.this) { if (fJob==this) { fJob=null; @@ -386,7 +387,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private void showErrorMessage(String message) { String strTitle = TerminalMessages.TerminalError; - MessageDialog.openError( getShell(), strTitle, message); + // [168197] Replace JFace MessagDialog by SWT MessageBox + //MessageDialog.openError( getShell(), strTitle, message); + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(strTitle); + mb.setMessage(message); + mb.open(); } protected void sendString(String string) { From b6715f39209521e8f8e1d86da6bfc83b8c574f9b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sat, 12 Apr 2008 00:21:08 +0000 Subject: [PATCH 298/843] [216252] canceled --> cancelled in comments --- .../tm/internal/terminal/ssh/KeyboardInteractiveDialog.java | 2 +- .../org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 2 +- .../tm/internal/terminal/ssh/UserValidationDialog.java | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java index 91987b7926a..761605f263e 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java @@ -148,7 +148,7 @@ public class KeyboardInteractiveDialog extends TrayDialog { } /** * Returns the entered values, or null - * if the user canceled. + * if the user cancelled. * * @return the entered values */ diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 731a095ae13..0fd464c66e4 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -278,7 +278,7 @@ class SshConnection extends Thread { }); String[] result=finResult[0]; if (result == null) - return null; // canceled + return null; // cancelled if (result.length == 1 && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ fPassword = result[0]; } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java index 8104b827130..7902fecf5c1 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java @@ -213,7 +213,7 @@ public class UserValidationDialog extends TrayDialog { /** * Returns the password entered by the user, or null - * if the user canceled. + * if the user cancelled. * * @return the entered password */ @@ -223,7 +223,7 @@ public class UserValidationDialog extends TrayDialog { /** * Returns the username entered by the user, or null - * if the user canceled. + * if the user cancelled. * * @return the entered username */ From ff0ff7d4a0a496fd71b95c665bd813c42968180e Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 15 Apr 2008 20:19:09 +0000 Subject: [PATCH 299/843] NEW - bug 224989: Support contributed services over Terminal connections https://bugs.eclipse.org/bugs/show_bug.cgi?id=224989 --- ...inalToRemoteInjectionOutputStreamTest.java | 175 ++++++++++++++++++ ...TerminalToRemoteInjectionOutputStream.java | 163 ++++++++++++++++ 2 files changed, 338 insertions(+) create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java new file mode 100644 index 00000000000..4b1d1848f4e --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java @@ -0,0 +1,175 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.connector; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStream; +import java.io.UnsupportedEncodingException; + +import junit.framework.TestCase; + +public class TerminalToRemoteInjectionOutputStreamTest extends TestCase { + final static String ENCODING="UTF-8"; + /** + * This class escapes strings coming on the original + * terminal.. + * + */ + class CleverInterceptor extends TerminalToRemoteInjectionOutputStream.Interceptor { + + public void close() throws IOException { + } + public void write(int b) throws IOException { + fOriginal.write('['); + fOriginal.write(b); + fOriginal.write(']'); + } + public void write(byte[] b, int off, int len) throws IOException { + fOriginal.write('['); + fOriginal.write(b,off,len); + fOriginal.write(']'); + } + + } + class NullInterceptor extends TerminalToRemoteInjectionOutputStream.Interceptor { + } + public void testClose() throws UnsupportedEncodingException, IOException { + ByteArrayOutputStream bs=new ByteArrayOutputStream(); + TerminalToRemoteInjectionOutputStream s= new TerminalToRemoteInjectionOutputStream(bs); + s.write("begin:".getBytes(ENCODING)); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + OutputStream os1=s.grabOutput(); + os1.write('x'); + s.write('A'); + os1.write('y'); + s.write('B'); + os1.close(); + + s.write('-'); + OutputStream os=s.grabOutput(); + // make sure the closed output does not inject anything + try { + os1.write('k'); + fail("..."); + } catch (Exception e) { + } + os.write('X'); + s.write('a'); + os.write('Y'); + // make sure the closed output does not inject anything + try { + os1.write('l'); + fail("..."); + } catch (Exception e) { + } + s.write('b'); + os.close(); + assertEquals("begin:xyAB-XYab", new String(bs.toByteArray(),ENCODING)); + } + + public void testFlush() { + } + + public void testWriteInt() throws UnsupportedEncodingException, IOException { + ByteArrayOutputStream bs=new ByteArrayOutputStream(); + TerminalToRemoteInjectionOutputStream s= new TerminalToRemoteInjectionOutputStream(bs); + s.write("begin:".getBytes(ENCODING)); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + OutputStream os=s.grabOutput(); + os.write('x'); + s.write('A'); + os.write('y'); + s.write('B'); + s.close(); + assertEquals("begin:xyAB", new String(bs.toByteArray(),ENCODING)); + + } + + public void testWriteByteArray() { + } + + public void testWriteByteArrayIntInt() { + } + public void testGrabOutput() throws UnsupportedEncodingException, IOException { + ByteArrayOutputStream bs=new ByteArrayOutputStream(); + TerminalToRemoteInjectionOutputStream s= new TerminalToRemoteInjectionOutputStream(bs); + s.write("begin:".getBytes(ENCODING)); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + OutputStream os1=s.grabOutput(); + OutputStream os2; + try { + os2=s.grabOutput(); + fail("should fail until the foirst output is closed"); + } catch (IOException e) { + } + os1.close(); + os2=s.grabOutput(); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + os2.write("Test".getBytes(ENCODING)); + assertEquals("begin:Test", new String(bs.toByteArray(),ENCODING)); + s.write(" west".getBytes(ENCODING)); + assertEquals("begin:Test", new String(bs.toByteArray(),ENCODING)); + os2.write(" the".getBytes(ENCODING)); + assertEquals("begin:Test the", new String(bs.toByteArray(),ENCODING)); + os2.close(); + assertEquals("begin:Test the west", new String(bs.toByteArray(),ENCODING)); + s.write('!'); + assertEquals("begin:Test the west!", new String(bs.toByteArray(),ENCODING)); + + } + public void testGrabOutputWithCleverInterceptor() throws UnsupportedEncodingException, IOException { + ByteArrayOutputStream bs=new ByteArrayOutputStream(); + TerminalToRemoteInjectionOutputStream s= new TerminalToRemoteInjectionOutputStream(bs); + s.write("begin:".getBytes(ENCODING)); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + // the injector escapes the output coming from the main stream + OutputStream os=s.grabOutput(new CleverInterceptor()); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + os.write("Test".getBytes(ENCODING)); + assertEquals("begin:Test", new String(bs.toByteArray(),ENCODING)); + s.write(" west".getBytes(ENCODING)); + assertEquals("begin:Test[ west]", new String(bs.toByteArray(),ENCODING)); + os.write(" the".getBytes(ENCODING)); + assertEquals("begin:Test[ west] the", new String(bs.toByteArray(),ENCODING)); + s.write('x'); + assertEquals("begin:Test[ west] the[x]", new String(bs.toByteArray(),ENCODING)); + os.close(); + assertEquals("begin:Test[ west] the[x]", new String(bs.toByteArray(),ENCODING)); + s.write('!'); + assertEquals("begin:Test[ west] the[x]!", new String(bs.toByteArray(),ENCODING)); + + } + public void testGrabOutputWithNullInterceptor() throws UnsupportedEncodingException, IOException { + ByteArrayOutputStream bs=new ByteArrayOutputStream(); + TerminalToRemoteInjectionOutputStream s= new TerminalToRemoteInjectionOutputStream(bs); + s.write("begin:".getBytes(ENCODING)); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + // bytes written to the main stream are ignored while the injector + // is active + OutputStream os=s.grabOutput(new NullInterceptor()); + assertEquals("begin:", new String(bs.toByteArray(),ENCODING)); + os.write("Test".getBytes(ENCODING)); + assertEquals("begin:Test", new String(bs.toByteArray(),ENCODING)); + s.write(" west".getBytes(ENCODING)); + assertEquals("begin:Test", new String(bs.toByteArray(),ENCODING)); + os.write(" the".getBytes(ENCODING)); + assertEquals("begin:Test the", new String(bs.toByteArray(),ENCODING)); + s.write('x'); + assertEquals("begin:Test the", new String(bs.toByteArray(),ENCODING)); + os.close(); + assertEquals("begin:Test the", new String(bs.toByteArray(),ENCODING)); + s.write('!'); + assertEquals("begin:Test the!", new String(bs.toByteArray(),ENCODING)); + + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java new file mode 100644 index 00000000000..f597ce0ce5c --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java @@ -0,0 +1,163 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.connector; + +import java.io.ByteArrayOutputStream; +import java.io.FilterOutputStream; +import java.io.IOException; +import java.io.OutputStream; + +class TerminalToRemoteInjectionOutputStream extends FilterOutputStream { + /** + * This class handles bytes written to the {@link TerminalToRemoteInjectionOutputStream}. + */ + static abstract public class Interceptor { + protected OutputStream fOriginal; + /** + * @param original the injection into the original stream begins + * @throws IOException + */ + public void begin(OutputStream original) throws IOException { + fOriginal=original; + } + /** + * @param b a byte was written to the {@link TerminalToRemoteInjectionOutputStream}. + * @throws IOException + */ + public void write(int b) throws IOException { + } + /** + * @param b bytes written to the {@link TerminalToRemoteInjectionOutputStream}. + * @param off the start offset in the data. + * @param len the number of bytes to write. + * @throws IOException + */ + public void write(byte[] b, int off, int len) throws IOException { + } + /** + * The injection into the normal stream ends. + * @throws IOException + */ + public void close() throws IOException { + } + public void flush() { + } + } + static public class BufferInterceptor extends Interceptor { + private final ByteArrayOutputStream fBuffer=new ByteArrayOutputStream(); + public void close() throws IOException { + fOriginal.write(fBuffer.toByteArray()); + } + public void write(byte[] b, int off, int len) throws IOException { + fBuffer.write(b, off, len); + } + public void write(int b) throws IOException { + fBuffer.write(b); + } + } + private class TerminalFilterOutputStream extends OutputStream { + final private Object fLock=TerminalToRemoteInjectionOutputStream.this; + public void close() throws IOException { + synchronized(fLock) { + if(fInjection==this) { + flush(); + ungrabOutput(); + } + } + } + public void write(byte[] b, int off, int len) throws IOException { + synchronized(fLock) { + checkStream(); + out.write(b, off, len); + } + } + public void write(byte[] b) throws IOException { + synchronized(fLock) { + checkStream(); + out.write(b); + } + } + public void flush() throws IOException { + synchronized(fLock) { + checkStream(); + out.flush(); + } + } + public void write(int b) throws IOException { + synchronized(fLock) { + checkStream(); + out.write(b); + } + } + private void checkStream() throws IOException { + if(fInjection!=this) + throw new IOException("Stream is closed"); //$NON-NLS-1$ + } + } + private Interceptor fInterceptor; + private TerminalFilterOutputStream fInjection; + public TerminalToRemoteInjectionOutputStream(OutputStream out) { + super(out); + } + synchronized protected void ungrabOutput() throws IOException { + if(fInterceptor!=null) { + fInterceptor.close(); + fInterceptor=null; + fInjection=null; + } + } + /** + * There can only be one injection stream active at a time. You must call close on the + * returned output stream to end the injection. + * @param interceptor This is used handle bytes sent while the injection stream is active. + * @return a output stream that can be used to write to the decorated stream. + * @throws IOException + */ + public synchronized OutputStream grabOutput(Interceptor interceptor) throws IOException { + if(fInjection!=null) { + throw new IOException("Buffer in use"); //$NON-NLS-1$ + } + fInterceptor=interceptor; + fInterceptor.begin(out); + fInjection=new TerminalFilterOutputStream(); + return fInjection; + } + /** See {@link #grabOutput(TerminalToRemoteInjectionOutputStream.Interceptor)}. + * @return injection output stream + * @throws IOException + */ + public synchronized OutputStream grabOutput() throws IOException { + return grabOutput(new BufferInterceptor()); + } + synchronized public void close() throws IOException { + if(fInjection!=null) { + fInjection.close(); + } + super.close(); + } + synchronized public void flush() throws IOException { + if(fInterceptor!=null) + fInterceptor.flush(); + out.flush(); + } + synchronized public void write(byte[] b, int off, int len) throws IOException { + if(fInterceptor!=null) + fInterceptor.write(b, off, len); + else + out.write(b, off, len); + } + synchronized public void write(int b) throws IOException { + if(fInterceptor!=null) + fInterceptor.write(b); + else + out.write(b); + } +} From 65cd604525d0ee236bc07601c03ee09c57a9e7f4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 17 Apr 2008 10:13:57 +0000 Subject: [PATCH 300/843] [cleanup] Fix Copyright Year --- ...inalToRemoteInjectionOutputStreamTest.java | 20 +++++++++---------- ...TerminalToRemoteInjectionOutputStream.java | 20 +++++++++---------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java index 4b1d1848f4e..eb5ea841760 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -38,7 +38,7 @@ public class TerminalToRemoteInjectionOutputStreamTest extends TestCase { fOriginal.write(b,off,len); fOriginal.write(']'); } - + } class NullInterceptor extends TerminalToRemoteInjectionOutputStream.Interceptor { } @@ -53,7 +53,7 @@ public class TerminalToRemoteInjectionOutputStreamTest extends TestCase { os1.write('y'); s.write('B'); os1.close(); - + s.write('-'); OutputStream os=s.grabOutput(); // make sure the closed output does not inject anything @@ -91,7 +91,7 @@ public class TerminalToRemoteInjectionOutputStreamTest extends TestCase { s.write('B'); s.close(); assertEquals("begin:xyAB", new String(bs.toByteArray(),ENCODING)); - + } public void testWriteByteArray() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java index f597ce0ce5c..bcca318756a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -43,7 +43,7 @@ class TerminalToRemoteInjectionOutputStream extends FilterOutputStream { public void write(byte[] b, int off, int len) throws IOException { } /** - * The injection into the normal stream ends. + * The injection into the normal stream ends. * @throws IOException */ public void close() throws IOException { @@ -115,10 +115,10 @@ class TerminalToRemoteInjectionOutputStream extends FilterOutputStream { } } /** - * There can only be one injection stream active at a time. You must call close on the + * There can only be one injection stream active at a time. You must call close on the * returned output stream to end the injection. * @param interceptor This is used handle bytes sent while the injection stream is active. - * @return a output stream that can be used to write to the decorated stream. + * @return a output stream that can be used to write to the decorated stream. * @throws IOException */ public synchronized OutputStream grabOutput(Interceptor interceptor) throws IOException { From 6cbd7e602de14f930f1ce38ad3f71c6da5101d5a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 25 Apr 2008 20:14:53 +0000 Subject: [PATCH 301/843] [227537] moved actions from terminal.view to terminal plugin (apply Patch from Anna Dushistova) --- .../icons/clcl16/clear_co.gif | Bin 595 -> 0 bytes .../icons/dlcl16/clear_co.gif | Bin 364 -> 0 bytes .../icons/elcl16/clear_co.gif | Bin 595 -> 0 bytes .../terminal/actions/ActionMessages.java | 8 +- .../actions/ActionMessages.properties | 8 +- .../actions/TerminalActionClearAll.java | 42 ------- .../terminal/actions/TerminalActionCopy.java | 40 ------- .../terminal/actions/TerminalActionCut.java | 40 ------- .../terminal/actions/TerminalActionPaste.java | 40 ------- .../internal/terminal/view/ITerminalView.java | 8 +- .../internal/terminal/view/ImageConsts.java | 6 +- .../internal/terminal/view/TerminalView.java | 109 ++++-------------- .../terminal/view/TerminalViewPlugin.java | 6 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 14 ++- org.eclipse.tm.terminal/build.properties | 11 +- .../actions/AbstractTerminalAction.java | 101 ++++++++++++++++ .../control/actions/ActionMessages.java | 37 +++--- .../control/actions/ActionMessages.properties | 22 ++++ .../terminal/control/actions/ImageConsts.java | 31 +++++ .../actions/TerminalActionClearAll.java | 55 +++++++++ .../control/actions/TerminalActionCopy.java | 64 ++++++++++ .../control/actions/TerminalActionCut.java | 55 +++++++++ .../control/actions/TerminalActionPaste.java | 62 ++++++++++ .../actions/TerminalActionSelectAll.java | 52 +++++++++ .../terminal/control/impl/TerminalPlugin.java | 30 ++++- 25 files changed, 540 insertions(+), 301 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionClearAll.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCopy.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionCut.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPaste.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java rename org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java => org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java (52%) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif deleted file mode 100644 index af30a42f83d2f91801206463e1f4601a747dd38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta2KY#wb zefxI%_U+rYZQHbI)0#DFRqv0~ApMGF@$oHuXY?Afzt&YU@8#*FFH zr%#(U?f?J(3={yxpDc_F4B8AjATvOIVqoh$Ae!bOv##%ivfAOCFau8&wgXGj^h7d5 zgbic_SR0;xy2Hivydi4sR4$3$c5$5yZN&+Ub^IH-l?#g4`GgtjB!mRJx|kGH)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta0; - } - - fActionEditCopy.setEnabled(bEnabled); - } - - public void onEditCut() { - fCtlTerminal.sendKey('\u0018'); - } - - public void updateEditCut() { - boolean bEnabled; - - bEnabled = !fMenuAboutToShow; - fActionEditCut.setEnabled(bEnabled); - } - - public void onEditPaste() { - fCtlTerminal.paste(); - } - - public void updateEditPaste() { - String strText = (String) fCtlTerminal.getClipboard().getContents(TextTransfer.getInstance()); - - boolean bEnabled = ((strText != null) && (!strText.equals("")) && (isConnected()));//$NON-NLS-1$ - - fActionEditPaste.setEnabled(bEnabled); - } - - public void onEditClearAll() { - fCtlTerminal.clearTerminal(); - } - - public void updateEditClearAll() { - fActionEditClearAll.setEnabled(!fCtlTerminal.isEmpty()); - } - - public void onEditSelectAll() { - fCtlTerminal.selectAll(); - } - - public void updateEditSelectAll() { - fActionEditSelectAll.setEnabled(!fCtlTerminal.isEmpty()); - } - // ViewPart interface public void createPartControl(Composite wndParent) { @@ -511,11 +450,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fActionTerminalConnect = new TerminalActionConnect(this); fActionTerminalDisconnect = new TerminalActionDisconnect(this); fActionTerminalSettings = new TerminalActionSettings(this); - fActionEditCopy = new TerminalActionCopy(this); - fActionEditCut = new TerminalActionCut(this); - fActionEditPaste = new TerminalActionPaste(this); - fActionEditClearAll = new TerminalActionClearAll(this); - fActionEditSelectAll = new TerminalActionSelectAll(this); + fActionEditCopy = new TerminalActionCopy(fCtlTerminal); + fActionEditCut = new TerminalActionCut(fCtlTerminal); + fActionEditPaste = new TerminalActionPaste(fCtlTerminal); + fActionEditClearAll = new TerminalActionClearAll(fCtlTerminal); + fActionEditSelectAll = new TerminalActionSelectAll(fCtlTerminal); fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); } protected void setupLocalToolBars() { @@ -569,7 +508,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { public void menuHidden(MenuEvent event) { fMenuAboutToShow = false; - updateEditCopy(); + fActionEditCopy.updateAction(fMenuAboutToShow); } public void menuShown(MenuEvent e) { @@ -577,11 +516,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void menuAboutToShow(IMenuManager menuMgr) { fMenuAboutToShow = true; - updateEditCopy(); - updateEditCut(); - updateEditSelectAll(); - updateEditPaste(); - updateEditClearAll(); + fActionEditCopy.updateAction(fMenuAboutToShow); + fActionEditCut.updateAction(fMenuAboutToShow); + fActionEditSelectAll.updateAction(fMenuAboutToShow); + fActionEditPaste.updateAction(fMenuAboutToShow); + fActionEditClearAll.updateAction(fMenuAboutToShow); } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 5de2c98f97c..41017326ca9 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -49,7 +50,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); @@ -62,7 +62,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); @@ -75,7 +74,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_CLEAR_ALL, "clear_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index d62bf57e9d5..f1d4ddecb35 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -15,10 +15,20 @@ Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.control.actions;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.view,org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api.provider;x-friends:="org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.ssh,org.eclipse.tm.terminal.telnet,org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api; + x-friends:="org.eclipse.tm.terminal.serial, + org.eclipse.tm.terminal.ssh, + org.eclipse.tm.terminal.telnet, + org.eclipse.tm.terminal.view, + org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api.provider; + x-friends:="org.eclipse.tm.terminal.serial, + org.eclipse.tm.terminal.ssh, + org.eclipse.tm.terminal.telnet, + org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index 730e1bdb868..19b1c113ae6 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Anna Dushistova (MontaVista) - added icons ############################################################################### bin.includes = .,\ META-INF/,\ @@ -20,8 +21,12 @@ bin.includes = .,\ plugin.properties,\ .options,\ README.txt,\ - about.html,about.ini,about.mappings,about.properties,\ - eclipse32.png + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + eclipse32.png,\ + icons/ source.. = src/ output.. = bin/ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java new file mode 100644 index 00000000000..42ca60e7d54 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java @@ -0,0 +1,101 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - Adapted from TerminalAction + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; + +public abstract class AbstractTerminalAction extends Action { + private final ITerminalViewControl fTarget; + + public AbstractTerminalAction(String strId) { + this(null, strId, 0); + } + + public AbstractTerminalAction(ITerminalViewControl target, + String strId) { + this(target, strId, 0); + } + + public AbstractTerminalAction(ITerminalViewControl target, + String strId, int style) { + super("", style); //$NON-NLS-1$ + + fTarget = target; + + setId(strId); + } + + abstract public void run(); + + protected void setupAction(String strText, String strToolTip, + String strImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled) { + setupAction(strText, strToolTip, strImage, strEnabledImage, + strDisabledImage, bEnabled, TerminalPlugin.getDefault() + .getImageRegistry()); + } + + protected void setupAction(String strText, String strToolTip, + String strHoverImage, String strEnabledImage, + String strDisabledImage, boolean bEnabled, + ImageRegistry imageRegistry) { + setupAction(strText, strToolTip, imageRegistry + .getDescriptor(strHoverImage), imageRegistry + .getDescriptor(strEnabledImage), imageRegistry + .getDescriptor(strDisabledImage), bEnabled); + } + + protected void setupAction(String strText, String strToolTip, + ImageDescriptor hoverImage, ImageDescriptor enabledImage, + ImageDescriptor disabledImage, boolean bEnabled) { + setText(strText); + setToolTipText(strToolTip); + setEnabled(bEnabled); + if (enabledImage != null) { + setImageDescriptor(enabledImage); + } + if (disabledImage != null) { + setDisabledImageDescriptor(disabledImage); + } + if (hoverImage != null) { + setHoverImageDescriptor(hoverImage); + } + } + + /** + * Return the terminal instance on which the action should operate. + * + * @return the terminal instance on which the action should operate. + */ + protected ITerminalViewControl getTarget() { + return fTarget; + } + + /** + * Subclasses can update their action + * + * @param aboutToShow true before the menu is shown -- false when the menu + * gets hidden + */ + public void updateAction(boolean aboutToShow) { + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java similarity index 52% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java rename to org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java index aecffa2e24a..30a3091f0cd 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectAll.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,29 +11,24 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; +package org.eclipse.tm.internal.terminal.control.actions; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.osgi.util.NLS; -public class TerminalActionSelectAll extends TerminalAction -{ - public TerminalActionSelectAll(ITerminalView target) - { - super(target, - TerminalActionSelectAll.class.getName()); - - setupAction(ActionMessages.SELECTALL, - ActionMessages.SELECTALL, - (ImageDescriptor)null, - null, - null, - false); - } - public void run() { - fTarget.onEditSelectAll(); +public class ActionMessages extends NLS { + static { + NLS.initializeMessages(ActionMessages.class.getName(), + ActionMessages.class); } + + public static String COPY; + public static String CUT; + public static String PASTE; + public static String SELECTALL; + public static String CLEARALL; + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties new file mode 100644 index 00000000000..a5e6b1fae65 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties @@ -0,0 +1,22 @@ +############################################################################### +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin +############################################################################### +COPY = Copy +CUT = Cut +PASTE = Paste +SELECTALL = Select All +CLEARALL = Clear Terminal diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java new file mode 100644 index 00000000000..b69b669eadf --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalConsts + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +public interface ImageConsts { + public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + public final static String IMAGE_DIR_LOCALTOOL = IMAGE_DIR_ROOT + "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_DLCL = IMAGE_DIR_ROOT + "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_ELCL = IMAGE_DIR_ROOT+ "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ + + public static final String IMAGE_CLCL_CLEAR_ALL = "ImageClclClearAll"; //$NON-NLS-1$ + + public static final String IMAGE_DLCL_CLEAR_ALL = "ImageDlclClearAll"; //$NON-NLS-1$ + + public static final String IMAGE_ELCL_CLEAR_ALL = "ImageElclClearAll"; //$NON-NLS-1$ +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java new file mode 100644 index 00000000000..400c08bb8e8 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + ********************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; + +public class TerminalActionClearAll extends AbstractTerminalAction { + public TerminalActionClearAll() { + super(TerminalActionClearAll.class.getName()); + + setupAction(ActionMessages.CLEARALL, ActionMessages.CLEARALL, + ImageConsts.IMAGE_CLCL_CLEAR_ALL, + ImageConsts.IMAGE_ELCL_CLEAR_ALL, + ImageConsts.IMAGE_DLCL_CLEAR_ALL, false); + } + + public TerminalActionClearAll(ITerminalViewControl target) { + super(target, TerminalActionClearAll.class.getName()); + + setupAction(ActionMessages.CLEARALL, ActionMessages.CLEARALL, + ImageConsts.IMAGE_CLCL_CLEAR_ALL, + ImageConsts.IMAGE_ELCL_CLEAR_ALL, + ImageConsts.IMAGE_DLCL_CLEAR_ALL, false); + } + + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + target.clearTerminal(); + } + } + + public void updateAction(boolean aboutToShow) { + ITerminalViewControl target = getTarget(); + if (target != null) + setEnabled(!target.isEmpty()); + else + setEnabled(false); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java new file mode 100644 index 00000000000..3bc2bdcaf11 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionCopy extends AbstractTerminalAction { + public TerminalActionCopy() { + super(TerminalActionCopy.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.COPY, ActionMessages.COPY, si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY), si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY), si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED), true); + } + + public TerminalActionCopy(ITerminalViewControl target) { + super(target, TerminalActionCopy.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.COPY, ActionMessages.COPY, si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY), si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY), si + .getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED), true); + } + + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + String selection = target.getSelection(); + + if (!selection.equals("")) {//$NON-NLS-1$ + target.copy(); + } else { + target.sendKey('\u0003'); + } + } + } + + public void updateAction(boolean aboutToShow) { + boolean bEnabled = true; + ITerminalViewControl target = getTarget(); + if (aboutToShow && target != null) { + bEnabled = target.getSelection().length() > 0; + } + setEnabled(bEnabled); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java new file mode 100644 index 00000000000..50232f168c6 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionCut extends AbstractTerminalAction { + public TerminalActionCut() { + super(TerminalActionCut.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.CUT, ActionMessages.CUT, si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT), si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT), si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED), true); + } + + public TerminalActionCut(ITerminalViewControl target) { + super(target, TerminalActionCut.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.CUT, ActionMessages.CUT, si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT), si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT), si + .getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED), true); + } + + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + target.sendKey('\u0018'); + } + } + + public void updateAction(boolean aboutToShow) { + boolean bEnabled; + + bEnabled = !aboutToShow; + setEnabled(bEnabled); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java new file mode 100644 index 00000000000..36d30b0db1c --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.PlatformUI; + +public class TerminalActionPaste extends AbstractTerminalAction { + public TerminalActionPaste() { + super(TerminalActionPaste.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.PASTE, ActionMessages.PASTE, si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), false); + } + + public TerminalActionPaste(ITerminalViewControl target) { + super(target, TerminalActionPaste.class.getName()); + ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); + setupAction(ActionMessages.PASTE, ActionMessages.PASTE, si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), si + .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), false); + } + + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + target.paste(); + } + } + + public void updateAction(boolean aboutToShow) { + boolean bEnabled = false; + ITerminalViewControl target = getTarget(); + if (target != null) { + String strText = (String) target.getClipboard().getContents( + TextTransfer.getInstance()); + bEnabled = ((strText != null) && (!strText.equals("")) && (target.getState() == TerminalState.CONNECTED));//$NON-NLS-1$ + } + setEnabled(bEnabled); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java new file mode 100644 index 00000000000..08c4aa29e00 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control.actions; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; + +public class TerminalActionSelectAll extends AbstractTerminalAction { + public TerminalActionSelectAll() { + super(TerminalActionSelectAll.class.getName()); + + setupAction(ActionMessages.SELECTALL, ActionMessages.SELECTALL, + (ImageDescriptor) null, null, null, false); + } + + public TerminalActionSelectAll(ITerminalViewControl target) { + super(target, TerminalActionSelectAll.class.getName()); + + setupAction(ActionMessages.SELECTALL, ActionMessages.SELECTALL, + (ImageDescriptor) null, null, null, false); + } + + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + target.selectAll(); + } + } + + public void updateAction(boolean aboutToShow) { + ITerminalViewControl target = getTarget(); + if (target != null) + setEnabled(!target.isEmpty()); + else + setEnabled(false); + } +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java index d8e38bb5e26..d76858230e4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,12 +11,19 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; +import java.net.MalformedURLException; +import java.net.URL; + import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.internal.terminal.control.actions.ImageConsts; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; @@ -55,4 +62,23 @@ public class TerminalPlugin extends AbstractUIPlugin { return new Boolean(strEnabled).booleanValue(); } + + protected void initializeImageRegistry(ImageRegistry imageRegistry) { + try { + // Local toolbars + putImageInRegistry(imageRegistry, ImageConsts.IMAGE_CLCL_CLEAR_ALL, ImageConsts.IMAGE_DIR_LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$ + // Enabled local toolbars + putImageInRegistry(imageRegistry, ImageConsts.IMAGE_ELCL_CLEAR_ALL, ImageConsts.IMAGE_DIR_ELCL + "clear_co.gif"); //$NON-NLS-1$ + // Disabled local toolbars + putImageInRegistry(imageRegistry, ImageConsts.IMAGE_DLCL_CLEAR_ALL, ImageConsts.IMAGE_DIR_DLCL + "clear_co.gif"); //$NON-NLS-1$ + } catch (MalformedURLException malformedURLException) { + malformedURLException.printStackTrace(); + } + } + + protected void putImageInRegistry(ImageRegistry imageRegistry, String strKey, String relativePath) throws MalformedURLException { + URL url = TerminalPlugin.getDefault().getBundle().getEntry(relativePath); + ImageDescriptor imageDescriptor = ImageDescriptor.createFromURL(url); + imageRegistry.put(strKey, imageDescriptor); + } } From 49300482ea42bd0596be14986d04dddad5d977c7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 25 Apr 2008 20:20:45 +0000 Subject: [PATCH 302/843] [227537] moved actions from terminal.view to terminal plugin (apply Patch from Anna Dushistova) --- org.eclipse.tm.terminal/icons/clcl16/clear_co.gif | Bin 0 -> 595 bytes org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif | Bin 0 -> 364 bytes org.eclipse.tm.terminal/icons/elcl16/clear_co.gif | Bin 0 -> 595 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.tm.terminal/icons/clcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal/icons/elcl16/clear_co.gif diff --git a/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif b/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..af30a42f83d2f91801206463e1f4601a747dd38e GIT binary patch literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta2KY#wb zefxI%_U+rYZQHbI)0#DFRqv0~ApMGF@$oHuXY?Afzt&YU@8#*FFH zr%#(U?f?J(3={yxpDc_F4B8AjATvOIVqoh$Ae!bOv##%ivfAOCFau8&wgXGj^h7d5 zgbic_SR0;xy2Hivydi4sR4$3$c5$5yZN&+Ub^IH-l?#g4`GgtjB!mRJx|kGH)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta Date: Wed, 7 May 2008 10:58:39 +0000 Subject: [PATCH 303/843] [221184] Redesign Serial Terminal Ownership Handling --- .../terminal/serial/SerialConnectWorker.java | 61 +++++++++++++++---- .../terminal/serial/SerialMessages.java | 14 ++++- .../terminal/serial/SerialMessages.properties | 11 +++- .../terminal/serial/SerialPortHandler.java | 39 ++++++------ 4 files changed, 91 insertions(+), 34 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java index 4d6e1438f0d..4d9584d5a72 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [207158] improve error message when port not available * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect * Martin Oberhuber (Wind River) - [206884] Update Terminal Ownership ID to "org.eclipse.tm.terminal.serial" + * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -27,6 +28,10 @@ import gnu.io.SerialPort; import java.util.Arrays; import java.util.Enumeration; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -129,29 +134,61 @@ public class SerialConnectWorker extends Thread { } fConn.setSerialPortHandler(new SerialPortHandler(fConn,fControl)); fConn.setSerialPortIdentifier(CommPortIdentifier.getPortIdentifier(portName)); - int timeoutInMs = s.getTimeout() * 1000; - serialPort=(SerialPort) fConn.getSerialPortIdentifier().open(strID,timeoutInMs); - serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); - serialPort.setFlowControlMode(s.getFlowControl()); - serialPort.addEventListener(fConn.getSerialPortHandler()); - serialPort.notifyOnDataAvailable(true); - fConn.getSerialPortIdentifier().addPortOwnershipListener(fConn.getSerialPortHandler()); - fConn.setSerialPort(serialPort); - fControl.setState(TerminalState.CONNECTED); + //Bug 221184: Warn about serial port already in use + String currentOwner = fConn.getSerialPortIdentifier().getCurrentOwner(); + if (strID.equals(currentOwner)) { + currentOwner = SerialMessages.ANOTHER_TERMINAL; + } + final int[] answer = { SWT.YES }; + final String fPortName = portName; + final String fCurrentOwner = currentOwner; + if (currentOwner != null) { + Display.getDefault().syncExec(new Runnable() { + public void run() { + MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); + mb.setText(SerialMessages.PROP_TITLE); + mb.setMessage(NLS.bind(SerialMessages.PORT_IN_USE, fPortName, fCurrentOwner)); + answer[0] = mb.open(); + } + }); + } + + if (answer[0] != SWT.YES) { + // don't try to steal the port + fControl.setState(TerminalState.CLOSED); + fConn.setSerialPortHandler(null); + return; + } else { + // Try to steal the port -- may throw PortInUseException + int timeoutInMs = s.getTimeout() * 1000; + serialPort = (SerialPort) fConn.getSerialPortIdentifier().open(strID, timeoutInMs); + serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); + serialPort.setFlowControlMode(s.getFlowControl()); + serialPort.addEventListener(fConn.getSerialPortHandler()); + serialPort.notifyOnDataAvailable(true); + fConn.getSerialPortIdentifier().addPortOwnershipListener(fConn.getSerialPortHandler()); + fConn.setSerialPort(serialPort); + if (fCurrentOwner != null) { + fControl.displayTextInTerminal(NLS.bind(SerialMessages.PORT_STOLEN, fPortName, fCurrentOwner)); + + } + fControl.setState(TerminalState.CONNECTED); + } + } catch (PortInUseException portInUseException) { fControl.setState(TerminalState.CLOSED); String theOwner = portInUseException.currentOwner; if (strID.equals(theOwner)) { - theOwner = "another Terminal View"; + theOwner = SerialMessages.ANOTHER_TERMINAL; } - fControl.displayTextInTerminal("Connection Error!\r\n" +portName+" is already in use by "+ theOwner); + fControl.displayTextInTerminal(NLS.bind(SerialMessages.PORT_NOT_STOLEN, portName, theOwner)); } catch (NoSuchPortException e) { fControl.setState(TerminalState.CLOSED); String msg=e.getMessage(); if(msg==null) msg=portName; - fControl.displayTextInTerminal("No such port: \"" + msg+"\"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + fControl.displayTextInTerminal(NLS.bind(SerialMessages.NO_SUCH_PORT, msg)); } catch (Exception exception) { Logger.logException(exception); diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java index 8dfb5cbf75b..001c6f8be39 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -28,9 +29,16 @@ public class SerialMessages extends NLS { public static String STOPBITS; public static String PARITY; public static String FLOWCONTROL; - public static String PORT_IN_USE; public static String TIMEOUT; public static String ERROR_LIBRARY_NOT_INSTALLED; + public static String PORT_IN_USE; + public static String ANOTHER_TERMINAL; + public static String PORT_STOLEN; + public static String PORT_NOT_STOLEN; + public static String NO_SUCH_PORT; + + public static String OWNERSHIP_GRANTED; + } diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties index c79ce2d3a03..79f33b31b81 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties @@ -14,8 +14,8 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox +# Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling ############################################################################### -PORT_IN_USE = Serial port \''{0}\'' is currently in use\!\nDo you want to close the port? PROP_TITLE = Terminal PORT = Port BAUDRATE = Baud Rate @@ -37,3 +37,12 @@ Installation:\n\ * More downloads for other platforms (currently about 30)\n\ are available from the "ToyBox" link on\n\ http://users.frii.com/jarvi/rxtx/download.html + +# Port Ownership Handling +PORT_IN_USE = Serial port \''{0}\'' is currently in use by {1}\!\nDo you want to try and steal the port? +ANOTHER_TERMINAL = another Terminal View +PORT_STOLEN = Port \''{0}\'' successfully obtained from {1}\r\n +PORT_NOT_STOLEN = Connection Error!\r\n \''{0}\'' is already in use by {1}.\r\n +NO_SUCH_PORT = No such port: \''{0}\''\r\n + +OWNERSHIP_GRANTED = Connection canceled due to ownership request from {0}.\r\n \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java index 20cade6d7d9..7778b896ece 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox + * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -22,11 +23,9 @@ import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventListener; import java.io.IOException; -import java.text.MessageFormat; -import org.eclipse.swt.SWT; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; @@ -69,21 +68,25 @@ public class SerialPortHandler implements } public void onSerialOwnershipRequested(Object data) { - Display.getDefault().asyncExec(new Runnable() { - public void run() { - String[] args = new String[] { fConn.getSerialSettings().getSerialPort() }; - String strMsg = MessageFormat.format(SerialMessages.PORT_IN_USE, args); - // [168197] Replace JFace MessagDialog by SWT MessageBox - //if (!MessageDialog.openQuestion(fControl.getShell(), SerialMessages.PROP_TITLE, strMsg)) - MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); - mb.setText(SerialMessages.PROP_TITLE); - mb.setMessage(strMsg); - if (mb.open() != SWT.YES) - return; - fConn.disconnect(); - } - - }); + //Bug 221184: We immediately release the port on any ownership request + try { + throw new Exception(); + } catch (Exception e) { + StackTraceElement[] elems = e.getStackTrace(); + final String requester = elems[elems.length - 4].getClassName(); + Display.getDefault().asyncExec(new Runnable() { + public void run() { + fConn.disconnect(); + String req = requester; + String myPackage = this.getClass().getPackage().getName(); + if (req.startsWith(myPackage)) { + req = SerialMessages.ANOTHER_TERMINAL; + } + fControl.displayTextInTerminal(NLS.bind(SerialMessages.OWNERSHIP_GRANTED, req)); + } + }); + fConn.disconnect(); + } } // SerialPortEventListener interface From e07b69d8be53434396da5551da5043512d509a29 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 7 May 2008 14:48:03 +0000 Subject: [PATCH 304/843] [168186] Add Terminal User Docs --- org.eclipse.tm.terminal.view/HelpContexts.xml | 26 +++++ org.eclipse.tm.terminal.view/build.properties | 12 ++- org.eclipse.tm.terminal.view/doc/book.css | 1 + .../doc/html/01_terminalview.html | 44 ++++++++ .../doc/html/02_terminal_page.html | 67 ++++++++++++ .../doc/html/03_terminal_settings.html | 101 ++++++++++++++++++ .../doc/html/04_terminal_emulation.html | 64 +++++++++++ .../doc/html/notice.html | 30 ++++++ org.eclipse.tm.terminal.view/plugin.xml | 13 ++- .../terminal/view/TerminalSettingsDlg.java | 4 + .../internal/terminal/view/TerminalView.java | 7 +- .../terminal/view/TerminalViewPlugin.java | 3 + org.eclipse.tm.terminal.view/toc.xml | 21 ++++ 13 files changed, 388 insertions(+), 5 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/HelpContexts.xml create mode 100644 org.eclipse.tm.terminal.view/doc/book.css create mode 100644 org.eclipse.tm.terminal.view/doc/html/01_terminalview.html create mode 100644 org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html create mode 100644 org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html create mode 100644 org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html create mode 100644 org.eclipse.tm.terminal.view/doc/html/notice.html create mode 100644 org.eclipse.tm.terminal.view/toc.xml diff --git a/org.eclipse.tm.terminal.view/HelpContexts.xml b/org.eclipse.tm.terminal.view/HelpContexts.xml new file mode 100644 index 00000000000..4100b7979da --- /dev/null +++ b/org.eclipse.tm.terminal.view/HelpContexts.xml @@ -0,0 +1,26 @@ + + + + + + The Terminal View supports direct connections to target boards via serial or network connections. + + + + + + The Terminal Settings Dialog provides the controls for making terminal connections. + + + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties index 2b7e553fdbc..39325f488b7 100644 --- a/org.eclipse.tm.terminal.view/build.properties +++ b/org.eclipse.tm.terminal.view/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2003, 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,6 +21,12 @@ bin.includes = META-INF/,\ plugin.xml,\ icons/,\ plugin.properties,\ - about.html,about.ini,about.mappings,about.properties,\ - eclipse32.png + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + eclipse32.png,\ + HelpContexts.xml,\ + doc/,\ + toc.xml src.includes = about.html diff --git a/org.eclipse.tm.terminal.view/doc/book.css b/org.eclipse.tm.terminal.view/doc/book.css new file mode 100644 index 00000000000..faa4199fe34 --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/book.css @@ -0,0 +1 @@ +@import "../../PRODUCT_PLUGIN/book.css"; diff --git a/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html new file mode 100644 index 00000000000..0771833c053 --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html @@ -0,0 +1,44 @@ + + + + + + + + +Terminal View + + + + +

                Terminal View

                +
                +

                +The Terminal view provides a raw serial or network connection to your target board. +This view is useful for monitoring output on a target's serial port or making a telnet +connection to a device. +

                + + +Multiple Terminal view instances can be active at the same time, connected +to a number of remote systems or disconnected and just holding their settings +ready for re-connect. + +

                +
                       | Next >
                + + diff --git a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html new file mode 100644 index 00000000000..f1b20507d96 --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html @@ -0,0 +1,67 @@ + + + + + + + + +Terminal View Quick Reference + + + +

                Terminal View Quick Reference

                +
                + + + + + + + + + + + + + + + + + + + + + + + + + + +

                Button

                Description

                Open another instance of the Terminal view.

                Connect to selected port.

                Disconnect from selected port.

                Open the Terminal Settings dialog. + Only available when disconnected.

                Toggle the Command Input field, + for editing complex command lines on dumb terminals.

                +
                +

                +

                + +
                + Each instance of the Terminal view can be connected to a different remote endpoint + (either serial or network). Of course, the number of serial connections is limited by the + number of serial ports. +
                + +

                + + + + diff --git a/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html new file mode 100644 index 00000000000..130e9e40b87 --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html @@ -0,0 +1,101 @@ + + + + + + + + +Terminal Settings Dialog + + + +

                Terminal Settings Dialog

                + +
                +Use the Terminal Settings dialog to configure your connection. +
                +
                +In the Connection Type field choose Serial, SSH or Telnet. +
                +
                +The View Title field allows giving a name to your Terminal View instance. +
                + +

                Serial Connection

                + +
                +If you choose a serial connection, the Settings area has seven options: + Port, Baud Rate, Data Bits, Stop Bits, Parity, Flow Control, + and Timeout. +
                + +
                +When you have entered your settings, click OK. This initiates your connection.
                + +
                +Your connection information appears in the header of the Terminal view. +A cursor appears in the view itself. Hit ENTER to get a >NET> +prompt.
                + +

                +
                + + + + + +
                +

                NOTE:When using the Terminal view on Linux or Solaris, + serial ports ttyS0 and ttyS1 must have appropriate permissions + set in order to connect to them, unless you are running the Workbench as root. +

                  
                +
                + +

                +

                SSH Connection

                + +
                +If you choose an SSH connection, the Settings area has six options. +In the Host and Port fields, enter the IP Address and port of the host +you wish to connect to. +The User field specifies the remote user id to use. +The Password field is optional, since SSH can re-use your private keys +as specified on the Eclipse Preferences, General, Network Page. +The Timeout can be changed for very slow networks. The +KeepAlive value specifies an interval in seconds, by which the Terminal +automatically sends a packet to the remote host in order to keep the connection +alive even in case of inactivity. +

                When all settings are specified, click +OK. This initiates your connection.

                + + +

                +

                Telnet Connection

                + +
                +If you choose a Telnet connection, the Settings area has three options. +In the Host field, enter the IP Address of the host you wish to connect to. +In the Port field, select the network port you wish to use. +The Timeout can be changed for very slow networks. Then click +OK. This initiates your connection.
                + +
                +Your connection information appears in the header of the Terminal view. +A cursor appears in the view itself. Hit ENTER to get a >NET> prompt. +
                + +

                + + + + diff --git a/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html new file mode 100644 index 00000000000..0b987d5e87b --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html @@ -0,0 +1,64 @@ + + + + + + + + +Terminal Emulation + + + +

                Terminal Emulation

                + +
                +The Terminal view is an ANSI-conformant terminal emulator. You can use the +Terminal view to telnet into a remote UNIX host. +
                + +
                +To do so, set the TERM environment variable on the remote host to ansi. +This enables programs on the remote host, such as vi and Emacs, +to display text properly. +The Terminal view does not currently support other emulation modes, such as VT100. +
                + +
                +The size of the terminal window as understood by the remote is automatically +adjusted as the size of your Terminal view changes. +The colors and font used by the Terminal can be configured in the +Eclipse Preferences, Appearance section. A separate Terminal Preference +Page allows inverting the terminal colors easily if desired. +
                + +

                Optional Command Input Field

                + +
                +The optional Command Input Field can be enabled when sending commands to a dumb +terminal that does not support cursor keys for editing. In such a case, the +Command Input Field provides a full editor that supports cursor navigation, copy +and paste, as well as a history of previous commands that can be accessed by +Ctrl+Space content assist. +
                + +
                +If more space than the default single editing line is needed for very complex commands, +the Command Input Field can be enlarged by dragging its upper handle up with +the mouse. +
                + +

                + + + + diff --git a/org.eclipse.tm.terminal.view/doc/html/notice.html b/org.eclipse.tm.terminal.view/doc/html/notice.html new file mode 100644 index 00000000000..ce5f8a404b9 --- /dev/null +++ b/org.eclipse.tm.terminal.view/doc/html/notice.html @@ -0,0 +1,30 @@ + + + + + + + + +Legal Notice + + + +

                Legal Notice

                +

                +The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2008. +

                +

                +Terms and conditions regarding the use of this guide. +

                + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index 40cf63faad6..504ec8b41e3 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -1,7 +1,7 @@ + + + + + + + + + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 6f44eeda7ed..77edd0fa318 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -43,6 +44,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.ui.PlatformUI; class TerminalSettingsDlg extends Dialog { private Combo fCtlConnTypeCombo; @@ -163,6 +165,8 @@ class TerminalSettingsDlg extends Dialog { } protected Control createDialogArea(Composite parent) { Composite ctlComposite = (Composite) super.createDialogArea(parent); + PlatformUI.getWorkbench().getHelpSystem().setHelp(ctlComposite, TerminalViewPlugin.HELPPREFIX + "terminal_settings"); //$NON-NLS-1$ + setupPanel(ctlComposite); setupListeners(); initFields(); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index cb52cf9bdbf..c9135cddcd5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -18,6 +18,7 @@ * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -65,6 +66,7 @@ import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { @@ -192,7 +194,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // The second argument to showView() is a unique String identifying the // secondary view instance. If it ever matches a previously used secondary // view identifier, then this call will not create a new Terminal view, - // which is undesireable. Therefore, we append the current time in + // which is undesirable. Therefore, we append the current time in // milliseconds to the secondary view identifier to ensure it is always // unique. This code runs only when the user clicks the New Terminal // button, so there is no risk that this code will run twice in a single @@ -367,6 +369,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi setupContextMenus(); setupListeners(wndParent); + PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$ + onTerminalStatus(); onTerminalFontChanged(); } @@ -392,6 +396,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected void setupControls(Composite wndParent) { ITerminalConnector[] connectors = makeConnectors(); fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); + String connectionType=fStore.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(connectors[i])); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 41017326ca9..63194117efd 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -31,6 +32,8 @@ import org.eclipse.ui.plugin.AbstractUIPlugin; public class TerminalViewPlugin extends AbstractUIPlugin { protected static TerminalViewPlugin fDefault; + public static final String HELPPREFIX = "org.eclipse.tm.terminal.view."; //$NON-NLS-1$ + /** * The constructor. */ diff --git a/org.eclipse.tm.terminal.view/toc.xml b/org.eclipse.tm.terminal.view/toc.xml new file mode 100644 index 00000000000..4409655e2b2 --- /dev/null +++ b/org.eclipse.tm.terminal.view/toc.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + \ No newline at end of file From dd441cec2c20654db18170af5a130f54efd7b395 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 20 May 2008 18:51:02 +0000 Subject: [PATCH 305/843] [231959][terminal][telnet] NPE in TelnetConnector.java (applied patch from Sean Adams) --- .../eclipse/tm/internal/terminal/telnet/TelnetConnector.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 4600cd7eac5..674b9ad43ab 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -13,7 +13,8 @@ * Contributors: * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Sean Adams (Cisco) - [231959][terminal][telnet] NPE in TelnetConnector.java *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -33,7 +34,6 @@ public class TelnetConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; private Socket fSocket; - private ITerminalControl fControl; private TelnetConnection fTelnetConnection; private final TelnetSettings fSettings; private int fWidth = -1; From b1e5ec122940ae54b5e4b2f097c0b71ec61cb841 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 29 May 2008 21:58:39 +0000 Subject: [PATCH 306/843] [cleanup] Update copyright year 2008 --- .../tm/internal/terminal/ssh/KeyboardInteractiveDialog.java | 2 +- .../eclipse/tm/internal/terminal/ssh/UserValidationDialog.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java index 761605f263e..4b64189af89 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java index 7902fecf5c1..c7c05c04089 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at From 792518c4ead3249bfdc0065c58ce5554c51d444d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 29 May 2008 22:18:50 +0000 Subject: [PATCH 307/843] [cleanup] Update copyright year 2008 --- org.eclipse.tm.terminal.telnet-feature/build.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/org.eclipse.tm.terminal.telnet-feature/build.properties index 8babd3045ce..f3dfb154122 100644 --- a/org.eclipse.tm.terminal.telnet-feature/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties index d8761451956..1694e6d2830 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties index f887a008cbb..f6f7963f28b 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties index fad84e65776..074fe1f2a3e 100644 --- a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at From d91d78052103b58d760baa77a7f31cfc6ff767ff Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sat, 7 Jun 2008 03:16:25 +0000 Subject: [PATCH 308/843] test added --- .../TerminalConnectorFactoryTest.java | 266 ++++++++++++++++++ 1 file changed, 266 insertions(+) create mode 100644 org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java new file mode 100644 index 00000000000..fac78d377ed --- /dev/null +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -0,0 +1,266 @@ +/******************************************************************************* + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.connector; + +import java.io.OutputStream; + +import junit.framework.TestCase; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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; + +public class TerminalConnectorFactoryTest extends TestCase { + public class SettingsMock implements ISettingsStore { + + public String get(String key) { + return null; + } + + public String get(String key, String defaultValue) { + return null; + } + + public void put(String key, String value) { + } + + } + public static class TerminalControlMock implements ITerminalControl { + + public void setEncoding(String encoding) { + } + + public String getEncoding() { + return "ISO-8859-1"; //$NON-NLS-1$ + } + + public void displayTextInTerminal(String text) { + } + + public OutputStream getRemoteToTerminalOutputStream() { + return null; + } + + public Shell getShell() { + return null; + } + + public TerminalState getState() { + return null; + } + + public void setMsg(String msg) { + } + + public void setState(TerminalState state) { + } + + public void setTerminalTitle(String title) { + } + + } + static class ConnectorMock extends TerminalConnectorImpl { + + public boolean fEcho; + public int fWidth; + public int fHeight; + public ITerminalControl fControl; + public ISettingsStore fSaveStore; + public ISettingsStore fLoadStore; + public boolean fDisconnect; + + public boolean isLocalEcho() { + return fEcho; + } + public void setTerminalSize(int newWidth, int newHeight) { + fWidth=newWidth; + fHeight=newHeight; + } + public void connect(ITerminalControl control) { + super.connect(control); + fControl = control; + } + public void doDisconnect() { + fDisconnect=true; + } + + public OutputStream getTerminalToRemoteStream() { + return null; + } + + public String getSettingsSummary() { + return "Summary"; + } + + public void load(ISettingsStore store) { + fLoadStore=store; + } + + public ISettingsPage makeSettingsPage() { + return new ISettingsPage(){ + public void createControl(Composite parent) { + } + public void loadSettings() { + } + public void saveSettings() { + } + public boolean validateSettings() { + return false; + }}; + } + + public void save(ISettingsStore store) { + fSaveStore=store; + } + } + protected TerminalConnector makeTerminalConnector() { + return makeTerminalConnector(new ConnectorMock()); + } + + protected TerminalConnector makeTerminalConnector(final TerminalConnectorImpl mock) { + TerminalConnector c=new TerminalConnector(new TerminalConnector.Factory(){ + public TerminalConnectorImpl makeConnector() throws Exception { + return mock; + } + },"xID","xName"); + return c; + } + + public void testGetInitializationErrorMessage() { + TerminalConnector c=makeTerminalConnector(); + c.connect(new TerminalControlMock()); + assertNull(c.getInitializationErrorMessage()); + + c=makeTerminalConnector(new ConnectorMock(){ + public void initialize() throws Exception { + throw new Exception("FAILED"); + }}); + c.connect(new TerminalControlMock()); + assertEquals("FAILED",c.getInitializationErrorMessage()); + + } + + public void testGetIdAndName() { + TerminalConnector c=makeTerminalConnector(); + assertEquals("xID", c.getId()); + assertEquals("xName", c.getName()); + } + + public void testIsInitialized() { + TerminalConnector c=makeTerminalConnector(); + assertFalse(c.isInitialized()); + c.getId(); + assertFalse(c.isInitialized()); + c.getName(); + assertFalse(c.isInitialized()); + c.getSettingsSummary(); + assertFalse(c.isInitialized()); + c.setTerminalSize(10,10); + assertFalse(c.isInitialized()); + c.load(null); + assertFalse(c.isInitialized()); + c.save(null); + assertFalse(c.isInitialized()); + c.getAdapter(ConnectorMock.class); + assertFalse(c.isInitialized()); + } + + public void testConnect() { + TerminalConnector c=makeTerminalConnector(); + assertFalse(c.isInitialized()); + c.connect(new TerminalControlMock()); + assertTrue(c.isInitialized()); + + } + + public void testDisconnect() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + TerminalControlMock control=new TerminalControlMock(); + c.connect(control); + c.disconnect(); + assertTrue(mock.fDisconnect); + } + + public void testGetTerminalToRemoteStream() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + TerminalControlMock control=new TerminalControlMock(); + c.connect(control); + assertSame(mock.fControl,control); + } + public void testGetSettingsSummary() { + TerminalConnector c=makeTerminalConnector(); + assertEquals("Not Initialized", c.getSettingsSummary()); + c.connect(new TerminalControlMock()); + assertEquals("Summary", c.getSettingsSummary()); + } + + public void testIsLocalEcho() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + assertFalse(c.isLocalEcho()); + mock.fEcho=true; + assertTrue(c.isLocalEcho()); + } + + public void testLoad() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + ISettingsStore s=new SettingsMock(); + c.load(s); + // the load is called after the connect... + assertNull(mock.fLoadStore); + c.connect(new TerminalControlMock()); + assertSame(s,mock.fLoadStore); + } + + public void testSave() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + ISettingsStore s=new SettingsMock(); + c.save(s); + assertNull(mock.fSaveStore); + c.connect(new TerminalControlMock()); + c.save(s); + assertSame(s,mock.fSaveStore); + } + + public void testMakeSettingsPage() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + assertNotNull(c.makeSettingsPage()); + } + + public void testSetTerminalSize() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + c.setTerminalSize(100, 200); + + } + + public void testGetAdapter() { + ConnectorMock mock=new ConnectorMock(); + TerminalConnector c = makeTerminalConnector(mock); + assertNull(c.getAdapter(ConnectorMock.class)); + // the load is called after the connect... + c.connect(new TerminalControlMock()); + + assertSame(mock, c.getAdapter(ConnectorMock.class)); + } + +} From e84eaf2d56f140c636c3c25489159bb25bb00302 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Sun, 8 Jun 2008 03:10:21 +0000 Subject: [PATCH 309/843] remove obsolete method --- .../internal/terminal/control/impl/ITerminalControlForText.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index a088eb847d5..52e65c506b7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -29,8 +29,6 @@ public interface ITerminalControlForText { ITerminalConnector getTerminalConnector(); - void disconnectTerminal(); - OutputStream getOutputStream(); } From 4b33effe112b36cd930a975bb822338b52a5726f Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 9 Jun 2008 14:31:07 +0000 Subject: [PATCH 310/843] bug 204796: [terminal][api] Terminal should allow setting the encoding to use https://bugs.eclipse.org/bugs/show_bug.cgi?id=204796 --- .../connector/TerminalConnectorTest.java | 10 +++- .../terminal/test/ui/VT100DataSource.java | 29 +++++++---- .../terminal/emulator/VT100Emulator.java | 32 ++++++++---- .../emulator/VT100TerminalControl.java | 49 ++++++++++++++++-- .../provisional/api/ITerminalControl.java | 50 +++++++++++++++++-- 5 files changed, 139 insertions(+), 31 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index bb0bb64de95..ffb0efe6700 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -7,7 +7,8 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -41,6 +42,13 @@ public class TerminalConnectorTest extends TestCase { } public static class TerminalControlMock implements ITerminalControl { + public void setEncoding(String encoding) { + } + + public String getEncoding() { + return "ISO-8859-1"; //$NON-NLS-1$ + } + public void displayTextInTerminal(String text) { } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java index 96f63ed4339..69e66b8af87 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java @@ -1,12 +1,13 @@ /******************************************************************************* * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use *******************************************************************************/ package org.eclipse.tm.internal.terminal.test.ui; @@ -15,7 +16,10 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; +import java.io.Reader; +import java.io.UnsupportedEncodingException; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; @@ -71,14 +75,20 @@ final class VT100DataSource implements IDataSource { fAvailable-=n; return n; } - + } void init(ITerminalTextData terminal) { + final Reader reader; + try { + reader = new InputStreamReader(new InfiniteFileInputStream(), "ISO-8859-1"); //$NON-NLS-1$ + } catch (UnsupportedEncodingException e) { + throw new RuntimeException(e); + } fEmulator=new VT100Emulator(terminal,new ITerminalControlForText() { public void disconnectTerminal() { // TODO Auto-generated method stub - + } public OutputStream getOutputStream() { @@ -97,7 +107,8 @@ final class VT100DataSource implements IDataSource { } public void setTerminalTitle(String title) { - }},new InfiniteFileInputStream()); + } + }, reader); } public int step(ITerminalTextData terminal) { synchronized(terminal) { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index f43bef9396f..566ad1873ef 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -118,13 +118,13 @@ public class VT100Emulator implements ControlListener { */ private int nextAnsiParameter = 0; - final Reader fReader; + Reader fReader; boolean fCrAfterNewLine; /** * The constructor. */ - public VT100Emulator(ITerminalTextData data,ITerminalControlForText terminal,InputStream input) { + public VT100Emulator(ITerminalTextData data, ITerminalControlForText terminal, Reader reader) { super(); Logger.log("entered"); //$NON-NLS-1$ @@ -134,15 +134,7 @@ public class VT100Emulator implements ControlListener { for (int i = 0; i < ansiParameters.length; ++i) { ansiParameters[i] = new StringBuffer(); } - Reader reader=null; - try { - // TODO convert byte to char using "ISO-8859-1" - reader=new InputStreamReader(input,"ISO-8859-1"); //$NON-NLS-1$ - } catch (UnsupportedEncodingException e) { - // should never happen! - e.printStackTrace(); - } - fReader=reader; + setInputStreamReader(reader); if(TerminalPlugin.isOptionEnabled("org.eclipse.tm.terminal/debug/log/VT100Backend")) //$NON-NLS-1$ text=new VT100BackendTraceDecorator(new VT100EmulatorBackend(data),System.out); else @@ -153,6 +145,24 @@ public class VT100Emulator implements ControlListener { text.setDefaultStyle(style); text.setStyle(style); } + + /** + * Set the reader that this Terminal gets its input from. + * + * The reader can be changed while the Terminal is running, but a change of + * the reader likely loses some characters which have not yet been fully + * read. Changing the reader can be done in order to change the selected + * Encoding, though. This is typically done when the Terminal is + * constructed, i.e. before it really starts operation; or, when the user + * manually selects a different encoding and thus doesn't care about losing + * old characters. + * + * @param reader the new Reader + */ + public void setInputStreamReader(Reader reader) { + fReader = reader; + } + public void setDimensions(int lines,int cols) { text.setDimensions(lines, cols); ITerminalConnector telnetConnection = getConnector(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 87e0cd46733..1854c7742c7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -21,10 +21,12 @@ * Ruslan Sychev (Xored Software) - [217675] NPE or SWTException when closing Terminal View while connection establishing * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; import java.io.IOException; +import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.SocketException; @@ -106,6 +108,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; PipedInputStream fInputStream; + private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); + private String fEncoding = defaultEncoding; + private InputStreamReader fInputStreamReader; private ICommandInputField fCommandInputField; @@ -124,11 +129,39 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); fTerminalModel.setMaxHeight(1000); fInputStream=new PipedInputStream(8*1024); - fTerminalText=new VT100Emulator(fTerminalModel,this,fInputStream); + fTerminalText = new VT100Emulator(fTerminalModel, this, null); + try { + // Use Default Encoding as start, until setEncoding() is called + setEncoding(null); + } catch (UnsupportedEncodingException e) { + // Should never happen + e.printStackTrace(); + // Fall back to local Platform Default Encoding + fEncoding = defaultEncoding; + fInputStreamReader = new InputStreamReader(fInputStream); + fTerminalText.setInputStreamReader(fInputStreamReader); + } setupTerminal(wndParent); } + public void setEncoding(String encoding) throws UnsupportedEncodingException { + if (encoding == null) { + // TODO better use a standard remote-to-local encoding? + encoding = "ISO-8859-1"; //$NON-NLS-1$ + // TODO or better use the local default encoding? + // encoding = defaultEncoding; + } + fInputStreamReader = new InputStreamReader(fInputStream, fEncoding); + // remember encoding if above didn't throw an exception + fEncoding = encoding; + fTerminalText.setInputStreamReader(fInputStreamReader); + } + + public String getEncoding() { + return fEncoding; + } + public ITerminalConnector[] getConnectors() { return fConnectors; } @@ -166,8 +199,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC return false; if (strText == null) return false; - for (int i = 0; i < strText.length(); i++) { - sendChar(strText.charAt(i), false); + if (!fEncoding.equals(defaultEncoding)) { + sendString(strText); + } else { + // TODO I do not understand why pasteString would do this here... + for (int i = 0; i < strText.length(); i++) { + sendChar(strText.charAt(i), false); + } } return true; } @@ -401,8 +439,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // platform's default character encoding. // // TODO: Find a way to force this to use the ISO Latin-1 encoding. + // TODO: handle Encoding Errors in a better way - getOutputStream().write(string.getBytes()); + getOutputStream().write(string.getBytes(fEncoding)); getOutputStream().flush(); } catch (SocketException socketException) { displayTextInTerminal(socketException.getMessage()); @@ -579,7 +618,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } private void writeToTerminal(String text) { try { - getRemoteToTerminalOutputStream().write(text.getBytes("ISO-8859-1")); //$NON-NLS-1$ + getRemoteToTerminalOutputStream().write(text.getBytes(fEncoding)); } catch (UnsupportedEncodingException e) { // should never happen! e.printStackTrace(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 73e33130988..fc78b8f6092 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -4,14 +4,16 @@ * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import org.eclipse.swt.widgets.Shell; @@ -24,7 +26,7 @@ import org.eclipse.swt.widgets.Shell; * with the Target Management * team. *

                - * + * * @author Michael Scharf * @noimplement This interface is not intended to be implemented by clients. */ @@ -47,9 +49,47 @@ public interface ITerminalControl { Shell getShell(); /** - * Show a text in the terminal. If puts newlines at the beginning and the end. - * @param text - * TODO: Michael Scharf: Is this really needed? + * Set the encoding that the Terminal uses to decode bytes from the + * Terminal-to-remote-Stream into Unicode Characters used in Java; or, to + * encode Characters typed by the user into bytes sent over the wire to the + * remote. + * + * By default, the local Platform Default Encoding is used. Also note that + * the encoding must not be applied in case the terminal stream is processed + * by some data transfer protocol which requires binary data. + * + * Validity of the encoding set here is not checked. Since some encodings do + * not cover the entire range of Unicode characters, it can happen that a + * particular Unicode String typed in by the user can not be encoded into a + * byte Stream with the encoding specified. and UnsupportedEncodingException + * will be thrown in this case at the time the String is about to be + * processed. + * + * The concrete encoding to use can either be specified manually by a user, + * by means of a dialog, or a connector can try to obtain it automatically + * from the remote side e.g. by evaluating an environment variable such as + * LANG on UNIX systems. + * + * @since org.eclipse.tm.terminal 2.0 + */ + void setEncoding(String encoding) throws UnsupportedEncodingException; + + /** + * Return the current encoding. That's interesting when the previous + * setEncoding() call failed and the fallback default encoding should be + * queried, such that e.g. a combobox with encodings to choose can be + * properly initialized. + * + * @return the current Encoding of the Terminal. + * @since org.eclipse.tm.terminal 2.0 + */ + String getEncoding(); + + /** + * Show a text in the terminal. If puts newlines at the beginning and the + * end. + * + * @param text TODO: Michael Scharf: Is this really needed? */ void displayTextInTerminal(String text); From 9c880167b3bf434198bfc0df86dab406577f7440 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 9 Jun 2008 23:38:52 +0000 Subject: [PATCH 311/843] bug 204796: [terminal][api] Terminal should allow setting the encoding to use https://bugs.eclipse.org/bugs/show_bug.cgi?id=204796 --- .../control/ITerminalViewControl.java | 24 ++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index e02051ce309..7690d8ce52e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -8,13 +8,17 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ + * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + ******************************************************************************/ package org.eclipse.tm.internal.terminal.control; +import java.io.UnsupportedEncodingException; + import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Control; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -22,6 +26,24 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; * */ public interface ITerminalViewControl { + /** + * Set the encoding that the Terminal uses to decode byte streams into + * characters. + * + * @see ITerminalControl#setEncoding(String) + * @since org.eclipse.tm.terminal 2.0 + */ + void setEncoding(String encoding) throws UnsupportedEncodingException; + + /** + * Get the Terminal's current encoding. + * + * @return the current Encoding of the Terminal. + * @see ITerminalControl#getEncoding() + * @since org.eclipse.tm.terminal 2.0 + */ + String getEncoding(); + boolean isEmpty(); void setFont(Font font); void setInvertedColors(boolean invert); From 504ec845c86c1e3e24f0a0a20606e968a48e23d1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 10 Jun 2008 00:46:10 +0000 Subject: [PATCH 312/843] [204796] Bugfix for VT100TerminalControl#setEncoding() --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 1854c7742c7..beb6192f9d5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -152,7 +152,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // TODO or better use the local default encoding? // encoding = defaultEncoding; } - fInputStreamReader = new InputStreamReader(fInputStream, fEncoding); + fInputStreamReader = new InputStreamReader(fInputStream, encoding); // remember encoding if above didn't throw an exception fEncoding = encoding; fTerminalText.setInputStreamReader(fInputStreamReader); From 99a99aff53d19e7fc482dba7ea21c2450016deb8 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 10 Jun 2008 05:19:29 +0000 Subject: [PATCH 313/843] NEW - bug 172483: [terminal] Secondary terminals cannot be shown in other perspectives https://bugs.eclipse.org/bugs/show_bug.cgi?id=172483 Some icons added --- .../icons/clcl16/clear_co.gif | Bin 0 -> 595 bytes org.eclipse.tm.terminal.view/icons/clcl16/pin.gif | Bin 0 -> 358 bytes .../icons/dlcl16/clear_co.gif | Bin 0 -> 364 bytes org.eclipse.tm.terminal.view/icons/dlcl16/pin.gif | Bin 0 -> 223 bytes .../icons/dlcl16/rem_co.gif | Bin 0 -> 159 bytes .../icons/elcl16/clear_co.gif | Bin 0 -> 595 bytes org.eclipse.tm.terminal.view/icons/elcl16/pin.gif | Bin 0 -> 358 bytes .../icons/elcl16/rem_co.gif | Bin 0 -> 163 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/pin.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/pin.gif create mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/pin.gif create mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..af30a42f83d2f91801206463e1f4601a747dd38e GIT binary patch literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta{<@T&OW#5 z)RWbxo*cdZC3eoamMynhw%$7X>;K2!|G)nE|Ksof*T4S1`~Cm@@BbhF{Qval|JT3&fBgIZ{ont&3m42? zw1A<=j3H5vAxNEJs-5ZVh@x$twOa!hpK6@HJa5&i>8n>x-@dVL|F(|*|Nk>!1ByRc z7#SEW7<53AAU`p%H9O2H@X(R!_gL~;)mtchL&W8mO^)%0ni?AlY{WKS&0$O4*)qxV zXwk`xF#U)b5f%bMTpY~TssR#@hZtGO&5`sRW@@m y;gwcZkyDkEP*pW`(c)E;->^|$P+rr8nO9vyU19G&1tu4UBS()N@$+zGum%8MtEM~v literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..6775edfabb98762b8ce735171380920edc076efc GIT binary patch literal 364 zcmZ?wbhEHb6krfwxXQrr`}dz;zkdJx`Rm7zpAQ~BIehfgxeHfLow;!Q2KY#wb zefxI%_U+rYZQHbI)0#DFRqv0~ApMGF@$oHuXY?Afzt&YU@8#*FFH zr%#(U?f?J(3={yxpDc_F4B8AjATvOIVqoh$Ae!bOv##%ivfAOCFau8&wgXGj^h7d5 zgbic_SR0;xy2Hivydi4sR4$3$c5$5yZN&+Ub^IH-l?#g4`GgtjB!mRJx|kGH+kaO`TP6){r&s={DF^%d4qnQs-m&EthBqY zyS%l+!NLFk{{R30A^8LW0015UEC2ui01yBW000GCpeK%GX`U$Bttr`QTi1H;rOEWF z>l}CE9fc$EkW4Na4F@Oc3<81#f}z1=FiaX@%LP=IF2Z4a0FV#a4uN8zupx$anoy|Q Z7xlSi&$l!za}|PvgK0a5EHfq{06TA~c$feH literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..559e462985f439553de36c89f65392eae3e9a44e GIT binary patch literal 159 zcmZ?wbhEHb6krfw*v!Ci=-|O)$BrF5cyQ02Jv(;n*t~i3x^?STu3Wif$&v*N7X1JJ zp8*vp{$ycfVBliV0SSZ5U|{hHIO(~1uSCNtU5#UEjBbj3ZUQY)yXJ8fa4;1Ld|~WA z@!)sI-4+*(HUmTFi3NKYgjzF96l>i0I}eMb=?0hv=!;iZy|UTOS9Ern3j>2S03Llh A4*&oF literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..af30a42f83d2f91801206463e1f4601a747dd38e GIT binary patch literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta{<@T&OW#5 z)RWbxo*cdZC3eoamMynhw%$7X>;K2!|G)nE|Ksof*T4S1`~Cm@@BbhF{Qval|JT3&fBgIZ{ont&3m42? zw1A<=j3H5vAxNEJs-5ZVh@x$twOa!hpK6@HJa5&i>8n>x-@dVL|F(|*|Nk>!1ByRc z7#SEW7<53AAU`p%H9O2H@X(R!_gL~;)mtchL&W8mO^)%0ni?AlY{WKS&0$O4*)qxV zXwk`xF#U)b5f%bMTpY~TssR#@hZtGO&5`sRW@@m y;gwcZkyDkEP*pW`(c)E;->^|$P+rr8nO9vyU19G&1tu4UBS()N@$+zGum%8MtEM~v literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cd9c544436c47a57f20b348b3fb024bb50701a7 GIT binary patch literal 163 zcmZ?wbhEHb6krfw*v!DNV#SID3l_|nF=N7n2^}3B4Gj$y6%_>q1sNF`2?+`R|Nmz| z1&Tje7#SG27<53wATtBYuHJj2L#xNM)vQ#JRl<>hDKU#-N&yE`p}?0M(Gw4T zcQCOfDoF5h^e6?|s2Q}nBw9^ Date: Wed, 11 Jun 2008 00:43:28 +0000 Subject: [PATCH 314/843] RESOLVED - bug 236458: [terminal] CommandInputFieldWithHistory.setHistory misses the last hisory entry https://bugs.eclipse.org/bugs/show_bug.cgi?id=236458 --- .../control/CommandInputFieldWithHistory.java | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 29b264c4e22..e461f6979ae 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -10,6 +10,7 @@ * Michael Scharf (Wing River) - [211659] Add field assist to terminal input field * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 + * Michael Scharf (Wing River) - [236458] Fix 168197 lost the last entry *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; @@ -17,6 +18,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.StringTokenizer; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; @@ -146,16 +148,9 @@ public class CommandInputFieldWithHistory implements ICommandInputField { // add history entries separated by '\n' // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ // - int i = 0; - int j = history.indexOf('\n'); - while (j > i) { - fHistory.add(history.substring(i, j)); - do { - j++; - } while (j < history.length() && history.charAt(j) == '\n'); - i = j; - j = history.indexOf('\n', i); - } + StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ + while(tok.hasMoreElements()) + fHistory.add(tok.nextElement()); // } /** From d2f5545dfdae6031b821cc4b8fe7c0fae0ab9450 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 12 Jun 2008 00:45:48 +0000 Subject: [PATCH 315/843] removed obsolete icons --- .../icons/clcl16/clear_co.gif | Bin 595 -> 0 bytes .../icons/dlcl16/clear_co.gif | Bin 364 -> 0 bytes .../icons/elcl16/clear_co.gif | Bin 595 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/clear_co.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/clear_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif b/org.eclipse.tm.terminal.view/icons/clcl16/clear_co.gif deleted file mode 100644 index af30a42f83d2f91801206463e1f4601a747dd38e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 595 zcmZ?wbhEHb6krfwc*el+;Qr&!Uw{Aj`RCh@zn{MT*?;oxyHCG9ef|CO*PkChf49xr z*E9dn%Iz0#-hcJ>)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta2KY#wb zefxI%_U+rYZQHbI)0#DFRqv0~ApMGF@$oHuXY?Afzt&YU@8#*FFH zr%#(U?f?J(3={yxpDc_F4B8AjATvOIVqoh$Ae!bOv##%ivfAOCFau8&wgXGj^h7d5 zgbic_SR0;xy2Hivydi4sR4$3$c5$5yZN&+Ub^IH-l?#g4`GgtjB!mRJx|kGH)9(*oeotO@Y}T67i#DHMvE%ZZJy-8O|Ni97&*$%czWwy;^S9r3 zo`1jp^2fthKi+)${p!QdZ$ExNd-wC(&%YnO{{Hms_tzi4zyJI_W5&cyo7UdHe|Of* z{<*XJmMv^wG_UL6rjotu%lB?5-?_GG%gWmI%NmdGpZDg~qvKl(k8UnLx~2Hg#?qZ@ zs#Y&v%S5&t*x!DuCAn{q`0`asHmv0urNPAKQAvYB_$;} zIXNyaE;cqcGBPqWG&DFkI4CG6FfcG6Ai&?>-_OtQ|Ns9C0}2#>vM@3*gfi%WTmgy` z2KEgNp{C6(&7tib?WP<(y|$*E9cHRboKu+W?9C^J>Z%9|aC6C9+u2x5)MuAemSmLN zAgMReQb|NuXu%?WgNcR`5^M(!OBhcylH0yhfQMJnWTKUV_?0Uxu3jz-u0F1z+G3{` zuzEW)`F=drwRH^dde6KTp?5HjDwPt!%ua0$DEtSh$2VJr-3M iJ8pc$DH7Bta Date: Fri, 20 Jun 2008 12:43:35 +0000 Subject: [PATCH 316/843] bug 237398: [terminal] Terminal get Invalid Thread Access when the title is set https://bugs.eclipse.org/bugs/show_bug.cgi?id=237398 --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index beb6192f9d5..26a0feb3530 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -22,6 +22,7 @@ * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Michael Scharf (Wind River) - [237398] Terminal get Invalid Thread Access when the title is set *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -549,6 +550,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public Control getControl() { return fCtlText; } + public Control getRootControl() { + return fWndParent; + } protected void setupControls(Composite parent) { // The Terminal view now aims to be an ANSI-conforming terminal emulator, so it // can't have a horizontal scroll bar (but a vertical one is ok). Also, do From 47870c470351634b6b83aeb57cf6f5948e8cbafd Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 20 Jun 2008 21:59:24 +0000 Subject: [PATCH 317/843] bug 237425: undefined tm.terminal command https://bugs.eclipse.org/bugs/show_bug.cgi?id=237425 --- org.eclipse.tm.terminal/plugin.xml | 61 +----------------------------- 1 file changed, 1 insertion(+), 60 deletions(-) diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 853af8e9ef3..aae86a7c5c7 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -10,6 +10,7 @@ # Contributors: # Michael Scharf (Wind River) - initial API and implementation # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Michael Scharf (Wind River) - [237425] undefined tm.terminal command --> @@ -20,64 +21,4 @@ id="org.eclipse.tm.terminal.TerminalContext" /> - - - - - - - - - - - - - From 7b35268500d65baf7e9fa95b5eabd46cc2312c73 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 20 Jun 2008 23:54:02 +0000 Subject: [PATCH 318/843] bug 237398: [terminal] Terminal get Invalid Thread Access when the title is set https://bugs.eclipse.org/bugs/show_bug.cgi?id=237398 --- .../internal/terminal/view/TerminalView.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index c9135cddcd5..d32af3e2763 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -176,10 +176,18 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi onTerminalStatus(); } }; - if(Thread.currentThread()==Display.getDefault().getThread()) + runInDisplayThread(runnable); + } + + /** + * @param runnable run in display thread + */ + private void runInDisplayThread(Runnable runnable) { + if(Display.findDisplay(Thread.currentThread())!=null) runnable.run(); - else - Display.getDefault().syncExec(runnable); + else if(PlatformUI.isWorkbenchRunning()) + PlatformUI.getWorkbench().getDisplay().syncExec(runnable); + // else should not happen and we ignore it... } @@ -287,7 +295,15 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi fActionTerminalSettings.setEnabled(bEnabled); } - public void setTerminalTitle(String strTitle) { + public void setTerminalTitle(final String strTitle) { + runInDisplayThread(new Runnable() { + + public void run() { + runSetTitle(strTitle); + }}); + } + + private void runSetTitle(String strTitle) { if (fCtlTerminal.isDisposed()) return; From 24abfef5ae56aa020ae65efa9b921e6a37f320a4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 26 Jun 2008 16:03:52 +0000 Subject: [PATCH 319/843] [236458] Fix addition of the last history entry --- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../control/CommandInputFieldWithHistory.java | 20 ++++++++++++++----- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index f1d4ddecb35..536fe146d05 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index e461f6979ae..90c232e986e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -10,7 +10,8 @@ * Michael Scharf (Wing River) - [211659] Add field assist to terminal input field * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 - * Michael Scharf (Wing River) - [236458] Fix 168197 lost the last entry + * Michael Scharf (Wing River) - [236458] Fix 168197 lost the last entry + * Martin Oberhuber (Wing River) - [236458] Fix addition of the last history entry *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; @@ -18,7 +19,6 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; -import java.util.StringTokenizer; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; @@ -148,9 +148,19 @@ public class CommandInputFieldWithHistory implements ICommandInputField { // add history entries separated by '\n' // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ // - StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ - while(tok.hasMoreElements()) - fHistory.add(tok.nextElement()); + int i = 0; + int j = history.indexOf('\n'); + while (j > i) { + fHistory.add(history.substring(i, j)); + do { + j++; + } while (j < history.length() && history.charAt(j) == '\n'); + i = j; + j = history.indexOf('\n', i); + } + if (i < history.length()) { + fHistory.add(history.substring(i)); + } // } /** From 2161bcc245c596f704a42debd528907f10aef222 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 26 Jun 2008 16:37:38 +0000 Subject: [PATCH 320/843] [releng] Rev up plugins and features for TM 3.0.1, and prepare releng scripts as well as update site --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index ac9665e243f..dae7aeddb92 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 3d0913c8fd6..1eba1334d62 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ From 57b23fb8c483e0e3e30f4c14abe67fb0a8e31772 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 7 Jul 2008 20:38:07 +0000 Subject: [PATCH 321/843] CLOSED - bug 172483: [terminal] Secondary terminals cannot be shown in other perspectives https://bugs.eclipse.org/bugs/show_bug.cgi?id=172483 --- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/actions/ActionMessages.java | 6 + .../actions/ActionMessages.properties | 7 + .../actions/ShowTerminalConnectionAction.java | 82 ++++ .../terminal/actions/TerminalActionPin.java | 41 ++ .../actions/TerminalActionRemove.java | 45 ++ .../TerminalActionSelectionDropDown.java | 106 +++++ .../internal/terminal/view/ITerminalView.java | 3 + .../view/ITerminalViewConnection.java | 78 +++ .../view/ITerminalViewConnectionManager.java | 83 ++++ .../internal/terminal/view/ImageConsts.java | 11 +- .../terminal/view/TerminalSettingsDlg.java | 11 +- .../internal/terminal/view/TerminalView.java | 445 +++++++++++------- .../terminal/view/TerminalViewConnection.java | 195 ++++++++ .../view/TerminalViewConnectionManager.java | 181 +++++++ .../view/TerminalViewControlDecorator.java | 167 +++++++ .../terminal/view/TerminalViewPlugin.java | 15 +- .../control/ITerminalViewControl.java | 7 + 19 files changed, 1310 insertions(+), 177 deletions(-) create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java create mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index b1af9864b67..a39b95a1d3f 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 2e7275cc813..6a503c929fa 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java index b94ee09799e..d1727bbc5b7 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -20,6 +20,7 @@ package org.eclipse.tm.internal.terminal.actions; import org.eclipse.osgi.util.NLS; public class ActionMessages extends NLS { + static { NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); } @@ -30,6 +31,11 @@ public class ActionMessages extends NLS { public static String SETTINGS_ELLIPSE; public static String SCROLL_LOCK_0; public static String SCROLL_LOCK_1; + public static String REMOVE; + public static String PIN; + + public static String ConsoleDropDownAction_0; + public static String ConsoleDropDownAction_1; public static String SETTINGS; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index cfb5133f4d7..aacae9b66c5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -14,6 +14,7 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin +# Michael Scharf (Wind River) - [172483] switch between connections ############################################################################### NEW_TERMINAL = New Terminal CONNECT = Connect @@ -23,3 +24,9 @@ SCROLL_LOCK_0 = Scroll &Lock SCROLL_LOCK_1 = Scroll Lock SETTINGS = Settings TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field +REMOVE = Remove Terminal +PIN = Pin Terminal + +ConsoleDropDownAction_0=Select Connection +ConsoleDropDownAction_1=Display Selected Connections + diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java new file mode 100644 index 00000000000..b92846dd8ab --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; + +/** + * Shows a specific connection in the terminal view + */ +public class ShowTerminalConnectionAction extends Action { + + private final ITerminalViewConnection fConnection; + private final ITerminalViewConnectionManager fConnectionManager; + + /** + * Constructs an action to display the given console. + * + * @param manager the console view in which the given console is contained + * @param connection the console + */ + public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) { + super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON); + fConnection = connection; + fConnectionManager = manager; + setImageDescriptor(connection.getImageDescriptor()); + } + /** + * the tab at the end quotes '@' chars?!? see + * {@link #setText(String)} + * @param name + * @return a quoted sting + */ + private static String quoteName(String name) { + return name+"\t"; //$NON-NLS-1$ + } + /** + * Builds the name. It uses the summary. If the connections have different + * partNames (the names showed in the view title) then this name is prefixed. + * @param m the connection manager + * @param connection the connection for which the name should me extracted + * @return The name to be displayed + */ + private static String buildName(ITerminalViewConnectionManager m,ITerminalViewConnection connection) { + String name = connection.getFullSummary(); + if(!checkIfAllPartNamesTheSame(m)) + name=connection.getPartName()+" - " +name; //$NON-NLS-1$ + return name; + } + /** + * @param m the connection manager + * @return true if the part names of all connections are the same + */ + private static boolean checkIfAllPartNamesTheSame(ITerminalViewConnectionManager m) { + ITerminalViewConnection[] connections = m.getConnections(); + if(connections.length>1) { + String partName=connections[0].getPartName(); + for (int i = 1; i < connections.length; i++) { + if(!partName.equals(connections[i].getPartName())) { + return false; + } + } + + } + return true; + } + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + public void run() { + fConnectionManager.setActiveConnection(fConnection); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java new file mode 100644 index 00000000000..d428dd226d0 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - initial contribution + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionPin extends TerminalAction +{ + public TerminalActionPin(ITerminalView target) + { + super(target, + TerminalActionPin.class.getName(),IAction.AS_RADIO_BUTTON); + + setupAction(ActionMessages.PIN, + ActionMessages.PIN, + ImageConsts.IMAGE_CLCL_PIN, + ImageConsts.IMAGE_ELCL_PIN, + ImageConsts.IMAGE_DLCL_PIN, + true); + setChecked(fTarget.isPinned()); + } + public void run() { + fTarget.setPinned(!fTarget.isPinned()); + setChecked(fTarget.isPinned()); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java new file mode 100644 index 00000000000..048aeb39149 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - initial contribution + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; +import org.eclipse.tm.internal.terminal.view.ImageConsts; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; + +public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener +{ + private final ITerminalViewConnectionManager fConnectionManager; + public TerminalActionRemove(ITerminalViewConnectionManager target) + { + super(null, + TerminalActionRemove.class.getName()); + fConnectionManager=target; + setupAction(ActionMessages.REMOVE, + ActionMessages.REMOVE, + null, + ImageConsts.IMAGE_ELCL_REMOVE, + ImageConsts.IMAGE_DLCL_REMOVE, + true); + fConnectionManager.addListener(this); + connectionsChanged(); + } + public void run() { + fConnectionManager.removeActive(); + } + public void connectionsChanged() { + setEnabled(fConnectionManager.size()>1); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java new file mode 100644 index 00000000000..3c7348ff507 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2000, 2007 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Michael Scharf (Wind River) - [172483] switch between connections + * (Adapted from org.eclipse.ui.internal.console.ConsoleDropDownAction) + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; +import org.eclipse.tm.internal.terminal.view.ImageConsts; +import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; + +/** + * Drop down action in the console to select the console to display. + */ +public class TerminalActionSelectionDropDown extends Action implements IMenuCreator, ITerminalViewConnectionListener { + private ITerminalViewConnectionManager fConnections; + private Menu fMenu; + public TerminalActionSelectionDropDown(ITerminalViewConnectionManager view) { + fConnections= view; + setText(ActionMessages.ConsoleDropDownAction_0); + setToolTipText(ActionMessages.ConsoleDropDownAction_1); + setImageDescriptor(TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW)); +// PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION); + setMenuCreator(this); + fConnections.addListener(this); + connectionsChanged(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#dispose() + */ + public void dispose() { + if (fMenu != null) { + fMenu.dispose(); + } + fConnections.removeListener(this); + fConnections= null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) + */ + public Menu getMenu(Menu parent) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) + */ + public Menu getMenu(Control parent) { + if (fMenu != null) { + fMenu.dispose(); + } + + fMenu= new Menu(parent); + ITerminalViewConnection[] consoles= fConnections.getConnections(); + ITerminalViewConnection active = fConnections.getActiveConnection(); + for (int i = 0; i < consoles.length; i++) { + ITerminalViewConnection console = consoles[i]; + Action action = new ShowTerminalConnectionAction(fConnections, console); + action.setChecked(console.equals(active)); + addActionToMenu(fMenu, action, i + 1); + } + return fMenu; + } + + private void addActionToMenu(Menu parent, Action action, int accelerator) { + if (accelerator < 10) { + StringBuffer label= new StringBuffer(); + //add the numerical accelerator + label.append('&'); + label.append(accelerator); + label.append(' '); + label.append(action.getText()); + action.setText(label.toString()); + } + ActionContributionItem item= new ActionContributionItem(action); + item.fill(parent, -1); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + public void run() { + fConnections.swapConnection(); + } + + public void connectionsChanged() { + setEnabled(fConnections.size() > 1); + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index 42bb6269637..b2725698ebd 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [172483] switch between connections *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -26,4 +27,6 @@ public interface ITerminalView { public void setCommandInputField(boolean on); public boolean isScrollLock(); public void setScrollLock(boolean b); + public void setPinned(boolean pin); + public boolean isPinned(); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java new file mode 100644 index 00000000000..cc1423a8aad --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java @@ -0,0 +1,78 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Represents a connection. The connection might be connected + * or not. + * + */ +public interface ITerminalViewConnection { + + /** + * @return the summary shown in the status line and + * in the drop down box of the connections + */ + String getFullSummary(); + + /** + * @param name the name of the view + */ + void setPartName(String name); + /** + * @return the name of the view (never null) + */ + String getPartName(); + + /** + * @return an image that represents this connection + */ + ImageDescriptor getImageDescriptor(); + /** + * @return the control of this connection + */ + ITerminalViewControl getCtlTerminal(); + + void saveState(ISettingsStore store); + + void loadState(ISettingsStore store); + + /** + * @return true if the input field is visible + */ + boolean hasCommandInputField(); + /** + * @param on turns the input field on + */ + void setCommandInputField(boolean on); + + /** + * @param state changes of the state (might change the summary) + */ + void setState(TerminalState state); + + /** + * @param title used in the summary. If null the summary + * is created automatically + */ + void setTerminalTitle(String title); + + /** + * TODO: legacy (needed to read the old state) + * @param summary + */ + void setSummary(String summary); +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java new file mode 100644 index 00000000000..12348480d25 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + + +/** + * Supports multiple connections + * + */ +public interface ITerminalViewConnectionManager { + /** + * Notifies any change in the state of the connections: + *
                  + *
                • a connection is added or removed + *
                • the active connection has changed + *
                + * + */ + interface ITerminalViewConnectionListener { + void connectionsChanged(); + } + /** + * Used to create instances of the ITerminalViewConnection + * when the state is read from the {@link ISettingsStore} + * + */ + interface ITerminalViewConnectionFactory { + ITerminalViewConnection create(); + } + /** + * @return a list of all connections this view can display + */ + ITerminalViewConnection[] getConnections(); + /** + * @return the number of connections + */ + int size(); + /** + * @return th connection the view is showing at the moment + */ + ITerminalViewConnection getActiveConnection(); + + /** + * @param conn make this connection the active connection + */ + void setActiveConnection(ITerminalViewConnection conn); + /** + * If more than two connections are available, remove the active connection + */ + void removeActive(); + + /** + * @param conn adds a new connection + */ + void addConnection(ITerminalViewConnection conn); + + /** + * If there are more than two connections toggle between this and the + * previously shown connection + */ + void swapConnection(); + + void addListener(ITerminalViewConnectionListener listener); + void removeListener(ITerminalViewConnectionListener listener); + + void saveState(ISettingsStore store); + /** + * @param store + * @param factory used to create new {@link ITerminalViewConnection} + */ + void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java index c5cf4f476b5..dc62d6d6af8 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -14,37 +14,40 @@ * Michael Scharf (Wind River) - extracted from TerminalConsts * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [172483] added some more icons *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; public interface ImageConsts { public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ - public final static String IMAGE_DIR_CTOOL = "ctool16/"; // basic colors - size 16x16 //$NON-NLS-1$ public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_OBJECT = "obj16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_WIZBAN = "wizban/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_OVR = "ovr16/"; // basic colors - size 7x8 //$NON-NLS-1$ public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ + public static final String IMAGE_TERMINAL_VIEW = "TerminalView"; //$NON-NLS-1$ public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_PIN = "ImageClclPin"; //$NON-NLS-1$ public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_PIN = "ImageDlclPin"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$ public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_PIN = "ImageElclPin"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$ public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 77edd0fa318..05695030ba4 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -196,8 +196,10 @@ class TerminalSettingsDlg extends Dialog { } private void setupPanel(Composite wndParent) { setupSettingsTypePanel(wndParent); - setupConnTypePanel(wndParent); - setupSettingsGroup(wndParent); + if(fConnectors.length>0) { + setupConnTypePanel(wndParent); + setupSettingsGroup(wndParent); + } } private void setupSettingsTypePanel(Composite wndParent) { Group wndGroup; @@ -246,6 +248,8 @@ class TerminalSettingsDlg extends Dialog { fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); } private void setupListeners() { + if(fCtlConnTypeCombo==null) + return; fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent event) { selectPage(fCtlConnTypeCombo.getSelectionIndex()); @@ -275,6 +279,9 @@ class TerminalSettingsDlg extends Dialog { boolean enable=false; if(getConnector()!=null) enable=getConnector().getInitializationErrorMessage()==null; + // enable the OK button if no connectors are available + if(!enable && fConnectors.length==0) + enable=true; getButton(IDialogConstants.OK_ID).setEnabled(enable); } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index d32af3e2763..7676c49afdc 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -19,6 +19,7 @@ * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [172483] switch between connections *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -26,6 +27,7 @@ import java.util.HashSet; import java.util.Set; import org.eclipse.core.runtime.Preferences; +import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; import org.eclipse.jface.action.IToolBarManager; @@ -35,8 +37,10 @@ import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; @@ -45,9 +49,11 @@ import org.eclipse.tm.internal.terminal.actions.TerminalAction; import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; +import org.eclipse.tm.internal.terminal.actions.TerminalActionPin; +import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; +import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; -import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; @@ -61,6 +67,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; import org.eclipse.ui.IMemento; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; @@ -69,14 +77,12 @@ import org.eclipse.ui.PartInitException; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; -public class TerminalView extends ViewPart implements ITerminalView, ITerminalListener { +public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener { private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - - private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ - - private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ + + private static final String STORE_PINNED = "Pinned"; //$NON-NLS-1$ private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ @@ -84,6 +90,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected ITerminalViewControl fCtlTerminal; + // TODO (scharf): this decorator is only there to deal wit the common + // actions. Find a better solution. + TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); + protected TerminalAction fActionTerminalNewTerminal; protected TerminalAction fActionTerminalConnect; @@ -108,12 +118,15 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi protected TerminalPropertyChangeHandler fPropertyChangeHandler; + protected Action fActionTerminalDropDown; + protected Action fActionTerminalPin; + protected Action fActionTerminalRemove; + protected boolean fMenuAboutToShow; private SettingsStore fStore; - private CommandInputFieldWithHistory fCommandInputField; - + private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); /** * Listens to changes in the preferences */ @@ -126,11 +139,66 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } } }; + + private PageBook fPageBook; + + private boolean fPinned=true; + + /** + * This listener updates both, the view and the + * ITerminalViewConnection. + * + */ + class TerminalListener implements ITerminalListener { + volatile ITerminalViewConnection fConnection; + void setConnection(ITerminalViewConnection connection) { + fConnection=connection; + } + public void setState(final TerminalState state) { + runInDisplayThread(new Runnable() { + public void run() { + fConnection.setState(state); + // if the active connection changes, update the view + if(fConnection==fMultiConnectionManager.getActiveConnection()) { + updateStatus(); + } + } + }); + } + public void setTerminalTitle(final String title) { + runInDisplayThread(new Runnable() { + public void run() { + fConnection.setTerminalTitle(title); + // if the active connection changes, update the view + if(fConnection==fMultiConnectionManager.getActiveConnection()) { + updateSummary(); + } + } + }); + } + /** + * @param runnable run in display thread + */ + private void runInDisplayThread(Runnable runnable) { + if(Display.findDisplay(Thread.currentThread())!=null) + runnable.run(); + else if(PlatformUI.isWorkbenchRunning()) + PlatformUI.getWorkbench().getDisplay().syncExec(runnable); + // else should not happen and we ignore it... + } + + } + public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ + fMultiConnectionManager.addListener(this); } + /** + * @param title + * @return a unique part name + */ String findUniqueTitle(String title) { IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); String id= getViewSite().getId(); @@ -165,58 +233,47 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // if(!limitOutput) // bufferLineLimit=-1; int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); - fCtlTerminal.setBufferLineLimit(bufferLineLimit); - fCtlTerminal.setInvertedColors(preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS)); + boolean invert=preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS); + // update the preferences for all controls + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + conn[i].getCtlTerminal().setBufferLineLimit(bufferLineLimit); + conn[i].getCtlTerminal().setInvertedColors(invert); + } } - // TerminalTarget interface - public void setState(final TerminalState state) { - Runnable runnable=new Runnable() { - public void run() { - updateStatus(); - onTerminalStatus(); - } - }; - runInDisplayThread(runnable); - } - - /** - * @param runnable run in display thread - */ - private void runInDisplayThread(Runnable runnable) { - if(Display.findDisplay(Thread.currentThread())!=null) - runnable.run(); - else if(PlatformUI.isWorkbenchRunning()) - PlatformUI.getWorkbench().getDisplay().syncExec(runnable); - // else should not happen and we ignore it... - } - - /** * Display a new Terminal view. This method is called when the user clicks the New * Terminal button in any Terminal view's toolbar. */ public void onTerminalNewTerminal() { Logger.log("creating new Terminal instance."); //$NON-NLS-1$ + if(isPinned()) { + try { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesirable. Therefore, we append the active time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. - try { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesirable. Therefore, we append the current time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. - - getSite().getPage().showView( - "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - } catch (PartInitException ex) { - Logger.logException(ex); + getSite().getPage().showView( + "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + } catch (PartInitException ex) { + Logger.logException(ex); + } + } else { + setupControls(); + if(newConnection()==null) { + fMultiConnectionManager.removeActive(); + } } } + public void onTerminalConnect() { //if (isConnected()) if (fCtlTerminal.getState()!=TerminalState.CLOSED) @@ -230,6 +287,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi updateTerminalConnect(); updateTerminalDisconnect(); updateTerminalSettings(); + fActionToggleCommandInputField.setChecked(hasCommandInputField()); + updateSummary(); } public void updateTerminalConnect() { @@ -254,20 +313,27 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void onTerminalSettings() { + newConnection(); + } + + private ITerminalConnector newConnection() { ITerminalConnector c=showSettingsDialog(); if(c!=null) { setConnector(c); - onTerminalConnect(); } + return c; } private ITerminalConnector showSettingsDialog() { // When the settings dialog is opened, load the Terminal settings from the // persistent settings. - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),fCtlTerminal.getConnectors(),fCtlTerminal.getTerminalConnector()); - dlgTerminalSettings.setTerminalTitle(getPartName()); + ITerminalConnector[] connectors = fCtlTerminal.getConnectors(); + if(fCtlTerminal.getState()!=TerminalState.CLOSED) + connectors=new ITerminalConnector[0]; + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,fCtlTerminal.getTerminalConnector()); + dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); Logger.log("opening Settings dialog."); //$NON-NLS-1$ if (dlgTerminalSettings.open() == Window.CANCEL) { @@ -280,7 +346,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // When the settings dialog is closed, we persist the Terminal settings. saveSettings(dlgTerminalSettings.getConnector()); - setPartName(dlgTerminalSettings.getTerminalTitle()); + setViewTitle(dlgTerminalSettings.getTerminalTitle()); return dlgTerminalSettings.getConnector(); } @@ -289,87 +355,30 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public void updateTerminalSettings() { - //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); - boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); - - fActionTerminalSettings.setEnabled(bEnabled); +// fActionTerminalSettings.setEnabled((fCtlTerminal.getState()==TerminalState.CLOSED)); } - - public void setTerminalTitle(final String strTitle) { - runInDisplayThread(new Runnable() { - - public void run() { - runSetTitle(strTitle); - }}); + private void setViewTitle(String title) { + setPartName(title); + getActiveConnection().setPartName(title); } - - private void runSetTitle(String strTitle) { - if (fCtlTerminal.isDisposed()) - return; - - if (strTitle != null) { - // When parameter 'data' is not null, it is a String containing text to - // display in the view's content description line. This is used by class - // TerminalText when it processes an ANSI OSC escape sequence that commands - // the terminal to display text in its title bar. - } else if(fCtlTerminal.getTerminalConnector()==null){ - strTitle=ViewMessages.NO_CONNECTION_SELECTED; - } else { - // When parameter 'data' is null, we construct a descriptive string to - // display in the content description line. - String strConnected = getStateDisplayName(fCtlTerminal.getState()); - String summary = getSettingsSummary(); - //TODO Title should use an NLS String and com.ibm.icu.MessageFormat - //In order to make the logic of assembling, and the separators, better adapt to foreign languages - if(summary.length()>0) - summary=summary+" - "; //$NON-NLS-1$ - String name=fCtlTerminal.getTerminalConnector().getName(); - if(name.length()>0) { - name+=": "; //$NON-NLS-1$ - } - strTitle = name + "("+ summary + strConnected + ")"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - setContentDescription(strTitle); + private void setViewSummary(String summary) { + setContentDescription(summary); getViewSite().getActionBars().getStatusLineManager().setMessage( - strTitle); - setTitleToolTip(getPartName()+": "+strTitle); //$NON-NLS-1$ + summary); + setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ + } - /** - * @return the setting summary. If there is no connection, or the connection - * has not been initialized, use the last stored state. - */ - private String getSettingsSummary() { - // TODO: use another mechanism than "?" for the magic non initialized state - // see TerminalConnectorProxy.getSettingsSummary - String summary="?"; //$NON-NLS-1$ - if(fCtlTerminal.getTerminalConnector()!=null) - summary=fCtlTerminal.getSettingsSummary(); - if("?".equals(summary)) { //$NON-NLS-1$ - summary=fStore.get(STORE_SETTING_SUMMARY, ""); //$NON-NLS-1$ - } - return summary; - } - public void onTerminalStatus() { - setTerminalTitle(null); - } - - private String getStateDisplayName(TerminalState state) { - if(state==TerminalState.CONNECTED) { - return ViewMessages.STATE_CONNECTED; - } else if(state==TerminalState.CONNECTING) { - return ViewMessages.STATE_CONNECTING; - } else if(state==TerminalState.OPENED) { - return ViewMessages.STATE_OPENED; - } else if(state==TerminalState.CLOSED) { - return ViewMessages.STATE_CLOSED; - } else { - throw new IllegalStateException(state.toString()); - } + public void updateSummary() { + setViewSummary(getActiveConnection().getFullSummary()); } public void onTerminalFontChanged() { - fCtlTerminal.setFont(JFaceResources.getFont(FONT_DEFINITION)); + // set the font for all + Font font=JFaceResources.getFont(FONT_DEFINITION); + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + conn[i].getCtlTerminal().setFont(font); + } } // ViewPart interface @@ -378,25 +387,54 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key // sequence. - setPartName(findUniqueTitle(ViewMessages.PROP_TITLE)); - setupControls(wndParent); + fPageBook=new PageBook(wndParent,SWT.NONE); + ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ + fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { + public ITerminalViewConnection create() { + return makeViewConnection(); + } + }); + // if there is no connection loaded, create at least one + // needed to read old states from the old terminal + if(fMultiConnectionManager.size()==0) { + ITerminalViewConnection conn = makeViewConnection(); + fMultiConnectionManager.addConnection(conn); + fMultiConnectionManager.setActiveConnection(conn); + fPageBook.showPage(fCtlTerminal.getRootControl()); + } + setTerminalControl(fMultiConnectionManager.getActiveConnection().getCtlTerminal()); + setViewTitle(findUniqueTitle(ViewMessages.PROP_TITLE)); setupActions(); setupLocalToolBars(); - setupContextMenus(); + // setup all context menus + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + setupContextMenus(conn[i].getCtlTerminal().getControl()); + } setupListeners(wndParent); PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$ - onTerminalStatus(); + legacyLoadState(); + legacySetTitle(); + + refresh(); onTerminalFontChanged(); + } + public void dispose() { Logger.log("entered."); //$NON-NLS-1$ TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - fCtlTerminal.disposeTerminal(); + + // dispose all connections + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + conn[i].getCtlTerminal().disposeTerminal(); + } super.dispose(); } /** @@ -409,24 +447,31 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi /** * This method creates the top-level control for the Terminal view. */ - protected void setupControls(Composite wndParent) { - ITerminalConnector[] connectors = makeConnectors(); - fCtlTerminal = TerminalViewControlFactory.makeControl(this, wndParent, connectors); + protected void setupControls() { + ITerminalViewConnection conn = makeViewConnection(); + fMultiConnectionManager.addConnection(conn); + fMultiConnectionManager.setActiveConnection(conn); + setupContextMenus(fCtlTerminal.getControl()); + } + private ITerminalViewConnection makeViewConnection() { + ITerminalConnector[] connectors = makeConnectors(); + TerminalListener listener=new TerminalListener(); + ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors); + setTerminalControl(ctrl); + ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); + listener.setConnection(conn); + conn.setPartName(getPartName()); String connectionType=fStore.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(connectors[i])); if(connectors[i].getId().equals(connectionType)) - fCtlTerminal.setConnector(connectors[i]); + ctrl.setConnector(connectors[i]); } - setCommandInputField("true".equals(fStore.get(STORE_HAS_COMMAND_INPUT_FIELD))); //$NON-NLS-1$ updatePreferences(); TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); - - // restore the title of this view - String title=fStore.get(STORE_TITLE); - if(title!=null && title.length()>0) - setPartName(title); + + return conn; } /** @@ -450,15 +495,15 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); fStore=new SettingsStore(memento); + // have we stored the pinned status? + if(fStore.get(STORE_PINNED)!=null) + setPinned("true".equals(fStore.get(STORE_PINNED))); //$NON-NLS-1$ } - public void saveState(IMemento memento) { super.saveState(memento); - if(fCommandInputField!=null) - fStore.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); - fStore.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ - fStore.put(STORE_SETTING_SUMMARY, getSettingsSummary()); + fStore.put(STORE_PINNED, isPinned()?"true":"false"); //$NON-NLS-1$ //$NON-NLS-2$ fStore.put(STORE_TITLE,getPartName()); + fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } private ISettingsStore getStore(ITerminalConnector connector) { @@ -466,36 +511,42 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } protected void setupActions() { + fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); + fActionTerminalPin=new TerminalActionPin(this); + fActionTerminalPin.setChecked(isPinned()); + fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); // fActionTerminalScrollLock = new TerminalActionScrollLock(this); fActionTerminalConnect = new TerminalActionConnect(this); fActionTerminalDisconnect = new TerminalActionDisconnect(this); fActionTerminalSettings = new TerminalActionSettings(this); - fActionEditCopy = new TerminalActionCopy(fCtlTerminal); - fActionEditCut = new TerminalActionCut(fCtlTerminal); - fActionEditPaste = new TerminalActionPaste(fCtlTerminal); - fActionEditClearAll = new TerminalActionClearAll(fCtlTerminal); - fActionEditSelectAll = new TerminalActionSelectAll(fCtlTerminal); + fActionEditCopy = new TerminalActionCopy(fCtlDecorator); + fActionEditCut = new TerminalActionCut(fCtlDecorator); + fActionEditPaste = new TerminalActionPaste(fCtlDecorator); + fActionEditClearAll = new TerminalActionClearAll(fCtlDecorator); + fActionEditSelectAll = new TerminalActionSelectAll(fCtlDecorator); fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); } protected void setupLocalToolBars() { IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); - toolBarMgr.add(fActionTerminalNewTerminal); // toolBarMgr.add(fActionTerminalScrollLock); toolBarMgr.add(fActionTerminalConnect); toolBarMgr.add(fActionTerminalDisconnect); toolBarMgr.add(fActionTerminalSettings); toolBarMgr.add(fActionToggleCommandInputField); + toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ + toolBarMgr.add(fActionTerminalPin); + toolBarMgr.add(fActionTerminalDropDown); + toolBarMgr.add(fActionTerminalNewTerminal); + toolBarMgr.add(fActionTerminalRemove); } - protected void setupContextMenus() { - Control ctlText; + protected void setupContextMenus(Control ctlText) { MenuManager menuMgr; Menu menu; TerminalContextMenuHandler contextMenuHandler; - ctlText = fCtlTerminal.getControl(); menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ menu = menuMgr.createContextMenu(ctlText); loadContextMenus(menuMgr); @@ -554,20 +605,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi } public boolean hasCommandInputField() { - return fCommandInputField!=null; + return getActiveConnection().hasCommandInputField(); } + public void setCommandInputField(boolean on) { - // save the old history - if(fCommandInputField!=null) { - fStore.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); - fCommandInputField=null; - } - if(on) { - // TODO make history size configurable - fCommandInputField=new CommandInputFieldWithHistory(100); - fCommandInputField.setHistory(fStore.get(STORE_COMMAND_INPUT_FIELD_HISTORY)); - } - fCtlTerminal.setCommandInputField(fCommandInputField); + getActiveConnection().setCommandInputField(on); } public boolean isScrollLock() { @@ -577,4 +619,71 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalLi public void setScrollLock(boolean on) { fCtlTerminal.setScrollLock(on); } + + private ITerminalViewConnection getActiveConnection() { + return fMultiConnectionManager.getActiveConnection(); + } + /** + * @param ctrl this control becomes the currently used one + */ + private void setTerminalControl(ITerminalViewControl ctrl) { + fCtlTerminal=ctrl; + fCtlDecorator.setViewContoler(ctrl); + } + public void connectionsChanged() { + if(getActiveConnection()!=null) { + // update the active {@link ITerminalViewControl} + ITerminalViewControl ctrl = getActiveConnection().getCtlTerminal(); + if(fCtlTerminal!=ctrl) { + setTerminalControl(ctrl); + refresh(); + } + } + } + + /** + * Show the active {@link ITerminalViewControl} in the view + */ + private void refresh() { + fPageBook.showPage(fCtlTerminal.getRootControl()); + updateStatus(); + setPartName(getActiveConnection().getPartName()); + } + + public void setPinned(boolean pinned) { + fPinned=pinned; + } + public boolean isPinned() { + return fPinned; + } + + /** + * TODO REMOVE This code (added 2008-06-11) + * Legacy code to real the old state. Once the state of the + * terminal has been saved this method is not needed anymore. + * Remove this code with eclipse 3.5. + */ + private void legacyLoadState() { + // TODO legacy: load the old title.... + String summary=fStore.get(STORE_SETTING_SUMMARY); + if(summary!=null) { + getActiveConnection().setSummary(summary); + fStore.put(STORE_SETTING_SUMMARY,null); + } + } + /** + * TODO REMOVE This code (added 2008-06-11) + * Legacy code to real the old state. Once the state of the + * terminal has been saved this method is not needed anymore. + * Remove this code with eclipse 3.5. + */ + private void legacySetTitle() { + // restore the title of this view + String title=fStore.get(STORE_TITLE); + if(title!=null && title.length()>0) { + setViewTitle(title); + fStore.put(STORE_TITLE, null); + } + } + } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java new file mode 100644 index 00000000000..eec3f229302 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -0,0 +1,195 @@ +/******************************************************************************* + * Copyright (c) 20078 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +/** + * + */ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +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.TerminalState; + +/** + * This class represents one connection. The connection might be + * closed or open. + * + */ +class TerminalViewConnection implements ITerminalViewConnection { + private static final String STORE_SUMMARY = "Summary"; //$NON-NLS-1$ + private static final String STORE_PART_NAME = "PartName"; //$NON-NLS-1$ + private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ + private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ + private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ + + final private ITerminalViewControl fCtlTerminal; + private String fTitle; + private String fSummary; + private String fHistory; + private CommandInputFieldWithHistory fCommandInputField; + private String fPartName; + + public TerminalViewConnection(ITerminalViewControl ctl) { + fCtlTerminal = ctl; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.actions.ITerminalViewConnection#getName() + */ + public String getFullSummary() { + // if the title is set, then we return the title, else the summary + if(fTitle==null) + return makeSummary(); + return fTitle; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.view.ITerminalViewConnection#getImageDescriptor() + */ + public ImageDescriptor getImageDescriptor() { + return TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW); + } + + public ITerminalViewControl getCtlTerminal() { + return fCtlTerminal; + } + private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { + return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ + } + public void loadState(ISettingsStore store) { + fPartName=store.get(STORE_PART_NAME); + fSummary=store.get(STORE_SUMMARY); + fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); + + // load the state of the connection types + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + String connectionType=store.get(STORE_CONNECTION_TYPE); + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(store,connectors[i])); + // if this is active connection type + if(connectors[i].getId().equals(connectionType)) + fCtlTerminal.setConnector(connectors[i]); + } + + if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ + setCommandInputField(true); + } + + public void saveState(ISettingsStore store) { + store.put(STORE_PART_NAME, fPartName); + store.put(STORE_SUMMARY,fSummary); + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + if(fCommandInputField!=null) + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + else + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + for (int i = 0; i < connectors.length; i++) { + connectors[i].save(getStore(store,connectors[i])); + } + if(fCtlTerminal.getTerminalConnector()!=null) { + store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); + } + } + public boolean hasCommandInputField() { + return fCommandInputField!=null; + } + public void setCommandInputField(boolean on) { + // save the old history + if(fCommandInputField!=null) { + fHistory= fCommandInputField.getHistory(); + fCommandInputField=null; + } + if(on) { + // TODO make history size configurable + fCommandInputField=new CommandInputFieldWithHistory(100); + fCommandInputField.setHistory(fHistory); + } + fCtlTerminal.setCommandInputField(fCommandInputField); + } + + public void setState(TerminalState state) { + // update the title.... + fTitle=null; + } + + public void setTerminalTitle(String title) { + // When parameter 'title' is not null, it is a String containing text to + // display in the view's content description line. This is used by class + // TerminalText when it processes an ANSI OSC escape sequence that commands + // the terminal to display text in its title bar. + fTitle=title; + } + + private String getStateDisplayName(TerminalState state) { + if(state==TerminalState.CONNECTED) { + return ViewMessages.STATE_CONNECTED; + } else if(state==TerminalState.CONNECTING) { + return ViewMessages.STATE_CONNECTING; + } else if(state==TerminalState.OPENED) { + return ViewMessages.STATE_OPENED; + } else if(state==TerminalState.CLOSED) { + return ViewMessages.STATE_CLOSED; + } else { + throw new IllegalStateException(state.toString()); + } + } + + private String makeSummary() { + String strTitle = ""; //$NON-NLS-1$ + if(fCtlTerminal.getTerminalConnector()==null){ + strTitle=ViewMessages.NO_CONNECTION_SELECTED; + } else { + // When parameter 'data' is null, we construct a descriptive string to + // display in the content description line. + String strConnected = getStateDisplayName(fCtlTerminal.getState()); + String summary = getSettingsSummary(); + //TODO Title should use an NLS String and com.ibm.icu.MessageFormat + //In order to make the logic of assembling, and the separators, better adapt to foreign languages + if(summary.length()>0) + summary=summary+" - "; //$NON-NLS-1$ + String name=fCtlTerminal.getTerminalConnector().getName(); + if(name.length()>0) { + name+=": "; //$NON-NLS-1$ + } + strTitle = name + "("+ summary + strConnected + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + } + return strTitle; + } + /** + * @return the setting summary. If there is no connection, or the connection + * has not been initialized, use the last stored state. + */ + private String getSettingsSummary() { + if(fCtlTerminal.getTerminalConnector().isInitialized()) + fSummary=fCtlTerminal.getSettingsSummary(); + if(fSummary==null) + return ""; //$NON-NLS-1$ + return fSummary; + } + + public void setSummary(String summary) { + fSummary=summary; + } + + public String getPartName() { + return fPartName==null?ViewMessages.PROP_TITLE:fPartName; + } + + public void setPartName(String name) { + fPartName=name; + + } + +} \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java new file mode 100644 index 00000000000..88af3056b68 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { + private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ + private static final String STORE_SIZE = "size"; //$NON-NLS-1$ + private static final String STORE_ACTIVE_CONNECTION = "active"; //$NON-NLS-1$ + /** + * The list of {@link ITerminalViewConnection} in the order they were cerated. + * Ordered by creation time + */ + private final List fConnections=new ArrayList(); + /** + * The currently displayed connection + */ + private ITerminalViewConnection fActiveConnection; + /** + * The list of {@link ITerminalViewConnection} in the order they + * were made the active connection. The most recently accessed + * connection is at the beginning of the list. + */ + private final List fConnectionHistory=new ArrayList(); + /** + * The {@link ITerminalViewConnectionListener} + */ + private final List fListeners=new ArrayList(); + + public ITerminalViewConnection[] getConnections() { + return (ITerminalViewConnection[]) fConnections.toArray(new ITerminalViewConnection[fConnections.size()]); + } + + public int size() { // TODO Auto-generated method stub + return fConnections.size(); + } + + public ITerminalViewConnection getActiveConnection() { + return fActiveConnection; + } + public void setActiveConnection(ITerminalViewConnection conn) { + fActiveConnection=conn; + // put the connection at the end of the history list + fConnectionHistory.remove(conn); + fConnectionHistory.add(0,conn); + + fireListeners(); + } + + public void swapConnection() { + ITerminalViewConnection conn=getPreviousConnection(); + if(conn!=null) + setActiveConnection(conn); + } + + /** + * @return the connection that was most recently the active connection or null if there is + * no previous connection + */ + private ITerminalViewConnection getPreviousConnection() { + // find the first connection that is not the active connection in + // the list + for (Iterator iterator = fConnectionHistory.iterator(); iterator.hasNext();) { + ITerminalViewConnection conn = (ITerminalViewConnection) iterator.next(); + if(conn!=fActiveConnection) { + return conn; + } + } + return null; + } + + public void addConnection(ITerminalViewConnection conn) { + fConnections.add(conn); + fireListeners(); + } + public void removeConnection(ITerminalViewConnection conn) { + fConnections.remove(conn); + fConnectionHistory.remove(conn); + fireListeners(); + } + + public void addListener(ITerminalViewConnectionListener listener) { + fListeners.add(listener); + } + + public void removeListener(ITerminalViewConnectionListener listener) { + fListeners.remove(listener); + } + protected void fireListeners() { + ITerminalViewConnectionListener[] listeners=(ITerminalViewConnectionListener[]) fListeners.toArray(new ITerminalViewConnectionListener[fListeners.size()]); + for (int i = 0; i < listeners.length; i++) { + listeners[i].connectionsChanged(); + } + } + + public void saveState(ISettingsStore store) { + store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ + // save all connections + int n=0; + for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { + ITerminalViewConnection connection = (ITerminalViewConnection) iterator.next(); + // the name under which we store the connection + String prefix=STORE_CONNECTION_PREFIX+n; + n++; + // remember the active connection by its prefix + if(connection.equals(fActiveConnection)) + store.put(STORE_ACTIVE_CONNECTION,prefix); + connection.saveState(new SettingStorePrefixDecorator(store,prefix)); + } + } + + public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { + int size=0; + try { + size=Integer.parseInt(store.get(STORE_SIZE)); + } catch(Exception e) { + // ignore + } + if(size>0) { + // a slot for the connections + String active=store.get(STORE_ACTIVE_CONNECTION); + int n=0; + for (int i=0;i1) { + fConnections.remove(fActiveConnection); + fConnectionHistory.remove(fActiveConnection); + + // make sure connection is not null.... + fActiveConnection=getPreviousConnection(); + // if there is no previous connection then make + // the first connection the list the active connection + if(fActiveConnection==null) + fActiveConnection=(ITerminalViewConnection) fConnections.get(0); + + fireListeners(); + } + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java new file mode 100644 index 00000000000..c5b6230aa80 --- /dev/null +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java @@ -0,0 +1,167 @@ +/******************************************************************************* + * Copyright (c) 2007 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.io.UnsupportedEncodingException; + +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Control; +import org.eclipse.tm.internal.terminal.control.ICommandInputField; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +// TODO (scharf): this decorator is only there to deal with the common +// actions. Find a better solution. +public class TerminalViewControlDecorator implements ITerminalViewControl { + ITerminalViewControl fViewContoler; + + public void clearTerminal() { + fViewContoler.clearTerminal(); + } + + public void connectTerminal() { + fViewContoler.connectTerminal(); + } + + public void copy() { + fViewContoler.copy(); + } + + public void disconnectTerminal() { + fViewContoler.disconnectTerminal(); + } + + public void disposeTerminal() { + fViewContoler.disposeTerminal(); + } + + public int getBufferLineLimit() { + return fViewContoler.getBufferLineLimit(); + } + + public Clipboard getClipboard() { + return fViewContoler.getClipboard(); + } + + public ICommandInputField getCommandInputField() { + return fViewContoler.getCommandInputField(); + } + + public ITerminalConnector[] getConnectors() { + return fViewContoler.getConnectors(); + } + + public Control getControl() { + return fViewContoler.getControl(); + } + + public String getEncoding() { + return fViewContoler.getEncoding(); + } + + public Font getFont() { + return fViewContoler.getFont(); + } + + public Control getRootControl() { + return fViewContoler.getRootControl(); + } + + public String getSelection() { + return fViewContoler.getSelection(); + } + + public String getSettingsSummary() { + return fViewContoler.getSettingsSummary(); + } + + public TerminalState getState() { + return fViewContoler.getState(); + } + + public ITerminalConnector getTerminalConnector() { + return fViewContoler.getTerminalConnector(); + } + + public boolean isConnected() { + return fViewContoler.isConnected(); + } + + public boolean isDisposed() { + return fViewContoler.isDisposed(); + } + + public boolean isEmpty() { + return fViewContoler.isEmpty(); + } + + public boolean isScrollLock() { + return fViewContoler.isScrollLock(); + } + + public void paste() { + fViewContoler.paste(); + } + + public boolean pasteString(String string) { + return fViewContoler.pasteString(string); + } + + public void selectAll() { + fViewContoler.selectAll(); + } + + public void sendKey(char arg0) { + fViewContoler.sendKey(arg0); + } + + public void setBufferLineLimit(int bufferLineLimit) { + fViewContoler.setBufferLineLimit(bufferLineLimit); + } + + public void setCommandInputField(ICommandInputField inputField) { + fViewContoler.setCommandInputField(inputField); + } + + public void setConnector(ITerminalConnector connector) { + fViewContoler.setConnector(connector); + } + + public void setEncoding(String encoding) throws UnsupportedEncodingException { + fViewContoler.setEncoding(encoding); + } + + public void setFocus() { + fViewContoler.setFocus(); + } + + public void setFont(Font font) { + fViewContoler.setFont(font); + } + + public void setInvertedColors(boolean invert) { + fViewContoler.setInvertedColors(invert); + } + + public void setScrollLock(boolean on) { + fViewContoler.setScrollLock(on); + } + + public ITerminalViewControl getViewContoler() { + return fViewContoler; + } + + public void setViewContoler(ITerminalViewControl viewContoler) { + fViewContoler = viewContoler; + } +} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 63194117efd..3e1aac20436 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [172483] switch between connections *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -53,6 +54,7 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_PIN, "pin.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); @@ -65,7 +67,9 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - + map.put(ImageConsts.IMAGE_ELCL_PIN, "pin.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); map.clear(); @@ -77,10 +81,19 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_PIN, "pin.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); map.clear(); + + map.put(ImageConsts.IMAGE_TERMINAL_VIEW, "terminal_view.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_EVIEW, map); + + map.clear(); + } catch (MalformedURLException malformedURLException) { malformedURLException.printStackTrace(); } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index 7690d8ce52e..578772dc5bb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -48,7 +48,14 @@ public interface ITerminalViewControl { void setFont(Font font); void setInvertedColors(boolean invert); Font getFont(); + /** + * @return the text control + */ Control getControl(); + /** + * @return the root of all controls + */ + Control getRootControl(); boolean isDisposed(); void selectAll(); void clearTerminal(); From d3ae5340e6333b4f711a6ec104b6e93b33ecb267 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Mon, 7 Jul 2008 20:59:17 +0000 Subject: [PATCH 322/843] RESOLVED - bug 196454: [terminal] Initial connection settings dialog should not be blank https://bugs.eclipse.org/bugs/show_bug.cgi?id=196454 --- .../terminal/view/TerminalSettingsDlg.java | 30 +++++++++++++++---- 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 05695030ba4..5b50ed01d31 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -181,13 +182,30 @@ class TerminalSettingsDlg extends Dialog { private void initFields() { // Load controls for (int i = 0; i < fConnectors.length; i++) { - String name=fConnectors[i].getName(); - fCtlConnTypeCombo.add(name); - if(fSelectedConnector==i) { - fCtlConnTypeCombo.select(i); - selectPage(i); - } + fCtlConnTypeCombo.add(fConnectors[i].getName()); } + int selectedConnector=getInitialConnector(); + if(selectedConnector>=0) { + fCtlConnTypeCombo.select(selectedConnector); + selectPage(selectedConnector); + } + } + /** + * @return the connector to show when the dialog opens + */ + private int getInitialConnector() { + // if there is a selection, use it + if(fSelectedConnector>=0) + return fSelectedConnector; + // try the telnet connector, because it is the cheapest + for (int i = 0; i < fConnectors.length; i++) { + if("org.eclipse.tm.internal.terminal.telnet.TelnetConnector".equals(fConnectors[i].getId())) //$NON-NLS-1$ + return i; + } + // if no telnet connector available, use the first one in the list + if(fConnectors.length>0) + return 0; + return -1; } private boolean validateSettings() { if(fSelectedConnector<0) From 25b209e441b65373c3f868b4a7213a2ee566ae4c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 8 Jul 2008 16:28:34 +0000 Subject: [PATCH 323/843] [cleanup] Fix Copyright Headers --- .../actions/ShowTerminalConnectionAction.java | 23 ++++++++-------- .../terminal/actions/TerminalActionPin.java | 9 ++----- .../actions/TerminalActionRemove.java | 9 ++----- .../TerminalActionSelectionDropDown.java | 4 +-- .../terminal/view/TerminalViewConnection.java | 26 +++++++++---------- .../view/TerminalViewControlDecorator.java | 14 +++++----- 6 files changed, 38 insertions(+), 47 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java index b92846dd8ab..cf456561772 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation + * Copyright (c) 2000, 2008 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Michael Scharf (Wind River) - [172483] Adapted from org.eclipse.ui.console/ShowConsoleAction *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; @@ -23,10 +24,10 @@ public class ShowTerminalConnectionAction extends Action { private final ITerminalViewConnectionManager fConnectionManager; /** - * Constructs an action to display the given console. + * Constructs an action to display the given terminal. * - * @param manager the console view in which the given console is contained - * @param connection the console + * @param manager the terminal multi-view in which the given terminal connection is contained + * @param connection the terminal view connection */ public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) { super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java index d428dd226d0..8c09eeba904 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java @@ -5,13 +5,8 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - initial contribution + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java index 048aeb39149..a3d6e3659d6 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java @@ -5,13 +5,8 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - initial contribution + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java index 3c7348ff507..b5af7b6de14 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java @@ -1,10 +1,10 @@ /******************************************************************************* - * Copyright (c) 2000, 2007 IBM Corporation and others. + * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * IBM Corporation - initial API and implementation * Michael Scharf (Wind River) - [172483] switch between connections diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index eec3f229302..68c532856d4 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -1,15 +1,15 @@ /******************************************************************************* - * Copyright (c) 20078 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ /** - * + * */ package org.eclipse.tm.internal.terminal.view; @@ -22,7 +22,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * This class represents one connection. The connection might be - * closed or open. + * closed or open. * */ class TerminalViewConnection implements ITerminalViewConnection { @@ -38,7 +38,7 @@ class TerminalViewConnection implements ITerminalViewConnection { private String fHistory; private CommandInputFieldWithHistory fCommandInputField; private String fPartName; - + public TerminalViewConnection(ITerminalViewControl ctl) { fCtlTerminal = ctl; } @@ -80,7 +80,7 @@ class TerminalViewConnection implements ITerminalViewConnection { if(connectors[i].getId().equals(connectionType)) fCtlTerminal.setConnector(connectors[i]); } - + if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ setCommandInputField(true); } @@ -121,7 +121,7 @@ class TerminalViewConnection implements ITerminalViewConnection { public void setState(TerminalState state) { // update the title.... - fTitle=null; + fTitle=null; } public void setTerminalTitle(String title) { @@ -189,7 +189,7 @@ class TerminalViewConnection implements ITerminalViewConnection { public void setPartName(String name) { fPartName=name; - + } } \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java index c5b6230aa80..dff2b367c94 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; From 69a51238669bca135dfb2a02512e1eb311225573 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 8 Jul 2008 17:31:41 +0000 Subject: [PATCH 324/843] [205674][ssh] Terminal remains "connecting" when authentication is cancelled --- .../eclipse/tm/internal/terminal/ssh/SshConnection.java | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 0fd464c66e4..0d156afbe08 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -16,6 +16,7 @@ * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox + * Martin Oberhuber (Wind River) - [205674][ssh] Terminal remains "connecting" when authentication is cancelled *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -132,12 +133,7 @@ class SshConnection extends Thread { } // when reading is done, we set the state to closed fControl.setState(TerminalState.CLOSED); - } catch (JSchException e) { - if(e.toString().indexOf("Auth cancel")<0) { //$NON-NLS-1$ - //no error if user pressed cancel - connectFailed(e.getMessage(),e.getMessage()); - } - } catch (IOException e) { + } catch (Exception e) { connectFailed(e.getMessage(),e.getMessage()); } finally { From 121c3d70cf46f09a17963a6ae997035de9f3a34b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 8 Jul 2008 19:13:25 +0000 Subject: [PATCH 325/843] [cleanup] removed warnings (obsolete imports) --- .../eclipse/tm/internal/terminal/emulator/VT100Emulator.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 566ad1873ef..d1dd6cee61b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -19,11 +19,8 @@ package org.eclipse.tm.internal.terminal.emulator; import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.Reader; -import java.io.UnsupportedEncodingException; import org.eclipse.swt.events.ControlEvent; import org.eclipse.swt.events.ControlListener; From 5e04c9e844721ba901ad95aa83d7d76c75b85a73 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 8 Jul 2008 20:18:16 +0000 Subject: [PATCH 326/843] bug 240023: [terminal] Get rid of the terminal's "Pin" button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240023 --- .../icons/clcl16/pin.gif | Bin 358 -> 0 bytes .../icons/dlcl16/pin.gif | Bin 223 -> 0 bytes .../icons/elcl16/pin.gif | Bin 358 -> 0 bytes .../terminal/actions/ActionMessages.java | 5 +- .../actions/ActionMessages.properties | 5 +- .../actions/TerminalActionNewTerminal.java | 53 +++++++++++--- .../terminal/actions/TerminalActionPin.java | 36 ---------- .../internal/terminal/view/ITerminalView.java | 28 ++++---- .../internal/terminal/view/ImageConsts.java | 4 +- .../internal/terminal/view/TerminalView.java | 66 ++++++------------ .../terminal/view/TerminalViewPlugin.java | 4 +- 11 files changed, 91 insertions(+), 110 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/icons/clcl16/pin.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/dlcl16/pin.gif delete mode 100644 org.eclipse.tm.terminal.view/icons/elcl16/pin.gif delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/pin.gif b/org.eclipse.tm.terminal.view/icons/clcl16/pin.gif deleted file mode 100644 index ec50b70fab124687826aaef03ff536a3cefc4122..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmZ?wbhEHb6krfwxXQrLF?F4|QS8K7D<{laVNkNmrEHa3`D(X{)po5%>{<@T&OW#5 z)RWbxo*cdZC3eoamMynhw%$7X>;K2!|G)nE|Ksof*T4S1`~Cm@@BbhF{Qval|JT3&fBgIZ{ont&3m42? zw1A<=j3H5vAxNEJs-5ZVh@x$twOa!hpK6@HJa5&i>8n>x-@dVL|F(|*|Nk>!1ByRc z7#SEW7<53AAU`p%H9O2H@X(R!_gL~;)mtchL&W8mO^)%0ni?AlY{WKS&0$O4*)qxV zXwk`xF#U)b5f%bMTpY~TssR#@hZtGO&5`sRW@@m y;gwcZkyDkEP*pW`(c)E;->^|$P+rr8nO9vyU19G&1tu4UBS()N@$+zGum%8MtEM~v diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/pin.gif b/org.eclipse.tm.terminal.view/icons/dlcl16/pin.gif deleted file mode 100644 index 61615d57dbe934e7ce52eb115791d40e36e7a1d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223 zcmV<503iQINk%w1VGsZi0K@+kaO`TP6){r&s={DF^%d4qnQs-m&EthBqY zyS%l+!NLFk{{R30A^8LW0015UEC2ui01yBW000GCpeK%GX`U$Bttr`QTi1H;rOEWF z>l}CE9fc$EkW4Na4F@Oc3<81#f}z1=FiaX@%LP=IF2Z4a0FV#a4uN8zupx$anoy|Q Z7xlSi&$l!za}|PvgK0a5EHfq{06TA~c$feH diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/pin.gif b/org.eclipse.tm.terminal.view/icons/elcl16/pin.gif deleted file mode 100644 index ec50b70fab124687826aaef03ff536a3cefc4122..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 358 zcmZ?wbhEHb6krfwxXQrLF?F4|QS8K7D<{laVNkNmrEHa3`D(X{)po5%>{<@T&OW#5 z)RWbxo*cdZC3eoamMynhw%$7X>;K2!|G)nE|Ksof*T4S1`~Cm@@BbhF{Qval|JT3&fBgIZ{ont&3m42? zw1A<=j3H5vAxNEJs-5ZVh@x$twOa!hpK6@HJa5&i>8n>x-@dVL|F(|*|Nk>!1ByRc z7#SEW7<53AAU`p%H9O2H@X(R!_gL~;)mtchL&W8mO^)%0ni?AlY{WKS&0$O4*)qxV zXwk`xF#U)b5f%bMTpY~TssR#@hZtGO&5`sRW@@m y;gwcZkyDkEP*pW`(c)E;->^|$P+rr8nO9vyU19G&1tu4UBS()N@$+zGum%8MtEM~v diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java index d1727bbc5b7..d4334bddcf2 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; @@ -24,7 +25,8 @@ public class ActionMessages extends NLS { static { NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); } - public static String NEW_TERMINAL; + public static String NEW_TERMINAL_CONNECTION; + public static String NEW_TERMINAL_VIEW; public static String CONNECT; public static String TOGGLE_COMMAND_INPUT_FIELD; public static String DISCONNECT; @@ -32,7 +34,6 @@ public class ActionMessages extends NLS { public static String SCROLL_LOCK_0; public static String SCROLL_LOCK_1; public static String REMOVE; - public static String PIN; public static String ConsoleDropDownAction_0; public static String ConsoleDropDownAction_1; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index aacae9b66c5..c45eba86826 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -15,8 +15,10 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin # Michael Scharf (Wind River) - [172483] switch between connections +# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button ############################################################################### -NEW_TERMINAL = New Terminal +NEW_TERMINAL_CONNECTION = New Terminal Connection... +NEW_TERMINAL_VIEW = New Terminal View CONNECT = Connect DISCONNECT = Disconnect SETTINGS_ELLIPSE = Settings... @@ -25,7 +27,6 @@ SCROLL_LOCK_1 = Scroll Lock SETTINGS = Settings TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field REMOVE = Remove Terminal -PIN = Pin Terminal ConsoleDropDownAction_0=Select Connection ConsoleDropDownAction_1=Display Selected Connections diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java index 866401ffb98..e1376916401 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java @@ -13,9 +13,16 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button +*******************************************************************************/ package org.eclipse.tm.internal.terminal.actions; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; import org.eclipse.tm.internal.terminal.view.ITerminalView; import org.eclipse.tm.internal.terminal.view.ImageConsts; @@ -24,23 +31,53 @@ import org.eclipse.tm.internal.terminal.view.ImageConsts; * * @author Fran Litterio */ -public class TerminalActionNewTerminal extends TerminalAction -{ - /** - * UNDER CONSTRUCTION - */ +public class TerminalActionNewTerminal extends TerminalAction implements IMenuCreator { + private Menu fMenu; public TerminalActionNewTerminal(ITerminalView target) { super(target, TerminalActionNewTerminal.class.getName()); - setupAction(ActionMessages.NEW_TERMINAL, - ActionMessages.NEW_TERMINAL, + setupAction(ActionMessages.NEW_TERMINAL_CONNECTION, + ActionMessages.NEW_TERMINAL_CONNECTION, ImageConsts.IMAGE_NEW_TERMINAL, ImageConsts.IMAGE_NEW_TERMINAL, ImageConsts.IMAGE_NEW_TERMINAL, true); + setMenuCreator(this); } public void run() { fTarget.onTerminalNewTerminal(); } + public void dispose() { + if (fMenu != null) { + fMenu.dispose(); + } + } + public Menu getMenu(Control parent) { + if(fMenu==null) { + fMenu= new Menu(parent); + addActionToMenu(fMenu, + new Action(ActionMessages.NEW_TERMINAL_CONNECTION) { + public void run() { + fTarget.onTerminalNewTerminal(); + } + + }); + addActionToMenu(fMenu, + new Action(ActionMessages.NEW_TERMINAL_VIEW) { + public void run() { + fTarget.onTerminalNewView(); + } + + }); + } + return fMenu; + } + protected void addActionToMenu(Menu parent, IAction action) { + ActionContributionItem item = new ActionContributionItem(action); + item.fill(parent, -1); + } + public Menu getMenu(Menu parent) { + return null; + } } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java deleted file mode 100644 index 8c09eeba904..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionPin.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionPin extends TerminalAction -{ - public TerminalActionPin(ITerminalView target) - { - super(target, - TerminalActionPin.class.getName(),IAction.AS_RADIO_BUTTON); - - setupAction(ActionMessages.PIN, - ActionMessages.PIN, - ImageConsts.IMAGE_CLCL_PIN, - ImageConsts.IMAGE_ELCL_PIN, - ImageConsts.IMAGE_DLCL_PIN, - true); - setChecked(fTarget.isPinned()); - } - public void run() { - fTarget.setPinned(!fTarget.isPinned()); - setChecked(fTarget.isPinned()); - } -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index b2725698ebd..7fa9d202914 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -9,24 +9,26 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; public interface ITerminalView { /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. + * Create a new terminal connection within the view. */ - public void onTerminalNewTerminal(); - public void onTerminalConnect(); - public void onTerminalDisconnect(); - public void onTerminalSettings(); - public void onTerminalFontChanged(); - public boolean hasCommandInputField(); - public void setCommandInputField(boolean on); - public boolean isScrollLock(); - public void setScrollLock(boolean b); - public void setPinned(boolean pin); - public boolean isPinned(); + void onTerminalNewTerminal(); + /** + * Create a new Terminal view. + */ + void onTerminalNewView(); + void onTerminalConnect(); + void onTerminalDisconnect(); + void onTerminalSettings(); + void onTerminalFontChanged(); + boolean hasCommandInputField(); + void setCommandInputField(boolean on); + boolean isScrollLock(); + void setScrollLock(boolean b); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java index dc62d6d6af8..41cc51f160f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Michael Scharf (Wind River) - [172483] added some more icons + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -33,20 +34,17 @@ public interface ImageConsts public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_PIN = "ImageClclPin"; //$NON-NLS-1$ public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_PIN = "ImageDlclPin"; //$NON-NLS-1$ public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$ public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_PIN = "ImageElclPin"; //$NON-NLS-1$ public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$ public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 7676c49afdc..7923f8a02b6 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -20,6 +20,7 @@ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -49,7 +50,6 @@ import org.eclipse.tm.internal.terminal.actions.TerminalAction; import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; -import org.eclipse.tm.internal.terminal.actions.TerminalActionPin; import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; @@ -82,8 +82,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - private static final String STORE_PINNED = "Pinned"; //$NON-NLS-1$ - private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ @@ -119,7 +117,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi protected TerminalPropertyChangeHandler fPropertyChangeHandler; protected Action fActionTerminalDropDown; - protected Action fActionTerminalPin; protected Action fActionTerminalRemove; protected boolean fMenuAboutToShow; @@ -142,8 +139,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private PageBook fPageBook; - private boolean fPinned=true; - /** * This listener updates both, the view and the * ITerminalViewConnection. @@ -247,29 +242,29 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ public void onTerminalNewTerminal() { Logger.log("creating new Terminal instance."); //$NON-NLS-1$ - if(isPinned()) { - try { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesirable. Therefore, we append the active time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. + setupControls(); + if(newConnection()==null) { + fMultiConnectionManager.removeActive(); + } + } - getSite().getPage().showView( - "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - } catch (PartInitException ex) { - Logger.logException(ex); - } - } else { - setupControls(); - if(newConnection()==null) { - fMultiConnectionManager.removeActive(); - } + public void onTerminalNewView() { + try { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesirable. Therefore, we append the active time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. + + getSite().getPage().showView( + "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + } catch (PartInitException ex) { + Logger.logException(ex); } } @@ -495,13 +490,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); fStore=new SettingsStore(memento); - // have we stored the pinned status? - if(fStore.get(STORE_PINNED)!=null) - setPinned("true".equals(fStore.get(STORE_PINNED))); //$NON-NLS-1$ } public void saveState(IMemento memento) { super.saveState(memento); - fStore.put(STORE_PINNED, isPinned()?"true":"false"); //$NON-NLS-1$ //$NON-NLS-2$ fStore.put(STORE_TITLE,getPartName()); fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); @@ -512,8 +503,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi protected void setupActions() { fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); - fActionTerminalPin=new TerminalActionPin(this); - fActionTerminalPin.setChecked(isPinned()); fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); // fActionTerminalScrollLock = new TerminalActionScrollLock(this); @@ -536,7 +525,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi toolBarMgr.add(fActionTerminalSettings); toolBarMgr.add(fActionToggleCommandInputField); toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ - toolBarMgr.add(fActionTerminalPin); toolBarMgr.add(fActionTerminalDropDown); toolBarMgr.add(fActionTerminalNewTerminal); toolBarMgr.add(fActionTerminalRemove); @@ -649,14 +637,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi updateStatus(); setPartName(getActiveConnection().getPartName()); } - - public void setPinned(boolean pinned) { - fPinned=pinned; - } - public boolean isPinned() { - return fPinned; - } - /** * TODO REMOVE This code (added 2008-06-11) * Legacy code to real the old state. Once the state of the diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java index 3e1aac20436..64938276dd2 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -16,6 +16,7 @@ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -54,7 +55,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_PIN, "pin.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); @@ -67,7 +67,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_PIN, "pin.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); @@ -81,7 +80,6 @@ public class TerminalViewPlugin extends AbstractUIPlugin { map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_PIN, "pin.gif"); //$NON-NLS-1$ map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); From 297186cc131a5f4bd85b0d3bcc308e2192162c0e Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 8 Jul 2008 20:23:26 +0000 Subject: [PATCH 327/843] RESOLVED - bug 240023: [terminal] Get rid of the terminal's "Pin" button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240023 --- .../tm/internal/terminal/actions/ActionMessages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties index c45eba86826..d28936dd0f4 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -17,7 +17,7 @@ # Michael Scharf (Wind River) - [172483] switch between connections # Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button ############################################################################### -NEW_TERMINAL_CONNECTION = New Terminal Connection... +NEW_TERMINAL_CONNECTION = New Terminal Connection in Current View... NEW_TERMINAL_VIEW = New Terminal View CONNECT = Connect DISCONNECT = Disconnect From 10136862dd75e9c69c65204a7275839429bc5855 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Tue, 8 Jul 2008 23:13:35 +0000 Subject: [PATCH 328/843] enhancement of bug 240023: [terminal] Get rid of the terminal's "Pin" button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240023 --- .../terminal/view/TerminalSettingsDlg.java | 7 +++++- .../internal/terminal/view/TerminalView.java | 25 +++++++++++++------ .../internal/terminal/view/ViewMessages.java | 3 +++ .../terminal/view/ViewMessages.properties | 3 +++ 4 files changed, 29 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index 5b50ed01d31..aa50f332f33 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -61,6 +62,7 @@ class TerminalSettingsDlg extends Dialog { private PageBook fPageBook; private IDialogSettings fDialogSettings; private String fTerminalTitle; + private String fTitle=ViewMessages.TERMINALSETTINGS; public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { super(shell); @@ -73,6 +75,9 @@ class TerminalSettingsDlg extends Dialog { fSelectedConnector=i; } } + public void setTitle(String title) { + fTitle=title; + } /** * @param connectors * @return connectors excluding connectors with errors @@ -162,7 +167,7 @@ class TerminalSettingsDlg extends Dialog { protected void configureShell(Shell newShell) { super.configureShell(newShell); - newShell.setText(ViewMessages.TERMINALSETTINGS); + newShell.setText(fTitle); } protected Control createDialogArea(Composite parent) { Composite ctlComposite = (Composite) super.createDialogArea(parent); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 7923f8a02b6..5765ab19837 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -70,6 +70,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; import org.eclipse.ui.IMemento; +import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPage; @@ -243,7 +244,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi public void onTerminalNewTerminal() { Logger.log("creating new Terminal instance."); //$NON-NLS-1$ setupControls(); - if(newConnection()==null) { + if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) { fMultiConnectionManager.removeActive(); } } @@ -258,11 +259,17 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // unique. This code runs only when the user clicks the New Terminal // button, so there is no risk that this code will run twice in a single // millisecond. - - getSite().getPage().showView( + IViewPart newTerminalView = getSite().getPage().showView( "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ IWorkbenchPage.VIEW_ACTIVATE); + if(newTerminalView instanceof ITerminalView) { + ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW); + // if there is no connector selected, hide the new view + if(c==null) { + getSite().getPage().hideView(newTerminalView); + } + } } catch (PartInitException ex) { Logger.logException(ex); } @@ -274,7 +281,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi if (fCtlTerminal.getState()!=TerminalState.CLOSED) return; if(fCtlTerminal.getTerminalConnector()==null) - setConnector(showSettingsDialog()); + setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS)); fCtlTerminal.connectTerminal(); } @@ -308,11 +315,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } public void onTerminalSettings() { - newConnection(); + newConnection(null); } - private ITerminalConnector newConnection() { - ITerminalConnector c=showSettingsDialog(); + private ITerminalConnector newConnection(String title) { + ITerminalConnector c=showSettingsDialog(title); if(c!=null) { setConnector(c); onTerminalConnect(); @@ -320,7 +327,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi return c; } - private ITerminalConnector showSettingsDialog() { + private ITerminalConnector showSettingsDialog(String title) { // When the settings dialog is opened, load the Terminal settings from the // persistent settings. @@ -329,6 +336,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi connectors=new ITerminalConnector[0]; TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,fCtlTerminal.getTerminalConnector()); dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); + if(title!=null) + dlgTerminalSettings.setTitle(title); Logger.log("opening Settings dialog."); //$NON-NLS-1$ if (dlgTerminalSettings.open() == Window.CANCEL) { diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index f294571a348..d40e21cc774 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -13,6 +13,7 @@ * Contributors: * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -27,6 +28,8 @@ public class ViewMessages extends NLS { public static String SETTINGS; public static String TERMINALSETTINGS; + public static String NEW_TERMINAL_CONNECTION; + public static String NEW_TERMINAL_VIEW; public static String CONNECTIONTYPE; public static String VIEW_TITLE; public static String VIEW_SETTINGS; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index e08f1cdd442..7a1593a167d 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -13,12 +13,15 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button ############################################################################### NO_CONNECTION_SELECTED = No Connection Selected PROP_TITLE = Terminal SETTINGS = Settings TERMINALSETTINGS = Terminal Settings +NEW_TERMINAL_CONNECTION = New Terminal Connection +NEW_TERMINAL_VIEW = New Terminal View CONNECTIONTYPE = Connection Type VIEW_TITLE = View Title: VIEW_SETTINGS = View Settings: From 625bb72046a1d428864955b203c7e40c69f97933 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 9 Jul 2008 01:19:22 +0000 Subject: [PATCH 329/843] bug 196454: [terminal] Initial connection settings dialog should not be blank improvements --- .../internal/terminal/view/TerminalView.java | 79 ++++++++++++++----- .../provisional/api/LayeredSettingsStore.java | 58 ++++++++++++++ .../api/PreferenceSettingStore.java | 54 +++++++++++++ 3 files changed, 171 insertions(+), 20 deletions(-) create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java create mode 100644 org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 5765ab19837..8cb6db0f0ac 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -21,6 +21,7 @@ * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -64,7 +65,9 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; 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.LayeredSettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; @@ -79,7 +82,9 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener { - private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ + private static final String PREF_CONNECTORS = "Connectors."; //$NON-NLS-1$ + + private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ @@ -334,7 +339,13 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi ITerminalConnector[] connectors = fCtlTerminal.getConnectors(); if(fCtlTerminal.getState()!=TerminalState.CLOSED) connectors=new ITerminalConnector[0]; - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,fCtlTerminal.getTerminalConnector()); + // load the state from the settings + // first load from fStore and then from the preferences. + ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); + // if we have no connector show the one from the settings + if(fCtlTerminal.getTerminalConnector()!=null) + c=fCtlTerminal.getTerminalConnector(); + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); if(title!=null) dlgTerminalSettings.setTitle(title); @@ -348,8 +359,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ // When the settings dialog is closed, we persist the Terminal settings. + saveSettings(fStore,dlgTerminalSettings.getConnector()); + // we also save it in the preferences. This will keep the last change + // made to this connector as default... + saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector()); - saveSettings(dlgTerminalSettings.getConnector()); setViewTitle(dlgTerminalSettings.getTerminalTitle()); return dlgTerminalSettings.getConnector(); } @@ -466,18 +480,32 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); listener.setConnection(conn); conn.setPartName(getPartName()); - String connectionType=fStore.get(STORE_CONNECTION_TYPE); - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(connectors[i])); - if(connectors[i].getId().equals(connectionType)) - ctrl.setConnector(connectors[i]); - } + // load from settings + ITerminalConnector connector = loadSettings(fStore,connectors); + // set the connector.... + ctrl.setConnector(connector); updatePreferences(); TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); return conn; } + /** + * @param store contains the data + * @param connectors loads the data from store + * @return null or the currently selected connector + */ + private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { + ITerminalConnector connector=null; + String connectionType=store.get(STORE_CONNECTION_TYPE); + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(store,connectors[i])); + if(connectors[i].getId().equals(connectionType)) + connector=connectors[i]; + } + return connector; + } + /** * @return a list of connectors this view can use */ @@ -486,16 +514,27 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi return connectors; } - private void saveSettings(ITerminalConnector connector) { - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - for (int i = 0; i < connectors.length; i++) { - connectors[i].save(getStore(connectors[i])); - } - if(connector!=null) { - fStore.put(STORE_CONNECTION_TYPE,connector.getId()); - } + /** + * The preference setting store is used to save the settings that are + * shared between all views. + * @return the settings store for the connection based on the preferences. + * + */ + private PreferenceSettingStore getPreferenceSettingsStore() { + return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); + } + /** + * @param store the settings will be saved in this store + * @param connector the connector that will be saved. Can be null. + */ + private void saveSettings(ISettingsStore store, ITerminalConnector connector) { + if(connector!=null) { + connector.save(getStore(store, connector)); + // the last saved connector becomes the default + store.put(STORE_CONNECTION_TYPE,connector.getId()); + } + } - public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); fStore=new SettingsStore(memento); @@ -506,8 +545,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } - private ISettingsStore getStore(ITerminalConnector connector) { - return new SettingStorePrefixDecorator(fStore,connector.getId()+"."); //$NON-NLS-1$ + private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { + return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } protected void setupActions() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java new file mode 100644 index 00000000000..bc6484c5c9a --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + + +/** + * Uses an array of {@link ISettingsStore} to find a value. + * + */ +public class LayeredSettingsStore implements ISettingsStore { + + private final ISettingsStore[] fStores; + + /** + * @param stores the stores used to search the values. + * {@link #put(String, String)} will put the value in the + * first store in the list. + */ + public LayeredSettingsStore(ISettingsStore[] stores) { + fStores=stores; + } + /** + * Convince constructor for two stores + * @param s1 first store + * @param s2 second store + */ + public LayeredSettingsStore(ISettingsStore s1, ISettingsStore s2) { + this(new ISettingsStore[]{s1,s2}); + } + public String get(String key) { + for (int i = 0; i < fStores.length; i++) { + String value=fStores[i].get(key); + if(value!=null) + return value; + } + return null; + } + + public String get(String key, String defaultValue) { + String value=get(key); + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; + return value; + } + + public void put(String key, String value) { + fStores[0].put(key,value); + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java new file mode 100644 index 00000000000..55d5393a013 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java @@ -0,0 +1,54 @@ +/******************************************************************************* + * Copyright (c) 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +import org.eclipse.core.runtime.Preferences; + +/** + * A preference based settings store. + * + */ +public class PreferenceSettingStore implements ISettingsStore { + private final String fPrefix; + private final Preferences fPreferences; + + /** + * Creates a ISettingStore that uses the preferences as backend. + * + * @param preferences the backed. + * @param prefix a string that is prepended to the key + */ + public PreferenceSettingStore(Preferences preferences, String prefix) { + fPreferences=preferences; + fPrefix=prefix; + } + public String get(String key) { + return fPreferences.getString(makeKey(key)); + } + public String get(String key, String defaultValue) { + String value=get(key); + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; + + return value; + } + + public void put(String key, String value) { + fPreferences.setValue(makeKey(key), value); + } + /** + * @param key + * @return the full path in the preferences + */ + private String makeKey(String key) { + return fPrefix+key; + } +} From 049bd8647e5bd3389d65c392d6441c8dd83deeba Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Wed, 9 Jul 2008 01:40:21 +0000 Subject: [PATCH 330/843] RESOLVED - bug 240097: [terminal] Allow paste with the middle mouse button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240097 --- .../internal/terminal/view/TerminalViewConnection.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index 68c532856d4..eb719309ef5 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button *******************************************************************************/ /** * @@ -14,6 +15,8 @@ package org.eclipse.tm.internal.terminal.view; import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.swt.events.MouseAdapter; +import org.eclipse.swt.events.MouseEvent; import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; @@ -41,6 +44,12 @@ class TerminalViewConnection implements ITerminalViewConnection { public TerminalViewConnection(ITerminalViewControl ctl) { fCtlTerminal = ctl; + fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){ + public void mouseUp(MouseEvent e) { + // paste when the middle button is clicked + if(e.button==2) // middle button + fCtlTerminal.paste(); + }}); } /* (non-Javadoc) From adc560d25e59eb1728aa4a19e3c5538c44ea24e1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 9 Jul 2008 14:39:55 +0000 Subject: [PATCH 331/843] [196454][cleanup] Required tm.terminal version for tm.terminal.view --- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../provisional/api/LayeredSettingsStore.java | 24 +++++++++++-------- .../api/PreferenceSettingStore.java | 23 +++++++++++------- 4 files changed, 30 insertions(+), 21 deletions(-) diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index a39b95a1d3f..141f5638a86 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -25,7 +25,7 @@ - + + * EXPERIMENTAL. This class or interface has been added as part + * of a work in progress. There is no guarantee that this API will work or that + * it will remain the same. Please do not use this API without consulting with + * the Target Management team. + *

                */ public class LayeredSettingsStore implements ISettingsStore { - + private final ISettingsStore[] fStores; /** @@ -52,7 +56,7 @@ public class LayeredSettingsStore implements ISettingsStore { } public void put(String key, String value) { - fStores[0].put(key,value); + fStores[0].put(key,value); } } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java index 55d5393a013..c0697ae0e8d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -14,7 +14,12 @@ import org.eclipse.core.runtime.Preferences; /** * A preference based settings store. - * + *

                + * EXPERIMENTAL. This class or interface has been added as part + * of a work in progress. There is no guarantee that this API will work or that + * it will remain the same. Please do not use this API without consulting with + * the Target Management team. + *

                */ public class PreferenceSettingStore implements ISettingsStore { private final String fPrefix; @@ -22,7 +27,7 @@ public class PreferenceSettingStore implements ISettingsStore { /** * Creates a ISettingStore that uses the preferences as backend. - * + * * @param preferences the backed. * @param prefix a string that is prepended to the key */ @@ -42,7 +47,7 @@ public class PreferenceSettingStore implements ISettingsStore { } public void put(String key, String value) { - fPreferences.setValue(makeKey(key), value); + fPreferences.setValue(makeKey(key), value); } /** * @param key From 7171bec2d24e319999a2ce1810a4be735bc02f22 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 9 Jul 2008 14:46:26 +0000 Subject: [PATCH 332/843] [220306] Improve RXTX Serial Install Instructions --- .../feature.xml | 5 +- .../META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.serial/README.txt | 24 +++++--- .../terminal/serial/SerialMessages.properties | 21 +++---- .../terminal/provisional/api/Logger.java | 59 ++++++++++--------- 5 files changed, 60 insertions(+), 51 deletions(-) diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 5721c2a5e61..3056b22bce0 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -2,7 +2,7 @@ @@ -20,9 +20,6 @@ - diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 9f848f19c8e..9524e3ab09f 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index 96b69ce1a03..188bc8f4917 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -1,9 +1,9 @@ Important note: --------------- -This README is for terminal.serial version 0.9.100 and later, corresponding +This README is for terminal.serial version 1.0.0 and later, corresponding to RSE downloads after 2.0M4. Instructions for previous versions (using Sun javacomm / javax.comm package instead of gnu.io) are still available from -http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 +http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 Prerequisites: @@ -11,16 +11,18 @@ Prerequisites: In order to compile and run this plugin, RXTX has to be installed. There are two options: Either installing RXTX as an Eclipse plugin, or installing RXTX as a JVM extension. For installation as plugin, -you can download a ZIP archive or use the Update Manager. +you can download a ZIP archive or use the Update Manager; if an +Eclipse plugin is not available for your Platform, you'll need +to install RXTX into the JVM (option B, below). + In either case, once RXTX is installed, you'll need to quit and re-start Eclipse PDE in order to recompute the classpath. Option A.1: Installation as an Eclipse Plugin via Update Manager: ----------------------------------------------------------------- -* In Eclipse, choose Help > Software Updates > Find and Install - - Search for New Features to Install, Next - - New Remote Site: +* In Eclipse, choose Help > Software Updates... + - Add New Remote Site: Name = RXTX URL = http://rxtx.qbang.org/eclipse/ - Finish, select proper version, Install All @@ -30,7 +32,9 @@ Option A.2: Installation as an Eclipse Plugin via Download: ----------------------------------------------------------- * Download RXTX SDK or Runtime ZIP from http://rxtx.qbang.org/eclipse/downloads/ - and extract it into your Eclipse installation. + and extract it into your Eclipse installation. The download + link mentioned also has a README with version and licensing + information. Option B: Installation as a JVM Extension: @@ -47,8 +51,14 @@ Option B: Installation as a JVM Extension: http://users.frii.com/jarvi/rxtx/download.html +For help, contact the RXTX mailing list available via the +RXTX website at http://www.rxtx.org or see the notes on +https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336 + + Changelog: ---------- +2.0.1 - Revised Update Site text to comply with P2 in Eclipse 3.4 1.0.1 - Added options for installing RXTX as an Eclipse Plugin 0.9.100 - switched from Sun javax.comm to rxtx gnu.io for serial support 0.9.0 - first version \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties index 79f33b31b81..e12c88fe31d 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties @@ -25,18 +25,19 @@ PARITY = Parity FLOWCONTROL = Flow Control TIMEOUT = Timeout (sec) ERROR_LIBRARY_NOT_INSTALLED = The RXTX library has not been installed properly! \n\ +\n\ Installation:\n\ -------------\n\ -* Get RXTX binaries from\n\ - ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip\n\ -* Copy RXTXcomm.jar into $JRE/lib/ext\n\ -* Copy the native libs for your Platform (*.so, *.jnilib, *.dll)\n\ - into the respective native lib folder of your RSE \n\ -* More installation instructions are at\n\ - http://rxtx.qbang.org/wiki/index.php/Main_Page\n\ -* More downloads for other platforms (currently about 30)\n\ - are available from the "ToyBox" link on\n\ - http://users.frii.com/jarvi/rxtx/download.html +* Either (a) Use Help > Software Updates, Add Site and install from:\n\ +\ \ \ http://rxtx.qbang.org/eclipse/\n\ +* Or (b) Download and install RXTX for Eclipse from:\n\ +\ \ \ http://rxtx.qbang.org/eclipse/downloads/\n\ +\n\ +For other Platforms, more info and help see\n\ +\ \ \ http://www.rxtx.org/\n\ +\ \ \ https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336#c6\n\ +\n\ +This message is also available in your Error Log for Copy & Paste. # Port Ownership Handling PORT_IN_USE = Serial port \''{0}\'' is currently in use by {1}\!\nDo you want to try and steal the port? diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index a45b7fa61d5..debec453f73 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -1,14 +1,14 @@ /******************************************************************************* * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Fran Litterio (Wind River) - initial API and implementation * Ted Williams (Wind River) - refactored into org.eclipse namespace - * Michael Scharf (Wind River) - split into core, view and connector plugins + * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -26,12 +26,12 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; * called from both class and instance methods. To use this class, write code * like this: *

                - * + * *

                  * Logger.log("something has happened");
                  * Logger.log("counter is " + counter);
                  * 
                - * + * * @author Fran Litterio *

                * EXPERIMENTAL. This class or interface has been added as @@ -72,10 +72,10 @@ public final class Logger { } } } - + /** * Encodes a String such that non-printable control characters are - * converted into user-readable escape sequences for logging. + * converted into user-readable escape sequences for logging. * @param message String to encode * @return encoded String */ @@ -86,38 +86,38 @@ public final class Logger { char c=message.charAt(i); switch(c) { case '\\': - case '\'': + case '\'': buf.append('\\'); buf.append(c); encoded=true; break; case '\r': - buf.append('\\'); buf.append('r'); encoded=true; + buf.append('\\'); buf.append('r'); encoded=true; break; case '\n': - buf.append('\\'); buf.append('n'); encoded=true; + buf.append('\\'); buf.append('n'); encoded=true; break; case '\t': - buf.append('\\'); buf.append('t'); encoded=true; + buf.append('\\'); buf.append('t'); encoded=true; break; case '\f': - buf.append('\\'); buf.append('f'); encoded=true; + buf.append('\\'); buf.append('f'); encoded=true; break; case '\b': - buf.append('\\'); buf.append('b'); encoded=true; + buf.append('\\'); buf.append('b'); encoded=true; break; default: if (c <= '\u000f') { - buf.append('\\'); buf.append('x'); buf.append('0'); - buf.append(Integer.toHexString(c)); + buf.append('\\'); buf.append('x'); buf.append('0'); + buf.append(Integer.toHexString(c)); encoded=true; } else if (c>=' ' && c<'\u007f') { buf.append(c); } else if (c <= '\u00ff') { - buf.append('\\'); buf.append('x'); - buf.append(Integer.toHexString(c)); + buf.append('\\'); buf.append('x'); + buf.append(Integer.toHexString(c)); encoded=true; } else { buf.append('\\'); buf.append('u'); - if (c<='\u0fff') { + if (c<='\u0fff') { buf.append('0'); } buf.append(Integer.toHexString(c)); @@ -130,7 +130,7 @@ public final class Logger { } return message; } - + /** * Checks if logging is enabled. * @return true if logging is enabled. @@ -142,7 +142,7 @@ public final class Logger { /** * Logs the specified message. Do not append a newline to parameter * message. This method does that for you. - * + * * @param message A String containing the message to log. */ public static final void log(String message) { @@ -168,11 +168,14 @@ public final class Logger { */ public static final void logException(Exception ex) { // log in eclipse error log - if(TerminalPlugin.getDefault()!=null) + if (TerminalPlugin.getDefault() != null) { TerminalPlugin.getDefault().getLog().log(new Status(IStatus.ERROR, TerminalPlugin.PLUGIN_ID, IStatus.OK, ex.getMessage(), ex)); + } else { + ex.printStackTrace(); + } + // Additional Tracing for debug purposes: // Read my own stack to get the class name, method name, and line number - // of - // where this method was called. + // of where this method was called if(logStream!=null) { StackTraceElement caller = new Throwable().getStackTrace()[1]; int lineNumber = caller.getLineNumber(); @@ -190,8 +193,6 @@ public final class Logger { + "." + methodName + ":" + lineNumber + ": " + //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ "Caught exception: " + ex); //$NON-NLS-1$ ex.printStackTrace(tmpStream); - } else { - ex.printStackTrace(); } } } From fec726a08ac9d9a8a925f1c80453932d4fc318da Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 10 Jul 2008 18:22:32 +0000 Subject: [PATCH 333/843] [205674][ssh] Terminal remains "connecting" when authentication is cancelled --- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 3f9b7fcc99e..7dde2b89e7f 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 0bf143514e5..3fbd18e6374 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, From 9c7e0642b61082523a5b96ba730e3b3f5bff5c3b Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 10 Jul 2008 22:12:14 +0000 Subject: [PATCH 334/843] RESOLVED - bug 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240420 --- .../src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 0d156afbe08..229260a697a 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -121,6 +121,7 @@ class SshConnection extends Thread { ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ channel.setPtyType("ansi"); //$NON-NLS-1$ channel.connect(); + setChannel(channel); fConn.setInputStream(channel.getInputStream()); fConn.setOutputStream(channel.getOutputStream()); fConn.setChannel(channel); From ac4197b4c676be1970914ce2d3a931cd7ae48e4e Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 10 Jul 2008 22:28:39 +0000 Subject: [PATCH 335/843] RESOLVED - bug 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240420 --- .../src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 229260a697a..b348df14cd3 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [205674][ssh] Terminal remains "connecting" when authentication is cancelled + * Michael Scharf (Wind River) - 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; From efa0518db49a00e7194e26fc4ccb61a8806cee28 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 11 Jul 2008 14:05:44 +0000 Subject: [PATCH 336/843] RESOLVED - bug 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240420 Patch https://bugs.eclipse.org/bugs/attachment.cgi?id=107158 applied --- .../internal/terminal/ssh/SshConnection.java | 35 ++++++++++++++----- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index b348df14cd3..5d4b4101de0 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -37,7 +37,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import com.jcraft.jsch.Channel; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSchException; import com.jcraft.jsch.Session; @@ -48,7 +47,12 @@ class SshConnection extends Thread { private static int fgNo; private final ITerminalControl fControl; private final SshConnector fConn; - private Channel fChannel; + /** + * if true, the terminal has been disconnected. Used to tack + * disconnects that happen while the the terminal is still connecting. + */ + private boolean fDisconnected; + private Session fSession; protected SshConnection(SshConnector conn,ITerminalControl control) { super("SshConnection-"+fgNo++); //$NON-NLS-1$ fControl = control; @@ -118,15 +122,22 @@ class SshConnection extends Thread { session.setServerAliveInterval(nKeepalive); //default is 5 minutes } session.connect(nTimeout); // making connection with timeout. + setSession(session); ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ channel.setPtyType("ansi"); //$NON-NLS-1$ channel.connect(); - setChannel(channel); fConn.setInputStream(channel.getInputStream()); fConn.setOutputStream(channel.getOutputStream()); fConn.setChannel(channel); fControl.setState(TerminalState.CONNECTED); + + // maybe the terminal was disconnected while we were connecting + // if that happened, lets disconnect.... + if(isDisconnected()) { + session.disconnect(); + return; + } try { // read data until the connection gets terminated readDataForever(fConn.getInputStream()); @@ -138,11 +149,15 @@ class SshConnection extends Thread { } catch (Exception e) { connectFailed(e.getMessage(),e.getMessage()); } finally { - + // make sure the terminal is disconnected when the thread ends + disconnect(); } } - synchronized void setChannel(Channel channel) { - fChannel = channel; + synchronized void setSession(Session session) { + fSession = session; + } + synchronized boolean isDisconnected() { + return fDisconnected; } /** * disconnect the ssh session @@ -150,10 +165,12 @@ class SshConnection extends Thread { void disconnect() { interrupt(); synchronized (this) { - if(fChannel!=null) { - fChannel.disconnect(); - fChannel=null; + fDisconnected=true; + if(fSession!=null) { + fSession.disconnect(); + fSession=null; } + } } /** From 1511689c15f4d2492820649b2bd100bc559dec88 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 11 Jul 2008 15:08:17 +0000 Subject: [PATCH 337/843] [240420][terminal][ssh] Support Disconnect before authenticating --- .../internal/terminal/ssh/SshConnection.java | 123 +++++++++--------- 1 file changed, 61 insertions(+), 62 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 5d4b4101de0..e8508d7786b 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -47,11 +47,6 @@ class SshConnection extends Thread { private static int fgNo; private final ITerminalControl fControl; private final SshConnector fConn; - /** - * if true, the terminal has been disconnected. Used to tack - * disconnects that happen while the the terminal is still connecting. - */ - private boolean fDisconnected; private Session fSession; protected SshConnection(SshConnector conn,ITerminalControl control) { super("SshConnection-"+fgNo++); //$NON-NLS-1$ @@ -113,6 +108,9 @@ class SshConnection extends Thread { Session session = createSession(user, password, host, port, ui, new NullProgressMonitor()); + synchronized (this) { + fSession = session; + } //java.util.Hashtable config=new java.util.Hashtable(); //config.put("StrictHostKeyChecking", "no"); @@ -122,55 +120,56 @@ class SshConnection extends Thread { session.setServerAliveInterval(nKeepalive); //default is 5 minutes } session.connect(nTimeout); // making connection with timeout. - setSession(session); ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ channel.setPtyType("ansi"); //$NON-NLS-1$ channel.connect(); - fConn.setInputStream(channel.getInputStream()); - fConn.setOutputStream(channel.getOutputStream()); - fConn.setChannel(channel); - fControl.setState(TerminalState.CONNECTED); - + // maybe the terminal was disconnected while we were connecting - // if that happened, lets disconnect.... - if(isDisconnected()) { - session.disconnect(); - return; + if (isSessionConnected() && channel.isConnected()) { + fConn.setInputStream(channel.getInputStream()); + fConn.setOutputStream(channel.getOutputStream()); + fConn.setChannel(channel); + fControl.setState(TerminalState.CONNECTED); + try { + // read data until the connection gets terminated + readDataForever(fConn.getInputStream()); + } catch (InterruptedIOException e) { + // we got interrupted: we are done... + } } - try { - // read data until the connection gets terminated - readDataForever(fConn.getInputStream()); - } catch (InterruptedIOException e) { - // we got interrupted: we are done... - } - // when reading is done, we set the state to closed - fControl.setState(TerminalState.CLOSED); } catch (Exception e) { connectFailed(e.getMessage(),e.getMessage()); } finally { // make sure the terminal is disconnected when the thread ends - disconnect(); + try { + disconnect(); + } finally { + // when reading is done, we set the state to closed + fControl.setState(TerminalState.CLOSED); + } } } - synchronized void setSession(Session session) { - fSession = session; - } - synchronized boolean isDisconnected() { - return fDisconnected; + + private synchronized boolean isSessionConnected() { + return fSession != null && fSession.isConnected(); } + /** * disconnect the ssh session */ void disconnect() { interrupt(); synchronized (this) { - fDisconnected=true; if(fSession!=null) { - fSession.disconnect(); + try { + fSession.disconnect(); + } catch (Exception e) { + // Ignore NPE due to bug in JSch if disconnecting + // while not yet authenticated + } fSession=null; } - } } /** @@ -218,10 +217,14 @@ class SshConnection extends Thread { public void run() { // [168197] Replace JFace MessagDialog by SWT MessageBox //retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); - MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); - mb.setText(SshMessages.WARNING); - mb.setMessage(str); - retval[0] = (mb.open() == SWT.YES); + if (isSessionConnected()) { + MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); + mb.setText(SshMessages.WARNING); + mb.setMessage(str); + retval[0] = (mb.open() == SWT.YES); + } else { + retval[0] = false; + } } }); return retval[0]; @@ -230,10 +233,14 @@ class SshConnection extends Thread { final String[] retval = new String[1]; getStandardDisplay().syncExec(new Runnable() { public void run() { - UserValidationDialog uvd = new UserValidationDialog(null, fConnectionId, fUser, message); - uvd.setUsernameMutable(false); - if (uvd.open() == Window.OK) { - retval[0] = uvd.getPassword(); + if (isSessionConnected()) { + UserValidationDialog uvd = new UserValidationDialog(null, fConnectionId, fUser, message); + uvd.setUsernameMutable(false); + if (uvd.open() == Window.OK) { + retval[0] = uvd.getPassword(); + } else { + retval[0] = null; + } } else { retval[0] = null; } @@ -261,10 +268,12 @@ class SshConnection extends Thread { public void run() { // [168197] Replace JFace MessagDialog by SWT MessageBox // MessageDialog.openInformation(null, SshMessages.INFO, message); - MessageBox mb = new MessageBox(null, SWT.ICON_INFORMATION | SWT.OK); - mb.setText(SshMessages.INFO); - mb.setMessage(message); - mb.open(); + if (isSessionConnected()) { + MessageBox mb = new MessageBox(null, SWT.ICON_INFORMATION | SWT.OK); + mb.setText(SshMessages.INFO); + mb.setMessage(message); + mb.open(); + } } }); } @@ -275,7 +284,7 @@ class SshConnection extends Thread { if (prompt.length == 0) { // No need to prompt, just return an empty String array return new String[0]; - } + } try{ if (fAttemptCount == 0 && fPassword != null && prompt.length == 1 && prompt[0].trim().equalsIgnoreCase("password:")) { //$NON-NLS-1$ // Return the provided password the first time but always prompt on subsequent tries @@ -285,10 +294,13 @@ class SshConnection extends Thread { final String[][] finResult = new String[1][]; getStandardDisplay().syncExec(new Runnable() { public void run() { - KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, - fConnectionId, destination, name, instruction, prompt, echo); - dialog.open(); - finResult[0]=dialog.getResult(); + if (isSessionConnected()) { + KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, fConnectionId, destination, name, instruction, prompt, echo); + dialog.open(); + finResult[0] = dialog.getResult(); + } else { + finResult[0] = null; // indicate cancel to JSch + } } }); String[] result=finResult[0]; @@ -304,24 +316,11 @@ class SshConnection extends Thread { return null; } } - /** - * Callback to indicate that a connection is about to be attempted - */ - public void aboutToConnect() { - fAttemptCount = 0; - } - /** - * Callback to indicate that a connection was made - */ - public void connectionMade() { - fAttemptCount = 0; - } } private void connectFailed(String terminalText, String msg) { Logger.log(terminalText); fControl.displayTextInTerminal(terminalText); - fControl.setState(TerminalState.CLOSED); fControl.setMsg(msg); } } \ No newline at end of file From 153c4b6c9d6762c5eae11c6fd284e2b9e8820434 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Fri, 11 Jul 2008 22:51:40 +0000 Subject: [PATCH 338/843] RESOLVED - bug 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button https://bugs.eclipse.org/bugs/show_bug.cgi?id=240420 Handle disconnect before fSession has been assigned --- .../eclipse/tm/internal/terminal/ssh/SshConnection.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index e8508d7786b..7046fb7dc5c 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -48,6 +48,7 @@ class SshConnection extends Thread { private final ITerminalControl fControl; private final SshConnector fConn; private Session fSession; + private boolean fDisconnectHasBeenCalled; protected SshConnection(SshConnector conn,ITerminalControl control) { super("SshConnection-"+fgNo++); //$NON-NLS-1$ fControl = control; @@ -120,7 +121,9 @@ class SshConnection extends Thread { session.setServerAliveInterval(nKeepalive); //default is 5 minutes } session.connect(nTimeout); // making connection with timeout. - + // if we got disconnected, do not continue + if(!isSessionConnected()) + return; ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ channel.setPtyType("ansi"); //$NON-NLS-1$ channel.connect(); @@ -152,7 +155,7 @@ class SshConnection extends Thread { } private synchronized boolean isSessionConnected() { - return fSession != null && fSession.isConnected(); + return fDisconnectHasBeenCalled || (fSession != null && fSession.isConnected()); } /** @@ -161,6 +164,7 @@ class SshConnection extends Thread { void disconnect() { interrupt(); synchronized (this) { + fDisconnectHasBeenCalled=true; if(fSession!=null) { try { fSession.disconnect(); From 30fcb14dab3d4cd4c3eae03fbb9f31f7c6154b86 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 14 Jul 2008 22:55:01 +0000 Subject: [PATCH 339/843] [240420][terminal][ssh] Support Disconnect before connection creation --- .../eclipse/tm/internal/terminal/ssh/SshConnection.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 7046fb7dc5c..55486d1945c 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -120,6 +120,12 @@ class SshConnection extends Thread { if (nKeepalive > 0) { session.setServerAliveInterval(nKeepalive); //default is 5 minutes } + // dont try to connect if disconnect has been requested already + synchronized (this) { + if (fDisconnectHasBeenCalled) + return; + } + session.connect(nTimeout); // making connection with timeout. // if we got disconnected, do not continue if(!isSessionConnected()) @@ -155,7 +161,7 @@ class SshConnection extends Thread { } private synchronized boolean isSessionConnected() { - return fDisconnectHasBeenCalled || (fSession != null && fSession.isConnected()); + return !fDisconnectHasBeenCalled && fSession != null && fSession.isConnected(); } /** From c2c013c8e030799dc9dfc61b8ee7376d3065047a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 20:34:56 +0000 Subject: [PATCH 340/843] [cleanup] Fix invalid HTML in terminal help --- org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html index 130e9e40b87..953025ae0db 100644 --- a/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html +++ b/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html @@ -76,7 +76,7 @@ The Timeout can be changed for very slow networks. The automatically sends a packet to the remote host in order to keep the connection alive even in case of inactivity.

                When all settings are specified, click -OK. This initiates your connection. +OK. This initiates your connection.

                From 7653ec787f069120bc8b4790c4b8361cb4caa4ea Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 20:43:08 +0000 Subject: [PATCH 341/843] [240745] Fix Terminal Widget Context Descriptions --- org.eclipse.tm.terminal.view/HelpContexts.xml | 2 +- .../TerminalContexts.xml | 19 +++++++++++++++++++ org.eclipse.tm.terminal.view/plugin.xml | 1 + org.eclipse.tm.terminal/HelpContexts.xml | 18 ++++++++++++++++++ org.eclipse.tm.terminal/plugin.xml | 3 +++ 5 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 org.eclipse.tm.terminal.view/TerminalContexts.xml create mode 100644 org.eclipse.tm.terminal/HelpContexts.xml diff --git a/org.eclipse.tm.terminal.view/HelpContexts.xml b/org.eclipse.tm.terminal.view/HelpContexts.xml index 4100b7979da..5ba920568af 100644 --- a/org.eclipse.tm.terminal.view/HelpContexts.xml +++ b/org.eclipse.tm.terminal.view/HelpContexts.xml @@ -12,7 +12,7 @@ Martin Oberhuber (Wind River) - initial API and implementation --> - The Terminal View supports direct connections to target boards via serial or network connections. + The Terminal View supports direct connections to remote systems via serial or network connections. diff --git a/org.eclipse.tm.terminal.view/TerminalContexts.xml b/org.eclipse.tm.terminal.view/TerminalContexts.xml new file mode 100644 index 00000000000..387756f5c68 --- /dev/null +++ b/org.eclipse.tm.terminal.view/TerminalContexts.xml @@ -0,0 +1,19 @@ + + + + + + + + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index 504ec8b41e3..3a26546d85a 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -83,6 +83,7 @@ + diff --git a/org.eclipse.tm.terminal/HelpContexts.xml b/org.eclipse.tm.terminal/HelpContexts.xml new file mode 100644 index 00000000000..761da672632 --- /dev/null +++ b/org.eclipse.tm.terminal/HelpContexts.xml @@ -0,0 +1,18 @@ + + + + + + The Terminal View supports direct connections to remote systems via serial or network connections. + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index aae86a7c5c7..ce1bd3b4f33 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -21,4 +21,7 @@ id="org.eclipse.tm.terminal.TerminalContext" /> + + +
                From 4ec1b58158d90aa4d6da8144f6c7ed033217919a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 21:39:41 +0000 Subject: [PATCH 342/843] [240745] Fix Ctrl+F1 when disconnected --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 26a0feb3530..c151aa6bf84 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -747,6 +747,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } // Ignore all other keyboard input when not connected. + // Allow other key handlers (such as Ctrl+F1) do their work + event.doit = true; return; } From af5bab0e12806dfed9f1bd897c4a245006148cf1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 21:57:01 +0000 Subject: [PATCH 343/843] [241005][terminal] Fix Alt+F key in Emacs --- .../plugin.properties | 4 - org.eclipse.tm.terminal.view/plugin.xml | 11 --- org.eclipse.tm.terminal/plugin.properties | 3 + org.eclipse.tm.terminal/plugin.xml | 82 +++++++++++++++++++ 4 files changed, 85 insertions(+), 15 deletions(-) diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index 884d85ac213..9825ab03e35 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -20,7 +20,3 @@ terminal.views.category.name = Terminal terminal.views.view.name = Terminal terminal.views.view.font.description = The font for the terminal console. terminal.views.view.font.label = Terminal Console Font - -terminal.view.insertion.description=Terminal view insertion -terminal.view.insertion.name=Terminal view insert -terminal.view.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/org.eclipse.tm.terminal.view/plugin.xml index 3a26546d85a..dbb050174da 100644 --- a/org.eclipse.tm.terminal.view/plugin.xml +++ b/org.eclipse.tm.terminal.view/plugin.xml @@ -62,17 +62,6 @@
                - - - - diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index f5c474e9c62..eb9ea59cb4b 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -20,3 +20,6 @@ providerName = Eclipse.org terminal.context.name=Terminal widget context terminal.context.description=Override ALT+x menu access keys +terminal.insertion.description=Terminal view insertion +terminal.insertion.name=Terminal view insert +terminal.insertion.category.name=Terminal view commands diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index ce1bd3b4f33..1a1a59cedad 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -24,4 +24,86 @@ + + + + + + + + + + + + + + + + + + + + From 1c0e35b1ab2f2265c9dfe66a313c0d5cd4446d3c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 22:40:47 +0000 Subject: [PATCH 344/843] [206917][terminal] Add validation for Terminal Settings --- .../terminal/serial/SerialSettingsPage.java | 19 +++++++--- .../terminal/ssh/SshSettingsPage.java | 37 +++++++++++++++---- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/telnet/TelnetSettingsPage.java | 25 +++++++++++-- .../terminal/view/TerminalSettingsDlg.java | 9 ++++- .../internal/terminal/view/ViewMessages.java | 2 + .../terminal/view/ViewMessages.properties | 2 + 8 files changed, 79 insertions(+), 19 deletions(-) diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java index 43b85997214..c896ed508ac 100644 --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg + * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; @@ -91,11 +92,11 @@ public class SerialSettingsPage implements ISettingsPage { nIndex = combo.indexOf(value); } else { return; - } + } } combo.select(nIndex); - + } private String getComboValue(Combo combo) { int nIndex = combo.getSelectionIndex(); @@ -106,9 +107,17 @@ public class SerialSettingsPage implements ISettingsPage { } return combo.getItem(nIndex); - + } public boolean validateSettings() { + try { + int p = Integer.parseInt(fTimeout.getText().trim()); + if (p < 0) { + return false; + } + } catch (Exception e) { + return false; + } return true; } public void createControl(Composite parent) { diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index 35d6b800bb5..bf21bc4674f 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -1,14 +1,15 @@ /******************************************************************************* * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -57,6 +58,28 @@ public class SshSettingsPage implements ISettingsPage { return value; } public boolean validateSettings() { + if (fHostText.getText().trim().length() == 0) { + return false; + } + if (fUser.getText().trim().length() == 0) { + return false; + } + try { + int p = Integer.parseInt(fPort.getText().trim()); + if (p <= 0 || p > 65535) { + return false; + } + p = Integer.parseInt(fTimeout.getText().trim()); + if (p < 0) { + return false; + } + p = Integer.parseInt(fKeepalive.getText().trim()); + if (p < 0) { + return false; + } + } catch (Exception e) { + return false; + } return true; } public void createControl(Composite parent) { @@ -84,7 +107,7 @@ public class SshSettingsPage implements ISettingsPage { // Add control gridData = new GridData(GridData.FILL_HORIZONTAL); - Text text= new Text(composite, SWT.BORDER | textOptions); + Text text= new Text(composite, SWT.BORDER | textOptions); text.setLayoutData(gridData); return text; } diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index d91b26fece5..7dae7b8c509 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index ec1ec440cf3..a1dbdaa9054 100644 --- a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.0.0.qualifier +Bundle-Version: 2.0.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 732bdba8491..526b355a2b6 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg + * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -55,13 +56,13 @@ public class TelnetSettingsPage implements ISettingsPage { if(strHost==null) strHost=""; //$NON-NLS-1$ fHostText.setText(strHost); - + } private void setTimeout(String timeout) { if(timeout==null || timeout.length()==0) timeout="5"; //$NON-NLS-1$ fTimeout.setText(timeout); - + } private void setNetworkPort(String strNetworkPort) { if (strNetworkPort!=null) { @@ -88,8 +89,24 @@ public class TelnetSettingsPage implements ISettingsPage { } public boolean validateSettings() { + if (fHostText.getText().trim().length() == 0) { + return false; + } + try { + int p = Integer.parseInt(getNetworkPort().trim()); + if (p <= 0 || p > 65535) { + return false; + } + p = Integer.parseInt(fTimeout.getText().trim()); + if (p < 0) { + return false; + } + } catch (Exception e) { + return false; + } return true; } + public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index aa50f332f33..8ea599b7168 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -148,8 +149,14 @@ class TerminalSettingsDlg extends Dialog { } protected void okPressed() { - if (!validateSettings()) + if (!validateSettings()) { + String strTitle = ViewMessages.TERMINALSETTINGS; + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(strTitle); + mb.setMessage(ViewMessages.INVALID_SETTINGS); + mb.open(); return; + } if(fSelectedConnector>=0) { getPage(fSelectedConnector).saveSettings(); } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index d40e21cc774..989acc6091f 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -33,6 +34,7 @@ public class ViewMessages extends NLS { public static String CONNECTIONTYPE; public static String VIEW_TITLE; public static String VIEW_SETTINGS; + public static String INVALID_SETTINGS; public static String INVERT_COLORS; public static String BUFFERLINES; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index 7a1593a167d..4b9c6e0cdd7 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -14,6 +14,7 @@ # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button +# Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings ############################################################################### NO_CONNECTION_SELECTED = No Connection Selected PROP_TITLE = Terminal @@ -25,6 +26,7 @@ NEW_TERMINAL_VIEW = New Terminal View CONNECTIONTYPE = Connection Type VIEW_TITLE = View Title: VIEW_SETTINGS = View Settings: +INVALID_SETTINGS = The specified settings are invalid, please review or cancel. INVERT_COLORS = Invert terminal colors BUFFERLINES = Terminal buffer lines: From 94b81a22f1b0d94b2669318a0a7938477561c30f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Jul 2008 23:36:38 +0000 Subject: [PATCH 345/843] [206919][terminal] Improve SSH Terminal Error Reporting --- .../internal/terminal/ssh/SshConnection.java | 35 ++++++++-- .../tm/internal/terminal/ssh/SshMessages.java | 69 ++++++++++++++++--- .../terminal/ssh/SshMessages.properties | 20 +++++- 3 files changed, 111 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 55486d1945c..3a31f6d76cf 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -18,6 +18,7 @@ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [205674][ssh] Terminal remains "connecting" when authentication is cancelled * Michael Scharf (Wind River) - 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button + * Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -30,6 +31,7 @@ import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.jface.window.Window; import org.eclipse.jsch.core.IJSchService; +import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.MessageBox; @@ -90,13 +92,16 @@ class SshConnection extends Thread { //---------------------------------------------------------------------- public void run() { + boolean connectSucceeded = false; + String host = ""; //$NON-NLS-1$ + int port = 22; try { int nTimeout = fConn.getSshSettings().getTimeout() * 1000; int nKeepalive = fConn.getSshSettings().getKeepalive() * 1000; - String host = fConn.getSshSettings().getHost(); + host = fConn.getSshSettings().getHost(); String user = fConn.getSshSettings().getUser(); String password = fConn.getSshSettings().getPassword(); - int port = fConn.getSshSettings().getPort(); + port = fConn.getSshSettings().getPort(); ////Giving a connectionId could be the index into a local ////Store where passwords are stored @@ -136,6 +141,7 @@ class SshConnection extends Thread { // maybe the terminal was disconnected while we were connecting if (isSessionConnected() && channel.isConnected()) { + connectSucceeded = true; fConn.setInputStream(channel.getInputStream()); fConn.setOutputStream(channel.getOutputStream()); fConn.setChannel(channel); @@ -148,7 +154,27 @@ class SshConnection extends Thread { } } } catch (Exception e) { - connectFailed(e.getMessage(),e.getMessage()); + Throwable cause = e; + while (cause.getCause() != null) { + cause = cause.getCause(); + } + String origMsg = cause.getMessage(); + String msg = SshMessages.getMessageFor(cause); + if ((cause instanceof JSchException) && origMsg != null && origMsg.startsWith("Auth")) { //$NON-NLS-1$ + if (origMsg.indexOf("cancel") >= 0) { //$NON-NLS-1$ + msg = SshMessages.SSH_AUTH_CANCEL; + } else if (origMsg.indexOf("fail") >= 0) { //$NON-NLS-1$ + msg = SshMessages.SSH_AUTH_FAIL; + } + } + if (!connectSucceeded) { + String hostPort = host; + if (port != 22) { + hostPort = hostPort + ':' + port; + } + msg = NLS.bind(SshMessages.ERROR_CONNECTING, hostPort, msg); + } + connectFailed(msg, msg); } finally { // make sure the terminal is disconnected when the thread ends try { @@ -331,6 +357,7 @@ class SshConnection extends Thread { private void connectFailed(String terminalText, String msg) { Logger.log(terminalText); fControl.displayTextInTerminal(terminalText); - fControl.setMsg(msg); + // fControl.setMsg(msg); } + } \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java index d24753a17bb..85a1a0fd1cd 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java @@ -1,17 +1,20 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2000, 2008 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives + * Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting (Adopting code from org.eclipse.team.cvs.core) *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; +import java.lang.reflect.Field; + import org.eclipse.osgi.util.NLS; public class SshMessages extends NLS { @@ -27,7 +30,7 @@ public class SshMessages extends NLS { public static String KEEPALIVE_Tooltip; public static String WARNING; public static String INFO; - + //These are from org.eclipse.team.cvs.ui.CVSUIMessages public static String UserValidationDialog_required; public static String UserValidationDialog_labelUser; @@ -41,4 +44,54 @@ public class SshMessages extends NLS { public static String KeyboardInteractiveDialog_message; public static String KeyboardInteractiveDialog_labelConnection; + public static String ERROR_CONNECTING; + public static String TerminalCommunicationException_io; + public static String SSH_AUTH_CANCEL; + public static String SSH_AUTH_FAIL; + public static String com_jcraft_jsch_JSchException; + public static String java_io_IOException; + public static String java_io_EOFException; + public static String java_io_InterruptedIOException; + public static String java_net_UnknownHostException; + public static String java_net_ConnectException; + public static String java_net_SocketException; + public static String java_net_NoRouteToHostException; + + // + + public static String getMessageFor(Throwable throwable) { + String message = getMessage(getMessageKey(throwable)); + if (message == null) { + message = NLS.bind(SshMessages.TerminalCommunicationException_io, (new Object[] { throwable.toString() })); + } else { + message = NLS.bind(message, (new Object[] { throwable.getMessage() })); + } + return message; + } + + private static String getMessageKey(Throwable t) { + String name = t.getClass().getName(); + name = name.replace('.', '_'); + return name; + } + + // + // + + public static String getMessage(String key) { + try { + Field f = SshMessages.class.getDeclaredField(key); + Object o = f.get(null); + if (o instanceof String) + return (String) o; + } catch (SecurityException e) { + } catch (NoSuchFieldException e) { + } catch (IllegalArgumentException e) { + } catch (IllegalAccessException e) { + } + return null; + } + + // + } diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties index b2f0806a9a3..9198ae1c8b6 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +# Copyright (c) 2000, 2008 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -9,7 +9,11 @@ # Michael Scharf (Wind River) - initial API and implementation # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives +# Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting (Adopting code from org.eclipse.team.cvs.core) ############################################################################### + +# NLS_MESSAGEFORMAT_VAR + HOST = Host USER = User PORT = Port @@ -32,3 +36,17 @@ UserValidationDialog_7=Saved passwords are stored on your computer in a file tha KeyboardInteractiveDialog_message=Keyboard Interactive authentication for {0} KeyboardInteractiveDialog_labelConnection=Enter values for the following connection: {0} + +#These are from org.eclipse.team.cvs.core/messages.properties (c) IBM 2000, 2007 +ERROR_CONNECTING=Error connecting {0} : {2} +TerminalCommunicationException_io=Communication error: {0} +SSH_AUTH_CANCEL=SSH Authentication cancelled. +SSH_AUTH_FAIL=SSH Authentication failed. +com_jcraft_jsch_JSchException=SSH client error: {0} +java_io_IOException=I/O exception occurred: {0} +java_io_EOFException=End of file encountered: {0} +java_io_InterruptedIOException=I/O has been interrupted. +java_net_UnknownHostException=Cannot locate host: {0} +java_net_ConnectException=Cannot connect to host: {0} +java_net_SocketException=Socket Exception: {0} +java_net_NoRouteToHostException={0} From 1e473c74ed4ca57ff18f586450d96d5050c3c066 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 16 Jul 2008 00:05:05 +0000 Subject: [PATCH 346/843] [172483][terminal] Update user docs for multi-connection feature --- .../doc/html/01_terminalview.html | 2 ++ .../doc/html/02_terminal_page.html | 17 ++++++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html index 0771833c053..c423cbf8be5 100644 --- a/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html +++ b/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html @@ -26,6 +26,8 @@ Martin Oberhuber (Wind River) - initial API and implementation The Terminal view provides a raw serial or network connection to your target board. This view is useful for monitoring output on a target's serial port or making a telnet connection to a device. +

                +The Terminal view is activated by choosing Window > Show View > Other > Terminal > Terminal.

                • Terminal View Quick Reference
                • diff --git a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html index f1b20507d96..62847cefc08 100644 --- a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html +++ b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html @@ -29,7 +29,7 @@ Martin Oberhuber (Wind River) - initial API and implementation

                  -

                  Open another instance of the Terminal view.

                  +

                  Open another Terminal connection in the current view, or in a new Terminal view instance.

                  @@ -42,20 +42,31 @@ Martin Oberhuber (Wind River) - initial API and implementation

                  Open the Terminal Settings dialog. - Only available when disconnected.

                  + While connected, only the connection's title can be changed.

                  Toggle the Command Input field, for editing complex command lines on dumb terminals.

                  + +

                  +

                  Select a Terminal connection to show in this view instance. + Only available when multiple connections have been defined in this view.

                  + + +

                  +

                  Remove the currently selected Terminal Connection from this view. + Only available when multiple connections have been defined in this view.

                  +

                  - Each instance of the Terminal view can be connected to a different remote endpoint + Each instance of the Terminal view can hold multiple connections, each of which can in + turn be connected to a different remote endpoint (either serial or network). Of course, the number of serial connections is limited by the number of serial ports.
                  From f08d56ebdf757de7e458a8bb4e5b58fb60564272 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 16 Jul 2008 00:22:20 +0000 Subject: [PATCH 347/843] [240745] Fix Terminal Widget Context Descriptions (add new contexts.xml to build.properties) --- org.eclipse.tm.terminal.view/build.properties | 3 ++- org.eclipse.tm.terminal/build.properties | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties index 39325f488b7..a278ac5617f 100644 --- a/org.eclipse.tm.terminal.view/build.properties +++ b/org.eclipse.tm.terminal.view/build.properties @@ -28,5 +28,6 @@ bin.includes = META-INF/,\ eclipse32.png,\ HelpContexts.xml,\ doc/,\ - toc.xml + toc.xml,\ + TerminalContexts.xml src.includes = about.html diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index 19b1c113ae6..30e1f5fd9d6 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -26,7 +26,8 @@ bin.includes = .,\ about.mappings,\ about.properties,\ eclipse32.png,\ - icons/ + icons/,\ + HelpContexts.xml source.. = src/ output.. = bin/ From 17eb7cbc626c8cfb12336868596968a10ce4bd5b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 16 Jul 2008 01:04:00 +0000 Subject: [PATCH 348/843] [240745][terminal] Pressing Ctrl+F1 in the Terminal should bring up context help --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index c151aa6bf84..f99ab594b89 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -23,6 +23,7 @@ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Michael Scharf (Wind River) - [237398] Terminal get Invalid Thread Access when the title is set + * Martin Oberhuber (Wind River) - [240745] Pressing Ctrl+F1 in the Terminal should bring up context help *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -803,6 +804,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC break; case 0x100000a: // F1 key. + if ( (event.stateMask & SWT.CTRL)!=0 ) { + //Allow Ctrl+F1 to act locally as well as on the remote, because it is + //typically non-intrusive + event.doit=true; + } sendString("\u001b[M"); //$NON-NLS-1$ break; From a25287d685a8b6ffc85501651c3850518e4c1d01 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 28 Jul 2008 12:34:22 +0000 Subject: [PATCH 349/843] [206919][terminal] Fix typo in NLS to improve SSH Terminal Error Reporting --- .../eclipse/tm/internal/terminal/ssh/SshMessages.properties | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties index 9198ae1c8b6..c28524f4659 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties @@ -37,8 +37,8 @@ UserValidationDialog_7=Saved passwords are stored on your computer in a file tha KeyboardInteractiveDialog_message=Keyboard Interactive authentication for {0} KeyboardInteractiveDialog_labelConnection=Enter values for the following connection: {0} -#These are from org.eclipse.team.cvs.core/messages.properties (c) IBM 2000, 2007 -ERROR_CONNECTING=Error connecting {0} : {2} +# from org.eclipse.team.cvs.core/messages.properties (c) IBM 2000, 2007 +ERROR_CONNECTING=Error connecting {0} : {1} TerminalCommunicationException_io=Communication error: {0} SSH_AUTH_CANCEL=SSH Authentication cancelled. SSH_AUTH_FAIL=SSH Authentication failed. @@ -50,3 +50,4 @@ java_net_UnknownHostException=Cannot locate host: {0} java_net_ConnectException=Cannot connect to host: {0} java_net_SocketException=Socket Exception: {0} java_net_NoRouteToHostException={0} +# from org.eclipse.team.cvs.core From 5210c435cb81c422133cfe1e286c014d8bd3fd5d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 28 Jul 2008 13:27:06 +0000 Subject: [PATCH 350/843] [236458] Revert to Michael's version of using StringTokenizer for History Combo --- .../control/CommandInputFieldWithHistory.java | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 90c232e986e..f6bb5c67db2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -11,7 +11,6 @@ * Michael Scharf (Wing River) - [196447] The optional terminal input line should be resizeable * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Michael Scharf (Wing River) - [236458] Fix 168197 lost the last entry - * Martin Oberhuber (Wing River) - [236458] Fix addition of the last history entry *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; @@ -19,6 +18,7 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.StringTokenizer; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; @@ -148,19 +148,9 @@ public class CommandInputFieldWithHistory implements ICommandInputField { // add history entries separated by '\n' // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ // - int i = 0; - int j = history.indexOf('\n'); - while (j > i) { - fHistory.add(history.substring(i, j)); - do { - j++; - } while (j < history.length() && history.charAt(j) == '\n'); - i = j; - j = history.indexOf('\n', i); - } - if (i < history.length()) { - fHistory.add(history.substring(i)); - } + StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ + while(tok.hasMoreElements()) + fHistory.add(tok.nextElement()); // } /** From d2e87c52b8221267e31f0239bcb891cdc186c298 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 11 Nov 2008 08:59:54 +0000 Subject: [PATCH 351/843] [250456] Ssh banner message causes IllegalArgumentException popup --- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- .../org/eclipse/tm/internal/terminal/ssh/SshConnection.java | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 1eba1334d62..8af68cb5110 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index 7dde2b89e7f..a7421cd1e3d 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 3fbd18e6374..935cf94af2f 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.1.qualifier +Bundle-Version: 2.0.2.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 3a31f6d76cf..38d9608cbad 100644 --- a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [205674][ssh] Terminal remains "connecting" when authentication is cancelled * Michael Scharf (Wind River) - 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button * Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting + * Andrei Sobolev (Xored) - [250456] Ssh banner message causes IllegalArgumentException popup *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -305,7 +306,7 @@ class SshConnection extends Thread { // [168197] Replace JFace MessagDialog by SWT MessageBox // MessageDialog.openInformation(null, SshMessages.INFO, message); if (isSessionConnected()) { - MessageBox mb = new MessageBox(null, SWT.ICON_INFORMATION | SWT.OK); + MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_INFORMATION | SWT.OK); mb.setText(SshMessages.INFO); mb.setMessage(message); mb.open(); From 86a2ff6c0df1b1902d88bc9008edf271f27933f7 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Dec 2008 17:33:10 +0000 Subject: [PATCH 352/843] bug 241096: [terminal] Secondary terminals in same view do not observe the "invert colors" Preference https://bugs.eclipse.org/bugs/show_bug.cgi?id=241096 --- .../eclipse/tm/internal/terminal/view/TerminalView.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 8cb6db0f0ac..fafd0b12dea 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -22,6 +22,7 @@ * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank + * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -435,6 +436,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi legacyLoadState(); legacySetTitle(); + // make sure we take the values defined in the preferences + updatePreferences(); refresh(); onTerminalFontChanged(); @@ -470,6 +473,8 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi fMultiConnectionManager.addConnection(conn); fMultiConnectionManager.setActiveConnection(conn); setupContextMenus(fCtlTerminal.getControl()); + // make sure we take the values defined in the preferences + updatePreferences(); } private ITerminalViewConnection makeViewConnection() { @@ -484,7 +489,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi ITerminalConnector connector = loadSettings(fStore,connectors); // set the connector.... ctrl.setConnector(connector); - updatePreferences(); + TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); return conn; From 6a5e1a00b25a0256ead90e8dd1bd06b3b7864940 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Dec 2008 18:24:57 +0000 Subject: [PATCH 353/843] bug 240098: [terminal] The cursor should not blink when the terminal is disconnected https://bugs.eclipse.org/bugs/show_bug.cgi?id=240098 --- .../emulator/VT100TerminalControl.java | 17 ++++++++++++++ .../terminal/textcanvas/TextCanvas.java | 23 ++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index f99ab594b89..e20f0fe1d01 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -24,6 +24,7 @@ * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Michael Scharf (Wind River) - [237398] Terminal get Invalid Thread Access when the title is set * Martin Oberhuber (Wind River) - [240745] Pressing Ctrl+F1 in the Terminal should bring up context help + * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -951,6 +952,22 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void setState(TerminalState state) { fState=state; fTerminalListener.setState(state); + // enable the (blinking) cursor if the terminal is connected + runInDisplayThread(new Runnable() { + public void run() { + if(fCtlText!=null && !fCtlText.isDisposed()) + fCtlText.setCursorEnabled(isConnected()); + }}); + } + /** + * @param runnable run in display thread + */ + private void runInDisplayThread(Runnable runnable) { + if(Display.findDisplay(Thread.currentThread())!=null) + runnable.run(); + else if(PlatformUI.isWorkbenchRunning()) + PlatformUI.getWorkbench().getDisplay().syncExec(runnable); + // else should not happen and we ignore it... } public String getSettingsSummary() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index f11f8925341..349a189d0af 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -41,6 +42,7 @@ public class TextCanvas extends GridCanvas { private ResizeListener fResizeListener; private int fMinColumns=20; private int fMinLines=4; + private boolean fCursorEnabled; /** * Create a new CellCanvas with the given SWT style bits. * (SWT.H_SCROLL and SWT.V_SCROLL are automatically added). @@ -65,9 +67,10 @@ public class TextCanvas extends GridCanvas { scrollToEnd(); } }); + // let the cursor blink if the text canvas gets the focus... addFocusListener(new FocusListener(){ public void focusGained(FocusEvent e) { - fCellCanvasModel.setCursorEnabled(true); + fCellCanvasModel.setCursorEnabled(fCursorEnabled); } public void focusLost(FocusEvent e) { fCellCanvasModel.setCursorEnabled(false); @@ -305,5 +308,23 @@ public class TextCanvas extends GridCanvas { redraw(); } + /** + * @return true if the cursor is enabled (blinking). By default the cursor is not enabled. + */ + public boolean isCursorEnabled() { + return fCursorEnabled; + } + + /** + * @param enabled enabling means that the cursor blinks + */ + public void setCursorEnabled(boolean enabled) { + if(enabled!=fCursorEnabled) { + fCursorEnabled=enabled; + fCellCanvasModel.setCursorEnabled(fCursorEnabled); + } + + } + } From 802e05407611410d0aeabdb5ef7cd3dc6dbd5c6e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 4 Dec 2008 19:13:22 +0000 Subject: [PATCH 354/843] [releng] Update Terminal version for [240098] [terminal] The cursor should not blink when the terminal is disconnected; [241096] [terminal] Secondary terminals in same view do not observe the "invert colors" Preference --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index dae7aeddb92..3271034b3c2 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 8af68cb5110..26539740aa6 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 141f5638a86..826da3e0681 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index b883c2aefb1..dba8aec1b9f 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.0.1.qualifier +Bundle-Version: 2.0.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 536fe146d05..e83da54cce5 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 2.0.1.qualifier +Bundle-Version: 2.0.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin From 357525b649010f8545d60c2f5a0a21bf620b5c39 Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 4 Dec 2008 19:37:11 +0000 Subject: [PATCH 355/843] RESOLVED - bug 240098: [terminal] The cursor should not blink when the terminal is disconnected https://bugs.eclipse.org/bugs/show_bug.cgi?id=240098 use async exec --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index e20f0fe1d01..0b397de58ef 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -953,7 +953,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fState=state; fTerminalListener.setState(state); // enable the (blinking) cursor if the terminal is connected - runInDisplayThread(new Runnable() { + runAsyncInDisplayThread(new Runnable() { public void run() { if(fCtlText!=null && !fCtlText.isDisposed()) fCtlText.setCursorEnabled(isConnected()); @@ -962,11 +962,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /** * @param runnable run in display thread */ - private void runInDisplayThread(Runnable runnable) { + private void runAsyncInDisplayThread(Runnable runnable) { if(Display.findDisplay(Thread.currentThread())!=null) runnable.run(); else if(PlatformUI.isWorkbenchRunning()) - PlatformUI.getWorkbench().getDisplay().syncExec(runnable); + PlatformUI.getWorkbench().getDisplay().asyncExec(runnable); // else should not happen and we ignore it... } From a9a9a085ea9f5c375fc2acf1e39236710d462e85 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 18 Dec 2008 17:03:57 +0000 Subject: [PATCH 356/843] Add FIXME comments for future Terminal API. --- .../provisional/api/ITerminalConnector.java | 16 ++++++++++------ .../terminal/provisional/api/TerminalState.java | 14 +++++++------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 3a389b75094..c8dcc844d26 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -29,14 +29,14 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * communications. This pattern allows for lazy initialization, bundle * activation and class loading of the actual {@link TerminalConnectorImpl} * instance. - * + * * Clients can get terminal connector instances from the * {@link TerminalConnectorExtension} class, or from * {@link ITerminalViewControl#getTerminalConnector()} when running inside an * active terminal widget. - * + * * @noimplement This interface is not intended to be implemented by clients. - * + * * @author Michael Scharf *

                  * EXPERIMENTAL. This class or interface has been @@ -125,10 +125,14 @@ public interface ITerminalConnector extends IAdaptable { void save(ISettingsStore store); /** + * FIXME should not have UI related stuff in ITerminalConnector, since + * connectors may be totally programmatic and UI-less. Better make the + * connector adapt to an interface that controls the UI aspect. + * * @return a new page that can be used in a dialog to setup this connection. - * The dialog should persist its settings with the {@link #load(ISettingsStore)} - * and {@link #save(ISettingsStore)} methods. - * + * The dialog should persist its settings with the + * {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)} + * methods. */ ISettingsPage makeSettingsPage(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java index 308bd9fdcfe..5c7112c1c21 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -30,7 +30,7 @@ public class TerminalState { public final static TerminalState CLOSED=new TerminalState("CLOSED"); //$NON-NLS-1$ /** - * TODO: Michael Scharf: it's not clear to me what the meaning of the open state is + * FIXME Get rid of this state it is equivalent to CONNECTING. */ public final static TerminalState OPENED=new TerminalState("OPENED"); //$NON-NLS-1$ From 489e43c53865f43ad98ecf1e7e82e8bfac64ce1a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 19 Jan 2009 14:05:25 +0000 Subject: [PATCH 357/843] [261486][api][cleanup] Mark @noimplement interfaces as @noextend --- .../provisional/api/ITerminalConnector.java | 23 ++++---- .../provisional/api/ITerminalControl.java | 15 ++--- .../tm/terminal/model/ITerminalTextData.java | 18 +++--- .../model/ITerminalTextDataReadOnly.java | 24 ++++---- .../model/ITerminalTextDataSnapshot.java | 55 ++++++++++--------- 5 files changed, 73 insertions(+), 62 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index c8dcc844d26..978c4b89fee 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -17,15 +18,14 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - /** * A contributed connection type to manage a single connection. * * Implementations of this class are contributed through the - * org.eclipse.tm.terminal.terminalConnectors extension point. - * This class gives access to the static markup of a terminal connector - * extension as well as providing the lifecycle management for the dynamically - * loaded {@link TerminalConnectorImpl} instance, which performs the actual + * org.eclipse.tm.terminal.terminalConnectors extension point. This + * class gives access to the static markup of a terminal connector extension as + * well as providing the lifecycle management for the dynamically loaded + * {@link TerminalConnectorImpl} instance, which performs the actual * communications. This pattern allows for lazy initialization, bundle * activation and class loading of the actual {@link TerminalConnectorImpl} * instance. @@ -36,13 +36,14 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * active terminal widget. * * @noimplement This interface is not intended to be implemented by clients. + * @noextend This interface is not intended to be extended by clients. * * @author Michael Scharf *

                  - * EXPERIMENTAL. This class or interface has been - * added as part of a work in progress. There is no guarantee that this - * API will work or that it will remain the same. Please do not use this - * API without consulting with the EXPERIMENTAL. This class or interface has been added + * as part of a work in progress. There is no guarantee that this API + * will work or that it will remain the same. Please do not use this API + * without consulting with the Target Management team. *

                  */ @@ -128,7 +129,7 @@ public interface ITerminalConnector extends IAdaptable { * FIXME should not have UI related stuff in ITerminalConnector, since * connectors may be totally programmatic and UI-less. Better make the * connector adapt to an interface that controls the UI aspect. - * + * * @return a new page that can be used in a dialog to setup this connection. * The dialog should persist its settings with the * {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index fc78b8f6092..ea9046b7a92 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -20,15 +21,15 @@ import org.eclipse.swt.widgets.Shell; /** * Represents the terminal view as seen by a terminal connection. *

                  - * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will work or - * that it will remain the same. Please do not use this API without consulting - * with the Target Management - * team. + * EXPERIMENTAL. This class or interface has been added as part + * of a work in progress. There is no guarantee that this API will work or that + * it will remain the same. Please do not use this API without consulting with + * the Target Management team. *

                  * * @author Michael Scharf * @noimplement This interface is not intended to be implemented by clients. + * @noextend This interface is not intended to be extended by clients. */ public interface ITerminalControl { @@ -79,7 +80,7 @@ public interface ITerminalControl { * setEncoding() call failed and the fallback default encoding should be * queried, such that e.g. a combobox with encodings to choose can be * properly initialized. - * + * * @return the current Encoding of the Terminal. * @since org.eclipse.tm.terminal 2.0 */ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java index 3b2c9ad5932..3ca18158aa3 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -1,24 +1,26 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend *******************************************************************************/ package org.eclipse.tm.terminal.model; - /** - * A writable matrix of characters and {@link Style}. This is intended to be - * the low level representation of the text of a Terminal. Higher layers are + * A writable matrix of characters and {@link Style}. This is intended to be the + * low level representation of the text of a Terminal. Higher layers are * responsible to fill the text and styles into this representation. *

                  * Note: Implementations of this interface has to be thread safe. *

                  + * * @noimplement This interface is not intended to be implemented by clients. + * @noextend This interface is not intended to be extended by clients. */ public interface ITerminalTextData extends ITerminalTextDataReadOnly { @@ -95,7 +97,7 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { * 3 dddd * 4 eeee *
  • - * + * * Shift a region of 3 lines up by one line shift(1,3,-1) *
     	 * 0 aaaa
    @@ -104,8 +106,8 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly {
     	 * 3
     	 * 4 eeee
     	 * 
    - * - * + * + * * Shift a region of 3 lines down by one line shift(1,3,1) *
     	 * 0 aaaa
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java
    index 183446c191d..0503b4c1ddc 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java
    @@ -1,16 +1,20 @@
     /*******************************************************************************
    - * Copyright (c) 2007 Wind River Systems, Inc. and others.
    - * All rights reserved. This program and the accompanying materials 
    - * are made available under the terms of the Eclipse Public License v1.0 
    - * which accompanies this distribution, and is available at 
    - * http://www.eclipse.org/legal/epl-v10.html 
    - * 
    - * Contributors: 
    + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
    + * All rights reserved. This program and the accompanying materials
    + * are made available under the terms of the Eclipse Public License v1.0
    + * which accompanies this distribution, and is available at
    + * http://www.eclipse.org/legal/epl-v10.html
    + *
    + * Contributors:
      * Michael Scharf (Wind River) - initial API and implementation
    + * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend
      *******************************************************************************/
     package org.eclipse.tm.terminal.model;
     
    -
    +/**
    + * @noimplement This interface is not intended to be implemented by clients.
    + * @noextend This interface is not intended to be extended by clients.
    + */
     public interface ITerminalTextDataReadOnly {
     
     	/**
    @@ -50,14 +54,14 @@ public interface ITerminalTextDataReadOnly {
     	 * can be used to track changes. Make sure to call {@link ITerminalTextDataSnapshot#detach()}
     	 * if you don't need the snapshots anymore.
     	 * 

    Note: A new snapshot is empty and needs a call to {@link ITerminalTextDataSnapshot#updateSnapshot(boolean)} to - * get its initial values. You might want to setup the snapshot to your needs by calling + * get its initial values. You might want to setup the snapshot to your needs by calling * {@link ITerminalTextDataSnapshot#setInterestWindow(int, int)}. *

    * @return a new instance of {@link ITerminalTextDataSnapshot} that "listens" to changes of * this. */ public ITerminalTextDataSnapshot makeSnapshot(); - + char[] getChars(int line); Style[] getStyles(int line); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java index d7da1963f07..198f5edbacb 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java @@ -1,12 +1,13 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html - * + * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend *******************************************************************************/ package org.eclipse.tm.terminal.model; @@ -18,32 +19,32 @@ package org.eclipse.tm.terminal.model; * {@link ITerminalTextData} might get modified by another thread. Suppose you * would want to draw the content of the {@link ITerminalTextData} using the * following loop: - * + * *
      * for (int line = 0; line < term.getHeight(); line++)
      * 	for (int column = 0; column < term.getWidth(); column++)
      * 		drawCharacter(column, line, term.getChar(column, line), term.getStyle(column, line));
      * 
    - * + * * This might fail because the background thread could change the dimensions of * the {@link ITerminalTextData} while you iterate the loop. One solution would - * be to put a synchronized(term){} statement around the code. - * This has two problems: 1. you would have to know about the internals of the + * be to put a synchronized(term){} statement around the code. This + * has two problems: 1. you would have to know about the internals of the * synchronisation of {@link ITerminalTextData}. 2. The other thread that * changes {@link ITerminalTextData} is blocked while the potentially slow * drawing is done. *

    - * Solution: Take a snapshot of the terminal and use the snapshot to - * draw the content. There is no danger that the data structure get changed - * while you draw. There are also methods to find out what has changed to - * minimize the number of lines that get redrawn. + * Solution: Take a snapshot of the terminal and use the snapshot to draw + * the content. There is no danger that the data structure get changed while you + * draw. There are also methods to find out what has changed to minimize the + * number of lines that get redrawn. *

    - * + * *

    * Drawing optimization: To optimize redrawing of changed lines, this * class keeps track of lines that have changed since the previous snapshot. *

    - * + * *
      * // iterate over the potentially changed lines
      * for (int line = snap.getFirstChangedLine(); line <= snap.getLastChangedLine(); line++)
    @@ -52,16 +53,16 @@ package org.eclipse.tm.terminal.model;
      * 		for (int column = 0; column < snap.getWidth(); column++)
      * 			drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
      * 
    - * + * *

    - * Scroll optimization: Often new lines are appended at the bottom of - * the terminal and the rest of the lines are scrolled up. In this case all - * lines would be marked as changed. To optimize for this case, - * {@link #updateSnapshot(boolean)} can be called with true for - * the detectScrolling parameter. The object will keep track of + * Scroll optimization: Often new lines are appended at the bottom of the + * terminal and the rest of the lines are scrolled up. In this case all lines + * would be marked as changed. To optimize for this case, + * {@link #updateSnapshot(boolean)} can be called with true for the + * detectScrolling parameter. The object will keep track of * scrolling. The UI must first handle the scrolling and then use the * {@link #hasLineChanged(int)} method to determine scrolling: - * + * *

      * // scroll the visible region of the UI <b>before</b> drawing the changed lines.
      * doUIScrolling(snap.getScrollChangeY(), snap.getScrollChangeN(), snap.getScrollChangeShift());
    @@ -72,14 +73,16 @@ package org.eclipse.tm.terminal.model;
      * 		for (int column = 0; column < snap.getWidth(); column++)
      * 			drawCharacter(column, line, snap.getChar(column, line), snap.getStyle(column, line));
      * 
    + * *

    *

    * Threading Note: This class is not thread safe! All methods have to be * called by the a same thread, that created the instance by calling * {@link ITerminalTextDataReadOnly#makeSnapshot()}. *

    - * + * * @noimplement This interface is not intended to be implemented by clients. + * @noextend This interface is not intended to be extended by clients. */ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { /** @@ -92,7 +95,7 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { * A typical terminal view would not update the snapshot immediately * after the {@link #snapshotOutOfDate(ITerminalTextDataSnapshot)} has been called. It would introduce a * delay to update the UI (and the snapshot} 10 or 20 times per second. - * + * *

    Make sure you don't spend too much time in this method. */ interface SnapshotOutOfDateListener { @@ -146,10 +149,10 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { /** * @return The first line changed in this snapshot compared * to the previous snapshot. - * + * *

    Note: If no line has changed, this * returns {@link Integer#MAX_VALUE} - * + * *

    Note: if {@link #updateSnapshot(boolean)} has been called with true, * then this does not include lines that only have been scrolled. This is the * first line that has changed after the scroll has been applied. @@ -161,13 +164,13 @@ public interface ITerminalTextDataSnapshot extends ITerminalTextDataReadOnly { * to the previous snapshot. If the height has changed since the * last update of the snapshot, then the returned value is within * the new dimensions. - * + * *

    Note: If no line has changed, this returns -1 - * + * *

    Note: if {@link #updateSnapshot(boolean)} has been called with true, * then this does not include lines that only have been scrolled. This is the * last line that has changed after the scroll has been applied. - * + * *

    A typical for loop using this method would look like this (note the <= in the for loop): *

     	 * for(int line=snap.{@link #getFirstChangedLine()}; line <= snap.getLastChangedLine(); line++)
    
    From d5872b755ec3df00f989488127c9ad878c6be962 Mon Sep 17 00:00:00 2001
    From: Uwe Stieber 
    Date: Mon, 26 Jan 2009 14:16:15 +0000
    Subject: [PATCH 358/843] [fix] Bug 260372 - [terminal] Certain terminal
     actions are enabled if no target terminal control is available
    
    ---
     .../terminal/control/actions/TerminalActionClearAll.java | 8 +++-----
     .../terminal/control/actions/TerminalActionCopy.java     | 7 ++++---
     .../terminal/control/actions/TerminalActionCut.java      | 9 ++++-----
     .../terminal/control/actions/TerminalActionPaste.java    | 7 ++++---
     .../control/actions/TerminalActionSelectAll.java         | 8 +++-----
     5 files changed, 18 insertions(+), 21 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java
    index 400c08bb8e8..65a4a3b38d2 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -14,6 +14,7 @@
      * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
    + * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available
      ********************************************************************************/
     package org.eclipse.tm.internal.terminal.control.actions;
     
    @@ -47,9 +48,6 @@ public class TerminalActionClearAll extends AbstractTerminalAction {
     
     	public void updateAction(boolean aboutToShow) {
     		ITerminalViewControl target = getTarget();
    -		if (target != null)
    -			setEnabled(!target.isEmpty());
    -		else
    -			setEnabled(false);
    +		setEnabled(target != null && !target.isEmpty());
     	}
     }
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java
    index 3bc2bdcaf11..dabf91dfcb9 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -14,6 +14,7 @@
      * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
    + * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.control.actions;
     
    @@ -54,9 +55,9 @@ public class TerminalActionCopy extends AbstractTerminalAction {
     	}
     
     	public void updateAction(boolean aboutToShow) {
    -		boolean bEnabled = true;
     		ITerminalViewControl target = getTarget();
    -		if (aboutToShow && target != null) {
    +		boolean bEnabled = target != null;
    +		if (aboutToShow && bEnabled) {
     			bEnabled = target.getSelection().length() > 0;
     		}
     		setEnabled(bEnabled);
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java
    index 50232f168c6..b33d6553f52 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -13,6 +13,7 @@
      * Contributors:
      * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
    + * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.control.actions;
     
    @@ -47,9 +48,7 @@ public class TerminalActionCut extends AbstractTerminalAction {
     	}
     
     	public void updateAction(boolean aboutToShow) {
    -		boolean bEnabled;
    -
    -		bEnabled = !aboutToShow;
    -		setEnabled(bEnabled);
    +		// Cut is always disabled
    +		setEnabled(false);
     	}
     }
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java
    index 36d30b0db1c..9f13b82ddf4 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -14,6 +14,7 @@
      * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
    + * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.control.actions;
     
    @@ -50,9 +51,9 @@ public class TerminalActionPaste extends AbstractTerminalAction {
     	}
     
     	public void updateAction(boolean aboutToShow) {
    -		boolean bEnabled = false;
     		ITerminalViewControl target = getTarget();
    -		if (target != null) {
    +		boolean bEnabled = target != null;
    +		if (bEnabled) {
     			String strText = (String) target.getClipboard().getContents(
     					TextTransfer.getInstance());
     			bEnabled = ((strText != null) && (!strText.equals("")) && (target.getState() == TerminalState.CONNECTED));//$NON-NLS-1$
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java
    index 08c4aa29e00..08526a80bc0 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2004, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -14,6 +14,7 @@
      * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
    + * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.control.actions;
     
    @@ -44,9 +45,6 @@ public class TerminalActionSelectAll extends AbstractTerminalAction {
     
     	public void updateAction(boolean aboutToShow) {
     		ITerminalViewControl target = getTarget();
    -		if (target != null)
    -			setEnabled(!target.isEmpty());
    -		else
    -			setEnabled(false);
    +		setEnabled(target != null && !target.isEmpty());
     	}
     }
    
    From 115745f55864d9530bac56c68540c0f384308b99 Mon Sep 17 00:00:00 2001
    From: Michael Scharf 
    Date: Fri, 30 Jan 2009 04:13:18 +0000
    Subject: [PATCH 359/843] RESOLVED - bug 226738: [terminal] Terminal Unit Tests
     Fail https://bugs.eclipse.org/bugs/show_bug.cgi?id=226738
    
    ---
     .../terminal/connector/TerminalConnectorFactoryTest.java       | 3 +++
     .../src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java | 1 +
     2 files changed, 4 insertions(+)
    
    diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    index fac78d377ed..a21a7e6cfde 100644
    --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    @@ -16,6 +16,7 @@ import java.io.OutputStream;
     
     import junit.framework.TestCase;
     
    +import org.eclipse.core.runtime.Platform;
     import org.eclipse.swt.widgets.Composite;
     import org.eclipse.swt.widgets.Shell;
     import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage;
    @@ -175,6 +176,7 @@ public class TerminalConnectorFactoryTest extends TestCase {
     		assertFalse(c.isInitialized());
     		c.save(null);
     		assertFalse(c.isInitialized());
    +		if (!Platform.isRunning()) return;
     		c.getAdapter(ConnectorMock.class);
     		assertFalse(c.isInitialized());
     	}
    @@ -254,6 +256,7 @@ public class TerminalConnectorFactoryTest extends TestCase {
     	}
     
     	public void testGetAdapter() {
    +		if (!Platform.isRunning()) return;
     		ConnectorMock mock=new ConnectorMock();
     		TerminalConnector c = makeTerminalConnector(mock);
     		assertNull(c.getAdapter(ConnectorMock.class));
    diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    index 9ca272e28ec..d57053b0915 100644
    --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    @@ -25,6 +25,7 @@ public class AutomatedPluginTests extends TestCase {
     	public static Test suite() {
     		TestSuite suite = new TestSuite(AutomatedPluginTests.class.getName());
     		suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorPluginTest.class);
    +		suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorFactoryTest.class);
     		return suite;
     	}
     
    
    From 2f20846ffe81db07f85a7f3e3c6373c7ebdca2ef Mon Sep 17 00:00:00 2001
    From: Michael Scharf 
    Date: Fri, 30 Jan 2009 04:43:55 +0000
    Subject: [PATCH 360/843] NEW - bug 262996: [terminal] get rid of the
     State.OPEN https://bugs.eclipse.org/bugs/show_bug.cgi?id=262996
    
    ---
     .../tm/internal/terminal/serial/SerialConnectWorker.java   | 1 -
     .../eclipse/tm/internal/terminal/view/TerminalView.java    | 3 +--
     .../tm/internal/terminal/view/TerminalViewConnection.java  | 2 --
     .../tm/internal/terminal/emulator/VT100Emulator.java       | 7 -------
     .../internal/terminal/provisional/api/TerminalState.java   | 5 -----
     5 files changed, 1 insertion(+), 17 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    index 4d9584d5a72..2fd0d9c03d2 100644
    --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    @@ -122,7 +122,6 @@ public class SerialConnectWorker extends Thread {
     		final String strID = getOwnershipId();
     		SerialPort serialPort = null;
     		try {
    -			fControl.setState(TerminalState.OPENED);
     			ISerialSettings s=fConn.getSerialSettings();
     			portName=s.getSerialPort();
     			try {
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    index fafd0b12dea..ed116cbd20e 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    @@ -307,8 +307,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi
     	}
     
     	private boolean isConnecting() {
    -		return fCtlTerminal.getState()==TerminalState.CONNECTING
    -		    || fCtlTerminal.getState()==TerminalState.OPENED;
    +		return fCtlTerminal.getState()==TerminalState.CONNECTING;
     	}
     
     	public void onTerminalDisconnect() {
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    index eb719309ef5..973136a5d2c 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    @@ -146,8 +146,6 @@ class TerminalViewConnection implements ITerminalViewConnection {
     			return ViewMessages.STATE_CONNECTED;
     		} else if(state==TerminalState.CONNECTING) {
     			return ViewMessages.STATE_CONNECTING;
    -		} else if(state==TerminalState.OPENED) {
    -			return ViewMessages.STATE_OPENED;
     		} else if(state==TerminalState.CLOSED) {
     			return ViewMessages.STATE_CLOSED;
     		} else {
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    index d1dd6cee61b..4604ca4c435 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    @@ -232,13 +232,6 @@ public class VT100Emulator implements ControlListener {
     //	 */
     	public void processText() {
     		try {
    -			// If the status bar is showing "OPENED", change it to "CONNECTED".
    -
    -			if (terminal.getState()==TerminalState.OPENED) {
    -				// TODO Why????
    -				terminal.setState(TerminalState.CONNECTED);
    -			}
    -
     			// Find the width and height of the terminal, and resize it to display an
     			// integral number of lines and columns.
     
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    index 5c7112c1c21..fe1b48c642f 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    @@ -29,11 +29,6 @@ public class TerminalState {
     	 */
     	public final static TerminalState CLOSED=new TerminalState("CLOSED"); //$NON-NLS-1$
     
    -	/**
    -	 * FIXME Get rid of this state it is equivalent to CONNECTING.
    -	 */
    -	public final static TerminalState OPENED=new TerminalState("OPENED"); //$NON-NLS-1$
    -
     	/**
     	 * The terminal is about to connect.
     	 */
    
    From 860bdd13fcbf7e976793485b3640016351748801 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Sun, 1 Feb 2009 12:37:10 +0000
    Subject: [PATCH 361/843] [cleanup] Fix copyright dates
    
    ---
     .../terminal/connector/TerminalConnectorFactoryTest.java        | 2 +-
     .../src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java  | 2 +-
     org.eclipse.tm.terminal.view/plugin.properties                  | 2 +-
     org.eclipse.tm.terminal/plugin.properties                       | 2 +-
     .../eclipse/tm/internal/terminal/provisional/api/Logger.java    | 2 +-
     .../org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java | 2 +-
     6 files changed, 6 insertions(+), 6 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    index a21a7e6cfde..4f6d3bffed6 100644
    --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    index d57053b0915..4921b764fd4 100644
    --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties
    index 9825ab03e35..9384312bf13 100644
    --- a/org.eclipse.tm.terminal.view/plugin.properties
    +++ b/org.eclipse.tm.terminal.view/plugin.properties
    @@ -1,5 +1,5 @@
     ##########################################################################
    -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties
    index eb9ea59cb4b..9e07bda1c67 100644
    --- a/org.eclipse.tm.terminal/plugin.properties
    +++ b/org.eclipse.tm.terminal/plugin.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2003, 2007 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java
    index debec453f73..8d6d4ddca41 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others.
    + * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java
    index 349a189d0af..11dc69c0bac 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2007 Wind River Systems, Inc. and others.
    + * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    
    From 64b258bae2e8ecf53a57c11200bf35f34676d251 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Sun, 1 Feb 2009 12:40:23 +0000
    Subject: [PATCH 362/843] [262996] get rid of TerminalState.OPENED
    
    ---
     .../tm/internal/terminal/serial/SerialConnectWorker.java      | 3 ++-
     .../internal/terminal/actions/TerminalActionNewTerminal.java  | 2 +-
     .../org/eclipse/tm/internal/terminal/view/TerminalView.java   | 3 ++-
     .../tm/internal/terminal/view/TerminalViewConnection.java     | 3 ++-
     .../org/eclipse/tm/internal/terminal/view/ViewMessages.java   | 4 ++--
     .../eclipse/tm/internal/terminal/view/ViewMessages.properties | 4 ++--
     .../eclipse/tm/internal/terminal/emulator/VT100Emulator.java  | 3 ++-
     .../tm/internal/terminal/provisional/api/TerminalState.java   | 3 ++-
     8 files changed, 15 insertions(+), 10 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    index 2fd0d9c03d2..673f1111e13 100644
    --- a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    +++ b/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -17,6 +17,7 @@
      * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect
      * Martin Oberhuber (Wind River) - [206884] Update Terminal Ownership ID to "org.eclipse.tm.terminal.serial"
      * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling
    + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.serial;
     
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java
    index e1376916401..7c3770f5e3b 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2005, 2007 Wind River Systems, Inc. and others.
    + * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    index ed116cbd20e..0ab125ae1f4 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -23,6 +23,7 @@
      * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
      * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank
      * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference 
    + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.view;
     
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    index 973136a5d2c..f919cf1faeb 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -8,6 +8,7 @@
      * Contributors:
      * Michael Scharf (Wind River) - initial API and implementation
      * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button
    + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     /**
      *
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java
    index 989acc6091f..2e1beb1e515 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -15,6 +15,7 @@
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
      * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings
    + * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.view;
     
    @@ -43,7 +44,6 @@ public class ViewMessages extends NLS {
     
     	public static String STATE_CONNECTED;
     	public static String STATE_CONNECTING;
    -	public static String STATE_OPENED;
     	public static String STATE_CLOSED;
     
     	public static String CANNOT_INITIALIZE;
    diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties
    index 4b9c6e0cdd7..e7a350c1688 100644
    --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties
    +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -15,6 +15,7 @@
     # Martin Oberhuber (Wind River) - fixed copyright headers and beautified
     # Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button
     # Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings
    +# Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED
     ###############################################################################
     NO_CONNECTION_SELECTED    = No Connection Selected
     PROP_TITLE                = Terminal
    @@ -35,7 +36,6 @@ NETWORKTIMEOUT            = Network timeout (seconds):
     
     STATE_CONNECTED = CONNECTED
     STATE_CONNECTING = CONNECTING...
    -STATE_OPENED = OPENED
     STATE_CLOSED = CLOSED
     
     CANNOT_INITIALIZE = Cannot initialize {0}:\n{1}
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    index 4604ca4c435..0ed683b3c65 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -15,6 +15,7 @@
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly
      * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1
    + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.emulator;
     
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    index fe1b48c642f..56375bc58e2 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others.
    + * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -8,6 +8,7 @@
      * Contributors:
      * Michael Scharf (Wind River) - initial API and implementation
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
    + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.provisional.api;
     
    
    From 2570d9bd71de712330ea72f2bc2e3c36c719705d Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Sun, 1 Feb 2009 15:15:29 +0000
    Subject: [PATCH 363/843] [releng] Update tm.terminal version to 3.0
    
    ---
     org.eclipse.tm.terminal-feature/feature.properties    |  4 ++--
     org.eclipse.tm.terminal-feature/feature.xml           |  2 +-
     .../sourceTemplateFeature/feature.properties          |  4 ++--
     .../sourceTemplatePlugin/about.properties             |  4 ++--
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.sdk-feature/feature.xml       |  2 +-
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.serial-feature/feature.xml    |  4 ++--
     .../sourceTemplateFeature/feature.properties          |  4 ++--
     .../sourceTemplatePlugin/about.properties             |  4 ++--
     org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF   |  4 ++--
     org.eclipse.tm.terminal.serial/about.properties       |  4 ++--
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.ssh-feature/feature.xml       |  4 ++--
     .../sourceTemplateFeature/feature.properties          |  4 ++--
     .../sourceTemplatePlugin/about.properties             |  4 ++--
     org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF      |  4 ++--
     org.eclipse.tm.terminal.ssh/about.properties          |  4 ++--
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.telnet-feature/feature.xml    |  2 +-
     .../sourceTemplateFeature/feature.properties          |  4 ++--
     .../sourceTemplatePlugin/about.properties             |  4 ++--
     org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF   |  4 ++--
     org.eclipse.tm.terminal.telnet/about.properties       |  4 ++--
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.test-feature/feature.xml      | 11 ++---------
     org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF     |  4 ++--
     org.eclipse.tm.terminal.test/about.properties         |  4 ++--
     .../feature.properties                                |  4 ++--
     org.eclipse.tm.terminal.view-feature/feature.xml      |  2 +-
     .../sourceTemplateFeature/feature.properties          |  4 ++--
     .../sourceTemplatePlugin/about.properties             |  4 ++--
     org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF     |  2 +-
     org.eclipse.tm.terminal.view/about.properties         |  4 ++--
     org.eclipse.tm.terminal/META-INF/MANIFEST.MF          |  2 +-
     org.eclipse.tm.terminal/about.properties              |  4 ++--
     36 files changed, 66 insertions(+), 73 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties
    index 7caecabc2ee..f37d8cd2db1 100644
    --- a/org.eclipse.tm.terminal-feature/feature.properties
    +++ b/org.eclipse.tm.terminal-feature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -29,7 +29,7 @@ with RCP-only dependencies.
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml
    index 3271034b3c2..2c0c8ecdfbf 100644
    --- a/org.eclipse.tm.terminal-feature/feature.xml
    +++ b/org.eclipse.tm.terminal-feature/feature.xml
    @@ -2,7 +2,7 @@
     
     
        
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    index 75baca71d9e..769c121edb6 100644
    --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -28,7 +28,7 @@ description=An ANSI (vt102) compatible Terminal widget.
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties
    index d7720534e62..d309a515867 100644
    --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties
    +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties
    @@ -1,5 +1,5 @@
     ################################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials 
     # are made available under the terms of the Eclipse Public License v1.0 
     # which accompanies this distribution, and is available at 
    @@ -21,5 +21,5 @@ blurb=Target Management Terminal Widget Source\n\
     Version: {featureVersion}\n\
     Build id: {0}\n\
     \n\
    -(c) Copyright Wind River Systems, Inc. and others 2003, 2008.  All rights reserved.\n\
    +(c) Copyright Wind River Systems, Inc. and others 2003, 2009.  All rights reserved.\n\
     Visit http://www.eclipse.org/dsdp/tm
    diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties
    index 95829045dd5..21f609b6b4f 100644
    --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties
    +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -29,7 +29,7 @@ tmUpdateSiteName=Target Management Updates
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml
    index 26539740aa6..51be9b885b1 100644
    --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml
    @@ -2,7 +2,7 @@
     
     
    diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties
    index c99117835b9..c2cc5aaa263 100644
    --- a/org.eclipse.tm.terminal.serial-feature/feature.properties
    +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -28,7 +28,7 @@ description=A serial line connector for the Terminal using RXTX API
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml
    index 3056b22bce0..f43358616c5 100644
    --- a/org.eclipse.tm.terminal.serial-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml
    @@ -2,7 +2,7 @@
     
     
        
    @@ -25,7 +25,7 @@
        
           
           
    -      
    +      
        
     
        
     
        
    @@ -25,7 +25,7 @@
        
           
           
    -      
    +      
           
           
        
    diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties
    index d2270d08453..051d0330fbf 100644
    --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties
    +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal.
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2000, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2000, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties
    index 34100b169e7..5854f2d182e 100644
    --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties
    +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties
    @@ -1,5 +1,5 @@
     ################################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials 
     # are made available under the terms of the Eclipse Public License v1.0 
     # which accompanies this distribution, and is available at 
    @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector Source\n\
     Version: {featureVersion}\n\
     Build id: {0}\n\
     \n\
    -(c) Copyright Wind River Systems, Inc. and others 2000, 2008.  All rights reserved.\n\
    +(c) Copyright Wind River Systems, Inc. and others 2000, 2009.  All rights reserved.\n\
     Visit http://www.eclipse.org/dsdp/tm
    diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF
    index 935cf94af2f..ac99ae31423 100644
    --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF
    +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF
    @@ -2,12 +2,12 @@ Manifest-Version: 1.0
     Bundle-ManifestVersion: 2
     Bundle-Name: %pluginName
     Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true
    -Bundle-Version: 2.0.2.qualifier
    +Bundle-Version: 2.0.100.qualifier
     Bundle-Vendor: %providerName
     Bundle-Localization: plugin
     Require-Bundle: org.eclipse.ui,
      org.eclipse.core.runtime,
    - org.eclipse.tm.terminal;bundle-version="[2.0.0,3.0.0)",
    + org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)",
      com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)",
      org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)"
     Bundle-RequiredExecutionEnvironment: J2SE-1.4
    diff --git a/org.eclipse.tm.terminal.ssh/about.properties b/org.eclipse.tm.terminal.ssh/about.properties
    index 3f9ed5ee499..b4eb8f46c78 100644
    --- a/org.eclipse.tm.terminal.ssh/about.properties
    +++ b/org.eclipse.tm.terminal.ssh/about.properties
    @@ -1,5 +1,5 @@
     ################################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials 
     # are made available under the terms of the Eclipse Public License v1.0 
     # which accompanies this distribution, and is available at 
    @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector\n\
     Version: {featureVersion}\n\
     Build id: {0}\n\
     \n\
    -(c) Copyright Wind River Systems, Inc. and others 2000, 2008.  All rights reserved.\n\
    +(c) Copyright Wind River Systems, Inc. and others 2000, 2009.  All rights reserved.\n\
     Visit http://www.eclipse.org/dsdp/tm
    diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties
    index ba20052c8d3..84ef0399d13 100644
    --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties
    +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -28,7 +28,7 @@ description=A Telnet connector implementation for the Terminal.
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml
    index 7dae7b8c509..42a76d7f7f0 100644
    --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml
    @@ -25,7 +25,7 @@
        
           
           
    -      
    +      
        
     
        
     
        
    @@ -25,14 +25,7 @@
        
           
           
    -      
    -      
    -      
    -      
    -      
    -      
    -       
    -      
    +      
           
           
        
    diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF
    index 79e6d013cc7..56a4f2dc252 100644
    --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF
    +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF
    @@ -2,11 +2,11 @@ Manifest-Version: 1.0
     Bundle-ManifestVersion: 2
     Bundle-Name: %pluginName
     Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true
    -Bundle-Version: 2.0.0.qualifier
    +Bundle-Version: 2.0.100.qualifier
     Bundle-Vendor: %providerName
     Bundle-Localization: plugin
     Require-Bundle: org.junit,
    - org.eclipse.tm.terminal,
    + org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)",
      org.eclipse.core.runtime,
      org.eclipse.ui
     Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1,
    diff --git a/org.eclipse.tm.terminal.test/about.properties b/org.eclipse.tm.terminal.test/about.properties
    index 99ddff5ef83..360731b9e4a 100644
    --- a/org.eclipse.tm.terminal.test/about.properties
    +++ b/org.eclipse.tm.terminal.test/about.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -21,5 +21,5 @@ blurb=TM Terminal Unit Tests\n\
     Version: {featureVersion}\n\
     Build id: {0}\n\
     \n\
    -(c) Copyright Wind River Systems, Inc. and others 2007, 2008.  All rights reserved.\n\
    +(c) Copyright Wind River Systems, Inc. and others 2007, 2009.  All rights reserved.\n\
     Visit http://www.eclipse.org/dsdp/tm
    diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties
    index 7129c503498..a1f9f460026 100644
    --- a/org.eclipse.tm.terminal.view-feature/feature.properties
    +++ b/org.eclipse.tm.terminal.view-feature/feature.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -28,7 +28,7 @@ description=An Eclipse Workbench standalone view for the Terminal widget.
     
     # "copyright" property - text of the "Feature Update Copyright"
     copyright=\
    -Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.\n\
    +Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\
     All rights reserved. This program and the accompanying materials\n\
     are made available under the terms of the Eclipse Public License v1.0\n\
     which accompanies this distribution, and is available at\n\
    diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml
    index 826da3e0681..385775cef2c 100644
    --- a/org.eclipse.tm.terminal.view-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.view-feature/feature.xml
    @@ -25,7 +25,7 @@
        
           
           
    -      
    +      
        
     
        
    Date: Sun, 1 Feb 2009 18:46:02 +0000
    Subject: [PATCH 364/843] [releng] rev up bundle version
    
    ---
     org.eclipse.tm.terminal.telnet-feature/feature.xml | 2 +-
     1 file changed, 1 insertion(+), 1 deletion(-)
    
    diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml
    index 42a76d7f7f0..868f3a0eaa3 100644
    --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml
    @@ -2,7 +2,7 @@
     
     
        
    
    From b789a0fe24259ac94f789cf35472d57944612fee Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Sun, 8 Feb 2009 23:15:28 +0000
    Subject: [PATCH 365/843] [releng] build individual source plugins
    
    ---
     org.eclipse.tm.terminal.sdk-feature/feature.xml  | 15 ++++++++++-----
     org.eclipse.tm.terminal.test-feature/feature.xml |  3 ++-
     2 files changed, 12 insertions(+), 6 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml
    index 51be9b885b1..0752c2b9473 100644
    --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml
    @@ -47,30 +47,35 @@
              id="org.eclipse.tm.terminal.source"
              download-size="103"
              install-size="107"
    -         version="0.0.0"/>
    +         version="0.0.0"
    +         unpack="false"/>
     
        
    +         version="0.0.0"
    +         unpack="false"/>
     
        
    +         version="0.0.0"
    +         unpack="false"/>
     
        
    +         version="0.0.0"
    +         unpack="false"/>
     
        
    +         version="0.0.0"
    +         unpack="false"/>
     
     
    diff --git a/org.eclipse.tm.terminal.test-feature/feature.xml b/org.eclipse.tm.terminal.test-feature/feature.xml
    index ffdedad490f..008d6ff13af 100644
    --- a/org.eclipse.tm.terminal.test-feature/feature.xml
    +++ b/org.eclipse.tm.terminal.test-feature/feature.xml
    @@ -41,6 +41,7 @@
              id="org.eclipse.tm.terminal.test.source"
              download-size="0"
              install-size="0"
    -         version="0.0.0"/>
    +         version="0.0.0"
    +         unpack="false"/>
     
     
    
    From d866b0228c35ecff8584887a3e18d8f02e37278c Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Tue, 10 Feb 2009 23:09:12 +0000
    Subject: [PATCH 366/843] [264439] fix source build for 1.4 plugins with assert
    
    ---
     org.eclipse.tm.terminal/build.properties | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties
    index 30e1f5fd9d6..6d15d69a600 100644
    --- a/org.eclipse.tm.terminal/build.properties
    +++ b/org.eclipse.tm.terminal/build.properties
    @@ -32,8 +32,9 @@ bin.includes = .,\
     source.. = src/
     output.. = bin/
     src.includes = schema/,\
    -               README.txt,\
    -               about.html
    +               about.html,\
    +               .settings/,\
    +               build.properties
     javacSource=1.4
     javacTarget=1.4
                    
    
    From ca588d3860b1bace81a4cfff6330ff3e057d7bc3 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Wed, 18 Feb 2009 18:11:56 +0000
    Subject: [PATCH 367/843] Apply from 3.0.3: [247700] Terminal uses ugly fonts
     in JEE package
    
    ---
     .../terminal/textcanvas/StyleMap.java         | 25 ++++++++++++++++---
     1 file changed, 22 insertions(+), 3 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java
    index 5d1f25333e4..376f206e7a9 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -10,6 +10,7 @@
      * Michael Scharf (Wind River) - [205260] Terminal does not take the font from the preferences
      * Michael Scharf (Wind River) - [209746] There are cases where some colors not displayed correctly
      * Michael Scharf (Wind River) - [206328] Terminal does not draw correctly with proportional fonts
    + * Martin Oberhuber (Wind River) - [247700] Terminal uses ugly fonts in JEE package
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.textcanvas;
     
    @@ -41,7 +42,8 @@ public class StyleMap {
     	
     	private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$
     	// TODO propagate the name of the font in the FontRegistry
    -	String fFontName="terminal.views.view.font.definition"; //$NON-NLS-1$
    +	private static final String fDefaultFontName="terminal.views.view.font.definition"; //$NON-NLS-1$
    +	String fFontName=fDefaultFontName;
     	Map fColorMapForeground=new HashMap();
     	Map fColorMapBackground=new HashMap();
     	Map fFontMap=new HashMap();
    @@ -169,6 +171,15 @@ public class StyleMap {
     	public void updateFont() {
     		Display display=Display.getCurrent();
     		GC gc = new GC (display);
    +		if (JFaceResources.getFontRegistry().hasValueFor(fDefaultFontName)) {
    +			fFontName = fDefaultFontName;
    +		} else if (JFaceResources.getFontRegistry().hasValueFor("REMOTE_COMMANDS_VIEW_FONT")) { //$NON-NLS-1$
    +			//try RSE Shell View Font
    +			fFontName = "REMOTE_COMMANDS_VIEW_FONT"; //$NON-NLS-1$
    +		} else {
    +			//fall back to "basic jface text font"
    +			fFontName = "org.eclipse.jface.textfont"; //$NON-NLS-1$
    +		}
     		gc.setFont(getFont());
     		fCharSize = gc.textExtent ("W"); //$NON-NLS-1$
     		fProportional=false;
    @@ -184,11 +195,19 @@ public class StyleMap {
     			measureChar(gc, c,false);
     		}
     		if(fProportional) {
    -			fCharSize.x-=3;
    +			fCharSize.x-=2; //works better on small fonts
     		}
     		for (int i = 0; i < fOffsets.length; i++) {
     			fOffsets[i]=(fCharSize.x-fOffsets[i])/2;
     		}
    +		if(!fProportional) {
    +			//measure font in boldface, too, and if wider then treat like proportional
    +			gc.setFont(getFont(fDefaultStyle.setBold(true)));
    +			Point charSizeBold = gc.textExtent("W"); //$NON-NLS-1$
    +			if (fCharSize.x != charSizeBold.x) {
    +				fProportional=true;
    +			}
    +		}
     		gc.dispose ();
     	}
     	/**
    
    From caa69428584f60f3bc621aeb4c930cdde310eb22 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Thu, 5 Mar 2009 11:36:50 +0000
    Subject: [PATCH 368/843] [267181] Fix telnet option negotiation loop
    
    ---
     .../eclipse/tm/internal/terminal/telnet/TelnetOption.java | 8 ++++----
     1 file changed, 4 insertions(+), 4 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java
    index 60f752208dd..76596a4308f 100644
    --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java
    +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -11,8 +11,9 @@
      * Helmut Haigermoser and Ted Williams.
      *
      * Contributors:
    - * Michael Scharf (Wind River) - split into core, view and connector plugins 
    + * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
    + * Martin Oberhuber (Wind River) - [267181] Fix telnet option negotiation loop
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.telnet;
     
    @@ -647,8 +648,7 @@ class TelnetOption implements TelnetCodes
     	 * @return Returns true if the new negotiation should be ignored, false if not.
     	 */
     	protected boolean ignoreNegotiation() {
    -		return (System.currentTimeMillis() - negotiationCompletionTime
    -				.getTime()) > NEGOTIATION_IGNORE_DURATION;
    +		return (System.currentTimeMillis() - negotiationCompletionTime.getTime()) < NEGOTIATION_IGNORE_DURATION;
     	}
     
     	/**
    
    From 0038e248341ba0485c51e49eabee52ce1fa90aae Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Mon, 20 Apr 2009 10:12:32 +0000
    Subject: [PATCH 369/843] [272717] Add NLS_MESSAGEFORMAT comments to Terminal
     properties files for Chkpii
    
    ---
     org.eclipse.tm.terminal/plugin.properties                    | 5 ++++-
     .../terminal/control/actions/ActionMessages.properties       | 5 ++++-
     .../terminal/control/impl/TerminalMessages.properties        | 5 ++++-
     3 files changed, 12 insertions(+), 3 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties
    index 9e07bda1c67..c3bec7f45f8 100644
    --- a/org.eclipse.tm.terminal/plugin.properties
    +++ b/org.eclipse.tm.terminal/plugin.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -14,6 +14,9 @@
     # Michael Scharf (Wind River) - split into core, view and connector plugins 
     # Martin Oberhuber (Wind River) - fixed copyright headers and beautified
     ###############################################################################
    +
    +# NLS_MESSAGEFORMAT_NONE
    +
     pluginName = Target Management Terminal Widget
     providerName = Eclipse.org
     
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties
    index a5e6b1fae65..931a87286a5 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -15,6 +15,9 @@
     # Martin Oberhuber (Wind River) - fixed copyright headers and beautified
     # Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin
     ###############################################################################
    +
    +# NLS_MESSAGEFORMAT_NONE
    +
     COPY                      = Copy
     CUT                       = Cut
     PASTE                     = Paste
    diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties
    index d433b8fe358..c77d4ee2d13 100644
    --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties
    +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties
    @@ -1,5 +1,5 @@
     ###############################################################################
    -# Copyright (c) 2003, 2008 Wind River Systems, Inc. and others.
    +# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.
     # All rights reserved. This program and the accompanying materials
     # are made available under the terms of the Eclipse Public License v1.0
     # which accompanies this distribution, and is available at
    @@ -14,6 +14,9 @@
     # Michael Scharf (Wind River) - split into core, view and connector plugins 
     # Martin Oberhuber (Wind River) - fixed copyright headers and beautified
     ###############################################################################
    +
    +# NLS_MESSAGEFORMAT_VAR
    +
     TerminalError = Terminal Error
     SocketError = Socket Error
     IOError = IO Error
    
    From 2dda2d712f6f64de90126c79a440ad92be6b9406 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Wed, 13 May 2009 22:23:26 +0000
    Subject: [PATCH 370/843] [254293] DSDP branding for Galileo
    
    ---
     .../feature.properties                           |   2 +-
     .../sourceTemplateFeature/feature.properties     |   2 +-
     .../sourceTemplatePlugin/about.ini               |   2 +-
     .../sourceTemplatePlugin/build.properties        |   2 +-
     .../sourceTemplatePlugin/dsdp32.png              | Bin 0 -> 2275 bytes
     .../sourceTemplatePlugin/eclipse32.png           | Bin 4594 -> 0 bytes
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     .../feature.properties                           |   2 +-
     .../feature.properties                           |   2 +-
     .../sourceTemplateFeature/feature.properties     |   2 +-
     .../sourceTemplatePlugin/about.ini               |   2 +-
     .../sourceTemplatePlugin/build.properties        |   2 +-
     .../sourceTemplatePlugin/dsdp32.png              | Bin 0 -> 2275 bytes
     .../sourceTemplatePlugin/eclipse32.png           | Bin 4594 -> 0 bytes
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     org.eclipse.tm.terminal.serial/about.ini         |   2 +-
     org.eclipse.tm.terminal.serial/build.properties  |   2 +-
     org.eclipse.tm.terminal.serial/dsdp32.png        | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal.serial/eclipse32.png     | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal.serial/plugin.properties |   2 +-
     .../feature.properties                           |   2 +-
     .../sourceTemplateFeature/feature.properties     |   2 +-
     .../sourceTemplatePlugin/about.ini               |   2 +-
     .../sourceTemplatePlugin/build.properties        |   2 +-
     .../sourceTemplatePlugin/dsdp32.png              | Bin 0 -> 2275 bytes
     .../sourceTemplatePlugin/eclipse32.png           | Bin 4594 -> 0 bytes
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     org.eclipse.tm.terminal.ssh/about.ini            |   2 +-
     org.eclipse.tm.terminal.ssh/build.properties     |   2 +-
     org.eclipse.tm.terminal.ssh/dsdp32.png           | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal.ssh/eclipse32.png        | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal.ssh/plugin.properties    |   2 +-
     .../feature.properties                           |   2 +-
     .../sourceTemplateFeature/feature.properties     |   2 +-
     .../sourceTemplatePlugin/about.ini               |   2 +-
     .../sourceTemplatePlugin/build.properties        |   2 +-
     .../sourceTemplatePlugin/dsdp32.png              | Bin 0 -> 2275 bytes
     .../sourceTemplatePlugin/eclipse32.png           | Bin 4594 -> 0 bytes
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     org.eclipse.tm.terminal.telnet/about.ini         |   2 +-
     org.eclipse.tm.terminal.telnet/build.properties  |   2 +-
     org.eclipse.tm.terminal.telnet/dsdp32.png        | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal.telnet/eclipse32.png     | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal.telnet/plugin.properties |   2 +-
     .../feature.properties                           |   2 +-
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     org.eclipse.tm.terminal.test/about.ini           |   2 +-
     org.eclipse.tm.terminal.test/build.properties    |   2 +-
     org.eclipse.tm.terminal.test/dsdp32.png          | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal.test/eclipse32.png       | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal.test/plugin.properties   |   2 +-
     .../feature.properties                           |   2 +-
     .../sourceTemplateFeature/feature.properties     |   2 +-
     .../sourceTemplatePlugin/about.ini               |   2 +-
     .../sourceTemplatePlugin/build.properties        |   2 +-
     .../sourceTemplatePlugin/dsdp32.png              | Bin 0 -> 2275 bytes
     .../sourceTemplatePlugin/eclipse32.png           | Bin 4594 -> 0 bytes
     .../sourceTemplatePlugin/plugin.properties       |   2 +-
     org.eclipse.tm.terminal.view/about.ini           |   2 +-
     org.eclipse.tm.terminal.view/build.properties    |   2 +-
     org.eclipse.tm.terminal.view/dsdp32.png          | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal.view/eclipse32.png       | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal.view/plugin.properties   |   2 +-
     org.eclipse.tm.terminal/about.ini                |   2 +-
     org.eclipse.tm.terminal/build.properties         |   2 +-
     org.eclipse.tm.terminal/dsdp32.png               | Bin 0 -> 2275 bytes
     org.eclipse.tm.terminal/eclipse32.png            | Bin 4594 -> 0 bytes
     org.eclipse.tm.terminal/plugin.properties        |   2 +-
     68 files changed, 46 insertions(+), 46 deletions(-)
     create mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.serial/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.serial/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.ssh/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.ssh/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.telnet/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.telnet/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.test/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.test/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal.view/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal.view/eclipse32.png
     create mode 100644 org.eclipse.tm.terminal/dsdp32.png
     delete mode 100644 org.eclipse.tm.terminal/eclipse32.png
    
    diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties
    index f37d8cd2db1..6f950b43555 100644
    --- a/org.eclipse.tm.terminal-feature/feature.properties
    +++ b/org.eclipse.tm.terminal-feature/feature.properties
    @@ -18,7 +18,7 @@
     featureName=Target Management Terminal Widget
     
     # "providerName" property - name of the company that provides the feature
    -providerName=Eclipse.org
    +providerName=Eclipse.org - DSDP
     
     # "tmUpdateSiteName" property - label for the update site
     tmUpdateSiteName=Target Management Updates
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    index 769c121edb6..b5545ef257a 100644
    --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties
    @@ -18,7 +18,7 @@
     featureName=Target Management Terminal Widget Source
     
     # "providerName" property - name of the company that provides the feature
    -providerName=Eclipse.org
    +providerName=Eclipse.org - DSDP
     
     # "tmUpdateSiteName" property - label for the update site
     tmUpdateSiteName=Target Management Updates
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini
    index fdd61ff0dd8..fbbb9f83db9 100644
    --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini
    +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini
    @@ -11,7 +11,7 @@ aboutText=%blurb
     # needed for primary features only
     
     # Property "featureImage" contains path to feature image (32x32)
    -featureImage=eclipse32.png
    +featureImage=dsdp32.png
     
     # Property "aboutImage" contains path to product image (500x330 or 115x164)
     # needed for primary features only
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties
    index 89c807a286c..472e1ebb3a4 100644
    --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties
    +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties
    @@ -8,5 +8,5 @@
     # Contributors: 
     # Martin Oberhuber - initial API and implementation 
     ################################################################################
    -bin.includes = about.html, about.ini, about.mappings, about.properties, eclipse32.png, plugin.properties, plugin.xml, src/, META-INF/
    +bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/
     sourcePlugin = true
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png
    new file mode 100644
    index 0000000000000000000000000000000000000000..3077b1220dd688632a42e347f90c90cb319835f0
    GIT binary patch
    literal 2275
    zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.serial/eclipse32.png b/org.eclipse.tm.terminal.serial/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.ssh/eclipse32.png b/org.eclipse.tm.terminal.ssh/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.telnet/eclipse32.png b/org.eclipse.tm.terminal.telnet/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.test/eclipse32.png b/org.eclipse.tm.terminal.test/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/eclipse32.png b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal.view/eclipse32.png b/org.eclipse.tm.terminal.view/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQOPx#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U
    zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh
    z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?}
    z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF
    zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%%
    zJ;odRgoJJe&JtltX`T
    zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj
    zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL
    zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a
    z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm
    zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z
    z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2
    zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH
    z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N}
    z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V
    zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn
    zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<<
    zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl
    z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy
    zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9
    zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV
    z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf
    zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh
    z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb
    zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30-
    z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~
    zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+
    zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt
    zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx
    zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S
    zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s
    zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_
    
    literal 0
    HcmV?d00001
    
    diff --git a/org.eclipse.tm.terminal/eclipse32.png b/org.eclipse.tm.terminal/eclipse32.png
    deleted file mode 100644
    index 568fac1d05f4d05a2470f02033e92c77ce49a660..0000000000000000000000000000000000000000
    GIT binary patch
    literal 0
    HcmV?d00001
    
    literal 4594
    zcmVKLZ*U+5Lu!Sk^o_Z5E4Meg@_7P6crJiNL9pw)e1;Xm069{HJUZAPk55R%$-RIA
    z6-eL&AQ0xu!e<4=008gy@A0LT~suv4>S3ILP<0Bm`DLLvaF4FK%)Nj?Pt*r}7;7Xa9z9H|HZjR63e
    zC`Tj$K)V27Re@400>HumpsYY5E(E}?0f1SyGDiY{y#)Yvj#!WnKwtoXnL;eg03bL5
    z07D)V%>y7z1E4U{zu>7~aD})?0RX_umCct+(lZpemCzb@^6=o|A>zVpu|i=NDG+7}
    zl4`aK{0#b-!z=TL9Wt0BGO&T{GJWpjryhdijfaIQ&2!o}p04JRKYg3k&Tf
    zVxhe-O!X
    z{f;To;xw^bEES6JSc$k$B2CA6xl)ltA<32E66t?3@gJ7`36pmX0IY^jz)rRYwaaY4
    ze(nJRiw;=Qb^t(r^DT@T3y}a2XEZW-_W%Hszxj_qD**t_m!#tW0KDiJT&R>6OvVTR
    z07RgHDzHHZ48atvzz&?j9lXF70$~P3Knx_nJP<+#`N
    z#-MZ2bTkiLfR>_b(HgWKJ%F~Nr_oF3b#wrIijHG|(J>BYjM-sajE6;FiC7vY#};Gd
    zST$CUHDeuEH+B^pz@B062qXfFfD`NpUW5?BY=V%GM_5c)L#QR}BeW8_2v-S%gfYS=
    zB9o|3v?Y2H`NVi)In3rTB8+ej^>
    zQ=~r95NVuDChL%G$=>7$vVg20myx%S50Foi`^m%Pw-h?Xh~i8Mq9jtJloCocWk2Nv
    zrJpiFnV_ms&8eQ$2&#xWpIS+6pmtC%Q-`S&GF4Q#^mhymh7E(qNMa}%YZ-ePrx>>xFPTiH1=E+A$W$=bG8>s^
    zm=Bn5Rah$aDtr}@$`X}2l~$F0mFKEdRdZE8)p@E5RI61Ft6o-prbbn>P~)iy)E2AN
    zsU20jsWz_8Qg>31P|s0cqrPALg8E|(vWA65poU1JRAaZs8I2(p#xiB`SVGovRs-uS
    zYnV-9TeA7=Om+qP8+I>yOjAR1s%ETak!GFdam@h^#
    z)@rS0t$wXH+Irf)+G6c;?H29p+V6F6oj{!|o%K3xI`?%6x;DB|x`n#ibhIR?(H}Q3Gzd138Ei2)WAMz7W9Vy`X}HnwgyEn!VS)>mv$8&{hQn>w4zwy3R}t;BYlZQm5)6pty=DfLrs+A-|>>;~;Q
    z_F?uV_HFjh9n2gO9o9Q^JA86v({H5aB!kjoO6
    zc9$1ZZKsN-Zl8L~mE{`ly3)1N^`o1+o7}D0ZPeY&J;i;i`%NyJ8_8Y6J?}yE@b_5a
    zam?eLr<8@mESk|3$_SkmS{wQ>%qC18))9_|&j{ZT
    zes8AvOzF(F2#DZEY>2oYX&IRp`F#{ADl)1r>QS^)ba8a|EY_^#S^HO&t^Rgqwv=MZThqqEWH8
    zxJo>d=ABlR_Bh=;eM9Tw|Ih34~oTE|=
    zX_mAr*D$vzw@+p(E0Yc6dFE}(8oqt`+R{gE3x4zjX+Sb3_cYE^=
    zgB=w+-tUy`ytONMS8KgRef4hA?t0j
    zufM;t32jm~jUGrkaOInTZ`zyfns>EuS}G30LFK_G-==(f<51|K&cocp&EJ`SxAh3?
    zNO>#LI=^+SEu(FqJ)ynt=!~PC9bO$rzPJB=?=j6w@a-(u02P7
    zaQ)#(uUl{HW%tYNS3ItC^iAtK(eKlL`f9+{bJzISE?u8_z3;~C8@FyI-5j_jy7l;W
    z_U#vU3hqqYU3!mrul&B+{ptt$59)uk{;_4iZQ%G|z+lhASr6|H35TBkl>gI*;nGLU
    zN7W-nBaM%pA0HbH8olyl&XeJ%vZoWz%6?Y=dFykl=imL}`%BMQ{Mhgd`HRoLu6e2R
    za__6DuR6yg#~-}Tc|Gx_{H@O0eebyMy5GmWADJlpK>kqk(fVV@r_fLLKIeS?{4e)}
    z^ZO;zpECde00d`2O+f$vv5tKEQIh}w03c&XQcVB=dL;k=fP(-4`Tqa_faw4Lbua(`
    z>RI+y?e7jKeZ#YO-C2M|=a5v0L^7z?G=SAu=7
    zudjdip8I$9`g5@NIrqLQ#2Eumva|2Gd!Mt``o3?iwNGSbcrULQ@9~xXFPr}U6B>Lc$L7!3)^0yYJ+Kt;hKAQmVq
    z>h<_kltfR}8|l+#dRfHpV_`6PM}Gc`FTFDYZ~y7^k9Xg(=gZuwFRb@QIDd735fN%>
    ziXeo06Im@;@q0=X^qnbK|MS^D?A*Wf$#E7Z
    zoBc6zQ8el)$O+PvktPwC)gzz^3NKah#)$>Y0wTtEB9C0}jSh4>^<%A8ZJAj>A`p`Q
    z?!ek}XP()yZ}+E)W)cmE5!GVUYBAy@LKFdjA&LPOgQ|j9Jhwb+oIxah2!jhgFdR<4
    zKR@3=Id4XQ9K)*Leo);Jl3XFyhqoKoK=s+sa5^@p{5gfBehzLXiR}h>K
    zobwd9u;T{d<7;jx1pq9mm;|MSViNFGlxg%eE1
    z1^Rh`em;S7gi=Vv3`bM=sS;x_P6TpVA;W>PUT<`NdVRw}-Z
    z``qS`ei|YcxH1Ka;Q}R&3C!%XhY8LJDE!ByASOgfviii)hrI@pG))aaZ!`v}hO|?37p8xe;#fQ#)-;j6zXVqCBm{Dbw7LyI%fXf3}%3u21*oA
    zPl*_S0J(=+JrxL)r~xRc@M~7C0f1j`Rt`8KuGO;CoxXre*GIm6DnWv>MFa&agvduh
    zR7Fp8gW}73o@PW@Er}E?3}r!<#j8(z>tSC99J%WT!?tGKKcMU(4lgT6K#ow5q6qcA
    za5oqyUu?EGH`5b%#yFtJvgpkUfzf#Kk7ldAIJ|8Ud-pB^(14PM6+z7<FUV0uF)V44vy!0hm>121kv^pX3W;>nl(R(Z}cjZR2VFhhvLEFt0`L=iZmnWn@u
    zjY^>^0Lr0Q+OzXB6$PWw=x2k`@cR4ay7<7Z`RavKLF$bYF^ce?b7jf(!xa?Dt%Nm!
    zBL$N{l>sOKKQ~+1OZ7(mWYr5;^g_R%zmO&oK6LY0nGB|wd=j(k*T|P->tZ5TRW&Xq*H)b0u6r9
    z*80yS|2kt_LZva(vgD1VU#4^qF&Ok8fVN^3*L0T{(RBe$2J%Z~=N3
    z5GhJg^7P0xO*KEvcm{HhK$6C53k!3{8jZ$EI9|;lfXHuS!LMICcjVIM=JE&k>~xPF
    zx(iE-b08*=n^I9~LIMR`_5&%6>lWy1S^CEIZ42LNw!6!)5)aH$U@$~g+AP2N`jLwp
    z7r(dfriJw{e&Sx-ckuR^gNFK)BnFAjz%MW@qvi_wcDwcL_8r^5+3IwbBLfhX;A1NV
    zYUZ0qNWWjca{BSL^^HT_H2TfwK6ZESYoC1xcOAGDM1+FHpYh5vO9B{&xIFI*bDdL*
    zi`&1xeR0QE8ja>k6>^xPYBs}j$6kN|`2Cr+3Wf5hO(OWheRu9@wpx!_T>JR>jcfbQ
    zzP;Hwv$__aeQO
    Date: Wed, 13 May 2009 22:43:51 +0000
    Subject: [PATCH 371/843] [254293] DSDP update copyright comments
    
    ---
     org.eclipse.tm.terminal-feature/feature.xml          |  2 +-
     .../sourceTemplatePlugin/build.properties            |  2 +-
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.sdk-feature/feature.xml      |  2 +-
     org.eclipse.tm.terminal.serial-feature/feature.xml   |  2 +-
     .../sourceTemplatePlugin/build.properties            |  2 +-
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.serial/build.properties      |  2 +-
     org.eclipse.tm.terminal.serial/plugin.properties     |  2 +-
     org.eclipse.tm.terminal.serial/plugin.xml            |  2 +-
     org.eclipse.tm.terminal.ssh-feature/feature.xml      | 12 +++++++++++-
     .../sourceTemplatePlugin/build.properties            |  2 +-
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.ssh/build.properties         |  2 +-
     org.eclipse.tm.terminal.ssh/plugin.properties        |  2 +-
     org.eclipse.tm.terminal.ssh/plugin.xml               |  2 +-
     org.eclipse.tm.terminal.telnet-feature/feature.xml   |  3 +--
     .../sourceTemplatePlugin/build.properties            |  2 +-
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.telnet/build.properties      |  2 +-
     org.eclipse.tm.terminal.telnet/plugin.properties     |  2 +-
     org.eclipse.tm.terminal.telnet/plugin.xml            |  2 +-
     org.eclipse.tm.terminal.test-feature/feature.xml     |  3 +--
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.test/build.properties        |  2 +-
     org.eclipse.tm.terminal.test/plugin.properties       |  2 +-
     org.eclipse.tm.terminal.test/test.xml                | 10 ++++++++++
     org.eclipse.tm.terminal.view-feature/feature.xml     | 12 +++++++++++-
     .../sourceTemplatePlugin/build.properties            |  2 +-
     .../sourceTemplatePlugin/plugin.properties           |  2 +-
     org.eclipse.tm.terminal.view/build.properties        |  2 +-
     org.eclipse.tm.terminal.view/plugin.properties       |  2 +-
     .../terminal/actions/TerminalActionNewTerminal.java  |  2 +-
     org.eclipse.tm.terminal/build.properties             |  2 +-
     .../tm/internal/terminal/provisional/api/Logger.java |  2 +-
     .../tm/internal/terminal/textcanvas/TextCanvas.java  |  2 +-
     36 files changed, 65 insertions(+), 37 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml
    index 2c0c8ecdfbf..11ad9fc9b38 100644
    --- a/org.eclipse.tm.terminal-feature/feature.xml
    +++ b/org.eclipse.tm.terminal-feature/feature.xml
    @@ -1,4 +1,4 @@
    -
    +
    
     
    +
    
     
    +
    
     
     
     
    +
     
     
     
    
     
     
    
    +
    
     
     
    +
     
    Date: Thu, 21 May 2009 02:59:22 +0000
    Subject: [PATCH 372/843] bug 277061: [terminal] TelnetConnection.isConnected()
     should check if socket was not closed
     https://bugs.eclipse.org/bugs/show_bug.cgi?id=277061
    
    ---
     .../tm/internal/terminal/telnet/TelnetConnection.java        | 5 +++--
     1 file changed, 3 insertions(+), 2 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    index 50e53e8f000..a630f99d800 100644
    --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    @@ -1,5 +1,5 @@
     /*******************************************************************************
    - * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others.
    + * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others.
      * All rights reserved. This program and the accompanying materials
      * are made available under the terms of the Eclipse Public License v1.0
      * which accompanies this distribution, and is available at
    @@ -12,6 +12,7 @@
      * Michael Scharf (Wind River) - split into core, view and connector plugins 
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal
    + * Michael Scharf (Wind River) - [277061]  TelnetConnection.isConnected() should check if socket was not closed
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.telnet;
     
    @@ -237,7 +238,7 @@ public class TelnetConnection extends Thread implements TelnetCodes {
     	 * connected, false otherwise.
     	 */
     	public boolean isConnected() {
    -		return socket != null && socket.isConnected();
    +		return socket != null && socket.isConnected() && !socket.isClosed();
     	}
     
     	/**
    
    From c2db1654c6a8d4c31b4dd832f6c681ef5dc9d540 Mon Sep 17 00:00:00 2001
    From: Martin Oberhuber 
    Date: Mon, 25 May 2009 21:16:12 +0000
    Subject: [PATCH 373/843] [277061] Fix contributor
    
    ---
     .../terminal/telnet/TelnetConnection.java     | 28 +++++++++----------
     1 file changed, 14 insertions(+), 14 deletions(-)
    
    diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    index a630f99d800..e5ccc4e0ec8 100644
    --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java
    @@ -6,13 +6,13 @@
      * http://www.eclipse.org/legal/epl-v10.html
      *
      * Contributors:
    - * Fran Litterio (Wind River) - initial API and implementation 
    - * Helmut Haigermoser (Wind River) - repackaged 
    - * Ted Williams (Wind River) - repackaged into org.eclipse namespace 
    - * Michael Scharf (Wind River) - split into core, view and connector plugins 
    + * Fran Litterio (Wind River) - initial API and implementation
    + * Helmut Haigermoser (Wind River) - repackaged
    + * Ted Williams (Wind River) - repackaged into org.eclipse namespace
    + * Michael Scharf (Wind River) - split into core, view and connector plugins
      * Martin Oberhuber (Wind River) - fixed copyright headers and beautified
      * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal
    - * Michael Scharf (Wind River) - [277061]  TelnetConnection.isConnected() should check if socket was not closed
    + * Alex Panchenko (Xored) - [277061]  TelnetConnection.isConnected() should check if socket was not closed
      *******************************************************************************/
     package org.eclipse.tm.internal.terminal.telnet;
     
    @@ -32,13 +32,13 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
      * also manages two sets of TelnetOption objects: one for the local endpoint and
      * one for the remote endpoint.
      * 

    - * + * * IMPORTANT: Understanding this code requires understanding the TELNET protocol * and TELNET option processing, as defined in the RFCs listed below. *

    - * + * * @author Fran Litterio (francis.litterio@windriver.com) - * + * * @see RFC 854 * @see RFC 855 * @see RFC 856 @@ -132,11 +132,11 @@ public class TelnetConnection extends Thread implements TelnetCodes { * allows us to successfully connect to a TELNET server listening on a port * other than 23. *

    - * + * * When this field first changes from false to true, we send all WILL or DO * commands to the remote endpoint. *

    - * + * * @see #telnetServerDetected() */ protected boolean remoteIsTelnetServer = false; @@ -173,7 +173,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { /** * This field is true if an error occurs while processing a subnegotiation * command. - * + * * @see #processTelnetProtocol(int) */ protected boolean ignoreSubnegotiation = false; @@ -285,7 +285,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { private void displayTextInTerminal(String string) { terminalControl.displayTextInTerminal(string); } - + /** * This method runs in its own thread. It reads raw bytes from the TELNET * connection socket, processes any TELNET protocol bytes (and removes @@ -392,7 +392,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { * calls to this function. The state is preserved in field telnetState. * This function implements an FSA that recognizes TELNET option codes. * TELNET option sub-negotiation is delegated to instances of TelnetOption. - * + * * @return The number of bytes remaining in the buffer after removing all * TELNET protocol bytes. */ @@ -654,7 +654,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { * from the remote endpoint. When it is called for the first time for this * connection, we negotiate all options that we desire to be enabled. *

    - * + * * This method does not negotiate options that we do not desire to be * enabled, because all options are initially disabled. *

    From 2f60222d3fb4bad6279902bf3f5db4d35df3f651 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 25 Jun 2009 06:52:55 +0000 Subject: [PATCH 374/843] [fix] Bug 281329: Telnet connection not handling "SocketException: Connection reset" correct --- .../tm/internal/terminal/telnet/TelnetConnection.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index e5ccc4e0ec8..5a926f95e25 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -13,6 +13,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Alex Panchenko (Xored) - [277061] TelnetConnection.isConnected() should check if socket was not closed + * Uwe Stieber (Wind River) - [281329] Telnet connection not handling "SocketException: Connection reset" correct *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -330,10 +331,14 @@ public class TelnetConnection extends Thread implements TelnetCodes { // A "socket closed" exception is normal here. It's caused by the // user clicking the disconnect button on the Terminal view toolbar. - if (message != null && !message.equals("socket closed")) //$NON-NLS-1$ + if (message != null && !message.equals("socket closed") && !message.equalsIgnoreCase("Connection reset")) //$NON-NLS-1$ //$NON-NLS-2$ { Logger.logException(ex); } + + // Tell the ITerminalControl object that the connection is + // closed. + terminalControl.setState(TerminalState.CLOSED); } catch (Exception ex) { Logger.logException(ex); } From d2cc958a3c5389b57f7f634845e3e98d3928d9dc Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 25 Jun 2009 06:57:13 +0000 Subject: [PATCH 375/843] [fix] Bug 281238: The very first few characters might be missing in the terminal control if opened and connected programmatically --- .../terminal/textcanvas/TextCanvas.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 4d0ceee2814..d42eb2a3aa6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected + * Uwe Stieber (Wind River) - [281238] The very first few characters might be missing in the terminal control if opened and connected programmatically *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -177,14 +178,14 @@ public class TextCanvas extends GridCanvas { fMinLines = minLines; } - protected void onResize() { + protected void onResize(boolean init) { if(fResizeListener!=null) { Rectangle bonds=getClientArea(); int lines=bonds.height/getCellHeight(); int columns=bonds.width/getCellWidth(); // when the view is minimised, its size is set to 0 // we don't sent this to the terminal! - if(lines>0 && columns>0) { + if(lines>0 && columns>0 || init) { if(columns Date: Thu, 9 Jul 2009 11:00:22 +0000 Subject: [PATCH 376/843] [fix] Bug 282996 - [terminal][api] Add "hidden" attribute to terminal connector extension point --- org.eclipse.tm.terminal-feature/feature.xml | 4 +-- .../feature.xml | 4 +-- .../feature.xml | 6 ++-- .../META-INF/MANIFEST.MF | 4 +-- .../feature.xml | 6 ++-- .../META-INF/MANIFEST.MF | 4 +-- .../feature.xml | 6 ++-- .../META-INF/MANIFEST.MF | 4 +-- .../META-INF/MANIFEST.MF | 4 +-- org.eclipse.tm.terminal.test/plugin.xml | 8 +++-- .../TerminalConnectorFactoryTest.java | 3 +- .../TerminalConnectorPluginTest.java | 9 +++-- .../connector/TerminalConnectorTest.java | 27 +++++++-------- .../feature.xml | 9 ++--- .../META-INF/MANIFEST.MF | 4 +-- .../terminal/view/TerminalSettingsDlg.java | 5 +-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../schema/terminalConnectors.exsd | 33 +++++++++++++------ .../terminal/connector/TerminalConnector.java | 13 ++++++-- .../provisional/api/ITerminalConnector.java | 7 ++++ .../api/TerminalConnectorExtension.java | 5 ++- 21 files changed, 104 insertions(+), 63 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 11ad9fc9b38..bbc535cd4d5 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -1,8 +1,8 @@ - + diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 11c01b2c12f..1b02d156d3f 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -1,8 +1,8 @@ - + diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 9f7902fc1f1..831995bf764 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -1,8 +1,8 @@ - + @@ -25,7 +25,7 @@ - + + Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point --> @@ -35,7 +35,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index ac99ae31423..4e41d4ac6e8 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.100.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", + org.eclipse.tm.terminal;bundle-version="[3.1.0,3.2.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index 43d6dc311da..a690aad78b4 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,7 +1,7 @@ - @@ -24,7 +24,7 @@ - + - + diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 4f6d3bffed6..105b43e5568 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -137,7 +138,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public TerminalConnectorImpl makeConnector() throws Exception { return mock; } - },"xID","xName"); + },"xID","xName", false); return c; } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java index cc0c9ee3a78..799bd2bc123 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Martin Oberhuber (Wind River) - initial API and implementation + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -26,12 +27,14 @@ public class TerminalConnectorPluginTest extends TestCase { public void testIsInitialized() { if (!Platform.isRunning()) return; - TerminalConnector c = new TerminalConnector(new SimpleFactory(new ConnectorMock()), "xID", "xName"); + TerminalConnector c = new TerminalConnector(new SimpleFactory(new ConnectorMock()), "xID", "xName", false); assertFalse(c.isInitialized()); c.getId(); assertFalse(c.isInitialized()); c.getName(); assertFalse(c.isInitialized()); + c.isHidden(); + assertFalse(c.isInitialized()); c.getSettingsSummary(); assertFalse(c.isInitialized()); c.setTerminalSize(10, 10); @@ -48,7 +51,7 @@ public class TerminalConnectorPluginTest extends TestCase { if (!Platform.isRunning()) return; ConnectorMock mock = new ConnectorMock(); - TerminalConnector c = new TerminalConnector(new SimpleFactory(mock), "xID", "xName"); + TerminalConnector c = new TerminalConnector(new SimpleFactory(mock), "xID", "xName", false); assertNull(c.getAdapter(ConnectorMock.class)); // the load is called after the connect... c.connect(new TerminalControlMock()); diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index ffb0efe6700..93d555572e1 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -139,27 +140,27 @@ public class TerminalConnectorTest extends TestCase { } } public void testGetInitializationErrorMessage() { - TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName", false); c.connect(new TerminalControlMock()); assertNull(c.getInitializationErrorMessage()); c=new TerminalConnector(new SimpleFactory(new ConnectorMock(){ public void initialize() throws Exception { throw new Exception("FAILED"); - }}),"xID","xName"); + }}),"xID","xName", false); c.connect(new TerminalControlMock()); assertEquals("FAILED",c.getInitializationErrorMessage()); } public void testGetIdAndName() { - TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName", false); assertEquals("xID", c.getId()); assertEquals("xName", c.getName()); } public void testConnect() { - TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName", false); assertFalse(c.isInitialized()); c.connect(new TerminalControlMock()); assertTrue(c.isInitialized()); @@ -168,7 +169,7 @@ public class TerminalConnectorTest extends TestCase { public void testDisconnect() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); TerminalControlMock control=new TerminalControlMock(); c.connect(control); c.disconnect(); @@ -177,14 +178,14 @@ public class TerminalConnectorTest extends TestCase { public void testGetTerminalToRemoteStream() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); TerminalControlMock control=new TerminalControlMock(); c.connect(control); assertSame(mock.fControl,control); } public void testGetSettingsSummary() { - TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(new ConnectorMock()),"xID","xName", false); assertEquals("Not Initialized", c.getSettingsSummary()); c.connect(new TerminalControlMock()); assertEquals("Summary", c.getSettingsSummary()); @@ -192,7 +193,7 @@ public class TerminalConnectorTest extends TestCase { public void testIsLocalEcho() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); assertFalse(c.isLocalEcho()); mock.fEcho=true; assertTrue(c.isLocalEcho()); @@ -200,7 +201,7 @@ public class TerminalConnectorTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); ISettingsStore s=new SettingsMock(); c.load(s); // the load is called after the connect... @@ -211,7 +212,7 @@ public class TerminalConnectorTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); ISettingsStore s=new SettingsMock(); c.save(s); assertNull(mock.fSaveStore); @@ -222,13 +223,13 @@ public class TerminalConnectorTest extends TestCase { public void testMakeSettingsPage() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); assertNotNull(c.makeSettingsPage()); } public void testSetTerminalSize() { ConnectorMock mock=new ConnectorMock(); - TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName"); + TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); c.setTerminalSize(100, 200); } diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index f52c6457efb..69143387e54 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -1,4 +1,5 @@ - - @@ -35,7 +36,7 @@ - + - + - + + + + + + @@ -34,9 +39,9 @@ - + - + @@ -49,9 +54,9 @@ A class extending TerminalConnectorImpl - + - + @@ -66,9 +71,16 @@ The name of the connection (used in the UI) - + - + + + + + + + When set to "true", the terminal connector will not be visible to the user in connector selections. + @@ -79,9 +91,9 @@ - + - + Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. All rights reserved. This program and the accompanying materials @@ -92,6 +104,7 @@ http://www.eclipse.org/legal/epl-v10.html Contributors: Michael Scharf (Wind River) - initial API and implementation Martin Oberhuber (Wind River) - fixed copyright headers and beautified +Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index b2439f6c204..86ebca265c1 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [200541] Extract from TerminalConnectorExtension.TerminalConnectorProxy * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -75,6 +76,10 @@ public class TerminalConnector implements ITerminalConnector { * The unique id the connector */ private final String fId; + /** + * Flag to mark the connector as hidden. + */ + private final boolean fHidden; /** * The connector */ @@ -98,10 +103,11 @@ public class TerminalConnector implements ITerminalConnector { * this ID. * @param name translatable name to display the connector in the UI. */ - public TerminalConnector(TerminalConnector.Factory terminalConnectorFactory, String id, String name) { + public TerminalConnector(TerminalConnector.Factory terminalConnectorFactory, String id, String name, boolean hidden) { fTerminalConnectorFactory = terminalConnectorFactory; fId = id; fName = name; + fHidden = hidden; } public String getInitializationErrorMessage() { getConnectorImpl(); @@ -115,6 +121,9 @@ public class TerminalConnector implements ITerminalConnector { public String getName() { return fName; } + public boolean isHidden() { + return fHidden; + } private TerminalConnectorImpl getConnectorImpl() { if(!isInitialized()) { try { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 978c4b89fee..8af3a10f71f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -59,6 +60,12 @@ public interface ITerminalConnector extends IAdaptable { * @since org.eclipse.tm.terminal 2.0 */ String getName(); + + /** + * @return True if the connector is not visible in user selections. + * @since org.eclipse.tm.terminal 3.1 + */ + boolean isHidden(); /** * @return true if the {@link TerminalConnectorImpl} has been initialized. diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index ee14c8117a6..fbd9cd7e50b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -44,11 +45,13 @@ public class TerminalConnectorExtension { if(name==null || name.length()==0) { name=id; } + String hidden = config.getAttribute("hidden"); //$NON-NLS-1$ + boolean isHidden = hidden != null ? Boolean.parseBoolean(hidden) : false; TerminalConnector.Factory factory=new TerminalConnector.Factory(){ public TerminalConnectorImpl makeConnector() throws Exception { return (TerminalConnectorImpl)config.createExecutableExtension("class"); //$NON-NLS-1$ }}; - return new TerminalConnector(factory,id,name); + return new TerminalConnector(factory,id,name, isHidden); } /** From cb5904adb215704162ddf3331bce69555874d85a Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 9 Jul 2009 16:47:31 +0000 Subject: [PATCH 377/843] [fix] Bug 282996 - [terminal][api] Add "hidden" attribute to terminal connector extension point, part 2 Version number fixes --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 12 files changed, 21 insertions(+), 21 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index bbc535cd4d5..bdfd78be801 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 1b02d156d3f..7aa2b7c3ac1 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 831995bf764..809a12b52c9 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -2,7 +2,7 @@ @@ -25,7 +25,7 @@ - + @@ -35,7 +35,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 4e41d4ac6e8..efc39697ac1 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.1.0.qualifier +Bundle-Version: 2.0.101.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.1.0,3.2.0)", + org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index a690aad78b4..5bc6349b9f6 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,7 +1,7 @@ @@ -24,7 +24,7 @@ - + @@ -36,7 +36,7 @@ - + Date: Fri, 10 Jul 2009 12:45:40 +0000 Subject: [PATCH 378/843] [282996] Restore original terminal versions since plugins were unchanged --- org.eclipse.tm.terminal.serial-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 6 +++--- org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 809a12b52c9..9f7902fc1f1 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -1,8 +1,8 @@ - + @@ -25,7 +25,7 @@ - + + --> @@ -35,7 +35,7 @@ - + diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index efc39697ac1..ac99ae31423 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.101.qualifier +Bundle-Version: 2.0.100.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index 5bc6349b9f6..3df4148f435 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,4 +1,4 @@ - - + Date: Fri, 10 Jul 2009 12:47:22 +0000 Subject: [PATCH 379/843] [282996] Fix execution environment, @since tag and exsd copyright date --- org.eclipse.tm.terminal/schema/terminalConnectors.exsd | 6 +++--- .../terminal/provisional/api/ITerminalConnector.java | 7 ++++--- .../provisional/api/TerminalConnectorExtension.java | 8 ++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal/schema/terminalConnectors.exsd b/org.eclipse.tm.terminal/schema/terminalConnectors.exsd index ade321c5f73..b503ea5442d 100644 --- a/org.eclipse.tm.terminal/schema/terminalConnectors.exsd +++ b/org.eclipse.tm.terminal/schema/terminalConnectors.exsd @@ -76,7 +76,7 @@ - + When set to "true", the terminal connector will not be visible to the user in connector selections. @@ -95,7 +95,7 @@ - Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at @@ -104,7 +104,7 @@ http://www.eclipse.org/legal/epl-v10.html Contributors: Michael Scharf (Wind River) - initial API and implementation Martin Oberhuber (Wind River) - fixed copyright headers and beautified -Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point +Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 8af3a10f71f..ef1b76a5216 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -60,10 +60,11 @@ public interface ITerminalConnector extends IAdaptable { * @since org.eclipse.tm.terminal 2.0 */ String getName(); - + /** - * @return True if the connector is not visible in user selections. - * @since org.eclipse.tm.terminal 3.1 + * @return True if the connector is not visible in user + * selections. + * @since org.eclipse.tm.terminal 3.0.1 */ boolean isHidden(); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index fbd9cd7e50b..941e7c33355 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -22,12 +22,12 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect /** * A factory to get {@link ITerminalConnector} instances. - * + * * @author Michael Scharf * * @noextend This class is not intended to be subclassed by clients. * @noinstantiate This class is not intended to be instantiated by clients. - * + * *

    * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or @@ -46,7 +46,7 @@ public class TerminalConnectorExtension { name=id; } String hidden = config.getAttribute("hidden"); //$NON-NLS-1$ - boolean isHidden = hidden != null ? Boolean.parseBoolean(hidden) : false; + boolean isHidden = hidden != null ? new Boolean(hidden).booleanValue() : false; TerminalConnector.Factory factory=new TerminalConnector.Factory(){ public TerminalConnectorImpl makeConnector() throws Exception { return (TerminalConnectorImpl)config.createExecutableExtension("class"); //$NON-NLS-1$ From 9c6ad3fb7f50aecfeeb7a69529e69e57042d7541 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 10 Jul 2009 12:48:08 +0000 Subject: [PATCH 380/843] [282996] Fix bundle version dependencies --- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index cdbadfcd670..25e38ba28c0 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 2.0.101.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", + org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)", org.eclipse.core.runtime, org.eclipse.ui Bundle-RequiredExecutionEnvironment: CDC-1.1/Foundation-1.1, diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 3665ae37576..85ac5a348b3 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 From 248f841a6e0111bda4919f4032efeff5a9b7184b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 16 Jul 2009 19:17:38 +0000 Subject: [PATCH 381/843] [testing] test commit for checking bug 283482 --- .../terminal/control/CommandInputFieldWithHistory.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index f6bb5c67db2..c8974df9288 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -14,11 +14,11 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; -import java.util.StringTokenizer; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; @@ -146,11 +146,11 @@ public class CommandInputFieldWithHistory implements ICommandInputField { if(history==null) return; // add history entries separated by '\n' - // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ + fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ // - StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ - while(tok.hasMoreElements()) - fHistory.add(tok.nextElement()); + //StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ + // while(tok.hasMoreElements()) + // fHistory.add(tok.nextElement()); // } /** From a918a586b9ad7b0c80e32ea348e86d5148e27b06 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 16 Jul 2009 20:13:43 +0000 Subject: [PATCH 382/843] [testing] revert test commit for checking bug 283482 --- .../terminal/control/CommandInputFieldWithHistory.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index c8974df9288..f6bb5c67db2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -14,11 +14,11 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.StringTokenizer; import org.eclipse.jface.fieldassist.IContentProposal; import org.eclipse.jface.fieldassist.IContentProposalProvider; @@ -146,11 +146,11 @@ public class CommandInputFieldWithHistory implements ICommandInputField { if(history==null) return; // add history entries separated by '\n' - fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ + // fHistory.addAll(Arrays.asList(history.split("\n"))); //$NON-NLS-1$ // - //StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ - // while(tok.hasMoreElements()) - // fHistory.add(tok.nextElement()); + StringTokenizer tok=new StringTokenizer(history,"\n"); //$NON-NLS-1$ + while(tok.hasMoreElements()) + fHistory.add(tok.nextElement()); // } /** From 8bb0044a40ff20e8ec5423bd7513dba3248ae537 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 19 Aug 2009 09:51:41 +0000 Subject: [PATCH 383/843] [fix] "Socket closed" message needs to be compared case insensitive --- .../eclipse/tm/internal/terminal/telnet/TelnetConnection.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java index 5a926f95e25..492b5728592 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java @@ -331,7 +331,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { // A "socket closed" exception is normal here. It's caused by the // user clicking the disconnect button on the Terminal view toolbar. - if (message != null && !message.equals("socket closed") && !message.equalsIgnoreCase("Connection reset")) //$NON-NLS-1$ //$NON-NLS-2$ + if (message != null && !message.equalsIgnoreCase("Socket closed") && !message.equalsIgnoreCase("Connection reset")) //$NON-NLS-1$ //$NON-NLS-2$ { Logger.logException(ex); } From de709aa864d478814d359dbaf74b274eba67cdd4 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 20 Aug 2009 10:03:58 +0000 Subject: [PATCH 384/843] [fix] Bug 287158: [terminal][telnet] Connect worker is giving up to early --- .../terminal/telnet/TelnetConnectWorker.java | 99 ++++++++++++------- 1 file changed, 66 insertions(+), 33 deletions(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java index 0b07c772c7a..4c1dcc42eac 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,8 +11,9 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalControl + * Michael Scharf (Wind River) - extracted from TerminalControl * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Uwe Stieber (Wind River) - [287158][terminal][telnet] Connect worker is giving up to early *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -35,43 +36,75 @@ class TelnetConnectWorker extends Thread { fControl.setState(TerminalState.CONNECTING); } public void run() { - try { - int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; - String strHost = fConn.getTelnetSettings().getHost(); - int nPort = fConn.getTelnetSettings().getNetworkPort(); - InetSocketAddress address = new InetSocketAddress(strHost, nPort); - Socket socket=new Socket(); + // Retry the connect with after a little pause in case the + // remote telnet server isn't ready. ConnectExceptions might + // happen if the telnet server process did not initialized itself. + // This is seen especially if the telnet server is a process + // providing it's input and output via a built in telnet server. + int remaining = 10; - socket.connect(address, nTimeout); + while (remaining >= 0) { + // Pause before we re-try if the remaining tries are less than the initial value + if (remaining < 10) try { Thread.sleep(500); } catch (InterruptedException e) { /* ignored on purpose */ } - // This next call causes reads on the socket to see TCP urgent data - // inline with the rest of the non-urgent data. Without this call, TCP - // urgent data is silently dropped by Java. This is required for - // TELNET support, because when the TELNET server sends "IAC DM", the - // IAC byte is TCP urgent data. If urgent data is silently dropped, we - // only see the DM, which looks like an ISO Latin-1 '�' character. + try { + int nTimeout = fConn.getTelnetSettings().getTimeout() * 1000; + String strHost = fConn.getTelnetSettings().getHost(); + int nPort = fConn.getTelnetSettings().getNetworkPort(); + InetSocketAddress address = new InetSocketAddress(strHost, nPort); + Socket socket=new Socket(); - socket.setOOBInline(true); - - fConn.setSocket(socket); + socket.connect(address, nTimeout); - TelnetConnection connection=new TelnetConnection(fConn, socket); - socket.setKeepAlive(true); - fConn.setTelnetConnection(connection); - connection.start(); - fControl.setState(TerminalState.CONNECTED); + // If we get to this point, the connect succeeded and we will + // force the remaining counter to be 0. + remaining = 0; - } catch (UnknownHostException ex) { - String txt="Unknown host: " + ex.getMessage(); //$NON-NLS-1$ - connectFailed(txt,"Unknown host: " + ex.getMessage() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ - } catch (SocketTimeoutException socketTimeoutException) { - connectFailed(socketTimeoutException.getMessage(), "Connection Error!\n" + socketTimeoutException.getMessage()); //$NON-NLS-1$ - } catch (ConnectException connectException) { - connectFailed(connectException.getMessage(),"Connection refused!"); //$NON-NLS-1$ - } catch (Exception exception) { - Logger.logException(exception); + // This next call causes reads on the socket to see TCP urgent data + // inline with the rest of the non-urgent data. Without this call, TCP + // urgent data is silently dropped by Java. This is required for + // TELNET support, because when the TELNET server sends "IAC DM", the + // IAC byte is TCP urgent data. If urgent data is silently dropped, we + // only see the DM, which looks like an ISO Latin-1 '�' character. - connectFailed(exception.getMessage(),""); //$NON-NLS-1$ + socket.setOOBInline(true); + + fConn.setSocket(socket); + + TelnetConnection connection=new TelnetConnection(fConn, socket); + socket.setKeepAlive(true); + fConn.setTelnetConnection(connection); + connection.start(); + fControl.setState(TerminalState.CONNECTED); + + } catch (UnknownHostException ex) { + // No re-try in case of UnknownHostException, there is no indication that + // the DNS will fix itself + remaining = 0; + //Construct error message and signal failed + String txt="Unknown host: " + ex.getMessage(); //$NON-NLS-1$ + connectFailed(txt,"Unknown host: " + ex.getMessage() + "\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } catch (SocketTimeoutException socketTimeoutException) { + // Time out occurred. No re-try in this case either. Time out can + // be increased by the user. Multiplying the timeout with the remaining + // counter is not desired. + remaining = 0; + // Construct error message and signal failed + connectFailed(socketTimeoutException.getMessage(), "Connection Error!\n" + socketTimeoutException.getMessage()); //$NON-NLS-1$ + } catch (ConnectException connectException) { + // In case of a ConnectException, do a re-try. The server could have been + // simply not ready yet and the worker would give up to early. + if (remaining == 0) connectFailed(connectException.getMessage(),"Connection refused!"); //$NON-NLS-1$ + } catch (Exception exception) { + // Any other exception on connect. No re-try in this case either + remaining = 0; + // Log the exception + Logger.logException(exception); + // And signal failed + connectFailed(exception.getMessage(),""); //$NON-NLS-1$ + } finally { + remaining--; + } } } From 04c3553c2d5355bd54228d4592ab5a237a13954a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Sep 2009 20:55:53 +0000 Subject: [PATCH 385/843] [288254][telnet] local echo is always disabled. Apply Patch from David Sciamma (Anyware Tech). --- .../eclipse/tm/internal/terminal/telnet/TelnetConnector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 674b9ad43ab..ae033c7ba0d 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -79,7 +79,7 @@ public class TelnetConnector extends TerminalConnectorImpl { cleanSocket(); } public boolean isLocalEcho() { - if(fTelnetConnection!=null) + if(fTelnetConnection==null) return false; return fTelnetConnection.localEcho(); } From e0a13b0c62f8200fbcb0ec40fcab9f561c72ca8a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Sep 2009 21:19:55 +0000 Subject: [PATCH 386/843] [288254][telnet] local echo is always disabled. Apply Patch from David Sciamma (Anyware Tech). --- .../eclipse/tm/internal/terminal/telnet/TelnetConnector.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index ae033c7ba0d..d9e57a07039 100644 --- a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Sean Adams (Cisco) - [231959][terminal][telnet] NPE in TelnetConnector.java + * David Sciamma (Anyware-Tech) - [288254][telnet] local echo is always disabled *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; From 8952573eddd52297cfd88e5a7ad5525fa90400a2 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 6 Nov 2009 15:25:20 +0000 Subject: [PATCH 387/843] Bug 294327 - [terminal][regression] After logging in, the remote prompt is hidden --- org.eclipse.tm.terminal-feature/feature.xml | 15 +++++++++++++-- org.eclipse.tm.terminal.sdk-feature/feature.xml | 15 +++++++++++++-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../terminal/textcanvas/TextCanvas.java | 17 +++++++++++++---- 4 files changed, 40 insertions(+), 9 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index bdfd78be801..b2858e5bc40 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -1,8 +1,19 @@ - + + diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 7aa2b7c3ac1..1114a8f9688 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -1,8 +1,19 @@ - + + diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 432fbcec826..0176cf33bf4 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.0.1.qualifier +Bundle-Version: 3.0.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index d42eb2a3aa6..8e3232dd95a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -8,7 +8,8 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected - * Uwe Stieber (Wind River) - [281238] The very first few characters might be missing in the terminal control if opened and connected programmatically + * Uwe Stieber (Wind River) - [281328] The very first few characters might be missing in the terminal control if opened and connected programmatically + * Martin Oberhuber (Wind River) - [294327] After logging in, the remote prompt is hidden *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -185,7 +186,7 @@ public class TextCanvas extends GridCanvas { int columns=bonds.width/getCellWidth(); // when the view is minimised, its size is set to 0 // we don't sent this to the terminal! - if(lines>0 && columns>0 || init) { + if((lines>0 && columns>0) || init) { if(columns Date: Sun, 8 Nov 2009 23:00:57 +0000 Subject: [PATCH 388/843] Bug 294327 - [terminal][regression] After logging in, the remote prompt is hidden --- .../terminal/textcanvas/TextCanvas.java | 45 ++++++++++++++----- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 8e3232dd95a..8326cc933a7 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -42,6 +42,30 @@ public class TextCanvas extends GridCanvas { private Point fDraggingEnd; private boolean fHasSelection; private ResizeListener fResizeListener; + + // The minSize is meant to determine the minimum size of the backing store + // (grid) into which remote data is rendered. If the viewport is smaller + // than that minimum size, the backing store size remains at the minSize, + // and a scrollbar is shown instead. In reality, this has the following + // issues or effects today: + // (a) Bug 281328: For very early data coming in before the widget is + // realized, the minSize determines into what initial grid that is + // rendered. See also @link{#addResizeHandler(ResizeListener)}. + // (b) Bug 294468: Since we have redraw and size computation problems + // with horizontal scrollers, for now the minColumns must be small + // enough to avoid a horizontal scroller appearing in most cases. + // (b) Bug 294327: since we have problems with the vertical scroller + // showing the correct location, minLines must be small enough + // to avoid a vertical scroller or new data may be rendered off-screen. + // As a compromise, we have been working with a 20x4 since the Terminal + // inception, though many users would want a 80x24 minSize and backing + // store. Pros and cons of the small minsize: + // + consistent "remote size==viewport size", vi works as expected + // - dumb terminals which expect 80x24 render garbled on small viewport. + // If bug 294468 were resolved, an 80 wide minSize would be preferrable + // since it allows switching the terminal viewport small/large as needed, + // without destroying the backing store. For a complete solution, + // Bug 196462 tracks the request for a user-defined fixed-widow-size-mode. private int fMinColumns=20; private int fMinLines=4; private boolean fCursorEnabled; @@ -304,18 +328,17 @@ public class TextCanvas extends GridCanvas { // Bug 281328: [terminal] The very first few characters might be missing in // the terminal control if opened and connected programmatically // - // In case the terminal had not been visible yet or is to small (less than one + // In case the terminal had not been visible yet or is too small (less than one // line visible), the terminal should have a minimum size to avoid RuntimeExceptions. - // - // Bug 294327: Min lines 1 is sufficient to avoid the exception, and ensures - // that on a new connection, the initial prompt is visible. - // MinColumns was changed from 20 to 80 in TM 3.1.1 -- Having MinColumns 80 - // ensures that dumb terminals render properly. On a narrow Terminal, users - // will not see everything, but since the backing store is 80 wide they can - // always resize the terminal to see all. A better solution than guessing the - // MinColumns here should be implemented with bug 196462 (optional fixed-width). - setMinColumns(80); setMinLines(1); - onResize(true); + Rectangle bonds=getClientArea(); + if (bonds.height Date: Tue, 10 Nov 2009 11:19:33 +0000 Subject: [PATCH 389/843] Bug 294719 - [terminal] SWT Widget disposed exception can happen in TerminalActionPaste::updateAction --- .../internal/terminal/control/actions/TerminalActionPaste.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java index 9f13b82ddf4..f79dd232478 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java @@ -15,6 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available + * Uwe Stieber (Wind River) - [294719] [terminal] SWT Widget disposed in TerminalActionPaste *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.actions; @@ -52,7 +53,7 @@ public class TerminalActionPaste extends AbstractTerminalAction { public void updateAction(boolean aboutToShow) { ITerminalViewControl target = getTarget(); - boolean bEnabled = target != null; + boolean bEnabled = aboutToShow && target != null && target.getClipboard() != null && !target.getClipboard().isDisposed(); if (bEnabled) { String strText = (String) target.getClipboard().getContents( TextTransfer.getInstance()); From dd398b77bb50386513f5a85ed15289ded4550139 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 28 Feb 2010 20:59:50 +0000 Subject: [PATCH 390/843] Bug 196337 - Initial contribution of local terminal feature --- .../.project | 17 + .../build.properties | 15 + .../epl-v10.html | 256 ++++++++++++++ .../feature.properties | 117 +++++++ .../feature.xml | 47 +++ .../license.html | 79 +++++ org.eclipse.tm.terminal.local/.classpath | 7 + org.eclipse.tm.terminal.local/.project | 28 ++ .../.settings/org.eclipse.jdt.core.prefs | 83 +++++ .../META-INF/MANIFEST.MF | 20 ++ org.eclipse.tm.terminal.local/about.html | 37 ++ org.eclipse.tm.terminal.local/about.ini | 13 + org.eclipse.tm.terminal.local/about.mappings | 12 + .../about.properties | 17 + .../build.properties | 11 + .../icons/terminal-launch.gif | Bin 0 -> 601 bytes .../icons/terminal-local.png | Bin 0 -> 2520 bytes .../plugin.properties | 16 + org.eclipse.tm.terminal.local/plugin.xml | 63 ++++ .../local/ILocalTerminalSettings.java | 75 ++++ .../local/LocalTerminalActivator.java | 88 +++++ .../local/LocalTerminalConnector.java | 319 ++++++++++++++++++ .../LocalTerminalLaunchLabelProvider.java | 72 ++++ .../LocalTerminalLaunchListProvider.java | 90 +++++ .../terminal/local/LocalTerminalMessages.java | 103 ++++++ .../local/LocalTerminalMessages.properties | 39 +++ .../local/LocalTerminalOutputListener.java | 90 +++++ .../local/LocalTerminalOutputStream.java | 184 ++++++++++ .../terminal/local/LocalTerminalSettings.java | 108 ++++++ .../local/LocalTerminalSettingsPage.java | 287 ++++++++++++++++ .../local/LocalTerminalUtilities.java | 158 +++++++++ .../launch/LocalTerminalLaunchDelegate.java | 265 +++++++++++++++ .../launch/LocalTerminalLaunchUtilities.java | 201 +++++++++++ .../LocalTerminalStillRunningListener.java | 119 +++++++ .../ui/LocalTerminalLaunchTabGroup.java | 113 +++++++ .../launch/ui/LocalTerminalSettingsTab.java | 265 +++++++++++++++ .../ui/LocalTerminalStillRunningDialog.java | 298 ++++++++++++++++ .../local/process/LocalTerminalProcess.java | 156 +++++++++ .../process/LocalTerminalProcessFactory.java | 40 +++ .../process/LocalTerminalProcessRegistry.java | 158 +++++++++ .../local/ui/DependentHeightComposite.java | 88 +++++ 41 files changed, 4154 insertions(+) create mode 100644 org.eclipse.tm.terminal.local-feature/.project create mode 100644 org.eclipse.tm.terminal.local-feature/build.properties create mode 100644 org.eclipse.tm.terminal.local-feature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.local-feature/feature.properties create mode 100644 org.eclipse.tm.terminal.local-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.local-feature/license.html create mode 100644 org.eclipse.tm.terminal.local/.classpath create mode 100644 org.eclipse.tm.terminal.local/.project create mode 100644 org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs create mode 100644 org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF create mode 100644 org.eclipse.tm.terminal.local/about.html create mode 100644 org.eclipse.tm.terminal.local/about.ini create mode 100644 org.eclipse.tm.terminal.local/about.mappings create mode 100644 org.eclipse.tm.terminal.local/about.properties create mode 100644 org.eclipse.tm.terminal.local/build.properties create mode 100644 org.eclipse.tm.terminal.local/icons/terminal-launch.gif create mode 100644 org.eclipse.tm.terminal.local/icons/terminal-local.png create mode 100644 org.eclipse.tm.terminal.local/plugin.properties create mode 100644 org.eclipse.tm.terminal.local/plugin.xml create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java create mode 100644 org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java diff --git a/org.eclipse.tm.terminal.local-feature/.project b/org.eclipse.tm.terminal.local-feature/.project new file mode 100644 index 00000000000..c8b6195f159 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.local-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties new file mode 100644 index 00000000000..b722ad42340 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -0,0 +1,15 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +bin.includes = feature.xml,\ + feature.properties,\ + epl-v10.html,\ + license.html diff --git a/org.eclipse.tm.terminal.local-feature/epl-v10.html b/org.eclipse.tm.terminal.local-feature/epl-v10.html new file mode 100644 index 00000000000..9321f4082e7 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/epl-v10.html @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties new file mode 100644 index 00000000000..e289100d181 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -0,0 +1,117 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +featureName=Target Management Terminal Local Connector +description=A local connector implementation for the Terminal. +copyright=\ +Copyright (c) 2008 Mirko Raner and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +licenseURL=license.html +license=\ +ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +March 17, 2005\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ +is provided to you under the terms and conditions of the Eclipse Public\n\ +License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ +Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse.org CVS\n\ +repository ("Repository") in CVS modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +Features may also include other Features ("Included Features"). Files named\n\ +"feature.xml" may contain a list of the names and version numbers of\n\ +Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Eclipse Update Manager, you must agree to a license ("Feature Update\n\ +License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties". Such Abouts,\n\ +Feature Licenses and Feature Update Licenses contain the terms and\n\ +conditions (or references to such terms and conditions) that govern your\n\ +use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use,\n\ +and re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml new file mode 100644 index 00000000000..3f4a937aa82 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -0,0 +1,47 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.local-feature/license.html b/org.eclipse.tm.terminal.local-feature/license.html new file mode 100644 index 00000000000..c6af966b61e --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/license.html @@ -0,0 +1,79 @@ + + + + +Eclipse.org Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    March 17, 2005

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS + modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + + diff --git a/org.eclipse.tm.terminal.local/.classpath b/org.eclipse.tm.terminal.local/.classpath new file mode 100644 index 00000000000..64c5e31b7a2 --- /dev/null +++ b/org.eclipse.tm.terminal.local/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/org.eclipse.tm.terminal.local/.project b/org.eclipse.tm.terminal.local/.project new file mode 100644 index 00000000000..64ecfb91f82 --- /dev/null +++ b/org.eclipse.tm.terminal.local/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tm.terminal.local + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..d75669d46ce --- /dev/null +++ b/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,83 @@ +#Tue Jul 29 00:26:52 PDT 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=warning +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..c380db7ab4c --- /dev/null +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true +Bundle-Version: 1.0.0 +Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator +Bundle-Localization: plugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.tm.terminal;bundle-version="2.0.0", + org.eclipse.cdt.core;bundle-version="5.0.0", + org.eclipse.core.runtime, + org.eclipse.debug.core, + org.eclipse.debug.ui, + org.eclipse.jface, + org.eclipse.ui, + org.eclipse.ui.externaltools +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-ActivationPolicy: lazy +Eclipse-LazyStart: true +Import-Package: org.eclipse.core.variables diff --git a/org.eclipse.tm.terminal.local/about.html b/org.eclipse.tm.terminal.local/about.html new file mode 100644 index 00000000000..b2a8401691f --- /dev/null +++ b/org.eclipse.tm.terminal.local/about.html @@ -0,0 +1,37 @@ + + + + + About + + + +

    About This Content

    +

    + August 4, 2008 +

    +

    License

    + + Mirko Raner makes available all content in this plug-in ("Content"). + Unless otherwise indicated below, the Content is provided to you under the terms and conditions of + the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at + http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content. +

    + If you did not receive this Content directly from Mirko Raner, the Content is + being redistributed by another party ("Redistributor") and different terms and + conditions may apply to your use of any object code in the Content. Check the Redistributor's + license that was provided with the Content. If no such license exists, contact the Redistributor. + Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source + code in the Content. + + diff --git a/org.eclipse.tm.terminal.local/about.ini b/org.eclipse.tm.terminal.local/about.ini new file mode 100644 index 00000000000..2d185b182ff --- /dev/null +++ b/org.eclipse.tm.terminal.local/about.ini @@ -0,0 +1,13 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +featureImage=icons/terminal-local.png +aboutText=%feature.information diff --git a/org.eclipse.tm.terminal.local/about.mappings b/org.eclipse.tm.terminal.local/about.mappings new file mode 100644 index 00000000000..14f8af2448b --- /dev/null +++ b/org.eclipse.tm.terminal.local/about.mappings @@ -0,0 +1,12 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +0=@build@ diff --git a/org.eclipse.tm.terminal.local/about.properties b/org.eclipse.tm.terminal.local/about.properties new file mode 100644 index 00000000000..5e2a9b09682 --- /dev/null +++ b/org.eclipse.tm.terminal.local/about.properties @@ -0,0 +1,17 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +feature.information=Target Management Terminal Local Connector\n\ +\n\ +Version: {featureVersion}\n\ +\n\ +(c) Copyright Mirko Raner and others, 2008. All rights reserved.\n\ +Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.local/build.properties b/org.eclipse.tm.terminal.local/build.properties new file mode 100644 index 00000000000..15b26046ff5 --- /dev/null +++ b/org.eclipse.tm.terminal.local/build.properties @@ -0,0 +1,11 @@ +source.. = src/ +output.. = bin/ +bin.includes = plugin.xml,\ + plugin.properties,\ + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + icons/,\ + META-INF/,\ + . diff --git a/org.eclipse.tm.terminal.local/icons/terminal-launch.gif b/org.eclipse.tm.terminal.local/icons/terminal-launch.gif new file mode 100644 index 0000000000000000000000000000000000000000..adfb9c2c80ffdc4b8095cf5838443120db655f75 GIT binary patch literal 601 zcmZ?wbhEHb6krfwIF`X+<=3bcK0!OYUmHk9Owfv$tQ|2~D{`_{)O4-r>DtlL9m6`b z;umViFLaLR)=FNZm9knhZG%>=ky)9QR@z40Y8TCnty&pdt;+56>rK59CK*+GYUb?I z%sHp8mJ*1X3$EO(w;@mjAAYnxsV*Ipl&37(FVf?`XT`S!*pl&=Ws_jjHi>M_G7 zs(!ui^suN&Az_n}{bodY&5jP55tmlKK4d{m?A(aZCDEyiJ))N+$1cgpSsaAy!I`5lXh0Lp3|GQt8vEu+__g1)}C6s z_Vn5f=QggpQ?~A2(e?}5w_Vz?EvFyOrL#OW?J^%Li!jM~ zUO_xcLynIjC0VTAU&q?Y%tA0KDKY6^f(T2hVo?%X2YXc33XX+|2gN!1B{CjfI?6p= jH%`h%XyJlnCKg#&8>x^5Pfj>0aR>+qBs83GV6X-NoFXk- literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.local/icons/terminal-local.png b/org.eclipse.tm.terminal.local/icons/terminal-local.png new file mode 100644 index 0000000000000000000000000000000000000000..f04a52044ac00010a3c4a41d30c4785a4c6b1b47 GIT binary patch literal 2520 zcmV;}2`Bc6P)f^S3rE^IN9Xnb z@BjL*wbwTMKOav#zid^tCQ4I8ZSsHl_`!$w&H;A(lMA$vfw^?VjAUX|~a5jwJ?zBKY80SvlW7yR_K7 zaPH)(e9-;-GVeVhBBvfXa43H3<;y6fBD6&`iwYu&h<+e}o9nHK-{bTes61j z_BtAs8mUXL7K~A%1iX0iP?GzSt5>gb;`m#fJ$>x(xs!*#2z>1mAOB9Ns?8`QqDqu? z0`7kSPCk6k);lJqw>`G!_MhE<>n-l*A?^&f%=VIY_IH zR%eQKXMQtDa(CYEEo83oYP)@11d9Ty!(oi6y7vKhF0FiKa_&Q4+4s>;Zrio}M%!t0 zXrv8lu1;oaq^3e@DmW@wGOT16O)-*!I*f}XHA7=!OEs;J-E!=|pW3@}dGVDkGk2}5 z5wMtwwY0Ax@Zo#5-Z?S5^RI5aegD*TGdpNjn$(jzRaZwfQgbbw$w*9svkqr0LoXN< z5HZAHiDD2};%Y6#rn48%{#PeU#-44p7Chjrp$$0qBeTDu-kJWp8}GPpVPSTGcBMrv zsZ(=JYOcxRmG5$?IL=r$P1QBA#;)7gD58q05=U|NUWs_9wrn8$#HpkIp);HJeZN*6 zYXRv{iFNR5Qfof2`TCo8O-)WwNm86iu$tgV$y^1D@aFO}ymJ0=&JT{FC?Z%L<;l4+}ICp)0^W1||^V`!(k_=^)p`>O_ zW);ROJ21Av_m&>z`7>W-wY-F=j6z^WnLQi^vku`B+S_)`t@Pji&! z3?z-V)q1-B)H?^a0Vt4+OEXGJ>trXv!b*86W z)#0_IU*^P^Q8fjH%NV#6Md|rI#u+S*TH2=S8nov(v$eg4=T3f&Z~Wj(?C$&wTgPr4 znouHMB0+=@BZV(y@RB4EW&jF`(9%5C$o0CIko) z$zx75iZ3%%dL-733X4!i&uZRdlZ;;j9@TTDyvUK|mw5WU<8c~jKWpZMN|k9DU*_J(f=U@6s3rLF68g<-4l=V zpC=EJ=rp?~?EZzF+ovEMBQWtxZ!m>5t6%A6oF zG*D7yH6MmRfuNqQzs%uFFY=w^|ICStrIIDnWO(s#muv_ z^9#JXc#Jn*yXD8|tv){U?7trS_O0U=)(P0vm3NEY{1#JJ5>p^C8CJHD2SSYGJ`go< zWcekYcD@3&0j)nR4VfJ=s% zy}LQQWkxk0V@4MW7?Q+cHWEPfgj?x-CB3}#r=dAsk!qk=-HeqKX9XvQMtvKt`ew4E zMiB)QOV)m=s+j0WN7eoJ4?M}BKVbFBRaURAGU)et`ky|BVlb*Ci9-v&PT-LPhx~&N z?|saj9eh;B^N-o~DzWN`#W)h{1QKes86t)vhS5^X4-ruDr0MXNU--lOS)cFl@Nty9 z3Tc{P1{)O^k~s6==lA|WdNMpE*In3QYCU5ZN8%V7n|Q5(WEdP^*X313beO(rHtaPX z`r=c=jL8f7{XX5*E`xrbA}{#*qYn*$Y7@JqjUeDS3}uWZ#lOok+PeTwo5A%KV_ibW#CC`gQ8B8VqRh6KDQMh%z| z>;?m37%AY_1G&--MpfHUq~U$2#2{lQPQSkG*_R*vwQl9o&&N%^O;ZVJqzrvZUl2k- z1&nbduEKNw@ax>aCmGFp*fFl{zjTejd)WX_y%~qkkDXXb5|>P&>D>8i%(oGn4T8+iOby>z zdUv^|!p`8syu`RI1V0~q+!TG7mJmAJw>HU*vAu^Lf9tlTr8A>C0Q0l6eEw4(`Hg;QSNf$Hh$yC)N25whL|Y;1Sd3B+ zF{UBJB!-xY#59DMsc0G{rYf3>s5MH(T3c7e3|m(lRf(Vd+ZX}K&-~)u_x=xYpG7Fs3U8|b0000 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java new file mode 100644 index 00000000000..4e41e3bc99b --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java @@ -0,0 +1,75 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/ISshSettings + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +/** + * The interface {@link ILocalTerminalSettings} defines the public interface for connector-specific + * settings needed by the {@link LocalTerminalConnector}. The interface is implemented by class + * {@link LocalTerminalSettings}. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public interface ILocalTerminalSettings { + + /** + * The line separator setting CR (carriage return only; for example, used by Mac OS 9). + */ + public final static String LINE_SEPARATOR_CR = "\\r"; //$NON-NLS-1$ + + /** + * The line separator setting CRLF (carriage return and line feed; for example, used by + * Windows). + */ + public final static String LINE_SEPARATOR_CRLF = "\\r\\n"; //$NON-NLS-1$ + + /** + * The line separator setting LF (line feed only; used by all UNIX-based systems). + */ + public final static String LINE_SEPARATOR_LF = "\\n"; //$NON-NLS-1$ + + /** + * Loads the settings from a specified {@link ISettingsStore}. + * + * TODO: the {@link #load(ISettingsStore)} method should probably extracted to a super-interface + * as it appears to be common to all customized settings interfaces + * + * @param store the {@link ISettingsStore} to load the settings from + */ + public abstract void load(ISettingsStore store); + + /** + * Saves the settings to a specified {@link ISettingsStore}. + * + * TODO: the {@link #save(ISettingsStore)} method should probably extracted to a super-interface + * as it appears to be common to all customized settings interfaces + * + * @param store the {@link ISettingsStore} for storing the settings + */ + public abstract void save(ISettingsStore store); + + /** + * Gets the name of the launch configuration that will be started in the terminal. + * + * @return the launch configuration name + */ + public abstract String getLaunchConfigurationName(); + + /** + * Sets the name of the launch configuration that will be started in the terminal. + * + * @param configurationName the launch configuration name + */ + public abstract void setLaunchConfigurationName(String configurationName); +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java new file mode 100644 index 00000000000..26ba5ce996c --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java @@ -0,0 +1,88 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The class {@link LocalTerminalActivator} is the bundle activator for the Local Terminal + * Connector plug-in. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalActivator extends AbstractUIPlugin { + + /** + * The plug-in ID of the Local Terminal Connector plug-in. + */ + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.local"; //$NON-NLS-1$ + + private static LocalTerminalActivator plugin; + + /** + * Creates a new {@link LocalTerminalActivator}. + */ + public LocalTerminalActivator() { + + super(); + } + + /** + * Returns the shared plug-in instance. + * + * @return the shared instance + */ + public static LocalTerminalActivator getDefault() { + + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given plug-in relative path. + * + * @param path the path to the image + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + + return imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + /** + * Starts the bundle and initializes the shared plug-in reference. + * + * @param context the {@link BundleContext} + * + * @see AbstractUIPlugin#start(BundleContext) + */ + public void start(BundleContext context) throws Exception { + + super.start(context); + plugin = this; + } + + /** + * Stops the bundle and resets the the shared plug-in reference. + * + * @param context the {@link BundleContext} + * + * @see AbstractUIPlugin#stop(BundleContext) + */ + public void stop(BundleContext context) throws Exception { + + plugin = null; + super.stop(context); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java new file mode 100644 index 00000000000..fb3953d491e --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java @@ -0,0 +1,319 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] initial implementation; some methods adapted from + * org.eclipse.tm.terminal.ssh/SshConnector + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.OutputStream; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugEvent; +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.IDebugEventSetListener; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.IStreamMonitor; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; + +/** + * The class {@link LocalTerminalConnector} provides a terminal connector implementation for + * connecting to local programs (for example, a locally running bash shell or + * vi editor). + * + * @author Mirko Raner + * @version $Revision: 1.4 $ + */ +public class LocalTerminalConnector extends TerminalConnectorImpl +implements IDebugEventSetListener { + + // Shorthand for attribute names: + // + private final static String ATTR_CAPTURE_IN_CONSOLE = IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE; + private final static String ATTR_CAPTURE_OUTPUT = DebugPlugin.ATTR_CAPTURE_OUTPUT; + private final static String ATTR_PROCESS_FACTORY_ID = DebugPlugin.ATTR_PROCESS_FACTORY_ID; + + private LocalTerminalOutputStream terminalToLocalProcessStream; + private LocalTerminalOutputListener outputListener; + private LocalTerminalOutputListener errorListener; + private ILocalTerminalSettings settings; + private IStreamMonitor outputMonitor; + private IStreamMonitor errorMonitor; + private IProcess process; + private ILaunch launch; + + /** + * Creates a new {@link LocalTerminalConnector}. This constructor is invoked by the framework. + */ + public LocalTerminalConnector() { + + settings = new LocalTerminalSettings(); + } + + /** + * Loads the connector's settings from the specified store. + * + * @param store the {@link ISettingsStore} + * + * @see TerminalConnectorImpl#load(ISettingsStore) + * + * TODO: the load(ISettingsStore) method should probably be made abstract in + * TerminalConnectorImpl, otherwise it is not immediately clear that clients need to + * override this method if custom settings are necessary (which they usually are). + * Maybe the whole settings store mechanism should be redesigned. The current scheme + * requires clients to implement load/save methods in their connector implementation + * classes (necessity to override is not immediately obvious) and in the settings store + * implementations (not enforced at all; merely expected by convention). Structurally, + * all client implementations look more or less the same, and probably could be handled + * by the framework in a uniform way. Maybe a configuration mechanism using attributes + * (like, for example, ILaunchConfiguration) might be beneficial here. + */ + public void load(ISettingsStore store) { + + settings.load(store); + } + + /** + * Stores the connector's settings into the specified store. + * See {@link #load(ISettingsStore)} for additional notes. + * + * @param store the {@link ISettingsStore} + * + * @see TerminalConnectorImpl#save(ISettingsStore) + */ + public void save(ISettingsStore store) { + + settings.save(store); + } + + /** + * Creates the {@link ISettingsPage} for the settings of this connector. + * + * @return a new page that can be used in a dialog to setup this connection, or + * null if the connection cannot be customized or configured + * + * @see TerminalConnectorImpl#makeSettingsPage() + */ + public ISettingsPage makeSettingsPage() { + + return new LocalTerminalSettingsPage(settings); + } + + /** + * Returns a string that represents the settings of the connection. + * + * @return the name of the launch configuration that is running in the terminal + * + * @see TerminalConnectorImpl#getSettingsSummary() + * @see ILocalTerminalSettings#getLaunchConfigurationName() + */ + public String getSettingsSummary() { + + return settings.getLaunchConfigurationName(); + } + + /** + * Checks if local echo is required. + * + * @return true if the connection settings specify that local echo is enable, + * false otherwise + * + * @see TerminalConnectorImpl#isLocalEcho() + * @see LocalTerminalLaunchUtilities#ATTR_LOCAL_ECHO + */ + public boolean isLocalEcho() { + + return LocalTerminalUtilities.getLocalEcho(settings); + } + + /** + * Returns an {@link OutputStream} that writes to the local program's standard input. For the + * stream in the other direction (remote to terminal) see + * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. + * + * @return the terminal-to-remote-stream (bytes written to this stream will be sent to the + * local program) + */ + public OutputStream getTerminalToRemoteStream() { + + return terminalToLocalProcessStream; + } + + /** + * Connects a locally launched program to the {@link ITerminalControl}. + * + * @param control the {@link ITerminalControl} through which the user can interact with the + * program + */ + public void connect(ITerminalControl control) { + + super.connect(control); + control.setState(TerminalState.CONNECTING); + ILaunchConfigurationWorkingCopy workingCopy = null; + ILaunchConfiguration configuration = null; + try { + + String configurationName = settings.getLaunchConfigurationName(); + configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); + + // Always set the the process factory ID and enable console output (there is no need + // to restore these attributes afterwards; disabling console output does not make + // sense for terminal launches and will be overridden when the configuration is + // actually launched): + // + workingCopy = configuration.getWorkingCopy(); + workingCopy.setAttribute(ATTR_CAPTURE_OUTPUT, true); + workingCopy.setAttribute(ATTR_CAPTURE_IN_CONSOLE, true); + workingCopy.setAttribute(ATTR_PROCESS_FACTORY_ID, LocalTerminalProcessFactory.ID); + configuration = workingCopy.doSave(); + launch = configuration.launch(ILaunchManager.RUN_MODE, null); + + // To prevent a console from being allocated, the launch will actually not contain a + // reference to the runtime process. The process has to be obtained from the + // LocalTerminalProcessRegistry instead: + // + process = LocalTerminalProcessRegistry.getFromLaunch(launch); + IStreamsProxy streamsProxy = process.getStreamsProxy(); + + // Hook up standard input: + // + terminalToLocalProcessStream = new LocalTerminalOutputStream(process, settings); + + // Hook up standard output: + // + outputMonitor = streamsProxy.getOutputStreamMonitor(); + outputListener = new LocalTerminalOutputListener(control, settings); + outputMonitor.addListener(outputListener); + outputListener.streamAppended(outputMonitor.getContents(), outputMonitor); + + // Hook up standard error: + // + errorMonitor = streamsProxy.getErrorStreamMonitor(); + errorListener = new LocalTerminalOutputListener(control, settings); + errorMonitor.addListener(errorListener); + errorListener.streamAppended(errorMonitor.getContents(), errorMonitor); + // + // TODO: add proper synchronization for incoming data from stdout and stderr: + // currently, the data gets sometimes processed in the wrong order, for example, + // the next prompt (which shells like bash print to stderr) sometimes appears + // before the command's proper output that was sent to stdout. For example, + // you get: + // + // $ echo hello + // $ hello + // + // instead of the correct output of: + // + // $ echo hello + // hello + // $ + + // Listen for process termination and update the terminal state: + // + DebugPlugin.getDefault().addDebugEventListener(this); + control.setState(TerminalState.CONNECTED); + } + catch (CoreException exception) { + + Logger.logException(exception); + } + } + + /** + * Disconnects the connector if it is currently connected or does nothing otherwise. This method + * will try to terminate the underlying launched process and will remove all registered + * listeners. + */ + public void doDisconnect() { + + try { + + removeAllListeners(); + + // To prevent a console from being allocated, Terminal launches don't have an IProcess + // associated with them while they are running. However, to properly terminate a launch + // the launch has to contain at least one process that can be terminated (launches + // without processes effectively cannot be terminated): + // + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); + + // Now, terminate the process if it hasn't been terminated already: + // + if (launch.canTerminate()) { + + launch.terminate(); + // + // NOTE: canTerminate() merely indicates that the launch has not been terminated + // previously already + } + } + catch (DebugException couldNotTerminate) { + + Logger.logException(couldNotTerminate); + } + } + + /** + * Listens for self-induced termination of the launched process. For example, this method will + * be notified if a launched shell is terminated by pressing Control-D or by calling + * exit, or if a vi editor is terminated by means of a + * :q! command. + * + * @param event the debug events + * + * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[]) + */ + public void handleDebugEvents(DebugEvent[] event) { + + int numberOfEvents = event.length; + for (int index = 0; index < numberOfEvents; index++) { + + if (event[index].getSource().equals(process) + && (event[index].getKind() == DebugEvent.TERMINATE)) { + + fControl.setState(TerminalState.CLOSED); + removeAllListeners(); + return; + } + } + } + + /** + * Removes any listeners that the {@link LocalTerminalConnector} might have registered in its + * {@link #connect(ITerminalControl)} method. This method is necessary for clean-up when a + * connection is closed. It prevents that orphaned or meaningless listeners keep accumulating + * on certain objects. + */ + protected void removeAllListeners() { + + if (outputMonitor != null && outputListener != null) { + + outputMonitor.removeListener(outputListener); + } + if (errorMonitor != null && errorListener != null) { + + errorMonitor.removeListener(errorListener); + } + DebugPlugin.getDefault().removeDebugEventListener(this); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java new file mode 100644 index 00000000000..ebac822d946 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java @@ -0,0 +1,72 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.jface.viewers.BaseLabelProvider; +import org.eclipse.jface.viewers.ILabelProvider; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; + +/** + * The class {@link LocalTerminalLaunchLabelProvider} is an {@link ILabelProvider} for lists (or + * tables) of {@link ILaunchConfiguration}s. It returns a configuration's name as the text label, + * and the configuration type's regular icon as the image label. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalLaunchLabelProvider extends BaseLabelProvider implements ILabelProvider { + + /** + * Creates a new {@link LocalTerminalLaunchLabelProvider}. + */ + public LocalTerminalLaunchLabelProvider() { + + super(); + } + + /** + * Returns the image for the label of the given element. + * + * @param element the element for which the image was requested + * @return the image, or null if no image could be found + * + * @see ILabelProvider#getImage(Object) + */ + public Image getImage(Object element) { + + if (element instanceof ILaunchConfiguration) { + + return LocalTerminalLaunchUtilities.getImage((ILaunchConfiguration)element); + } + return null; + } + + /** + * Returns the text for the label of the given element. + * + * @param element the element for which to provide the label text + * @return the text string used to label the element, or null if there is no text + * label for the given object + * + * @see ILabelProvider#getText(Object) + */ + public String getText(Object element) { + + if (element instanceof ILaunchConfiguration) { + + return ((ILaunchConfiguration)element).getName(); + } + return String.valueOf(element); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java new file mode 100644 index 00000000000..63738ec529e --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java @@ -0,0 +1,90 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.jface.viewers.IStructuredContentProvider; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalLaunchListProvider} is a {@link IStructuredContentProvider} that + * provides a list of all {@link ILaunchConfiguration}s of the type "External Tools"/"Program". + * Those launch configurations can be used to start a new session in the Terminal View. + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class LocalTerminalLaunchListProvider implements IStructuredContentProvider { + + /** + * Creates a new {@link LocalTerminalLaunchListProvider}. + */ + public LocalTerminalLaunchListProvider() { + + super(); + } + + /** + * Returns the matching {@link ILaunchConfiguration}s for the given input element. This content + * provider does not really use the concept of "input" because the input can only be obtained in + * one way (from the {@link ILaunchManager}. + * + * @param input the input element (not checked or used by this method) + * @return the matching {@link ILaunchConfiguration}s + * + * @see IStructuredContentProvider#getElements(Object) + */ + public Object[] getElements(Object input) { + + ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); + ILaunchConfigurationType type = LocalTerminalUtilities.PROGRAM_LAUNCH_TYPE; + ILaunchConfiguration[] configurations = null; + try { + + configurations = launchManager.getLaunchConfigurations(type); + } + catch (CoreException couldNotObtainLaunchConfigurations) { + + Logger.logException(couldNotObtainLaunchConfigurations); + } + return configurations; + } + + /** + * Disposes of this {@link LocalTerminalLaunchListProvider}. Currently, there is no additional + * clean-up necessary, and this method is empty. + * + * @see org.eclipse.jface.viewers.IContentProvider#dispose() + */ + public void dispose() { + + // Does nothing... + } + + /** + * Notifies the {@link LocalTerminalLaunchListProvider} that its input has changed. This method + * is currently empty because {@link LocalTerminalLaunchListProvider} is not aware of the + * concept of "input" + * + * @see #getElements(Object) + * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object) + */ + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + + // Does nothing... + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java new file mode 100644 index 00000000000..38c7e9d5a47 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java @@ -0,0 +1,103 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.osgi.util.NLS; + +/** + * The class {@link LocalTerminalMessages} provides localization keys to internationalized display + * messages used by the Local Terminal Connector. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public class LocalTerminalMessages extends NLS { + + static { + + NLS.initializeMessages(LocalTerminalMessages.class.getName(), LocalTerminalMessages.class); + } + + private LocalTerminalMessages() { + + super(); + } + + /** The title for the launch configuration selection: "Launch configuration:". */ + public static String launchConfiguration; + + /** The label for the "New..." button. */ + public static String labelNew; + + /** The label for the "Edit..." button. */ + public static String labelEdit; + + /** The label for the "Enable terminal echo" check box. */ + public static String enableLocalEcho; + + /** The label for the "Send SIGINT when Ctrl-C is pressed" check box. */ + public static String sendInterruptOnCtrlC; + + /** The line separator option "LF". */ + public static String lineSeparatorLF; + + /** The line separator option "CR". */ + public static String lineSeparatorCR; + + /** The line separator option "CRLF". */ + public static String lineSeparatorCRLF; + + /** The default line separator option. */ + public static String lineSeparatorDefault; + + /** The base name for new launch configurations. */ + public static String newTerminalLaunchName; + + /** The error message to be issued if a launch configuration could not be found. */ + public static String noSuchLaunchConfiguration; + + /** The message displayed while launching a configuration. */ + public static String launchingConfiguration; + + /** The error message displayed when process creation failed. */ + public static String couldNotCreateIProcess; + + /** The error message for a missing executable path. */ + public static String locationNotSpecified; + + /** The error message for a specified but invalid executable path. */ + public static String invalidLocation; + + /** The error message for an invalid working directory location. */ + public static String invalidWorkingDirectory; + + /** The title string of the warning displayed when terminal launches are still running. */ + public static String warningTitleTerminalsStillRunning; + + /** The warning message displayed when terminal launches are still running. */ + public static String warningMessageTerminalsStillRunning; + + /** The label for the button that quits the workbench anyway. */ + public static String quitWorkbenchAnyway; + + /** The label for the button that vetoes a shutdown of the workbench. */ + public static String doNoQuitWorkbench; + + /** The label for a terminal process that was terminated during workbench shut-down. */ + public static String terminatedProcess; + + /** The name of the launch configuration tab for terminal settings. */ + public static String terminalTabName; + + /** The group label for the terminal settings on the launch configuration page. */ + public static String terminalSettings; +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties new file mode 100644 index 00000000000..e54522aca35 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties @@ -0,0 +1,39 @@ +#################################################################################################### +# Copyright (c) 2008 Mirko Raner. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +#################################################################################################### + +launchConfiguration=Launch configuration\: +enableLocalEcho=Enable terminal echo +sendInterruptOnCtrlC=Send SIGINT when Ctrl-C is pressed +lineSeparatorDefault=Program uses default line separator - or\: +lineSeparatorCRLF=CRLF +lineSeparatorLF=LF +lineSeparatorCR=CR +labelNew=New... +labelEdit=Edit... +terminalTabName=Terminal +terminalSettings=Terminal settings\: +newTerminalLaunchName=New Terminal Launch +noSuchLaunchConfiguration=A launch configuration called ''{0}'' does not exist +launchingConfiguration=Launching {0}... +couldNotCreateIProcess=The IProcess could not be created +locationNotSpecified=Executable location was not specified in configuration ''{0}'' +invalidLocation=Executable does not exist for the external tool named ''{0}'' +invalidWorkingDirectory=The path {0} is not a directory and cannot be used as working directory \ + for ''{1}'' +warningTitleTerminalsStillRunning=Warning: Terminals with active processes are still running +warningMessageTerminalsStillRunning=The workbench is about to be shut down even though one or more \ + terminals with active processes are still running. You may abort the shut-down of the workbench \ + or you may quit the workbench nonetheless, in which case processes might be terminated in an \ + unexpected fashion. You may also terminate processes individually. The workbench shut-down will \ + continue automatically once no more terminal processes are running. +quitWorkbenchAnyway=Quit Workbench Anyway +doNoQuitWorkbench=Do Not Quit Workbench +terminatedProcess={0} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java new file mode 100644 index 00000000000..b6d0c734677 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java @@ -0,0 +1,90 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.PrintStream; +import org.eclipse.debug.core.IStreamListener; +import org.eclipse.debug.core.model.IStreamMonitor; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalOutputListener} is an {@link IStreamListener} that transfers output + * from a program's standard output and standard error streams to an {@link ITerminalControl}. + * It does so by listening for appended text and sending it to the terminal's + * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. The class also performs line + * separator conversions as specified by the {@link ILocalTerminalSettings}. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalOutputListener implements IStreamListener { + + private PrintStream printStream; + private String lineSeparator; + + /** + * Creates a new {@link LocalTerminalOutputListener}. + * + * @param control the {@link ITerminalControl} to which the received output is forwarded + * @param settings the {@link ILocalTerminalSettings} + */ + public LocalTerminalOutputListener(ITerminalControl control, ILocalTerminalSettings settings) { + + printStream = new PrintStream(control.getRemoteToTerminalOutputStream(), true); + lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); + if (lineSeparator == null) { + + String defaultLS = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); + if (LocalTerminalUtilities.CRLF.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; + } + else if (LocalTerminalUtilities.LF.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; + } + else if (LocalTerminalUtilities.CR.equals(defaultLS)) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; + } + else { + + Logger.log("Unknown default line separator: " + defaultLS); //$NON-NLS-1$ + } + } + } + + /** + * Processes new output that was appended to the intercepted stream. + * + * @param text the new output + * @param monitor the {@link IStreamMonitor} from which the output was received (this parameter + * is currently not evaluated because each {@link IStreamMonitor} has its own dedicated instance + * of {@link LocalTerminalOutputListener} attached) + */ + public void streamAppended(String text, IStreamMonitor monitor) { + + // The VT100TerminalControl apparently adheres to a strict interpretation of the CR and + // LF control codes, i.e., CR moves the caret to the beginning of the line (but does not + // move down to the next line), and LF moves down to the next line (but not to the + // beginning of the line). Therefore, if the program launched in the terminal does not use + // CRLF as its line terminator the line terminators have to be converted to CRLF before + // being passed on to the terminal control: + // + if (!ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(lineSeparator)) { + + text = text.replaceAll(lineSeparator, LocalTerminalUtilities.CRLF); + } + printStream.print(text); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java new file mode 100644 index 00000000000..1bdcb1587b2 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java @@ -0,0 +1,184 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.io.IOException; +import java.io.OutputStream; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; + +/** + * The class {@link LocalTerminalOutputStream} is an {@link OutputStream} that copies data that is + * typed into the terminal to the standard input of the active process. Data that is written to the + * stream is directly forwarded to the {@link IStreamsProxy} of the process. CRLF line separators + * that are received from the terminal will be automatically converted to the line separator that is + * specified in the {@link ILocalTerminalSettings}. The Terminal Control generally sends CR line + * separators if the local echo is disabled and CRLF if enabled. The reason for this idiosyncrasy + * is not entirely clear right now and the line separator behavior might change in the future. + * + * TODO: research as to whether the CR/CRLF distinction in VT100TerminalControl.TerminalKeyHandler + * (based on the local echo setting) is really necessary + * + * @author Mirko Raner + * @version $Revision: 1.4 $ + */ +public class LocalTerminalOutputStream extends OutputStream { + + private final static String NOTHING = ""; //$NON-NLS-1$ + private final static String CRLF = LocalTerminalUtilities.CRLF; + private final static char CR = '\r'; + private final static char LF = '\n'; + private final static char CTRL_C = '\03'; + private final static int TERMINAL_SENDS_CR = 0; + private final static int TERMINAL_SENDS_CRLF = 1; + private final static int PROGRAM_EXPECTS_LF = 0; + private final static int PROGRAM_EXPECTS_CRLF = 1; + private final static int PROGRAM_EXPECTS_CR = 2; + private final static int NO_CHANGE = 0; + private final static int CHANGE_CR_TO_LF = 1; + private final static int INSERT_LF_AFTER_CR = 2; + private final static int REMOVE_CR = 3; + private final static int REMOVE_LF = 4; + + // CRLF conversion table: + // + // Expected line separator --> | LF | CRLF | CR | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo off - control sends CR | change CR to LF | insert LF after CR | no change | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo on - control sends CRLF | remove CR | no change | remove LF | + // + private final static int[][] CRLF_REPLACEMENT = { + + {CHANGE_CR_TO_LF, INSERT_LF_AFTER_CR, NO_CHANGE}, + {REMOVE_CR, NO_CHANGE, REMOVE_LF} + }; + + private final boolean sendSIGINTOnCtrlC; + private IStreamsProxy streamsProxy; + private IProcess process; + private int replacement; + + /** + * Creates a new {@link LocalTerminalOutputStream}. + * + * @param process the {@link IProcess} object of the terminal process + * @param settings the {@link ILocalTerminalSettings} (currently only used for the line + * separator settings) + */ + public LocalTerminalOutputStream(IProcess process, ILocalTerminalSettings settings) { + + this.process = process; + streamsProxy = process.getStreamsProxy(); + sendSIGINTOnCtrlC = LocalTerminalUtilities.getCtrlC(settings); + boolean localEcho = LocalTerminalUtilities.getLocalEcho(settings); + int terminalSends = localEcho? TERMINAL_SENDS_CRLF:TERMINAL_SENDS_CR; + int programExpects; + String lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); + if (lineSeparator == null) { + + lineSeparator = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); + if (LocalTerminalUtilities.CR.equals(lineSeparator)) { + + programExpects = PROGRAM_EXPECTS_CR; + } + else if (LocalTerminalUtilities.LF.equals(lineSeparator)) { + + programExpects = PROGRAM_EXPECTS_LF; + } + else { + + programExpects = PROGRAM_EXPECTS_CRLF; + } + } + else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_LF)) { + + programExpects = PROGRAM_EXPECTS_LF; + } + else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_CR)) { + + programExpects = PROGRAM_EXPECTS_CR; + } + else { + + programExpects = PROGRAM_EXPECTS_CRLF; + } + replacement = CRLF_REPLACEMENT[terminalSends][programExpects]; + } + + /** + * Writes the specified byte to this output stream. + * + * @param data the byte + * @throws IOException if an I/O error occurs + */ + public void write(int data) throws IOException { + + write(new byte[] {(byte)data}, 0, 1); + } + + /** + * Writes a specified number of bytes from the specified byte array starting at a given offset. + * + * @param data the array containing the data + * @param offset the offset into the array + * @param length the number of bytes to be written + * @throws IOException of an I/O error occurs + */ + public void write(byte[] data, int offset, int length) throws IOException { + + String text = new String(data, offset, length); + // + // TODO: check whether this is correct! new String(byte[], int, int) always uses the default + // encoding! + + if (replacement == CHANGE_CR_TO_LF) { + + text = text.replace(CR, LF); + } + else if (replacement == INSERT_LF_AFTER_CR) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, CRLF); + } + else if (replacement == REMOVE_CR) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, NOTHING); + } + else if (replacement == REMOVE_LF) { + + text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_LF, NOTHING); + } + + // Process Ctrl-C in the proper order: + // + int positionOfCtrlC = -1; + while (sendSIGINTOnCtrlC && (positionOfCtrlC = text.indexOf(CTRL_C)) != -1) { + + // Send text up to (and including) the Ctrl-C to the process, then send a SIGINT: + // + streamsProxy.write(text.substring(0, positionOfCtrlC+1)); + if (process instanceof LocalTerminalProcess) { + + ((LocalTerminalProcess)process).interrupt(); + } + + // Remove the part of the text that was already sent: + // + text = text.substring(positionOfCtrlC+1); + } + if (text.length() > 0) { + + streamsProxy.write(text); + } + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java new file mode 100644 index 00000000000..3d0d834cefb --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java @@ -0,0 +1,108 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettings + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import java.lang.reflect.Field; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalSettings} is the default implementation of the + * {@link ILocalTerminalSettings} interface. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public class LocalTerminalSettings implements ILocalTerminalSettings { + + private String launchConfiguration; + + /** + * Loads the settings from the given {@link ISettingsStore}. + * This method loads the store contents by means of reflection. This is clearly overkill for + * the few settings supported by this class, but the code is much more reusable. Pretty much + * every implementation of a custom settings store is implemented in the same fashion and + * might be replace by a single centralized implementation. + * + * TODO: check for possibilities to reuse this code! + * + * @param store the {@link ISettingsStore} + * @see ILocalTerminalSettings#load(ISettingsStore) + */ + public void load(ISettingsStore store) { + + Field[] declaredField = getClass().getDeclaredFields(); + int numberOfFields = declaredField.length; + for (int index = 0; index < numberOfFields; index++) { + + Field field = declaredField[index]; + Class type = field.getType(); + Object value = store.get(field.getName()); + if (type.equals(boolean.class)) { + + value = Boolean.valueOf((String)value); + } + // TODO: further conversions need to be added as new settings types are introduced + try { + + field.set(this, value); + } + catch (IllegalAccessException illegalAccess) { + + Logger.logException(illegalAccess); + } + } + } + + /** + * Saves the settings to the specified {@link ISettingsStore}. + * See {@link #load(ISettingsStore)} for further implementation notes. + * + * @param store the {@link ISettingsStore} + * + * @see ILocalTerminalSettings#save(ISettingsStore) + */ + public void save(ISettingsStore store) { + + Field[] declaredField = getClass().getDeclaredFields(); + int numberOfFields = declaredField.length; + for (int index = 0; index < numberOfFields; index++) { + + Field field = declaredField[index]; + try { + + field.setAccessible(true); + store.put(field.getName(), String.valueOf(field.get(this))); + } + catch (IllegalAccessException illegalAccess) { + + Logger.logException(illegalAccess); + } + } + } + + /** + * @see ILocalTerminalSettings#getLaunchConfigurationName() + */ + public String getLaunchConfigurationName() { + + return launchConfiguration; + } + + /** + * @see ILocalTerminalSettings#setLaunchConfigurationName(String) + */ + public void setLaunchConfigurationName(String launchConfiguration) { + + this.launchConfiguration = launchConfiguration; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java new file mode 100644 index 00000000000..18e2c672877 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java @@ -0,0 +1,287 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettingsPage + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.debug.internal.ui.DebugUIPlugin; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.debug.ui.ILaunchGroup; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Layout; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.Widget; +import org.eclipse.tm.internal.terminal.local.ui.DependentHeightComposite; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalSettingsPage} is an implementation {@link ISettingsPage} for + * local program connections. + * + * @author Mirko Raner + * @version $Revision: 1.4 $ + */ +public class LocalTerminalSettingsPage +implements ISettingsPage, ISelectionChangedListener, SelectionListener { + + private ILocalTerminalSettings settings; + private TableViewer viewer; + private Button buttonEdit; + private Button buttonNew; + + /** + * Creates a new {@link LocalTerminalSettingsPage} that reflects the settings of the specified + * {@link ILocalTerminalSettings} object. + * + * @param settings the {@link ILocalTerminalSettings} + */ + public LocalTerminalSettingsPage(ILocalTerminalSettings settings) { + + this.settings = settings; + } + + /** + * Creates the {@link org.eclipse.swt.widgets.Control} for the settings page. + * (NOTE: contrary to the common pattern, this method does not actually return the Control it + * created) + * + * @param parent the parent {@link Composite} into which the control is to be inserted + * + * @see ISettingsPage#createControl(Composite) + */ + public void createControl(Composite parent) { + + Composite enclosing = parent.getParent(); + Layout enclosingLayout = enclosing.getLayout(); + int extra = 0; + if (enclosingLayout instanceof GridLayout) { + + extra = -2*((GridLayout)enclosingLayout).marginHeight-2; + } + Composite composite = new DependentHeightComposite(parent, SWT.NONE, enclosing, extra); + // + // TODO: This is a HACK that ensures proper resizing of the settings page inside the + // StackLayout of the PageBook. The following code makes implicit assumptions about + // the internal layout of surrounding widgets. This is something that should be + // properly addressed in the framework (maybe in the PageBook class). + + GridLayout layout = new GridLayout(); + layout.marginWidth = layout.marginHeight = 0; + layout.horizontalSpacing = layout.verticalSpacing = 0; + composite.setLayout(layout); + composite.setLayoutData(new GridData(GridData.FILL_BOTH)); + Label label = new Label(composite, SWT.NONE); + label.setText(LocalTerminalMessages.launchConfiguration); + label.setLayoutData(new GridData()); + + // Create list of available launch configurations: + // + Composite tableAndButtons = new Composite(composite, SWT.NONE); + tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH)); + layout = new GridLayout(2, false); + layout.marginWidth = 0; + tableAndButtons.setLayout(layout); + Table table = new Table(tableAndButtons, SWT.BORDER); + viewer = new TableViewer(table); + viewer.setLabelProvider(new LocalTerminalLaunchLabelProvider()); + viewer.setContentProvider(new LocalTerminalLaunchListProvider()); + viewer.setInput(new Object()); + viewer.addSelectionChangedListener(this); + table.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 0, 2)); + buttonNew = pushButton(tableAndButtons, LocalTerminalMessages.labelNew, false); + buttonEdit = pushButton(tableAndButtons, LocalTerminalMessages.labelEdit, true); + buttonEdit.setEnabled(settings.getLaunchConfigurationName() != null); + // + // NOTE: echo and line separator settings were moved to the launch configuration! + + // NOTE: loadSettings() is actually NOT called by the framework but needs to be called + // by the settings page itself + // TODO: this should be fixed in the framework; otherwise there is really no point + // in having it be a part of the ISettingsPage interface + // + loadSettings(); + } + + /** + * Loads the settings from the internal {@link ILocalTerminalSettings} object. + * This method will update the UI to reflect the current settings. + * + * @see ISettingsPage#loadSettings() + */ + public void loadSettings() { + + String configurationName = settings.getLaunchConfigurationName(); + ILaunchConfiguration configuration; + try { + + configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); + } + catch (CoreException couldNotFindLaunchConfiguration) { + + configuration = null; + } + if (settings.getLaunchConfigurationName() != null && configuration != null) { + + viewer.setSelection(new StructuredSelection(configuration), true); + } + } + + /** + * Saves the settings that are currently displayed in the UI to the internal + * {@link ILocalTerminalSettings} object. + * + * @see ISettingsPage#saveSettings() + */ + public void saveSettings() { + + if (viewer != null && !viewer.getSelection().isEmpty()) { + + IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); + Object element = selection.getFirstElement(); + if (element instanceof ILaunchConfiguration) { + + String launchConfiguration = ((ILaunchConfiguration)element).getName(); + settings.setLaunchConfigurationName(launchConfiguration); + } + } + } + + /** + * Checks if the current settings are valid for starting a terminal session. + * This method will only return true if a launch configuration is selected. + * + * @return true if a launch configuration has been selected, false + * otherwise + */ + public boolean validateSettings() { + + return viewer != null && !viewer.getSelection().isEmpty(); + } + + /** + * Enables or disables the Edit... button depending on whether a launch configuration is + * currently selected in the viewer. + * + * @see ISelectionChangedListener#selectionChanged(SelectionChangedEvent) + */ + public void selectionChanged(SelectionChangedEvent event) { + + buttonEdit.setEnabled(!event.getSelection().isEmpty()); + } + + /** + * Handles default button clicks for the Edit... and New.. buttons. This method will simply + * pass on the call to {@link #widgetSelected(SelectionEvent)}. + * + * @param event the {@link SelectionEvent} + * + * @see SelectionListener#widgetDefaultSelected(SelectionEvent) + */ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + /** + * Handles default button clicks for the Edit... and New.. buttons. + * + * @param event the {@link SelectionEvent} + * + * @see SelectionListener#widgetSelected(SelectionEvent) + */ + public void widgetSelected(SelectionEvent event) { + + ILaunchConfiguration configuration = null; + Widget widget = event.widget; + if (widget == null) { + + return; + } + if (widget.equals(buttonNew)) { + + ILaunchConfigurationWorkingCopy newlyCreatedConfiguration; + ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); + String baseName = LocalTerminalMessages.newTerminalLaunchName; + String uniqueName = launchManager.generateUniqueLaunchConfigurationNameFrom(baseName); + ILaunchConfigurationType type = LocalTerminalUtilities.PROGRAM_LAUNCH_TYPE; + try { + + newlyCreatedConfiguration = type.newInstance(null, uniqueName); + configuration = newlyCreatedConfiguration.doSave(); + } + catch (CoreException couldNotCreateNewLaunchConfiguration) { + + Logger.logException(couldNotCreateNewLaunchConfiguration); + } + } + if (widget.equals(buttonEdit) || configuration != null) { + + ILaunchGroup group; + Shell shell = DebugUIPlugin.getShell(); + IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); + if (configuration == null) { + + configuration = (ILaunchConfiguration)selection.getFirstElement(); + } + group = DebugUITools.getLaunchGroup(configuration, ILaunchManager.RUN_MODE); + String groupID = group.getIdentifier(); + DebugUITools.openLaunchConfigurationDialog(shell, configuration, groupID, null); + // + // TODO: handle return value (maybe start terminal right away if "Run" was selected) + // - a return value of Window.CANCEL indicates that "Close" was selected + // - a return value of Window.OK indicates that "Run" was selected + // TODO: prevent "Run" button from launching in the regular console + // (maybe tweak process factory settings before opening the configuration in the + // dialog?) + + viewer.refresh(); + viewer.setSelection(new StructuredSelection(configuration), true); + // + // TODO: handle renamed configurations; setSelection(...) will not work if the user + // renamed the configuration in the dialog (apparently, because renaming actually + // creates a different ILaunchConfiguration object, rather than just renaming the + // existing one) + } + } + + //------------------------------------ PRIVATE SECTION ---------------------------------------// + + private Button pushButton(Composite parent, String label, boolean grabVertical) { + + GridData layoutData; + Button button = new Button(parent, SWT.PUSH); + button.setText(label); + layoutData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING|GridData.HORIZONTAL_ALIGN_FILL); + layoutData.grabExcessVerticalSpace = grabVertical; + button.setLayoutData(layoutData); + button.addSelectionListener(this); + return button; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java new file mode 100644 index 00000000000..54bc719d405 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java @@ -0,0 +1,158 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.debug.core.ILaunchManager; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalUtilities} is a collection of commonly used constants and utility + * methods. + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public class LocalTerminalUtilities { + + private static String NULL = null; + private static String LOCAL_TERMINAL = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; + + /** The name of the line separator system property (i.e., "line.separator"). */ + public final static String LINE_SEPARATOR_PROPERTY = "line.separator"; //$NON-NLS-1$ + + /** The line separator CRLF (i.e., "\r\n"). */ + public final static String CRLF = "\r\n"; //$NON-NLS-1$ + + /** The line separator CR (i.e., "\r"). */ + public final static String CR = "\r"; //$NON-NLS-1$ + + /** The line separator LF (i.e., "\n"). */ + public final static String LF = "\n"; //$NON-NLS-1$ + + private LocalTerminalUtilities() { + + super(); + } + + /** The {@link DebugPlugin}'s {@link ILaunchManager} instance. */ + public final static ILaunchManager LAUNCH_MANAGER = DebugPlugin.getDefault().getLaunchManager(); + + /** + * The {@link ILaunchConfigurationType} for "Program" launches (in the "External Tools" + * category). + */ + public final static ILaunchConfigurationType PROGRAM_LAUNCH_TYPE = + LAUNCH_MANAGER.getLaunchConfigurationType(LOCAL_TERMINAL); + + /** + * Finds a launch configuration by its name. + * + * @param name the name of the launch configuration + * @return the corresponding {@link ILaunchConfiguration} object or null if the + * configuration could not be found + * @throws CoreException if there was a general problem accessing launch configurations + */ + public static ILaunchConfiguration findLaunchConfiguration(String name) throws CoreException { + + ILaunchConfiguration[] configuration; + ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); + configuration = manager.getLaunchConfigurations(LocalTerminalUtilities.PROGRAM_LAUNCH_TYPE); + int numberOfConfigurations = configuration.length; + for (int index = 0; index < numberOfConfigurations; index++) { + + if (configuration[index].getName().equals(name)) { + + return configuration[index]; + } + } + String error = NLS.bind(LocalTerminalMessages.noSuchLaunchConfiguration, name); + throw new CoreException(new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, error)); + } + + /** + * Gets the local echo setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return true for local echo enabled, false otherwise + */ + public static boolean getLocalEcho(ILocalTerminalSettings settings) { + + return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO); + } + + /** + * Gets the Ctrl-C/SIGINT setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return true if sending SIGINT for Ctrl-C is enabled, + * false otherwise + */ + public static boolean getCtrlC(ILocalTerminalSettings settings) { + + return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_CTRL_C); + } + + /** + * Gets the line separator setting that is stored in the launch configuration for the given + * {@link ILocalTerminalSettings}. + * + * @param settings the {@link ILocalTerminalSettings} + * @return {@link ILocalTerminalSettings#LINE_SEPARATOR_LF}, + * {@link ILocalTerminalSettings#LINE_SEPARATOR_CRLF}, + * {@link ILocalTerminalSettings#LINE_SEPARATOR_CR}, or null for the platform's + * default line separator + */ + public static String getLineSeparator(ILocalTerminalSettings settings) { + + String configurationName = settings.getLaunchConfigurationName(); + try { + + String ls; + ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); + ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + return ls; + } + catch (CoreException exception) { + + Logger.logException(exception); + return null; + } + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static boolean getBooleanSetting(ILocalTerminalSettings settings, String attribute) { + + String configurationName = settings.getLaunchConfigurationName(); + try { + + ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); + return configuration.getAttribute(attribute, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + return false; + } + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java new file mode 100644 index 00000000000..a6974da1268 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java @@ -0,0 +1,265 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.cdt.utils.spawner.ProcessFactory; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.LaunchConfigurationDelegate; +import org.eclipse.debug.ui.CommonTab; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.PlatformUI; + +/** + * The class {@link LocalTerminalLaunchDelegate} provides a launch configuration delegate for local + * terminal launches. It is based on the ProgramLaunchDelegate class in the + * org.eclipse.ui.externaltools plug-in. In contrast to the original class, + * {@link LocalTerminalLaunchDelegate} creates its low-level {@link Process} object using the CDT + * {@link ProcessFactory}, which allows the process to run with a pseudo-terminal ({@link PTY}). + * + * @author Mirko Raner and others + * @version $Revision: 1.2 $ + */ +public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { + + private final static String EMPTY = ""; //$NON-NLS-1$ + private final static String PLUGIN_ID = LocalTerminalActivator.PLUGIN_ID; + + /** + * The launch configuration type ID for terminal launches. + */ + public final static String LAUNCH_CONFIGURATION_TYPE_ID = PLUGIN_ID + ".launch"; //$NON-NLS-1$ + + private static LocalTerminalStillRunningListener workbenchCloseListener; + + /** + * Creates a new {@link LocalTerminalLaunchDelegate}. + */ + public LocalTerminalLaunchDelegate() { + + super(); + } + + /** + * Launches a new Local Terminal configuration in the specified mode. The launch object has + * already been registered with the launch manager. + * + * @param configuration the {@link ILaunchConfiguration} to launch + * @param mode the mode in which to launch; currently, Local Terminal launches only support the + * mode {@link org.eclipse.debug.core.ILaunchManager#RUN_MODE} + * @param progressMonitor an {@link IProgressMonitor}, or null for no progress + * monitoring + * @param launch the {@link ILaunch} object + * @exception CoreException if launching fails + */ + public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, + IProgressMonitor progressMonitor) throws CoreException { + + // Extract all relevant information from the ILaunchConfiguration; the original + // ProgramLaunchDelegate class checks for cancellation again and again after each step, + // which is a somewhat suspect pattern; however, for now, LocalTerminalLaunchDelegate + // handles cancellation in the same way: + // + if (progressMonitor.isCanceled()) { + + return; + } + IPath location = LocalTerminalLaunchUtilities.getLocation(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + IPath workingDirectory = LocalTerminalLaunchUtilities.getWorkingDirectory(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + String[] arguments = LocalTerminalLaunchUtilities.getArguments(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + String[] commandLine = new String[arguments != null? arguments.length+1:1]; + commandLine[0] = location.toOSString(); + if (arguments != null) { + + System.arraycopy(arguments, 0, commandLine, 1, arguments.length); + } + File workingDirectoryAsFile = null; + if (workingDirectory != null) { + + workingDirectoryAsFile = workingDirectory.toFile(); + } + if (progressMonitor.isCanceled()) { + + return; + } + String[] environment = LocalTerminalUtilities.LAUNCH_MANAGER.getEnvironment(configuration); + if (progressMonitor.isCanceled()) { + + return; + } + // + // TODO: check if there is a better way of handling cancellation of terminal launches! + + // Install an IWindowListener that checks for left-over terminal processes when the + // workbench is closed: + // + if (workbenchCloseListener == null) { + + workbenchCloseListener = new LocalTerminalStillRunningListener(); + PlatformUI.getWorkbench().addWorkbenchListener(workbenchCloseListener); + } + + // Create the low-level Process object: + // + Process spawner; + try { + + ProcessFactory factory = ProcessFactory.getFactory(); + if (PTY.isSupported()) { + + spawner = factory.exec(commandLine, environment, workingDirectoryAsFile, new PTY()); + } + else { + + spawner = factory.exec(commandLine, environment, workingDirectoryAsFile); + } + } + catch (IOException exception) { + + Status error; + String message = exception.getMessage(); + error = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message, exception); + throw new CoreException(error); + } + + // Use program name as "process type" attribute: + // + Map processAttributes = new HashMap(); + String programName = location.lastSegment(); + String extension = location.getFileExtension(); + if (extension != null) { + + programName = programName.substring(0, programName.length()-extension.length()-1); + } + processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName.toLowerCase()); + + // Create the IProcess: + // + IProcess process = null; + if (spawner != null) { + + String[] configurationName = {configuration.getName()}; + String task = NLS.bind(LocalTerminalMessages.launchingConfiguration, configurationName); + progressMonitor.beginTask(task, IProgressMonitor.UNKNOWN); + process = DebugPlugin.newProcess(launch, spawner, commandLine[0], processAttributes); + } + if (spawner == null || process == null) { + + if (spawner != null) { + + spawner.destroy(); + } + String pluginID = LocalTerminalActivator.PLUGIN_ID; + String errorMessage = LocalTerminalMessages.couldNotCreateIProcess; + Status error = new Status(IStatus.ERROR, pluginID, IStatus.ERROR, errorMessage, null); + throw new CoreException(error); + } + process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(commandLine)); + + // Wait for process termination if necessary (though probably highly unusual for terminal + // launches); again, the busy waiting pattern was copied from ProgramLaunchDelegate and is + // somewhat suspect: + // + if (!CommonTab.isLaunchInBackground(configuration)) { + + while (!process.isTerminated()) { + + try { + + if (progressMonitor.isCanceled()) { + + process.terminate(); + break; + } + Thread.sleep(50); + } + catch (InterruptedException interrupt) { + + Logger.logException(interrupt); + } + } + } + // + // TODO: find a better replacement for the busy waiting loop + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private String generateCommandLine(String[] commandLine) { + + if (commandLine.length < 1) { + + return EMPTY; + } + StringBuffer buffer = new StringBuffer(); + for (int element = 0; element < commandLine.length; element++) { + + if (element > 0) { + + buffer.append(' '); + } + StringBuffer argument = new StringBuffer(); + char[] characters = commandLine[element].toCharArray(); + boolean argumentContainsSpace = false; + for (int index = 0; index < characters.length; index++) { + + char character = characters[index]; + if (character == '"') { + + argument.append('\\'); + } + else if (character == ' ') { + + argumentContainsSpace = true; + } + argument.append(character); + } + if (argumentContainsSpace) { + + buffer.append('"').append(argument).append('"'); + } + else { + + buffer.append(argument); + } + } + return buffer.toString(); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java new file mode 100644 index 00000000000..8eed6da5555 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java @@ -0,0 +1,201 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ExternalToolsUtil + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.io.File; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.variables.IStringVariableManager; +import org.eclipse.core.variables.VariablesPlugin; +import org.eclipse.debug.core.DebugPlugin; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalLaunchUtilities} provides some utility methods that are used by the + * {@link LocalTerminalLaunchDelegate}. The class is based on the ExternalToolsUtil + * class in the org.eclipse.ui.externaltools plug-in. This code had to be duplicated + * because the original class is not part of the public API of its plug-in. + * + * @author Mirko Raner and others + * @version $Revision: 1.2 $ + */ +public class LocalTerminalLaunchUtilities { + + /** The launch configuration attribute for the local echo setting. */ + public final static String ATTR_LOCAL_ECHO = LocalTerminalActivator.PLUGIN_ID + + ".echo"; //$NON-NLS-1$ + + /** The launch configuration attribute for the Ctrl-C/SIGINT setting. */ + public final static String ATTR_CTRL_C = LocalTerminalActivator.PLUGIN_ID + + ".sigint"; //$NON-NLS-1$ + + /** The launch configuration attribute for the line terminator setting. */ + public final static String ATTR_LINE_SEPARATOR = LocalTerminalActivator.PLUGIN_ID + + ".lineseparator"; //$NON-NLS-1$ + + private final static String[] EMPTY = {}; + private final static String STRING = null; + + // These constants were copied from IExternalToolConstants to avoid references to internal API: + // + private final static String XT = "org.eclipse.ui.externaltools"; //$NON-NLS-1$; + private final static String ATTR_LOCATION = XT+".ATTR_LOCATION"; //$NON-NLS-1$ + private final static String ATTR_TOOL_ARGUMENTS = XT+".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$ + private final static String ATTR_WORKING_DIRECTORY = XT+".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$ + + private LocalTerminalLaunchUtilities() { + + super(); + } + + /** + * Gets the image that should be used for representing the given launch configuration. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an SWT {@link Image} or null if no suitable image was found + */ + public static Image getImage(ILaunchConfiguration configuration) { + + String identifier; + try { + + identifier = configuration.getType().getIdentifier(); + } + catch (CoreException couldNotDetermineConfigurationType) { + + identifier = null; + Logger.logException(couldNotDetermineConfigurationType); + } + if (identifier != null) { + + return DebugUITools.getImage(identifier); + } + return null; + } + + /** + * Expands and returns the location attribute of the given launch configuration. The location is + * verified to point to an existing file in the local file system. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an absolute path to a file in the local file system + * @throws CoreException if unable to retrieve the associated launch configuration attribute, or + * if unable to resolve any variables, or if the resolved location does not point to an existing + * file in the local file system + */ + public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException { + + Object[] configurationName = {configuration.getName()}; + String location = configuration.getAttribute(ATTR_LOCATION, STRING); + if (location == null) { + + abort(NLS.bind(LocalTerminalMessages.locationNotSpecified, configurationName), null, 0); + } + String expandedLocation = getStringVariableManager().performStringSubstitution(location); + if (expandedLocation == null || expandedLocation.length() == 0) { + + abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); + } + File file = new File(expandedLocation); + if (!file.isFile()) { + + abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); + } + return new Path(expandedLocation); + } + + /** + * Expands and returns the working directory attribute of the given launch configuration. + * Returns null if a working directory is not specified. If specified, the working + * directory is guaranteed to point to an existing directory in the local file system. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an absolute path to a directory in the local file system, or null if + * no working directory was specified + * @throws CoreException if unable to retrieve the associated launch configuration attribute, + * or if unable to resolve any variables, or if the resolved location does not point to an + * existing directory in the local file system + */ + public static IPath getWorkingDirectory(ILaunchConfiguration configuration) + throws CoreException { + + String location = configuration.getAttribute(ATTR_WORKING_DIRECTORY, STRING); + if (location != null) { + + String expandedLocation; + expandedLocation = getStringVariableManager().performStringSubstitution(location); + if (expandedLocation.length() > 0) { + + File path = new File(expandedLocation); + if (!path.isDirectory()) { + + Object[] detail = {expandedLocation, configuration.getName()}; + abort(NLS.bind(LocalTerminalMessages.invalidWorkingDirectory, detail), null, 0); + } + } + return new Path(expandedLocation); + } + return null; + } + + /** + * Expands and returns the arguments attribute of the given launch configuration. Returns + * null if arguments were not specified. + * + * @param configuration the {@link ILaunchConfiguration} + * @return an array of resolved arguments, or null if no arguments were specified + * @throws CoreException if unable to retrieve the associated launch configuration attribute, + * or if unable to resolve any variables + */ + public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException { + + String arguments = configuration.getAttribute(ATTR_TOOL_ARGUMENTS, STRING); + if (arguments != null) { + + String expanded = getStringVariableManager().performStringSubstitution(arguments); + return parseStringIntoList(expanded); + } + return null; + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static IStringVariableManager getStringVariableManager() { + + return VariablesPlugin.getDefault().getStringVariableManager(); + } + + private static String[] parseStringIntoList(String arguments) { + + if (arguments == null || arguments.length() == 0) { + + return EMPTY; + } + return DebugPlugin.parseArguments(arguments); + } + + private static void abort(String text, Throwable exception, int code) throws CoreException { + + Status status; + status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, code, text, exception); + throw new CoreException(status); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java new file mode 100644 index 00000000000..9014b5fb389 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java @@ -0,0 +1,119 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch; + +import java.util.ArrayList; +import java.util.List; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationType; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.local.launch.ui.LocalTerminalStillRunningDialog; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchListener; +import org.eclipse.ui.IWorkbenchWindow; + +/** + * The class {@link LocalTerminalStillRunningListener} is an {@link IWorkbenchListener} that warns + * the user about any terminal launches that are still running when the workbench closes. The user + * might want to take specific action to deal with such left-over processes. Typically, this + * listener will trigger only on very rare cases because the + * {@link org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector} implementation will + * terminate left-over launches when the workbench window is closed. However, it is possible that + * a terminal launch does not get automatically terminated, for example, if it was started through + * an External Tools launch rather than through the terminal. + * + * The class {@link LocalTerminalStillRunningListener} is inspired by the + * ProgramLaunchWindowListener class inside ProgramLaunchDelegate in the + * org.eclipse.ui.externaltools plug-in, though it works through a slightly different + * mechanism. + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class LocalTerminalStillRunningListener implements IWorkbenchListener { + + /** + * Creates a new {@link LocalTerminalStillRunningListener}. + */ + public LocalTerminalStillRunningListener() { + + super(); + } + + /** + * Gets notified when the workbench is closed and informs the user about any left-over + * terminal launches. + * + * @param workbench the {@link IWorkbench} + * @param forced true if a forced shutdown occurred, false otherwise + * @return true to allow the workbench to proceed with shutdown, false + * to prevent a shutdown (only for non-forced shutdown) + */ + public boolean preShutdown(IWorkbench workbench, boolean forced) { + + if (forced) { + + return true; + } + ILaunchConfigurationType launchType; + String launchTypeID = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; + launchType = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunchConfigurationType(launchTypeID); + if (launchType == null) { + + return true; + } + List notTerminated = new ArrayList(); + ILaunch launches[] = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunches(); + ILaunchConfigurationType configurationType; + ILaunchConfiguration configuration; + for (int launch = 0; launch < launches.length; launch++) { + + try { + + configuration = launches[launch].getLaunchConfiguration(); + if (configuration == null) { + + continue; + } + configurationType= configuration.getType(); + } + catch (CoreException exception) { + + Logger.logException(exception); + continue; + } + if (configurationType.equals(launchType) && !launches[launch].isTerminated()) { + + notTerminated.add(launches[launch]); + } + } + if (!notTerminated.isEmpty()) { + + IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); + ILaunch[] launch = (ILaunch[])notTerminated.toArray(new ILaunch[notTerminated.size()]); + return LocalTerminalStillRunningDialog.openDialog(window.getShell(), launch); + } + return true; + } + + /** + * Not implemented. + * @see IWorkbenchListener#postShutdown(IWorkbench) + */ + public void postShutdown(IWorkbench workbench) { + + // Not implemented + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java new file mode 100644 index 00000000000..4779739d606 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java @@ -0,0 +1,113 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.Platform; +import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; +import org.eclipse.debug.ui.CommonTab; +import org.eclipse.debug.ui.EnvironmentTab; +import org.eclipse.debug.ui.IDebugUIConstants; +import org.eclipse.debug.ui.ILaunchConfigurationDialog; +import org.eclipse.debug.ui.ILaunchConfigurationTab; +import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** +* The class {@link LocalTerminalLaunchTabGroup} defines the tabs for the launch configuration +* dialog that is used for terminal-based launches. The tab groups consists of the main tab for +* a standard program launch (lifted from the org.eclipse.ui.externaltools plug-in), the +* custom {@link LocalTerminalSettingsTab}, and the {@link EnvironmentTab} and {@link CommonTab}, +* which can be publicly accessed from the org.eclipse.debug.ui plug-in. +* +* @author Mirko Raner +* @version $Revision: 1.1 $ +**/ +public class LocalTerminalLaunchTabGroup extends AbstractLaunchConfigurationTabGroup +implements IDebugUIConstants { + + private final static String ID = "id"; //$NON-NLS-1$ + private final static String CLASS = "class"; //$NON-NLS-1$ + private final static String LC_TAB_GROUPS = EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS; + private final static String PROGRAM_TAB_GROUP = + "org.eclipse.ui.externaltools.launchConfigurationTabGroup.program"; //$NON-NLS-1$ + + /** + * Creates a new {@link LocalTerminalLaunchTabGroup}. + **/ + public LocalTerminalLaunchTabGroup() { + + super(); + } + + /** + * Creates the tabs contained in the local terminal launch configuration dialog for the specified + * launch mode. The tabs control's are not yet created. This is the first method called in the + * life-cycle of a tab group. + * + * @param dialog the launch configuration dialog this tab group is contained in + * @param mode the mode the launch configuration dialog was opened in + * @see AbstractLaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) + **/ + public void createTabs(ILaunchConfigurationDialog dialog, String mode) { + + ILaunchConfigurationTab main = getMainTab(dialog, mode); + ILaunchConfigurationTab terminal = new LocalTerminalSettingsTab(); + ILaunchConfigurationTab environment = new EnvironmentTab(); + ILaunchConfigurationTab common = new CommonTab(); + ILaunchConfigurationTab[] tabs = {main, terminal, environment, common}; + setTabs(tabs); + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private ILaunchConfigurationTab getMainTab(ILaunchConfigurationDialog dialog, String mode) { + + // Find the main tab for the external program launch in the registry (a direct search is + // only possible for extensions that actually declare a unique ID, which most extensions + // don't; the search for the "id" attribute of a configuration element has to be done + // manually): + // + IConfigurationElement[] element; + IExtensionRegistry registry = Platform.getExtensionRegistry(); + element = registry.getConfigurationElementsFor(IDebugUIConstants.PLUGIN_ID, LC_TAB_GROUPS); + int numberOfElements = element.length; + for (int index = 0; index < numberOfElements; index++) { + + if (element[index].getAttribute(ID).equals(PROGRAM_TAB_GROUP)) { + + try { + + ILaunchConfigurationTabGroup tabGroup; + Object executable = element[index].createExecutableExtension(CLASS); + tabGroup = (ILaunchConfigurationTabGroup)executable; + tabGroup.createTabs(dialog, mode); + + // It's not possible to make assumptions about the class name of the program + // main tab (without over-stepping API boundaries), but it's usually the very + // first tab in the group (which is an assumption that actually also over-steps + // API boundaries, but it's the best possible solution, short of copying the + // whole source code): + // + return tabGroup.getTabs()[0]; + } + catch (CoreException exception) { + + Logger.logException(exception); + } + } + } + return null; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java new file mode 100644 index 00000000000..295cc7b8427 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java @@ -0,0 +1,265 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.debug.core.ILaunchConfiguration; +import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; +import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.layout.RowLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.tm.internal.terminal.local.ILocalTerminalSettings; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalSettingsTab} provides the UI for custom settings that are specific + * to terminal-based launches. Currently, the tab allows the user to control the local echo settings + * and the line separator string. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + **/ +public class LocalTerminalSettingsTab extends AbstractLaunchConfigurationTab +implements SelectionListener { + + private final static String NULL = null; + + private Button buttonEcho; + private Button buttonCtrlC; + private Button separatorDefault; + private Button separatorLF; + private Button separatorCRLF; + private Button separatorCR; + + /** + * Creates a new {@link LocalTerminalSettingsTab}. + **/ + public LocalTerminalSettingsTab() { + + super(); + } + + /** + * Creates the top-level control for this launch configuration tab under the given parent + * composite. This method is called once on tab creation. + * + * @param parent the parent {@link Composite} + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) + **/ + public void createControl(Composite parent) { + + Composite container = new Composite(parent, SWT.NONE); + setControl(container); + container.setLayout(new GridLayout()); + Group composite = new Group(container, SWT.NONE); + composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + composite.setText(LocalTerminalMessages.terminalSettings); + composite.setLayout(new GridLayout()); + + // Create echo check box: + // + buttonEcho = button(composite, LocalTerminalMessages.enableLocalEcho, SWT.CHECK); + buttonEcho.setLayoutData(new GridData()); + + // Create Ctrl-C/SIGINT check box: + // + buttonCtrlC = button(composite, LocalTerminalMessages.sendInterruptOnCtrlC, SWT.CHECK); + buttonCtrlC.setLayoutData(new GridData()); + + // Create radio buttons for line separator settings: + // + Composite separator = new Composite(composite, SWT.NONE); + RowLayout rowLayout = new RowLayout(); + rowLayout.wrap = false; + separator.setLayout(rowLayout); + separatorDefault = button(separator, LocalTerminalMessages.lineSeparatorDefault, SWT.RADIO); + separatorLF = button(separator, LocalTerminalMessages.lineSeparatorLF, SWT.RADIO); + separatorCRLF = button(separator, LocalTerminalMessages.lineSeparatorCRLF, SWT.RADIO); + separatorCR = button(separator, LocalTerminalMessages.lineSeparatorCR, SWT.RADIO); + separator.setLayoutData(new GridData()); + } + + /** + * Returns the name of this tab. + * + * @return the name of this tab + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName() + **/ + public String getName() { + + return LocalTerminalMessages.terminalTabName; + } + + /** + * Returns the image for this tab, or null if none + * + * @return the image for this tab, or null if none + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage() + **/ + public Image getImage() { + + return DebugUITools.getImage(LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID); + } + + /** + * Initializes this tab's controls with values from the given launch configuration. This method + * is called when a configuration is selected to view or edit, after the tab's control has been + * created. + * + * @param configuration the launch configuration + * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration) + **/ + public void initializeFrom(ILaunchConfiguration configuration) { + + boolean echo; + try { + + echo = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + echo = false; + } + boolean ctrlC; + try { + + ctrlC = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); + } + catch (CoreException exception) { + + Logger.logException(exception); + ctrlC = false; + } + String ls; + try { + + ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + } + catch (CoreException exception) { + + Logger.logException(exception); + ls = null; + } + buttonEcho.setSelection(echo); + buttonCtrlC.setSelection(ctrlC); + if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { + + separatorLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { + + separatorLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(ls)) { + + separatorCRLF.setSelection(true); + } + else if (ILocalTerminalSettings.LINE_SEPARATOR_CR.equals(ls)) { + + separatorCR.setSelection(true); + } + else { + + separatorDefault.setSelection(true); + } + } + + /** + * Copies values from this tab into the given launch configuration. + * + * @param configuration the launch configuration + * @see AbstractLaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy) + **/ + public void performApply(ILaunchConfigurationWorkingCopy configuration) { + + boolean echo = buttonEcho.getSelection(); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, echo); + boolean ctrlC = buttonCtrlC.getSelection(); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, ctrlC); + String lineSeparator = null; + if (separatorCRLF.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; + } + else if (separatorCR.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; + } + else if (separatorLF.getSelection()) { + + lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; + } + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, lineSeparator); + } + + /** + * Initializes the given launch configuration with default values for this tab. This method is + * called when a new launch configuration is created such that the configuration can be + * initialized with meaningful values. This method may be called before the tab's control is + * created. + * + * @param configuration the launch configuration + * @see AbstractLaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy) + **/ + public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { + + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); + configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); + } + + /** + * Handles selection of any of the buttons in the tab. + * + * @param event the {@link SelectionEvent} + * @see SelectionListener#widgetSelected(SelectionEvent) + **/ + public void widgetSelected(SelectionEvent event) { + + setDirty(true); + getLaunchConfigurationDialog().updateButtons(); + } + + /** + * Handles default selection of any of the buttons in the tab. + * + * @param event the {@link SelectionEvent} + * @see SelectionListener#widgetDefaultSelected(SelectionEvent) + **/ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private Button button(Composite parent, String label, int buttonType) { + + Button button = new Button(parent, buttonType); + button.addSelectionListener(this); + button.setText(label); + return button; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java new file mode 100644 index 00000000000..f2b554e2474 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java @@ -0,0 +1,298 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.launch.ui; + +import org.eclipse.debug.core.DebugException; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchesListener2; +import org.eclipse.debug.ui.DebugUITools; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.RGB; +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.swt.widgets.Display; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.ToolBar; +import org.eclipse.swt.widgets.ToolItem; +import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; +import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; +import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; + +/** + * The class {@link LocalTerminalStillRunningDialog} is a dialog that is shown when the workbench is + * about to exit and one or more terminal launches are still running. It gives the user a choice + * between aborting the workbench shut-down, proceeding, or terminating the outstanding launches + * individually. When no more launches are running the dialog will automatically disappear and + * workbench shut-down will proceed. + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class LocalTerminalStillRunningDialog extends MessageDialog +implements Runnable, SelectionListener, ILaunchesListener2 { + + private final static String TITLE = LocalTerminalMessages.warningTitleTerminalsStillRunning; + private final static String MESSAGE = LocalTerminalMessages.warningMessageTerminalsStillRunning; + private final static String QUIT_ANYWAY = LocalTerminalMessages.quitWorkbenchAnyway; + private final static String DO_NOT_QUIT = LocalTerminalMessages.doNoQuitWorkbench; + private final static String[] BUTTONS = {QUIT_ANYWAY, DO_NOT_QUIT}; + private final static RGB WHITE = new RGB(255, 255, 255); + private final static int SCROLLABLE_HEIGHT = 100; + + // Image key copied from IInternalDebugUIConstants: + // + private final static String IMG_LCL_TERMINATE = "IMG_LCL_TERMINATE"; //$NON-NLS-1$ + + private ILaunch[] unterminated; + private Composite content; + + private LocalTerminalStillRunningDialog(Shell parentShell, ILaunch[] launches) { + + super(parentShell, TITLE, null, MESSAGE, WARNING, BUTTONS, 0); + setShellStyle(SWT.BORDER|SWT.TITLE|SWT.APPLICATION_MODAL|SWT.RESIZE|SWT.MAX); + unterminated = launches; + } + + /** + * Opens a dialog that lists all terminal launches that have not yet terminated. + * + * @param shell the parent {@link Shell} for the dialog + * @param launches the launches that have not yet terminated + * @return true to allow the workbench to proceed with shutdown, false + * to prevent a shutdown (only for non-forced shutdown) + */ + public static boolean openDialog(Shell shell, ILaunch[] launches) { + + LocalTerminalStillRunningDialog dialog; + dialog = new LocalTerminalStillRunningDialog(shell, launches); + dialog.setBlockOnOpen(true); + try { + + LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(dialog); + return dialog.open() == 0; + } + finally { + + LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(dialog); + } + } + + /** + * Creates the dialog buttons and sets the focus on the default button. This is done because + * otherwise the focus might land on one of the stop buttons of the unterminated launches, which + * looks somewhat funny. + * + * @param parent the parent {@link Composite} + */ + protected void createButtonsForButtonBar(Composite parent) { + + super.createButtonsForButtonBar(parent); + getButton(1).forceFocus(); + } + + /** + * Creates the custom area of the dialog that shows the list of terminal launches that have not + * yet been terminated. + * + * @param parent the parent {@link Composite} into which the custom area is inserted + * @return the {@link ScrolledComposite} for the custom area + * + * @see MessageDialog#createCustomArea(Composite) + */ + protected Control createCustomArea(Composite parent) { + + ScrolledComposite scrollable = new ScrolledComposite(parent, SWT.BORDER|SWT.V_SCROLL); + GridData gridData = new GridData(GridData.FILL_BOTH); + gridData.heightHint = SCROLLABLE_HEIGHT; + scrollable.setLayoutData(gridData); + scrollable.setExpandHorizontal(true); + scrollable.setExpandVertical(true); + GridLayout gridLayout = new GridLayout(); + gridLayout.marginWidth = gridLayout.marginHeight = gridLayout.verticalSpacing = 0; + content = new Composite(scrollable, SWT.NONE); + content.setLayout(gridLayout); + content.setBackground(new Color(parent.getDisplay(), WHITE)); + scrollable.setContent(content); + for (int index = 0; index < unterminated.length; index++) { + + Composite item = createItem(content, unterminated[index]); + item.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + } + content.pack(); + scrollable.setMinHeight(content.getBounds().height); + return scrollable; + } + + /** + * Handles the {@link SelectionEvent}s that are sent when the user clicks the stop button of a + * launch. The stop button will immediately be disabled to indicate that the stop request is + * being processed. The actual launch termination will be confirmed in an asynchronous fashion + * by the {@link #launchesTerminated(ILaunch[])} method. + * + * @param event the {@link SelectionEvent} + * + * @see #launchesTerminated(ILaunch[]) + */ + public void widgetSelected(SelectionEvent event) { + + ToolItem item = (ToolItem)event.widget; + ILaunch launch = (ILaunch)item.getParent().getParent().getData(); + item.setEnabled(false); + try { + + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); + launch.terminate(); + } + catch (DebugException exception) { + + Logger.logException(exception); + } + } + + /** + * Handles default selection events by passing them to {@link #widgetSelected(SelectionEvent)}. + * + * @param event the {@link SelectionEvent} + * + * @see #widgetSelected(SelectionEvent) + * @see SelectionListener#widgetSelected(SelectionEvent) + */ + public void widgetDefaultSelected(SelectionEvent event) { + + widgetSelected(event); + } + + /** + * Removes terminated launches from the list displayed by the dialog and closes the dialog once + * all outstanding launches have been terminated. + * + * @see #launchesTerminated(ILaunch[]) + */ + public void run() { + + boolean allLaunchesTerminated = true; + Control[] child = content.getChildren(); + int numberOfChildren = child.length; + for (int number = 0; number < numberOfChildren; number++) { + + ILaunch launch = (ILaunch)child[number].getData(); + if (launch != null && launch.isTerminated()) { + + child[number].setData(null); + String exitValue; + try { + + exitValue = String.valueOf(launch.getProcesses()[0].getExitValue()); + } + catch (DebugException couldNotGetExitValue) { + + exitValue = '(' + couldNotGetExitValue.getMessage() + ')'; + } + Label label = (Label)((Composite)child[number]).getChildren()[1]; + String process = label.getText(); + process = NLS.bind(LocalTerminalMessages.terminatedProcess, process, exitValue); + label.setText(process); + + // In case the launch terminated by itself (and not because the user pressed the + // stop button) disable the stop button so that no attempt can be made to stop the + // process twice: + // + ((Composite)child[number]).getChildren()[2].setEnabled(false); + } + if (child[number].getData() != null) { + + allLaunchesTerminated = false; + } + } + if (allLaunchesTerminated) { + + setReturnCode(0); + close(); + } + } + + /** + * Removes a recently terminated launch from the list displayed by the dialog. The actual work + * needs to be done in the UI thread and is performed by the {@link #run()} method. + * + * @param terminated a list of terminated launches + * + * @see #run() + */ + public void launchesTerminated(ILaunch[] terminated) { + + Display.getDefault().syncExec(this); + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesAdded(ILaunch[]) + */ + public void launchesAdded(ILaunch[] launches) { + + // Not implemented... + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesChanged(ILaunch[]) + */ + public void launchesChanged(ILaunch[] launches) { + + // Not implemented... + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesRemoved(ILaunch[]) + */ + public void launchesRemoved(ILaunch[] launches) { + + // Not implemented... + } + + //-------------------------------------- PRIVATE SECTION -------------------------------------// + + private Composite createItem(Composite parent, ILaunch launch) { + + Composite item = new Composite(parent, SWT.NULL); + GridLayout gridLayout = new GridLayout(3, false); + item.setData(launch); + item.setLayout(gridLayout); + Image processImage = LocalTerminalLaunchUtilities.getImage(launch.getLaunchConfiguration()); + Label icon = new Label(item, SWT.NULL); + icon.setImage(processImage); + Label label = new Label(item, SWT.NULL); + label.setText(launch.getLaunchConfiguration().getName()); + ToolItem stopButton = new ToolItem(new ToolBar(item, SWT.FLAT), SWT.PUSH); + stopButton.addSelectionListener(this); + Image deleteImage = DebugUITools.getImage(IMG_LCL_TERMINATE); + stopButton.setImage(deleteImage); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.verticalAlignment = GridData.CENTER; + gridData.grabExcessHorizontalSpace = true; + label.setLayoutData(gridData); + return item; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java new file mode 100644 index 00000000000..76e89302180 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java @@ -0,0 +1,156 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.HashMap; +import java.util.Map; +import org.eclipse.cdt.utils.spawner.Spawner; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.model.IProcess; +import org.eclipse.debug.core.model.IStreamsProxy; +import org.eclipse.debug.core.model.RuntimeProcess; + +/** + * The class {@link LocalTerminalProcess} is a customized {@link RuntimeProcess} for use by the + * {@link org.eclipse.tm.internal.terminal.local.LocalTerminalConnector}. It serves the purpose of + * preventing the {@link org.eclipse.debug.internal.ui.DebugUIPlugin DebugUIPlugin}'s + * {@link org.eclipse.debug.internal.ui.views.console.ProcessConsoleManager ProcessConsoleManager} + * from allocating a Console view in addition to the Terminal view that serves as the program's main + * I/O device.

    + * Unfortunately, the Process Console Manager determines the need for a Console view by checking the + * {@link IStreamsProxy} of the process for null. If the process has a non-null + * {@link IStreamsProxy} a console will be automatically allocated. This is problematic because + * the Local Terminal Connector requires an {@link IStreamsProxy} but obviously not an additional + * console view. It would have been better if the Process Console Manager would check the + * corresponding attributes in the launch configuration rather than checking the + * {@link IStreamsProxy} of the process. The work-around for now is to remove the underlying + * process from the launch. No console will be allocated for a launch that doesn't have a process + * associated with it. Consequently, a currently running terminal launch will appear in the Debug + * view's list of active launches but the view will not show any child elements (and the element + * cannot be expanded, either). The {@link LocalTerminalProcessRegistry} keeps track of which + * {@link LocalTerminalProcess} is associated with a particular launch. Client code that needs to + * find the process of a launch can obtain it through that registry.

    + * However, for a launch to be properly terminated it needs to have at least one process that can + * be terminated. Launches that do not have any processes associated with them are not considered + * terminated and actually terminating them is not possible. To work around this secondary issue, + * the process is added back to its launch just before the launch is terminated. This activity is + * performed by {@link LocalTerminalProcessRegistry#addProcessBackToFinishedLaunch(ILaunch)}. To + * prevent a console allocation during this last step, the {@link #resetStreamsProxy()} method will + * be invoked, which will cause subsequent calls to {@link IProcess#getStreamsProxy()} to return + * null. After the launch is terminated it will appear in the Debug view with the + * terminated process as its child element. The exit value of the terminal process can also be seen + * in that view.

    + * + * This solution for preventing standard consoles from being opened does certainly not deserve the + * cleanliness award for straightforward coding, but at least it doesn't rely on internal API at + * this point. Ideally, the whole issue should be resolved with some sort of console renderer + * extension point as proposed in bug 242373 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=242373). + * + * @author Mirko Raner + * @version $Revision: 1.3 $ + */ +public final class LocalTerminalProcess extends RuntimeProcess { + + /** + * The process type ID of processes produced by this factory. + */ + public final static String PROCESS_TYPE = "org.eclipse.tm.terminal.localProcess"; //$NON-NLS-1$ + + private boolean resetStreamsProxy; + + /** + * Creates a new {@link LocalTerminalProcess}. + * + * @param launch the current {@link ILaunch} + * @param process the underlying low-level {@link Process} + * @param name the process name + * @param attributes additional attributes of the process + */ + protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { + + super(launch, process, name, setProcessType(attributes)); + LocalTerminalProcessRegistry.registerWithLaunch(launch, this); + launch.removeProcess(this); + } + + /** + * Sends a SIGINT signal to the underlying system {@link Process}. This is roughly + * equivalent to the user pressing Ctrl-C. + * + * @return true if the interrupt signal was sent successfully; false + * if the signal was not sent successfully or if no signal was sent because the underlying + * process is not a CDT {@link Spawner} + */ + public boolean interrupt() { + + Process process = getSystemProcess(); + if (process instanceof Spawner) { + + return ((Spawner)process).interrupt() == 0; + } + return false; + } + + /** + * Returns the {@link IStreamsProxy} of the process. + * + * @return the original result of {@link RuntimeProcess#getStreamsProxy()}, or null + * after {@link #resetStreamsProxy()} has been called. + */ + public IStreamsProxy getStreamsProxy() { + + if (resetStreamsProxy) { + + return null; + } + return super.getStreamsProxy(); + } + + /** + * Resets the {@link IStreamsProxy} of this process. After calling this method, + * {@link #getStreamsProxy()} will always return null. + */ + protected void resetStreamsProxy() { + + resetStreamsProxy = true; + } + + /** + * Re-attaches the process to its launch and completes termination of the process. This ensures + * that the launch can properly terminate. + * + * @see RuntimeProcess#terminated() + */ + protected void terminated() { + + LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(getLaunch()); + super.terminated(); + } + + //------------------------------------- PRIVATE SECTION --------------------------------------// + + private static Map setProcessType(Map attributes) { + + // The process type used to be set by the LocalTerminalProcessFactory. However, if some + // client code managed to instantiate a LocalTerminalProcess directly (instead of going + // through the factory) this would result in IProcess objects with an incorrect process type + // attribute. A better solution is to set the process type attribute at the time when the + // LocalTerminalProcess object is actually created: + // + if (attributes == null) { + + attributes = new HashMap(1); + } + attributes.put(IProcess.ATTR_PROCESS_TYPE, PROCESS_TYPE); + return attributes; + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java new file mode 100644 index 00000000000..7faff8dfa83 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java @@ -0,0 +1,40 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.Map; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.IProcessFactory; +import org.eclipse.debug.core.model.IProcess; + +/** + * The class {@link LocalTerminalProcessFactory} is an {@link IProcessFactory} that produces + * {@link LocalTerminalProcess} objects. + * + * @author Mirko Raner + * @version $Revision: 1.2 $ + */ +public class LocalTerminalProcessFactory implements IProcessFactory { + + /** + * The ID of this factory (as used in plugin.xml). + */ + public final static String ID = "org.eclipse.tm.terminal.localProcess.factory"; //$NON-NLS-1$ + + /** + * @see IProcessFactory#newProcess(ILaunch, Process, String, Map) + */ + public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { + + return new LocalTerminalProcess(launch, process, label, attributes); + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java new file mode 100644 index 00000000000..8383ba600b0 --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java @@ -0,0 +1,158 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.process; + +import java.util.IdentityHashMap; +import java.util.Map; +import org.eclipse.debug.core.ILaunch; +import org.eclipse.debug.core.ILaunchesListener2; +import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; + +/** + * The {@link LocalTerminalProcessRegistry} keeps a map between {@link ILaunch} objects and the + * {@link LocalTerminalProcess} objects that were associated with them. To prevent standard consoles + * from being opened, a {@link LocalTerminalProcess} is immediately removed from its {@link ILaunch} + * when the process is created (see {@link LocalTerminalProcess} for details). + * {@link LocalTerminalProcessRegistry} is a singleton (without lazy initialization). + * + * @author mirko + * @version $Revision: 1.1 $ + */ +public class LocalTerminalProcessRegistry implements ILaunchesListener2 { + + private final static LocalTerminalProcessRegistry INSTANCE = new LocalTerminalProcessRegistry(); + + private Map processes; + + private LocalTerminalProcessRegistry() { + + // The ILaunch interface does not make any statements about the suitability of implementing + // objects as hash keys. There might be ILaunch implementations that return a different + // hash code value if the object changes internally. To be safe in those cases, an + // IdentityHashMap is used: + // + processes = new IdentityHashMap(); + } + + /** + * Gets the {@link LocalTerminalProcess} that was originally associated with a given + * {@link ILaunch} object. + * + * @param launch the {@link ILaunch} that was used for creating the process + * @return the corresponding {@link LocalTerminalProcess}, or null if no process + * could be found + */ + public static LocalTerminalProcess getFromLaunch(ILaunch launch) { + + return (LocalTerminalProcess)INSTANCE.processes.get(launch); + } + + /** + * Adds a {@link LocalTerminalProcess} object back to its original {@link ILaunch}. This method + * will also perform a {@link LocalTerminalProcess#resetStreamsProxy()} on the process. + * The {@link #addProcessBackToFinishedLaunch(ILaunch)} method is necessary for properly + * terminating the launch of a terminal application (see {@link LocalTerminalProcess} for + * details). + * + * @param launch the {@link ILaunch} whose original process is to be re-attached + */ + public static void addProcessBackToFinishedLaunch(ILaunch launch) { + + LocalTerminalProcess process = getFromLaunch(launch); + if (process == null) { + + // Maybe the process wasn't actually started in a terminal (can happen when a Terminal + // is launched from the External Tools menu): + // + return; + } + process.resetStreamsProxy(); + if (launch.getProcesses().length == 0) { + + launch.addProcess(process); + } + } + + /** + * Registers a {@link LocalTerminalProcess} with a given {@link ILaunch} so that the process can + * be safely removed from the launch. + * + * @param launch the {@link ILaunch} + * @param process the {@link LocalTerminalProcess} originally associated with that launch + */ + public static void registerWithLaunch(ILaunch launch, LocalTerminalProcess process) { + + synchronized (INSTANCE) { + + if (INSTANCE.processes.isEmpty()) { + + // Start listening to terminated launches as soon as the first launch/process pair + // is registered: + // + LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(INSTANCE); + } + INSTANCE.processes.put(launch, process); + } + } + + /** + * Handles the termination of launches. The {@link LocalTerminalProcessRegistry} acts as a + * {@link ILaunchesListener2} if there are monitored launches outstanding. It will automatically + * de-register itself (as a listener) when the last monitored launch was terminated. + * + * @param terminated the launches that were terminated + */ + public void launchesTerminated(ILaunch[] terminated) { + + synchronized (INSTANCE) { + + int numberOfTerminatedLaunches = terminated.length; + for (int launch = 0; launch < numberOfTerminatedLaunches; launch++) { + + INSTANCE.processes.remove(terminated[launch]); + } + if (INSTANCE.processes.isEmpty()) { + + // If there are no more outstanding launches the listener can be removed again: + // + LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(INSTANCE); + } + } + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesAdded(ILaunch[]) + */ + public void launchesAdded(ILaunch[] launches) { + + // Not implemented. + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesRemoved(ILaunch[]) + */ + public void launchesRemoved(ILaunch[] launches) { + + // Not implemented. + } + + /** + * Not implemented. + * @see ILaunchesListener2#launchesChanged(ILaunch[]) + */ + public void launchesChanged(ILaunch[] launches) { + + // Not implemented. + } +} diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java new file mode 100644 index 00000000000..7cdaa3e05cf --- /dev/null +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java @@ -0,0 +1,88 @@ +/*************************************************************************************************** + * Copyright (c) 2008 Mirko Raner. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Mirko Raner - initial implementation for Eclipse Bug 196337 + **************************************************************************************************/ + +package org.eclipse.tm.internal.terminal.local.ui; + +import org.eclipse.swt.events.ControlEvent; +import org.eclipse.swt.events.ControlListener; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.widgets.Composite; + +/** + * The class {@link DependentHeightComposite} is a special kind of SWT {@link Composite} whose + * height depends on the height of some master {@link Composite} that does not have to be a direct + * parent or child of it. This class was introduced as a work-around for UI resizing problems with + * the Terminal API's PageBook class (which uses a StackLayout). + * + * @author Mirko Raner + * @version $Revision: 1.1 $ + */ +public class DependentHeightComposite extends Composite implements ControlListener { + + private Composite master; + private int preferredHeight = -1; + private int extraHeight; + + /** + * Creates a new {@link DependentHeightComposite}. + * + * @param parent the parent {@link Composite} + * @param style the SWT style + * @param master the master {@link Composite} that determines the height + * @param extra the additional height in pixels (may be negative, to create a smaller height + * than the master {@link Composite}) + */ + public DependentHeightComposite(Composite parent, int style, Composite master, int extra) { + + super(parent, style); + this.master = master; + this.extraHeight = extra; + master.addControlListener(this); + } + + /** + * This method does nothing. + * + * @see ControlListener#controlMoved(ControlEvent) + */ + public void controlMoved(ControlEvent event) { + + // Does nothing... + } + + /** + * Adjusts the {@link DependentHeightComposite} height if the master {@link Composite}'s size + * changed. + * + * @param event the {@link ControlEvent} + */ + public void controlResized(ControlEvent event) { + + setSize(getSize().x, master.getClientArea().height+extraHeight); + preferredHeight = master.getClientArea().height+extraHeight; + master.layout(); + } + + /** + * Computes the preferred size of this {@link DependentHeightComposite}. + * + * @see Composite#computeSize(int, int, boolean) + */ + public Point computeSize(int widthHint, int heightHint, boolean changed) { + + Point size = super.computeSize(widthHint, heightHint, changed); + if (preferredHeight != -1) { + + size.y = preferredHeight; + } + return size; + } +} From 5936ef4f4691bdee0aac97267501d227b9685120 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 28 Feb 2010 21:50:38 +0000 Subject: [PATCH 391/843] [Releng] Amend Local Terminal for Eclipse DSDP --- .../build.properties | 8 ++- .../eclipse_update_120.jpg | Bin 0 -> 21695 bytes .../feature.properties | 32 ++++++++- .../feature.xml | 49 +++++++++++--- org.eclipse.tm.terminal.local/.cvsignore | 1 + org.eclipse.tm.terminal.local/.project | 6 ++ .../.settings/org.eclipse.jdt.core.prefs | 10 +-- org.eclipse.tm.terminal.local/about.html | 63 ++++++++---------- org.eclipse.tm.terminal.local/about.ini | 38 +++++++---- .../about.properties | 8 ++- .../build.properties | 1 + org.eclipse.tm.terminal.local/dsdp32.png | Bin 0 -> 2275 bytes .../icons/terminal-local.png | Bin 2520 -> 0 bytes .../plugin.properties | 8 ++- 14 files changed, 150 insertions(+), 74 deletions(-) create mode 100644 org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg create mode 100644 org.eclipse.tm.terminal.local/.cvsignore create mode 100644 org.eclipse.tm.terminal.local/dsdp32.png delete mode 100644 org.eclipse.tm.terminal.local/icons/terminal-local.png diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index b722ad42340..15a8814960e 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008 Mirko Raner and others. +# Copyright (c) 2008, 2010 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,9 +7,13 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse DSDP #################################################################################################### bin.includes = feature.xml,\ feature.properties,\ epl-v10.html,\ - license.html + license.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg b/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bfdf708ad617e4974cac04cc5c1c8192b09bbeb3 GIT binary patch literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA + Copyright (c) 2008, 2010 Mirko Raner and others + All rights reserved. This program and the accompanying materials + are made available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.html + + Contributors: + Mirko Raner - initial implementation for Eclipse Bug 196337 + Martin Oberhuber (Wind River) - Import to Eclipse DSDP + --> + provider-name="%providerName" + image="eclipse_update_120.jpg"> %description @@ -26,9 +28,20 @@ %license + + + + + + + + + @@ -44,4 +57,18 @@ unpack="false" /> + + + + diff --git a/org.eclipse.tm.terminal.local/.cvsignore b/org.eclipse.tm.terminal.local/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/org.eclipse.tm.terminal.local/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/org.eclipse.tm.terminal.local/.project b/org.eclipse.tm.terminal.local/.project index 64ecfb91f82..cc0395aa2f2 100644 --- a/org.eclipse.tm.terminal.local/.project +++ b/org.eclipse.tm.terminal.local/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs b/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs index d75669d46ce..33f45eb1a3c 100644 --- a/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs +++ b/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs @@ -9,12 +9,12 @@ org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning @@ -48,7 +48,7 @@ org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning diff --git a/org.eclipse.tm.terminal.local/about.html b/org.eclipse.tm.terminal.local/about.html index b2a8401691f..0df08787c7b 100644 --- a/org.eclipse.tm.terminal.local/about.html +++ b/org.eclipse.tm.terminal.local/about.html @@ -1,37 +1,28 @@ - - - - - About - - - -

    About This Content

    -

    - August 4, 2008 -

    -

    License

    + + + + +About + + +

    About This Content

    + +

    March 1, 2010

    +

    License

    - Mirko Raner makes available all content in this plug-in ("Content"). - Unless otherwise indicated below, the Content is provided to you under the terms and conditions of - the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available at - http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content. -

    - If you did not receive this Content directly from Mirko Raner, the Content is - being redistributed by another party ("Redistributor") and different terms and - conditions may apply to your use of any object code in the Content. Check the Redistributor's - license that was provided with the Content. If no such license exists, contact the Redistributor. - Unless otherwise indicated below, the terms and conditions of the EPL still apply to any source - code in the Content. - - +

    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

    + +

    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

    + + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local/about.ini b/org.eclipse.tm.terminal.local/about.ini index 2d185b182ff..fbbb9f83db9 100644 --- a/org.eclipse.tm.terminal.local/about.ini +++ b/org.eclipse.tm.terminal.local/about.ini @@ -1,13 +1,27 @@ -#################################################################################################### -# Copyright (c) 2008 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -#################################################################################################### +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. -featureImage=icons/terminal-local.png -aboutText=%feature.information +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=dsdp32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local/about.properties b/org.eclipse.tm.terminal.local/about.properties index 5e2a9b09682..b8ac1b5f16e 100644 --- a/org.eclipse.tm.terminal.local/about.properties +++ b/org.eclipse.tm.terminal.local/about.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008 Mirko Raner and others. +# Copyright (c) 2008, 2010 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,11 +7,13 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse DSDP #################################################################################################### -feature.information=Target Management Terminal Local Connector\n\ +blurb=Target Management Terminal Local Connector\n\ \n\ Version: {featureVersion}\n\ +Build id: {0}\n\ \n\ -(c) Copyright Mirko Raner and others, 2008. All rights reserved.\n\ +(c) Copyright Mirko Raner and others 2008, 2010. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.local/build.properties b/org.eclipse.tm.terminal.local/build.properties index 15b26046ff5..3986492a143 100644 --- a/org.eclipse.tm.terminal.local/build.properties +++ b/org.eclipse.tm.terminal.local/build.properties @@ -6,6 +6,7 @@ bin.includes = plugin.xml,\ about.ini,\ about.mappings,\ about.properties,\ + dsdp32.png,\ icons/,\ META-INF/,\ . diff --git a/org.eclipse.tm.terminal.local/dsdp32.png b/org.eclipse.tm.terminal.local/dsdp32.png new file mode 100644 index 0000000000000000000000000000000000000000..3077b1220dd688632a42e347f90c90cb319835f0 GIT binary patch literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ literal 0 HcmV?d00001 diff --git a/org.eclipse.tm.terminal.local/icons/terminal-local.png b/org.eclipse.tm.terminal.local/icons/terminal-local.png deleted file mode 100644 index f04a52044ac00010a3c4a41d30c4785a4c6b1b47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2520 zcmV;}2`Bc6P)f^S3rE^IN9Xnb z@BjL*wbwTMKOav#zid^tCQ4I8ZSsHl_`!$w&H;A(lMA$vfw^?VjAUX|~a5jwJ?zBKY80SvlW7yR_K7 zaPH)(e9-;-GVeVhBBvfXa43H3<;y6fBD6&`iwYu&h<+e}o9nHK-{bTes61j z_BtAs8mUXL7K~A%1iX0iP?GzSt5>gb;`m#fJ$>x(xs!*#2z>1mAOB9Ns?8`QqDqu? z0`7kSPCk6k);lJqw>`G!_MhE<>n-l*A?^&f%=VIY_IH zR%eQKXMQtDa(CYEEo83oYP)@11d9Ty!(oi6y7vKhF0FiKa_&Q4+4s>;Zrio}M%!t0 zXrv8lu1;oaq^3e@DmW@wGOT16O)-*!I*f}XHA7=!OEs;J-E!=|pW3@}dGVDkGk2}5 z5wMtwwY0Ax@Zo#5-Z?S5^RI5aegD*TGdpNjn$(jzRaZwfQgbbw$w*9svkqr0LoXN< z5HZAHiDD2};%Y6#rn48%{#PeU#-44p7Chjrp$$0qBeTDu-kJWp8}GPpVPSTGcBMrv zsZ(=JYOcxRmG5$?IL=r$P1QBA#;)7gD58q05=U|NUWs_9wrn8$#HpkIp);HJeZN*6 zYXRv{iFNR5Qfof2`TCo8O-)WwNm86iu$tgV$y^1D@aFO}ymJ0=&JT{FC?Z%L<;l4+}ICp)0^W1||^V`!(k_=^)p`>O_ zW);ROJ21Av_m&>z`7>W-wY-F=j6z^WnLQi^vku`B+S_)`t@Pji&! z3?z-V)q1-B)H?^a0Vt4+OEXGJ>trXv!b*86W z)#0_IU*^P^Q8fjH%NV#6Md|rI#u+S*TH2=S8nov(v$eg4=T3f&Z~Wj(?C$&wTgPr4 znouHMB0+=@BZV(y@RB4EW&jF`(9%5C$o0CIko) z$zx75iZ3%%dL-733X4!i&uZRdlZ;;j9@TTDyvUK|mw5WU<8c~jKWpZMN|k9DU*_J(f=U@6s3rLF68g<-4l=V zpC=EJ=rp?~?EZzF+ovEMBQWtxZ!m>5t6%A6oF zG*D7yH6MmRfuNqQzs%uFFY=w^|ICStrIIDnWO(s#muv_ z^9#JXc#Jn*yXD8|tv){U?7trS_O0U=)(P0vm3NEY{1#JJ5>p^C8CJHD2SSYGJ`go< zWcekYcD@3&0j)nR4VfJ=s% zy}LQQWkxk0V@4MW7?Q+cHWEPfgj?x-CB3}#r=dAsk!qk=-HeqKX9XvQMtvKt`ew4E zMiB)QOV)m=s+j0WN7eoJ4?M}BKVbFBRaURAGU)et`ky|BVlb*Ci9-v&PT-LPhx~&N z?|saj9eh;B^N-o~DzWN`#W)h{1QKes86t)vhS5^X4-ruDr0MXNU--lOS)cFl@Nty9 z3Tc{P1{)O^k~s6==lA|WdNMpE*In3QYCU5ZN8%V7n|Q5(WEdP^*X313beO(rHtaPX z`r=c=jL8f7{XX5*E`xrbA}{#*qYn*$Y7@JqjUeDS3}uWZ#lOok+PeTwo5A%KV_ibW#CC`gQ8B8VqRh6KDQMh%z| z>;?m37%AY_1G&--MpfHUq~U$2#2{lQPQSkG*_R*vwQl9o&&N%^O;ZVJqzrvZUl2k- z1&nbduEKNw@ax>aCmGFp*fFl{zjTejd)WX_y%~qkkDXXb5|>P&>D>8i%(oGn4T8+iOby>z zdUv^|!p`8syu`RI1V0~q+!TG7mJmAJw>HU*vAu^Lf9tlTr8A>C0Q0l6eEw4(`Hg;QSNf$Hh$yC)N25whL|Y;1Sd3B+ zF{UBJB!-xY#59DMsc0G{rYf3>s5MH(T3c7e3|m(lRf(Vd+ZX}K&-~)u_x=xYpG7Fs3U8|b0000 Date: Sun, 28 Feb 2010 22:54:47 +0000 Subject: [PATCH 392/843] Bug 296212 - [terminal] Fail to paste text into terminal control on some Linux hosts --- .../terminal/control/actions/TerminalActionPaste.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java index f79dd232478..3c33be2be7e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin * Uwe Stieber (Wind River) - [260372] [terminal] Certain terminal actions are enabled if no target terminal control is available * Uwe Stieber (Wind River) - [294719] [terminal] SWT Widget disposed in TerminalActionPaste + * Martin Oberhuber (Wind River) - [296212] Cannot paste text into terminal on some Linux hosts *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.actions; @@ -53,7 +54,7 @@ public class TerminalActionPaste extends AbstractTerminalAction { public void updateAction(boolean aboutToShow) { ITerminalViewControl target = getTarget(); - boolean bEnabled = aboutToShow && target != null && target.getClipboard() != null && !target.getClipboard().isDisposed(); + boolean bEnabled = target != null && target.getClipboard() != null && !target.getClipboard().isDisposed(); if (bEnabled) { String strText = (String) target.getClipboard().getContents( TextTransfer.getInstance()); From 531a8c22aab7a53c9a69b87921284e0449345614 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 1 Mar 2010 00:16:20 +0000 Subject: [PATCH 393/843] [releng] Add .qualifier to Local Terminal --- org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.local/build.properties | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index c380db7ab4c..a295a6e5ad6 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true -Bundle-Version: 1.0.0 +Bundle-Version: 1.0.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName diff --git a/org.eclipse.tm.terminal.local/build.properties b/org.eclipse.tm.terminal.local/build.properties index 3986492a143..563bc78ed34 100644 --- a/org.eclipse.tm.terminal.local/build.properties +++ b/org.eclipse.tm.terminal.local/build.properties @@ -10,3 +10,5 @@ bin.includes = plugin.xml,\ icons/,\ META-INF/,\ . +src.includes = about.html +jre.compilation.profile = J2SE-1.4 From 7588c4f446fb4ddc9b1a9a8778ca1e48f6ad9146 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 1 Mar 2010 09:17:37 +0000 Subject: [PATCH 394/843] [releng] Add .qualifier to Local Terminal --- org.eclipse.tm.terminal.local-feature/build.properties | 1 + org.eclipse.tm.terminal.local-feature/feature.xml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index 15a8814960e..1a5225239df 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -16,4 +16,5 @@ bin.includes = feature.xml,\ license.html,\ eclipse_update_120.jpg generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 5df1fc52799..afec0d93ddc 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -52,7 +52,7 @@ @@ -60,7 +60,7 @@ From ffca859bd65664558c73b079ca132fe86c3f302c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 1 Mar 2010 10:45:08 +0000 Subject: [PATCH 395/843] [releng] Try fixing tm.terminal.source generation --- org.eclipse.tm.terminal.local-feature/feature.xml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index afec0d93ddc..edade6577bb 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -33,10 +33,6 @@ - - - + diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index a295a6e5ad6..6ad8969776f 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.tm.terminal;bundle-version="2.0.0", - org.eclipse.cdt.core;bundle-version="5.0.0", + org.eclipse.cdt.core;bundle-version="5.2.0", org.eclipse.core.runtime, org.eclipse.debug.core, org.eclipse.debug.ui, From d068232e7fb18b2d7951f9c34dae2ea5276656b9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 2 Mar 2010 13:51:45 +0000 Subject: [PATCH 398/843] [releng] Rename Local Terminal contribution for Helios GPP Tools --- org.eclipse.tm.terminal.local-feature/feature.properties | 6 +++--- org.eclipse.tm.terminal.local/plugin.properties | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 4e7a98ffdce..b98ce626930 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -16,7 +16,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Local Connector +featureName=Local Terminal # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - DSDP @@ -25,8 +25,8 @@ providerName=Eclipse.org - DSDP tmUpdateSiteName=Target Management Updates # "description" property - description of the feature -description=A Terminal connector for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Includes Source. +description=A terminal emulation for local shells and external tools.\n\ +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.local/plugin.properties b/org.eclipse.tm.terminal.local/plugin.properties index 889471161e7..3bb2557a60d 100644 --- a/org.eclipse.tm.terminal.local/plugin.properties +++ b/org.eclipse.tm.terminal.local/plugin.properties @@ -12,7 +12,7 @@ # NLS_MESSAGEFORMAT_NONE -pluginName=Local Terminal Connector +pluginName=Local Terminal providerName=Eclipse.org - DSDP terminalLaunch=Terminal From 746206bb55e107aceed99009a3b91ec1d8824307 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 15 Mar 2010 11:43:57 +0000 Subject: [PATCH 399/843] Bug 196337 - Downrev TM local terminal to 0.1.0 --- org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 70f8179b74b..bb2c6a2ecea 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -12,7 +12,7 @@ --> diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 6ad8969776f..196a662d926 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true -Bundle-Version: 1.0.0.qualifier +Bundle-Version: 0.1.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName From 4424128351cc494f209ff1c5367bcd6586b114de Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 16 Mar 2010 01:08:23 +0000 Subject: [PATCH 400/843] [releng] Treat terminal-local as incubation --- org.eclipse.tm.terminal.local-feature/feature.properties | 2 +- org.eclipse.tm.terminal.local/about.properties | 2 +- org.eclipse.tm.terminal.local/plugin.properties | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index b98ce626930..34840bcb089 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -16,7 +16,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Local Terminal +featureName=Local Terminal (Incubation) # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - DSDP diff --git a/org.eclipse.tm.terminal.local/about.properties b/org.eclipse.tm.terminal.local/about.properties index b8ac1b5f16e..983a2c47235 100644 --- a/org.eclipse.tm.terminal.local/about.properties +++ b/org.eclipse.tm.terminal.local/about.properties @@ -10,7 +10,7 @@ # Martin Oberhuber (Wind River) - Import to Eclipse DSDP #################################################################################################### -blurb=Target Management Terminal Local Connector\n\ +blurb=Target Management Terminal Local Connector (Incubation)\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ diff --git a/org.eclipse.tm.terminal.local/plugin.properties b/org.eclipse.tm.terminal.local/plugin.properties index 3bb2557a60d..9fd177c567a 100644 --- a/org.eclipse.tm.terminal.local/plugin.properties +++ b/org.eclipse.tm.terminal.local/plugin.properties @@ -12,7 +12,7 @@ # NLS_MESSAGEFORMAT_NONE -pluginName=Local Terminal +pluginName=Local Terminal (Incubation) providerName=Eclipse.org - DSDP terminalLaunch=Terminal From 3af0d9f9f21319df8277776c9bf613e52e1549c1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 7 Apr 2010 19:03:57 +0000 Subject: [PATCH 401/843] Bug 306627 - Make feature.properties license compliant with Helios --- .../feature.properties | 80 +++++++++---------- .../sourceTemplateFeature/feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../sourceTemplateFeature/feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../sourceTemplateFeature/feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../sourceTemplateFeature/feature.properties | 80 +++++++++---------- .../feature.properties | 80 +++++++++---------- .../sourceTemplateFeature/feature.properties | 80 +++++++++---------- 12 files changed, 456 insertions(+), 504 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 6f950b43555..29acc40d893 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -43,7 +43,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -52,20 +52,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -73,34 +73,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -108,24 +104,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -135,8 +131,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index b5545ef257a..55668c3dfd4 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 34840bcb089..8218a4bce6e 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -44,7 +44,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -53,20 +53,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -74,34 +74,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -109,24 +105,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -136,8 +132,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 467e9854f12..8c389768e22 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -43,7 +43,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -52,20 +52,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -73,34 +73,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -108,24 +104,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -135,8 +131,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index c59e11bf140..bbaafc7e1fe 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 9e108fe7072..47dfe4a2d33 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index ef63e897849..b84d5db2ead 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 11ec4bab63e..66411ae5929 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index a69e34e5e84..c9f51415cc8 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index c20c9c04569..5a1368fb0b9 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index 4306c330878..fa44ae32eb9 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 092106af381..0ed6c9ec67d 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -42,7 +42,7 @@ licenseURL=license.html # "license" property - text of the "Feature Update License" # should be plain text version of license agreement pointed to be "licenseURL" license=\ -ECLIPSE FOUNDATION SOFTWARE USER AGREEMENT\n\ +Eclipse Foundation Software User Agreement\n\ March 17, 2005\n\ \n\ Usage Of Content\n\ @@ -51,20 +51,20 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ \n\ Applicable Licenses\n\ \n\ -Unless otherwise indicated, all Content made available by the Eclipse Foundation\n\ -is provided to you under the terms and conditions of the Eclipse Public\n\ -License Version 1.0 ("EPL"). A copy of the EPL is provided with this\n\ -Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ For purposes of the EPL, "Program" will mean the Content.\n\ \n\ Content includes, but is not limited to, source code, object code,\n\ @@ -72,34 +72,30 @@ documentation and other files maintained in the Eclipse.org CVS\n\ repository ("Repository") in CVS modules ("Modules") and made available\n\ as downloadable archives ("Downloads").\n\ \n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -Features may also include other Features ("Included Features"). Files named\n\ -"feature.xml" may contain a list of the names and version numbers of\n\ -Included Features.\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ \n\ The terms and conditions governing Plug-ins and Fragments should be\n\ contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ +conditions governing Features andIncluded Features should be contained\n\ in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ Licenses may be located in any directory of a Download or Module\n\ including, but not limited to the following locations:\n\ \n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ \n\ Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ Eclipse Update Manager, you must agree to a license ("Feature Update\n\ @@ -107,24 +103,24 @@ License") during the installation process. If the Feature contains\n\ Included Features, the Feature Update License should either provide you\n\ with the terms and conditions governing the Included Features or inform\n\ you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties". Such Abouts,\n\ -Feature Licenses and Feature Update Licenses contain the terms and\n\ -conditions (or references to such terms and conditions) that govern your\n\ -use of the associated Content in that directory.\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ \n\ -THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ \n\ IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ govern that particular Content.\n\ \n\ @@ -134,8 +130,8 @@ Content may contain encryption software. The country in which you are\n\ currently may have restrictions on the import, possession, and use,\n\ and/or re-export to another country, of encryption software. BEFORE\n\ using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use,\n\ -and re-export of encryption software, to see if this is permitted.\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ \n\ Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.\n ########### end of license property ########################################## From ef0b1d27f2ab280a33ec737a598323d9fc19f0de Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 7 Apr 2010 20:00:07 +0000 Subject: [PATCH 402/843] Bug 247892 - [releng] Incorrect name of TM update (discovery) site in feature.xml --- org.eclipse.tm.terminal-feature/feature.properties | 2 +- org.eclipse.tm.terminal-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.properties | 2 +- org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.properties | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- org.eclipse.tm.terminal.telnet-feature/feature.properties | 2 +- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- org.eclipse.tm.terminal.view-feature/feature.properties | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- 19 files changed, 26 insertions(+), 26 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 29acc40d893..b66e5941d77 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index b2858e5bc40..9aa223fbe13 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 55668c3dfd4..d076dc5de62 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget Source providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 8218a4bce6e..bc10bc26fb4 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -22,7 +22,7 @@ featureName=Local Terminal (Incubation) providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index bb2c6a2ecea..4c37f250190 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -29,8 +29,8 @@ - - + + - - + + - - + + diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 47dfe4a2d33..68c041693cc 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Serial Connector Source providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index b84d5db2ead..f2e40fe6496 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index eeea67e4c92..eb58dcdb7be 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -28,8 +28,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 66411ae5929..a5210f31569 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector Source providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index c9f51415cc8..5e5ded3bb73 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index 3df4148f435..aca39cd0a3e 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -17,8 +17,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index 5a1368fb0b9..756959bdebe 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector Source providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index fa44ae32eb9..d533f17e2d8 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal View providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index cee185162ae..47ed0640d2a 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 0ed6c9ec67d..b3b0dfe5a5d 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal View Source providerName=Eclipse.org - DSDP # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management Updates +tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. From a2c88a6a633a858bde6fa109d25c148660c469ca Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 7 Apr 2010 20:22:37 +0000 Subject: [PATCH 403/843] Bug 247892 - [releng] Incorrect name of TM update (discovery) site in feature.xml --- org.eclipse.tm.terminal-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.properties | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 4 ++-- 13 files changed, 26 insertions(+), 26 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index b66e5941d77..d38c89e8808 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index d076dc5de62..c7899915123 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=An ANSI (vt102) compatible Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index 633e2619ddf..a4c12d3fa4b 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -29,7 +29,7 @@ tmUpdateSiteName=Target Management 3.2 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index 84a07610185..7f99284d297 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 68c041693cc..5807f0f36f0 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index f2e40fe6496..729c920382e 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index a5210f31569..d221fd0ac1e 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index 5e5ded3bb73..fe8dfed1b24 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index aca39cd0a3e..bc1320a7b23 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,7 +1,7 @@ - diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index 756959bdebe..08b35c23646 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index d533f17e2d8..018c4f0b0ea 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -28,7 +28,7 @@ description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2009 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 47ed0640d2a..71332b59912 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -1,6 +1,6 @@ + diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index eb58dcdb7be..d7d7ecbb3e1 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -1,5 +1,5 @@ - + - - %description - + + %description + - - %copyright - + + %copyright + - - %license - + + %license + @@ -37,31 +39,29 @@ id="org.eclipse.tm.terminal" version="0.0.0"/> - - - - - - - - - - + + + + + + + + + - + - + diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 196a662d926..058ba465e64 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -17,4 +17,5 @@ Require-Bundle: org.eclipse.tm.terminal;bundle-version="2.0.0", Bundle-RequiredExecutionEnvironment: J2SE-1.5 Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true +Eclipse-PlatformFilter: (!(osgi.os=win32)) Import-Package: org.eclipse.core.variables From c1a4ad77b941dc3d8229bd33f3939af3a6a4ef77 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 27 May 2010 13:46:23 +0000 Subject: [PATCH 421/843] Bug 314193 - [terminal][local] Local Terminal is unusable on Windows try 2 --- org.eclipse.tm.terminal.local-feature/feature.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 2d8b7f13a99..dc1848f95dc 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -51,7 +51,6 @@ Date: Thu, 27 May 2010 14:42:16 +0000 Subject: [PATCH 422/843] Bug 314193 - [terminal][local] Local Terminal is unusable on Windows try 3 --- org.eclipse.tm.terminal.local-feature/feature.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index dc1848f95dc..520aec75c08 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -15,7 +15,6 @@ label="%featureName" version="0.1.0.qualifier" provider-name="%providerName" - os="aix,hpux,linux,macosx,solaris" image="eclipse_update_120.jpg"> From 3d22920e84e1d1ee2a926f1a533e6fd7e0947d51 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 May 2010 16:03:20 +0000 Subject: [PATCH 423/843] Bug 314607 - [terminal][local] Launching a terminal also pops up the console view --- .../LocalTerminalStillRunningListener.java | 4 ++-- .../local/process/LocalTerminalProcess.java | 16 ++++++++++++++-- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java index 7d16025e5a5..497d9160811 100644 --- a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java @@ -42,7 +42,7 @@ import org.eclipse.ui.IWorkbenchWindow; * mechanism. * * @author Mirko Raner - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public class LocalTerminalStillRunningListener implements IWorkbenchListener { @@ -72,7 +72,7 @@ public class LocalTerminalStillRunningListener implements IWorkbenchListener { IPreferenceStore store = LocalTerminalActivator.getDefault().getPreferenceStore(); if (!store.getBoolean(LocalTerminalActivator.PREF_CONFIRM_TERMINATE_ON_SHUTDOWN)) { - //return true; + return true; } ILaunchConfigurationType launchType; String launchTypeID = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java index 458851cdf69..f0f2e11c5f9 100644 --- a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java @@ -7,6 +7,7 @@ * * Contributors: * Mirko Raner - initial implementation for Eclipse Bug 196337 + * Mirko Raner - [314607] Launching a terminal also pops up the console view **************************************************************************************************/ package org.eclipse.tm.internal.terminal.local.process; @@ -50,6 +51,15 @@ import org.eclipse.debug.core.model.RuntimeProcess; * null. After the launch is terminated it will appear in the Debug view with the * terminated process as its child element. The exit value of the terminal process can also be seen * in that view.

    + * {@link #getStreamsProxy()} will also return null during initialization of a + * {@link LocalTerminalProcess} object until after the + * {@link RuntimeProcess#RuntimeProcess(ILaunch, Process, String, Map) super constructor} invocation + * has been completed. This disables a code path that caused a Console view to pop up when the + * {@link org.eclipse.debug.core.model.IStreamMonitor IStreamMonitor} already contained data (like, + * for example, a shell's initial prompt) when the ProcessConsoleManager received an + * {@link org.eclipse.debug.core.ILaunchListener#launchChanged(ILaunch)} notification (which cannot + * be avoided). See https://bugs.eclipse.org/314607 + * for additional details.

    * * This solution for preventing standard consoles from being opened does certainly not deserve the * cleanliness award for straightforward coding, but at least it doesn't rely on internal API at @@ -57,7 +67,7 @@ import org.eclipse.debug.core.model.RuntimeProcess; * extension point as proposed in bug 242373 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=242373). * * @author Mirko Raner - * @version $Revision: 1.1 $ + * @version $Revision: 1.2 $ */ public final class LocalTerminalProcess extends RuntimeProcess { @@ -66,6 +76,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { */ public final static String PROCESS_TYPE = "org.eclipse.tm.terminal.localProcess"; //$NON-NLS-1$ + private boolean enableStreamsProxy; private boolean resetStreamsProxy; private PTY pty; @@ -80,6 +91,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { super(launch, process, name, setProcessType(attributes)); + enableStreamsProxy = true; LocalTerminalProcessRegistry.registerWithLaunch(launch, this); launch.removeProcess(this); } @@ -110,7 +122,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { */ public IStreamsProxy getStreamsProxy() { - if (resetStreamsProxy) { + if (resetStreamsProxy || !enableStreamsProxy) { return null; } From 0784a0cc9a0857758772b1bbb5fa6ed4e6ef8f25 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 May 2010 19:22:30 +0000 Subject: [PATCH 424/843] Bug 314193 - [terminal][local] Local Terminal is unusable on Windows try 4 --- org.eclipse.tm.terminal.local-feature/build.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.xml | 5 ++++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index 15b11eccda6..f2cd5190919 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -15,4 +15,4 @@ bin.includes = feature.xml,\ epl-v10.html,\ license.html,\ eclipse_update_120.jpg -generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local +#generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 5f1425a6fe6..6dcc6dd75fa 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -26,7 +26,7 @@ tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source. +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 520aec75c08..3efe3b5f3e8 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -15,6 +15,7 @@ label="%featureName" version="0.1.0.qualifier" provider-name="%providerName" + os="linux" image="eclipse_update_120.jpg"> @@ -50,16 +51,18 @@ + From a63d059b77ca16ba01519ce4d9a8eb594e9e9cd2 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 May 2010 19:49:04 +0000 Subject: [PATCH 425/843] Bug 314193 - [terminal][local] Local Terminal is unusable on Windows try 5 --- org.eclipse.tm.terminal.local-feature/feature.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 3efe3b5f3e8..bef74195bd3 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -35,9 +35,11 @@ + From 66ea08aeba80a45f5337d5d8ed9b2ecc6896f331 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 28 May 2010 22:42:42 +0000 Subject: [PATCH 426/843] Bug 314193 - [terminal][local] Local Terminal is unusable on Windows try 6 re-add sources --- org.eclipse.tm.terminal.local-feature/build.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.properties | 2 +- org.eclipse.tm.terminal.local-feature/feature.xml | 9 +++------ 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index f2cd5190919..15b11eccda6 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -15,4 +15,4 @@ bin.includes = feature.xml,\ epl-v10.html,\ license.html,\ eclipse_update_120.jpg -#generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local +generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 6dcc6dd75fa..5f1425a6fe6 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -26,7 +26,7 @@ tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index bef74195bd3..329e544ca1e 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -15,7 +15,7 @@ label="%featureName" version="0.1.0.qualifier" provider-name="%providerName" - os="linux" + os="linux,macosx,solaris" image="eclipse_update_120.jpg"> @@ -35,11 +35,9 @@ - @@ -53,18 +51,17 @@ - + From 9dd2f17b3de24eb709b3964a9b83001645217ee6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sat, 29 May 2010 06:51:41 +0000 Subject: [PATCH 427/843] Bug 314193 - [terminal][local] try7 - revert to v201005271445 for successful N-builds --- org.eclipse.tm.terminal.local-feature/feature.xml | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 329e544ca1e..520aec75c08 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -15,7 +15,6 @@ label="%featureName" version="0.1.0.qualifier" provider-name="%providerName" - os="linux,macosx,solaris" image="eclipse_update_120.jpg"> @@ -51,7 +50,6 @@ Date: Thu, 3 Jun 2010 07:22:21 +0000 Subject: [PATCH 428/843] Bug 315124 - [terminal][local][releng] Local Terminal does not work if installed stand-alone without Terminal View --- .../build.properties | 1 - .../feature.properties | 2 +- .../feature.xml | 13 ++----------- .../.project | 17 +++++++++++++++++ .../META-INF/MANIFEST.MF | 2 +- 5 files changed, 21 insertions(+), 14 deletions(-) create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/.project diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index 15b11eccda6..5336e1f0eda 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -15,4 +15,3 @@ bin.includes = feature.xml,\ epl-v10.html,\ license.html,\ eclipse_update_120.jpg -generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 5f1425a6fe6..6dcc6dd75fa 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -26,7 +26,7 @@ tmUpdateSiteName=Target Management 3.2 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source. +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 520aec75c08..ef0813f32fa 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -34,16 +34,14 @@ - - + + @@ -55,11 +53,4 @@ version="0.0.0" unpack="false"/> - - diff --git a/org.eclipse.tm.terminal.local.sdk-feature/.project b/org.eclipse.tm.terminal.local.sdk-feature/.project new file mode 100644 index 00000000000..150da9a0fdd --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.local.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 058ba465e64..b192be99f47 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 0.1.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.tm.terminal;bundle-version="2.0.0", +Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", org.eclipse.cdt.core;bundle-version="5.2.0", org.eclipse.core.runtime, org.eclipse.debug.core, From c5ed15ff5d26f5edd468527249f97f8c41db54a5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 3 Jun 2010 07:23:05 +0000 Subject: [PATCH 429/843] Bug 315124 - [terminal][local][releng] Local Terminal does not work if installed stand-alone without Terminal View --- .../build.properties | 18 ++ .../eclipse_update_120.jpg | Bin 0 -> 21695 bytes .../epl-v10.html | 256 ++++++++++++++++++ .../feature.properties | 170 ++++++++++++ .../feature.xml | 64 +++++ .../license.html | 107 ++++++++ 6 files changed, 615 insertions(+) create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/build.properties create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/feature.properties create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/feature.xml create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/license.html diff --git a/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/org.eclipse.tm.terminal.local.sdk-feature/build.properties new file mode 100644 index 00000000000..15b11eccda6 --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/build.properties @@ -0,0 +1,18 @@ +#################################################################################################### +# Copyright (c) 2008, 2010 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +#################################################################################################### + +bin.includes = feature.xml,\ + feature.properties,\ + epl-v10.html,\ + license.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg b/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bfdf708ad617e4974cac04cc5c1c8192b09bbeb3 GIT binary patch literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA + + + + + +Eclipse Public License - Version 1.0 + + + +

    Eclipse Public License - v 1.0

    + +

    THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

    + +

    1. DEFINITIONS

    + +

    "Contribution" means:

    + +

    a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

    +

    b) in the case of each subsequent Contributor:

    +

    i) changes to the Program, and

    +

    ii) additions to the Program;

    +

    where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

    + +

    "Contributor" means any person or entity that distributes +the Program.

    + +

    "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

    + +

    "Program" means the Contributions distributed in accordance +with this Agreement.

    + +

    "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

    + +

    2. GRANT OF RIGHTS

    + +

    a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

    + +

    b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

    + +

    c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

    + +

    d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

    + +

    3. REQUIREMENTS

    + +

    A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

    + +

    a) it complies with the terms and conditions of this +Agreement; and

    + +

    b) its license agreement:

    + +

    i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

    + +

    ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

    + +

    iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

    + +

    iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

    + +

    When the Program is made available in source code form:

    + +

    a) it must be made available under this Agreement; and

    + +

    b) a copy of this Agreement must be included with each +copy of the Program.

    + +

    Contributors may not remove or alter any copyright notices contained +within the Program.

    + +

    Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

    + +

    4. COMMERCIAL DISTRIBUTION

    + +

    Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

    + +

    For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

    + +

    5. NO WARRANTY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

    + +

    6. DISCLAIMER OF LIABILITY

    + +

    EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

    + +

    7. GENERAL

    + +

    If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

    + +

    If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

    + +

    All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

    + +

    Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

    + +

    This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

    + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties new file mode 100644 index 00000000000..33e1637e90b --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -0,0 +1,170 @@ +#################################################################################################### +# Copyright (c) 2008, 2010 Mirko Raner and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Mirko Raner - initial implementation for Eclipse Bug 196337 +# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +#################################################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Local Terminal SDK (Incubation) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - DSDP + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.2 Updates + +# "description" property - description of the feature +description=A terminal emulation for local shells and external tools.\n\ +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source,\ +and the Terminal View required to drive the plugin. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2008, 2010 Mirko Raner and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +April 14, 2010\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml new file mode 100644 index 00000000000..b362718b4d8 --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -0,0 +1,64 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.local.sdk-feature/license.html b/org.eclipse.tm.terminal.local.sdk-feature/license.html new file mode 100644 index 00000000000..c184ca36a99 --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/license.html @@ -0,0 +1,107 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

    Eclipse Foundation Software User Agreement

    +

    April 14, 2010

    + +

    Usage Of Content

    + +

    THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    + +

    Applicable Licenses

    + +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

    + +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    + +
      +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

    + +
      +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    • +
    + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

    + +

    THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    + + + +

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    + +

    Cryptography

    + +

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

    + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    + + From 408bb2afcecdd8c5983bd46646af83ef9d95648c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 3 Jun 2010 08:34:24 +0000 Subject: [PATCH 430/843] Bug 205486 - [terminal] create a switch for scroll locking --- .../feature.xml | 2 +- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.view/about.properties | 4 ++-- .../doc/html/02_terminal_page.html | 20 +++++++++++-------- .../internal/terminal/view/TerminalView.java | 13 +++++++----- .../terminal/textcanvas/TextCanvas.java | 13 ++++++++---- 7 files changed, 35 insertions(+), 23 deletions(-) diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 7b92b3d993b..b908b6a481b 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 71332b59912..7163ef041c8 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 85ac5a348b3..df43d265b59 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.0.101.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.1,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.0.100,3.1.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.view/about.properties b/org.eclipse.tm.terminal.view/about.properties index 9e7f3eb66fa..3f0773fd9b1 100644 --- a/org.eclipse.tm.terminal.view/about.properties +++ b/org.eclipse.tm.terminal.view/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal View\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2010. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html index 62847cefc08..9deaa07724c 100644 --- a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html +++ b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html @@ -4,12 +4,12 @@ - + Terminal View Quick Reference @@ -17,8 +17,8 @@ - - + + @@ -34,7 +34,7 @@ download-size="0" install-size="0" version="0.0.0" - unpack="false"/> + unpack="true"/> - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    April 14, 2010

    Usage Of Content

    @@ -17,37 +18,37 @@ OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

    - -

    Applicable Licenses

    - + +

    Applicable Licenses

    +

    Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    - +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

    +
      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • -
    - +
  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
  • + +

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    - -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the + +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,50 @@ that directory.

    OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    - -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. + +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html index a9b560f44cd..c184ca36a99 100644 --- a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html +++ b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html @@ -1,13 +1,14 @@ - - + + + - -Eclipse.org Software User Agreement + +Eclipse Foundation Software User Agreement - +

    Eclipse Foundation Software User Agreement

    -

    March 17, 2005

    +

    April 14, 2010

    Usage Of Content

    @@ -24,15 +25,15 @@ ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. For purposes of the EPL, "Program" will mean the Content.

    -

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository ("Repository") in CVS - modules ("Modules") and made available as downloadable archives ("Downloads").

    +

    Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

      -
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • -
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • -
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins +
    • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
    • +
    • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
    • +
    • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins and/or Fragments associated with that Feature.
    • -
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
    • +
    • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.

    The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and @@ -40,14 +41,14 @@ Included Features should be contained in files named "license.html" (& including, but not limited to the following locations:

      -
    • The top-level (root) directory
    • -
    • Plug-in and Fragment directories
    • -
    • Inside Plug-ins and Fragments packaged as JARs
    • -
    • Sub-directories of the directory named "src" of certain Plug-ins
    • -
    • Feature directories
    • +
    • The top-level (root) directory
    • +
    • Plug-in and Fragment directories
    • +
    • Inside Plug-ins and Fragments packaged as JARs
    • +
    • Sub-directories of the directory named "src" of certain Plug-ins
    • +
    • Feature directories
    -

    Note: if a Feature made available by the Eclipse Foundation is installed using the Eclipse Update Manager, you must agree to a license ("Feature Update License") during the +

    Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in @@ -57,23 +58,50 @@ that directory.

    OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

    IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

    + +

    Use of Provisioning Technology

    + +

    The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

    + +

    You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

    + +
      +
    1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
    2. +
    3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
    4. +
    5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
    6. +
    +

    Cryptography

    Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted.

    -Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. +

    Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

    diff --git a/org.eclipse.tm.terminal.test/about.properties b/org.eclipse.tm.terminal.test/about.properties index 360731b9e4a..bc45f27dbb5 100644 --- a/org.eclipse.tm.terminal.test/about.properties +++ b/org.eclipse.tm.terminal.test/about.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=TM Terminal Unit Tests\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2007, 2009. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2007, 2010. All rights reserved.\n\ Visit http://www.eclipse.org/dsdp/tm diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch b/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch index 5def4726405..0872cc461c3 100644 --- a/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch +++ b/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch @@ -31,8 +31,10 @@ + + From ee4a3f98889dc0dde6777d682393665657af7f7d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Jun 2010 21:53:33 +0000 Subject: [PATCH 436/843] [releng] rationalize terminal automated tests --- .../tm/terminal/test/AutomatedPluginTests.java | 7 ++++++- .../eclipse/tm/terminal/test/AutomatedTests.java | 4 +++- .../teamConfig/Terminal AutomatedTests.launch | 16 ++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) create mode 100644 org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java index 4921b764fd4..e78c4b21b85 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,8 +24,13 @@ public class AutomatedPluginTests extends TestCase { */ public static Test suite() { TestSuite suite = new TestSuite(AutomatedPluginTests.class.getName()); + //These tests require Eclipse Platform to be up suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorPluginTest.class); suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorFactoryTest.class); + + //These tests must run as plain JUnit because they require access + //to "package" protected methods + //suite.addTest(AutomatedTests.suite()); return suite; } diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java index 5b8ca6bb91a..0306efd9867 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -37,6 +37,8 @@ public class AutomatedTests extends TestCase { suite.addTest(org.eclipse.tm.internal.terminal.emulator.AllTests.suite()); suite.addTest(org.eclipse.tm.internal.terminal.model.AllTests.suite()); suite.addTest(org.eclipse.tm.terminal.model.AllTests.suite()); + suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalConnectorTest.class); + suite.addTestSuite(org.eclipse.tm.internal.terminal.connector.TerminalToRemoteInjectionOutputStreamTest.class); return suite; } } diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch b/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch new file mode 100644 index 00000000000..a8d7a4e206d --- /dev/null +++ b/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + From 6790804a8d34d82b720835b24711b0d80bb5d5fd Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Jun 2010 22:39:23 +0000 Subject: [PATCH 437/843] [releng] update tm.terminal / test.xml --- org.eclipse.tm.terminal.test/test.xml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.test/test.xml b/org.eclipse.tm.terminal.test/test.xml index d1e88b42c1d..e778b4f4d33 100644 --- a/org.eclipse.tm.terminal.test/test.xml +++ b/org.eclipse.tm.terminal.test/test.xml @@ -1,6 +1,6 @@ + + - + + - + + @@ -39,6 +43,12 @@ Needs to be updated and tested for org.eclipse.tm.terminal + + + + + + @@ -83,6 +93,8 @@ Needs to be updated and tested for org.eclipse.tm.terminal + + From 43d8cdb34ba195a8128270158f538b10e89e69bc Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sat, 5 Jun 2010 07:45:02 +0000 Subject: [PATCH 438/843] [releng] Fix copyright in RSE.tests and test.xml in tm.terminal.tests --- org.eclipse.tm.terminal.test/test.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/test.xml b/org.eclipse.tm.terminal.test/test.xml index e778b4f4d33..ed776df77b9 100644 --- a/org.eclipse.tm.terminal.test/test.xml +++ b/org.eclipse.tm.terminal.test/test.xml @@ -49,13 +49,14 @@ Needs to be updated and tested for org.eclipse.tm.terminal + - + From 315b6942fc964a845c6a57478c20bf02f7de6b4d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 19 Aug 2010 13:37:08 +0000 Subject: [PATCH 439/843] Bug 219589 - [terminal] "Copy" is disabled when an entire line is selected --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../terminal/textcanvas/AbstractTextCanvasModel.java | 7 ++++--- .../tm/internal/terminal/textcanvas/TextCanvas.java | 6 +++++- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 15f6677b9dd..a4eec6dc73b 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index b908b6a481b..f4742b63981 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index fa167527de8..53756d7e0f6 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.0.100.qualifier +Bundle-Version: 3.0.101.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 5decdabf3d9..770db9733bf 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 + * Anton Leherbauer (Wind River) - [219589] Copy an entire line selection *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -281,7 +282,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { * @return the currently selected text */ private String extractSelectedText() { - if(fSelectionStartLine<0 || fSelectionStartCoumn<0 || fSelectionEndColumn<0 || fSelectionSnapshot==null) + if(fSelectionStartLine<0 || fSelectionStartCoumn<0 || fSelectionSnapshot==null) return ""; //$NON-NLS-1$ StringBuffer buffer=new StringBuffer(); for (int line = fSelectionStartLine; line <= fSeletionEndLine; line++) { @@ -289,7 +290,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { char[] chars=fSelectionSnapshot.getChars(line); if(chars!=null) { text=new String(chars); - if(line==fSeletionEndLine) + if(line==fSeletionEndLine && fSelectionEndColumn >= 0) text=text.substring(0, Math.min(fSelectionEndColumn+1,text.length())); if(line==fSelectionStartLine) text=text.substring(Math.min(fSelectionStartCoumn,text.length())); diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index d14ff1fc054..6b3d0e18dda 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -12,6 +12,7 @@ * Martin Oberhuber (Wind River) - [294327] After logging in, the remote prompt is hidden * Anton Leherbauer (Wind River) - [294468] Fix scroller and text line rendering * Uwe Stieber (Wind River) - [205486] Fix ScrollLock always moving to line 1 + * Anton Leherbauer (Wind River) - [219589] Copy an entire line selection *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -163,7 +164,10 @@ public class TextCanvas extends GridCanvas { if (fDraggingStart !=null && !p.equals(fDraggingEnd)) { fDraggingEnd = p; if (compare(p, fDraggingStart) < 0) { - fCellCanvasModel.setSelection(p.y, fDraggingStart.y, p.x, fDraggingStart.x); + // bug 219589 - make sure selection start coordinates are non-negative + int startColumn = Math.max(0, p.x); + int startRow = Math.max(p.y, 0); + fCellCanvasModel.setSelection(startRow, fDraggingStart.y, startColumn, fDraggingStart.x); } else { fCellCanvasModel.setSelection(fDraggingStart.y, p.y, fDraggingStart.x, p.x); From b0f08107c82b755419624d5fede152551cf7b4bf Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 19 Aug 2010 16:25:54 +0000 Subject: [PATCH 440/843] [releng] Setup for 3.2.x M-builds --- org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index b362718b4d8..823481c2f73 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ From 156c0457ec1ec9b98e7e251041831ed03c8807b6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 12 Nov 2010 13:17:55 +0000 Subject: [PATCH 441/843] Bug 330082 - Help indexing error on 02_terminal_page.html --- org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 823481c2f73..418b42c15f2 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index f4742b63981..683c6421a3e 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 7163ef041c8..11cb7600c6c 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index df43d265b59..4d53e41ba92 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.1.0.qualifier +Bundle-Version: 2.1.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html index 9deaa07724c..1442ac022db 100644 --- a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html +++ b/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html @@ -47,7 +47,7 @@ Martin Oberhuber (Wind River) - initial API and implementation

    -

    Toggle Scroll Lock in the current terminal connection.

    +

    Toggle Scroll Lock in the current terminal connection.

    From d3d625987b3ba7d5b47eb3ebe7098f47271f0ea0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 23 Dec 2010 18:31:33 +0000 Subject: [PATCH 442/843] [releng] purge DSDP from TM build except for signing paths --- org.eclipse.tm.terminal.serial-feature/feature.xml | 14 ++++++++++++-- .../META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.serial/README.txt | 2 +- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 1498c176c14..18c049e0c52 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -1,8 +1,18 @@ - + + diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index da92ee74f55..584eaa5ccaf 100644 --- a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.0.100.qualifier +Bundle-Version: 2.0.200.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, diff --git a/org.eclipse.tm.terminal.serial/README.txt b/org.eclipse.tm.terminal.serial/README.txt index 188bc8f4917..03fafaf692e 100644 --- a/org.eclipse.tm.terminal.serial/README.txt +++ b/org.eclipse.tm.terminal.serial/README.txt @@ -3,7 +3,7 @@ Important note: This README is for terminal.serial version 1.0.0 and later, corresponding to RSE downloads after 2.0M4. Instructions for previous versions (using Sun javacomm / javax.comm package instead of gnu.io) are still available from -http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=DSDP_Project&view=markup&pathrev=R1_0_1 +http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=Tools_Project&view=markup&pathrev=R1_0_1 Prerequisites: From 11c012d4556fda55fb8329a96839297c1198d1e5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 3 Jan 2011 23:21:33 +0000 Subject: [PATCH 443/843] [releng] Build on tools - replace DSDP branding by TM branding --- org.eclipse.tm.terminal-feature/feature.properties | 2 +- org.eclipse.tm.terminal-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 2 +- .../sourceTemplatePlugin/about.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/{dsdp32.png => tm32.png} | Bin .../build.properties | 2 +- .../feature.properties | 4 ++-- org.eclipse.tm.terminal.local-feature/feature.xml | 6 +++--- .../build.properties | 2 +- .../feature.properties | 4 ++-- .../feature.xml | 6 +++--- org.eclipse.tm.terminal.local/about.ini | 2 +- org.eclipse.tm.terminal.local/about.properties | 4 ++-- org.eclipse.tm.terminal.local/build.properties | 2 +- org.eclipse.tm.terminal.local/plugin.properties | 4 ++-- .../{dsdp32.png => tm32.png} | Bin .../feature.properties | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 ++-- .../feature.properties | 2 +- org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 2 +- .../sourceTemplatePlugin/about.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/{dsdp32.png => tm32.png} | Bin org.eclipse.tm.terminal.serial/about.ini | 2 +- org.eclipse.tm.terminal.serial/about.properties | 2 +- org.eclipse.tm.terminal.serial/build.properties | 2 +- org.eclipse.tm.terminal.serial/plugin.properties | 2 +- .../{dsdp32.png => tm32.png} | Bin .../feature.properties | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 2 +- .../sourceTemplatePlugin/about.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/{dsdp32.png => tm32.png} | Bin org.eclipse.tm.terminal.ssh/about.ini | 2 +- org.eclipse.tm.terminal.ssh/about.properties | 2 +- org.eclipse.tm.terminal.ssh/build.properties | 2 +- org.eclipse.tm.terminal.ssh/plugin.properties | 2 +- .../{dsdp32.png => tm32.png} | Bin .../feature.properties | 2 +- org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 2 +- .../sourceTemplatePlugin/about.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/{dsdp32.png => tm32.png} | Bin org.eclipse.tm.terminal.telnet/about.ini | 2 +- org.eclipse.tm.terminal.telnet/about.properties | 2 +- org.eclipse.tm.terminal.telnet/build.properties | 2 +- org.eclipse.tm.terminal.telnet/plugin.properties | 2 +- .../{dsdp32.png => tm32.png} | Bin .../feature.properties | 2 +- org.eclipse.tm.terminal.test-feature/feature.xml | 4 ++-- .../sourceTemplatePlugin/plugin.properties | 2 +- org.eclipse.tm.terminal.test/about.ini | 2 +- org.eclipse.tm.terminal.test/about.properties | 2 +- org.eclipse.tm.terminal.test/build.properties | 2 +- org.eclipse.tm.terminal.test/plugin.properties | 2 +- .../{dsdp32.png => tm32.png} | Bin .../feature.properties | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- .../sourceTemplateFeature/feature.properties | 2 +- .../sourceTemplatePlugin/about.ini | 2 +- .../sourceTemplatePlugin/about.properties | 2 +- .../sourceTemplatePlugin/build.properties | 2 +- .../sourceTemplatePlugin/plugin.properties | 2 +- .../sourceTemplatePlugin/{dsdp32.png => tm32.png} | Bin org.eclipse.tm.terminal.view/about.ini | 2 +- org.eclipse.tm.terminal.view/about.properties | 2 +- org.eclipse.tm.terminal.view/build.properties | 2 +- org.eclipse.tm.terminal.view/plugin.properties | 2 +- .../{dsdp32.png => tm32.png} | Bin org.eclipse.tm.terminal/about.ini | 2 +- org.eclipse.tm.terminal/about.properties | 2 +- org.eclipse.tm.terminal/build.properties | 2 +- org.eclipse.tm.terminal/plugin.properties | 2 +- .../terminal/provisional/api/ISettingsPage.java | 2 +- .../terminal/provisional/api/ISettingsStore.java | 2 +- .../provisional/api/ITerminalConnector.java | 2 +- .../terminal/provisional/api/ITerminalControl.java | 2 +- .../provisional/api/LayeredSettingsStore.java | 2 +- .../internal/terminal/provisional/api/Logger.java | 2 +- .../provisional/api/PreferenceSettingStore.java | 2 +- .../provisional/api/TerminalConnectorExtension.java | 2 +- .../terminal/provisional/api/TerminalState.java | 2 +- org.eclipse.tm.terminal/{dsdp32.png => tm32.png} | Bin 95 files changed, 98 insertions(+), 98 deletions(-) rename org.eclipse.tm.terminal-feature/sourceTemplatePlugin/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.local/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.serial/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.ssh/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.telnet/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.test/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal.view/{dsdp32.png => tm32.png} (100%) rename org.eclipse.tm.terminal/{dsdp32.png => tm32.png} (100%) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index ed2fc0e28c0..4b97b5dd3e1 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Widget # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index a4eec6dc73b..64902600f9e 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index 2f384f195c5..dd5e395736f 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Widget Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties index d309a515867..b94f85becdd 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties index 7ef3fa39c6e..90da6493829 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties index a98d3f1b51a..b119776983d 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Widget Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/dsdp32.png rename to org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/org.eclipse.tm.terminal.local-feature/build.properties index 5336e1f0eda..a1b952c8d11 100644 --- a/org.eclipse.tm.terminal.local-feature/build.properties +++ b/org.eclipse.tm.terminal.local-feature/build.properties @@ -7,7 +7,7 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +# Martin Oberhuber (Wind River) - Import to Eclipse TM #################################################################################################### bin.includes = feature.xml,\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index 6dcc6dd75fa..dad10ed71a6 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -7,7 +7,7 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +# Martin Oberhuber (Wind River) - Import to Eclipse TM #################################################################################################### # feature.properties # contains externalized strings for feature.xml @@ -19,7 +19,7 @@ featureName=Local Terminal (Incubation) # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 3bec9e273e7..aece50143ea 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -8,7 +8,7 @@ Contributors: Mirko Raner - initial implementation for Eclipse Bug 196337 - Martin Oberhuber (Wind River) - Import to Eclipse DSDP + Martin Oberhuber (Wind River) - Import to Eclipse TM --> - - + + diff --git a/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/org.eclipse.tm.terminal.local.sdk-feature/build.properties index 15b11eccda6..fe1b6693a5c 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/build.properties +++ b/org.eclipse.tm.terminal.local.sdk-feature/build.properties @@ -7,7 +7,7 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +# Martin Oberhuber (Wind River) - Import to Eclipse TM #################################################################################################### bin.includes = feature.xml,\ diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties index 33e1637e90b..9d490f3d3a8 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -7,7 +7,7 @@ # # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse DSDP +# Martin Oberhuber (Wind River) - Import to Eclipse TM #################################################################################################### # feature.properties # contains externalized strings for feature.xml @@ -19,7 +19,7 @@ featureName=Local Terminal SDK (Incubation) # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 418b42c15f2..f0a1395ca19 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -8,7 +8,7 @@ Contributors: Mirko Raner - initial implementation for Eclipse Bug 196337 - Martin Oberhuber (Wind River) - Import to Eclipse DSDP + Martin Oberhuber (Wind River) - Import to Eclipse TM --> - - + + - - + + - - + + diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index d82b30d25c7..0ac4d4983db 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Serial Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties index c6566a212e9..06c79decf74 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties index 7ef3fa39c6e..90da6493829 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties index f104744aa41..c6df1e94ff9 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Serial Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/dsdp32.png rename to org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.serial/about.ini b/org.eclipse.tm.terminal.serial/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.serial/about.ini +++ b/org.eclipse.tm.terminal.serial/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.serial/about.properties b/org.eclipse.tm.terminal.serial/about.properties index cff34a19035..e4b97356ff8 100644 --- a/org.eclipse.tm.terminal.serial/about.properties +++ b/org.eclipse.tm.terminal.serial/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.serial/build.properties b/org.eclipse.tm.terminal.serial/build.properties index 04e03221596..560aff8b459 100644 --- a/org.eclipse.tm.terminal.serial/build.properties +++ b/org.eclipse.tm.terminal.serial/build.properties @@ -22,6 +22,6 @@ bin.includes = META-INF/,\ plugin.properties,\ README.txt,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png src.includes = README.txt,\ about.html diff --git a/org.eclipse.tm.terminal.serial/plugin.properties b/org.eclipse.tm.terminal.serial/plugin.properties index 7d1e2282313..de850b666b6 100644 --- a/org.eclipse.tm.terminal.serial/plugin.properties +++ b/org.eclipse.tm.terminal.serial/plugin.properties @@ -15,5 +15,5 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### pluginName = Target Management Terminal Serial Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project serialConnection = Serial \ No newline at end of file diff --git a/org.eclipse.tm.terminal.serial/dsdp32.png b/org.eclipse.tm.terminal.serial/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.serial/dsdp32.png rename to org.eclipse.tm.terminal.serial/tm32.png diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 888dd265028..15ca0dbec6c 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal SSH Connector # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index d7d7ecbb3e1..e6009be98a3 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -28,8 +28,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 5bc70becc04..44128666450 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal SSH Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties index fced3d3bb9f..03c7049dca3 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2000, 2010. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties index 7ef3fa39c6e..90da6493829 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties index 2e5e7e96197..3c79290c237 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal SSH Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/dsdp32.png rename to org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.ssh/about.ini b/org.eclipse.tm.terminal.ssh/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.ssh/about.ini +++ b/org.eclipse.tm.terminal.ssh/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.ssh/about.properties b/org.eclipse.tm.terminal.ssh/about.properties index 8ed50bff8e6..bb1883f1774 100644 --- a/org.eclipse.tm.terminal.ssh/about.properties +++ b/org.eclipse.tm.terminal.ssh/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2000, 2010. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/org.eclipse.tm.terminal.ssh/build.properties index cf1dcd3d22a..6d91123ae5a 100644 --- a/org.eclipse.tm.terminal.ssh/build.properties +++ b/org.eclipse.tm.terminal.ssh/build.properties @@ -16,5 +16,5 @@ bin.includes = META-INF/,\ plugin.xml,\ plugin.properties,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png src.includes = about.html diff --git a/org.eclipse.tm.terminal.ssh/plugin.properties b/org.eclipse.tm.terminal.ssh/plugin.properties index 251b02faf5b..59fa5792387 100644 --- a/org.eclipse.tm.terminal.ssh/plugin.properties +++ b/org.eclipse.tm.terminal.ssh/plugin.properties @@ -9,5 +9,5 @@ # Martin Oberhuber (Wind River) - initial API and implementation ############################################################################### pluginName = Target Management Terminal SSH Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project sshConnection = SSH \ No newline at end of file diff --git a/org.eclipse.tm.terminal.ssh/dsdp32.png b/org.eclipse.tm.terminal.ssh/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.ssh/dsdp32.png rename to org.eclipse.tm.terminal.ssh/tm32.png diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index 759dd7cfc05..7ffd133cae8 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Telnet Connector # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index bc1320a7b23..ea63e50b5f2 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -17,8 +17,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index c919cf15a3f..9002975cc0a 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Telnet Connector Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties index e33b8bccaae..64552c8bd7c 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties index 7ef3fa39c6e..90da6493829 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties index 43d853d8c12..8f0f2ab59db 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Telnet Connector Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/dsdp32.png rename to org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.telnet/about.ini b/org.eclipse.tm.terminal.telnet/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.telnet/about.ini +++ b/org.eclipse.tm.terminal.telnet/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.telnet/about.properties b/org.eclipse.tm.terminal.telnet/about.properties index c42eab9cbd2..2086ab24f40 100644 --- a/org.eclipse.tm.terminal.telnet/about.properties +++ b/org.eclipse.tm.terminal.telnet/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.telnet/build.properties b/org.eclipse.tm.terminal.telnet/build.properties index 6fc5d7df7fb..e1f11d7c5a9 100644 --- a/org.eclipse.tm.terminal.telnet/build.properties +++ b/org.eclipse.tm.terminal.telnet/build.properties @@ -19,7 +19,7 @@ bin.includes = .,\ plugin.xml,\ plugin.properties,\ about.html,about.ini,about.mappings,about.properties,\ - dsdp32.png + tm32.png source.. = src/ output.. = bin/ diff --git a/org.eclipse.tm.terminal.telnet/plugin.properties b/org.eclipse.tm.terminal.telnet/plugin.properties index b299fb87f83..5aae86d5d93 100644 --- a/org.eclipse.tm.terminal.telnet/plugin.properties +++ b/org.eclipse.tm.terminal.telnet/plugin.properties @@ -15,5 +15,5 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ############################################################################### pluginName = Target Management Terminal Telnet Connector -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project telnetConnection = Telnet diff --git a/org.eclipse.tm.terminal.telnet/dsdp32.png b/org.eclipse.tm.terminal.telnet/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.telnet/dsdp32.png rename to org.eclipse.tm.terminal.telnet/tm32.png diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/org.eclipse.tm.terminal.test-feature/feature.properties index 76d6e38feea..efeb9488c35 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/org.eclipse.tm.terminal.test-feature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal Unit Tests # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.test-feature/feature.xml b/org.eclipse.tm.terminal.test-feature/feature.xml index ef3a568626d..57b8363f3f7 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/org.eclipse.tm.terminal.test-feature/feature.xml @@ -17,8 +17,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties index 3955f58c136..f4238341e24 100644 --- a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal Unit Tests Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal.test/about.ini b/org.eclipse.tm.terminal.test/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.test/about.ini +++ b/org.eclipse.tm.terminal.test/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.test/about.properties b/org.eclipse.tm.terminal.test/about.properties index bc45f27dbb5..cab74a5ac54 100644 --- a/org.eclipse.tm.terminal.test/about.properties +++ b/org.eclipse.tm.terminal.test/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2007, 2010. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.test/build.properties b/org.eclipse.tm.terminal.test/build.properties index b31722e0c7d..4422be33628 100644 --- a/org.eclipse.tm.terminal.test/build.properties +++ b/org.eclipse.tm.terminal.test/build.properties @@ -17,7 +17,7 @@ bin.includes = META-INF/,\ about.properties,\ about.mappings,\ about.ini,\ - dsdp32.png,\ + tm32.png,\ test.xml,\ about.html javacSource=1.4 diff --git a/org.eclipse.tm.terminal.test/plugin.properties b/org.eclipse.tm.terminal.test/plugin.properties index 5c9a30b72ef..37a1c542c7b 100644 --- a/org.eclipse.tm.terminal.test/plugin.properties +++ b/org.eclipse.tm.terminal.test/plugin.properties @@ -14,4 +14,4 @@ # Michael Scharf (Wind River) - initial API and implementation ############################################################################### pluginName = Target Management Terminal Tests -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project diff --git a/org.eclipse.tm.terminal.test/dsdp32.png b/org.eclipse.tm.terminal.test/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.test/dsdp32.png rename to org.eclipse.tm.terminal.test/tm32.png diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/org.eclipse.tm.terminal.view-feature/feature.properties index eda45068072..cf8610ca95c 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal View # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 11cb7600c6c..19098db06eb 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index c186882298e..5e517580099 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -18,7 +18,7 @@ featureName=Target Management Terminal View Source # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site tmUpdateSiteName=Target Management 3.2 Updates diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties index eafd8160510..cf0eefe6957 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties index 7ef3fa39c6e..90da6493829 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties @@ -8,5 +8,5 @@ # Contributors: # Martin Oberhuber - initial API and implementation ################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, dsdp32.png, plugin.properties, plugin.xml, src/, META-INF/ +bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ sourcePlugin = true diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties index 577524679cd..6575a12a766 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties @@ -9,4 +9,4 @@ # Martin Oberhuber - initial API and implementation ################################################################################ pluginName=Target Management Terminal View Source -providerName=Eclipse.org - DSDP +providerName=Eclipse TM Project diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/dsdp32.png b/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/dsdp32.png rename to org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.view/about.ini b/org.eclipse.tm.terminal.view/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal.view/about.ini +++ b/org.eclipse.tm.terminal.view/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal.view/about.properties b/org.eclipse.tm.terminal.view/about.properties index 3f0773fd9b1..1535348cd7e 100644 --- a/org.eclipse.tm.terminal.view/about.properties +++ b/org.eclipse.tm.terminal.view/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2010. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal.view/build.properties b/org.eclipse.tm.terminal.view/build.properties index 4d42cd2a2be..b90e191eed1 100644 --- a/org.eclipse.tm.terminal.view/build.properties +++ b/org.eclipse.tm.terminal.view/build.properties @@ -25,7 +25,7 @@ bin.includes = META-INF/,\ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ HelpContexts.xml,\ doc/,\ toc.xml,\ diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index cdcfdbfc22c..4ebff093e20 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -15,7 +15,7 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified ########################################################################## pluginName = Target Management Terminal View -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project terminal.views.category.name = Terminal terminal.views.view.name = Terminal terminal.views.view.font.description = The font for the terminal console. diff --git a/org.eclipse.tm.terminal.view/dsdp32.png b/org.eclipse.tm.terminal.view/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.view/dsdp32.png rename to org.eclipse.tm.terminal.view/tm32.png diff --git a/org.eclipse.tm.terminal/about.ini b/org.eclipse.tm.terminal/about.ini index fbbb9f83db9..3adc27ab587 100644 --- a/org.eclipse.tm.terminal/about.ini +++ b/org.eclipse.tm.terminal/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=dsdp32.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/org.eclipse.tm.terminal/about.properties b/org.eclipse.tm.terminal/about.properties index 43011de8e86..811308eaaef 100644 --- a/org.eclipse.tm.terminal/about.properties +++ b/org.eclipse.tm.terminal/about.properties @@ -22,4 +22,4 @@ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2003, 2009. All rights reserved.\n\ -Visit http://www.eclipse.org/dsdp/tm +Visit http://www.eclipse.org/tm diff --git a/org.eclipse.tm.terminal/build.properties b/org.eclipse.tm.terminal/build.properties index d0e503c729f..a9082607dd0 100644 --- a/org.eclipse.tm.terminal/build.properties +++ b/org.eclipse.tm.terminal/build.properties @@ -25,7 +25,7 @@ bin.includes = .,\ about.ini,\ about.mappings,\ about.properties,\ - dsdp32.png,\ + tm32.png,\ icons/,\ HelpContexts.xml diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index e92da578103..3c19d8a6a3c 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -18,7 +18,7 @@ # NLS_MESSAGEFORMAT_NONE pluginName = Target Management Terminal Widget -providerName = Eclipse.org - DSDP +providerName = Eclipse TM Project terminal.context.name=Terminal widget context terminal.context.description=Override ALT+x menu access keys diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index 0abc5b046e1..686da9cd265 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -23,7 +23,7 @@ import org.eclipse.swt.widgets.Composite; * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

    */ public interface ISettingsPage { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java index 8bdd06ac1cd..27b6e0e7653 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java @@ -19,7 +19,7 @@ package org.eclipse.tm.internal.terminal.provisional.api; * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

    */ public interface ISettingsStore { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index ef1b76a5216..b9b0a7ac9ec 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -45,7 +45,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * as part of a work in progress. There is no guarantee that this API * will work or that it will remain the same. Please do not use this API * without consulting with the Target Management team. + * href="http://www.eclipse.org/tm/">Target Management team. *

    */ public interface ITerminalConnector extends IAdaptable { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index ea9046b7a92..397917cd7cd 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -24,7 +24,7 @@ import org.eclipse.swt.widgets.Shell; * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    * * @author Michael Scharf diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java index 193d19d8696..22f7391f673 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java @@ -16,7 +16,7 @@ package org.eclipse.tm.internal.terminal.provisional.api; * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class LayeredSettingsStore implements ISettingsStore { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index fffd0016666..cb771a74b5b 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -37,7 +37,7 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

    */ public final class Logger { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java index c0697ae0e8d..45d42df647f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java @@ -18,7 +18,7 @@ import org.eclipse.core.runtime.Preferences; * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that * it will remain the same. Please do not use this API without consulting with - * the Target Management team. + * the Target Management team. *

    */ public class PreferenceSettingStore implements ISettingsStore { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 941e7c33355..d809574ff15 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -32,7 +32,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will work or * that it will remain the same. Please do not use this API without consulting - * with the Target Management + * with the Target Management * team. *

    */ diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java index 56375bc58e2..0245c49eb37 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java @@ -21,7 +21,7 @@ package org.eclipse.tm.internal.terminal.provisional.api; * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. + * consulting with the Target Management team. *

    */ public class TerminalState { diff --git a/org.eclipse.tm.terminal/dsdp32.png b/org.eclipse.tm.terminal/tm32.png similarity index 100% rename from org.eclipse.tm.terminal/dsdp32.png rename to org.eclipse.tm.terminal/tm32.png From 58e852f0e2ad587637883e790d57e13430d2dde8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 4 Jan 2011 19:37:57 +0000 Subject: [PATCH 444/843] [releng] Build on tools - branding - update bundle and feature versions --- org.eclipse.tm.terminal-feature/feature.properties | 2 +- org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 ++-- org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index 4b97b5dd3e1..bd917df18db 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 70cb7580de2..88d7c0e0ce6 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -2,11 +2,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true -Bundle-Version: 0.1.0.qualifier +Bundle-Version: 0.2.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", +Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.1.0,3.2.0)", org.eclipse.cdt.core;bundle-version="5.2.0", org.eclipse.core.runtime, org.eclipse.debug.core, diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.properties b/org.eclipse.tm.terminal.sdk-feature/feature.properties index b25f894769e..7d230891c63 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -25,7 +25,7 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index 45e65f6839c..0c280e50a04 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -30,8 +30,8 @@ - - + + Date: Tue, 4 Jan 2011 19:45:28 +0000 Subject: [PATCH 445/843] [releng] Build on tools - branding - update bundle and feature versions --- org.eclipse.tm.terminal-feature/feature.xml | 6 ++--- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../feature.xml | 2 +- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../feature.xml | 10 ++++----- .../sourceTemplateFeature/feature.properties | 2 +- .../META-INF/MANIFEST.MF | 4 ++-- .../feature.properties | 2 +- .../feature.xml | 19 ++++++++++++---- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../feature.xml | 22 ++++++++++++++----- .../META-INF/MANIFEST.MF | 4 ++-- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../sourceTemplateFeature/feature.properties | 2 +- .../META-INF/MANIFEST.MF | 4 ++-- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- 25 files changed, 71 insertions(+), 50 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 64902600f9e..d7df0b44ffb 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index dd5e395736f..794a389a951 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/org.eclipse.tm.terminal.local-feature/feature.properties index dad10ed71a6..74cb1d6ac5d 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/org.eclipse.tm.terminal.local-feature/feature.properties @@ -22,7 +22,7 @@ featureName=Local Terminal (Incubation) providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index aece50143ea..13e08d660ba 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -13,7 +13,7 @@ @@ -30,8 +30,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties index 9d490f3d3a8..4bb9486a9c0 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -22,7 +22,7 @@ featureName=Local Terminal SDK (Incubation) providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index f0a1395ca19..48d88d0f492 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -30,8 +30,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/org.eclipse.tm.terminal.serial-feature/feature.properties index de288e0c968..aed1470c374 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Serial Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 286a2a20bb0..f6afc0784b1 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -12,7 +12,7 @@ @@ -28,8 +28,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 0ac4d4983db..fc6c1669434 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Serial Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/feature.properties index 15ca0dbec6c..522f2f653f7 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/org.eclipse.tm.terminal.ssh-feature/feature.xml index e6009be98a3..8c7b557f227 100644 --- a/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -1,4 +1,5 @@ - - @@ -28,8 +28,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 44128666450..8d0c486ad56 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index fd9a95ad4f4..4e41d4ac6e8 100644 --- a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.0.200.qualifier +Bundle-Version: 2.1.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.0,3.1.0)", + org.eclipse.tm.terminal;bundle-version="[3.1.0,3.2.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/feature.properties index 7ffd133cae8..a33a379879a 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index ea63e50b5f2..5089e5ce7ca 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,7 +1,18 @@ - + + @@ -17,8 +28,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index 9002975cc0a..5049b44500c 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/org.eclipse.tm.terminal.test-feature/feature.properties index efeb9488c35..972e01265e5 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/org.eclipse.tm.terminal.test-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Unit Tests providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=TM Terminal Unit Tests. Includes Source. diff --git a/org.eclipse.tm.terminal.test-feature/feature.xml b/org.eclipse.tm.terminal.test-feature/feature.xml index 57b8363f3f7..05fc2ed5539 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/org.eclipse.tm.terminal.test-feature/feature.xml @@ -1,7 +1,18 @@ - + + @@ -17,8 +28,8 @@ - - + + @@ -33,8 +44,7 @@ id="org.eclipse.tm.terminal.test" download-size="0" install-size="0" - version="0.0.0" - unpack="true"/> + version="0.0.0"/> @@ -29,8 +29,8 @@ - - + + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 5e517580099..77941c294f1 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal View Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.2 Updates +tmUpdateSiteName=Target Management 3.3 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 4d53e41ba92..e1d8a034c3e 100644 --- a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.2.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.0.100,3.1.0)" + org.eclipse.tm.terminal;bundle-version="[3.1.0,3.2.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 53756d7e0f6..d73a07422ac 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.0.101.qualifier +Bundle-Version: 3.1.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin From 2243307cbe13a4e833968118668a8ff64555f84d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 4 Jan 2011 20:17:53 +0000 Subject: [PATCH 446/843] [releng] Build on tools - branding - update feature copyright dates 2011 --- org.eclipse.tm.terminal-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.local-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- org.eclipse.tm.terminal.local.sdk-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.local/about.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.serial/about.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.ssh/about.properties | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.telnet-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.telnet/about.properties | 4 ++-- org.eclipse.tm.terminal.test-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.test-feature/feature.xml | 2 +- org.eclipse.tm.terminal.test/about.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.properties | 4 ++-- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- .../sourceTemplateFeature/feature.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- org.eclipse.tm.terminal.view/about.properties | 4 ++-- org.eclipse.tm.terminal/about.properties | 4 ++-- 35 files changed, 61 insertions(+), 61 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/org.eclipse.tm.terminal-feature/feature.properties index bd917df18db..24fd12e0ed7 100644 --- a/org.eclipse.tm.terminal-feature/feature.properties +++ b/org.eclipse.tm.terminal-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2010 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2010 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2011 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index d7df0b44ffb..250ef8b189b 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -1,6 +1,6 @@

    Legal Notice

    -The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2008. +The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2011.

    Terms and conditions regarding the use of this guide. From 2cdaf710fbfb98985f9ee3be8be59cdea24753a6 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 14 Mar 2011 22:57:55 +0000 Subject: [PATCH 458/843] Bug 339954 - [releng] Update the SUA in the features to the latest version --- org.eclipse.tm.terminal.test-feature/feature.properties | 7 ++++--- org.eclipse.tm.terminal.test-feature/license.html | 3 ++- org.eclipse.tm.terminal.test-feature/rootfiles/notice.html | 3 ++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/org.eclipse.tm.terminal.test-feature/feature.properties index d6a7baf6537..e32513a2fcf 100644 --- a/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/org.eclipse.tm.terminal.test-feature/feature.properties @@ -43,7 +43,7 @@ licenseURL=license.html # should be plain text version of license agreement pointed to be "licenseURL" license=\ Eclipse Foundation Software User Agreement\n\ -April 14, 2010\n\ +February 1, 2011\n\ \n\ Usage Of Content\n\ \n\ @@ -51,10 +51,10 @@ THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/ OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ @@ -112,6 +112,7 @@ THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ \n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ diff --git a/org.eclipse.tm.terminal.test-feature/license.html b/org.eclipse.tm.terminal.test-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.test-feature/license.html +++ b/org.eclipse.tm.terminal.test-feature/license.html @@ -8,7 +8,7 @@

    Eclipse Foundation Software User Agreement

    -

    April 14, 2010

    +

    February 1, 2011

    Usage Of Content

    @@ -58,6 +58,7 @@ that directory.

    OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

      +
    • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
    • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
    • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
    • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
    • diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html +++ b/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html @@ -8,7 +8,7 @@

      Eclipse Foundation Software User Agreement

      -

      April 14, 2010

      +

      February 1, 2011

      Usage Of Content

      @@ -58,6 +58,7 @@ that directory.

      OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

        +
      • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
      • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
      • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
      • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
      • From 1f554a098f27a09e37ebdb11848da1c242529338 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 14 Mar 2011 23:18:00 +0000 Subject: [PATCH 459/843] Bug 339954 - [releng] Update the SUA in the features to the latest version --- org.eclipse.tm.terminal-feature/license.html | 3 ++- .../sourceTemplateFeature/license.html | 3 ++- org.eclipse.tm.terminal.local-feature/license.html | 3 ++- org.eclipse.tm.terminal.local.sdk-feature/license.html | 3 ++- org.eclipse.tm.terminal.sdk-feature/license.html | 3 ++- org.eclipse.tm.terminal.serial-feature/license.html | 3 ++- .../sourceTemplateFeature/license.html | 3 ++- org.eclipse.tm.terminal.ssh-feature/license.html | 3 ++- .../sourceTemplateFeature/license.html | 3 ++- org.eclipse.tm.terminal.telnet-feature/license.html | 3 ++- .../sourceTemplateFeature/license.html | 3 ++- org.eclipse.tm.terminal.view-feature/license.html | 3 ++- .../sourceTemplateFeature/license.html | 3 ++- 13 files changed, 26 insertions(+), 13 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/license.html b/org.eclipse.tm.terminal-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal-feature/license.html +++ b/org.eclipse.tm.terminal-feature/license.html @@ -8,7 +8,7 @@

        Eclipse Foundation Software User Agreement

        -

        April 14, 2010

        +

        February 1, 2011

        Usage Of Content

        @@ -58,6 +58,7 @@ that directory.

        OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

          +
        • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
        • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
        • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
        • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
        • diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html @@ -8,7 +8,7 @@

          Eclipse Foundation Software User Agreement

          -

          April 14, 2010

          +

          February 1, 2011

          Usage Of Content

          @@ -58,6 +58,7 @@ that directory.

          OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

            +
          • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
          • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
          • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
          • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
          • diff --git a/org.eclipse.tm.terminal.local-feature/license.html b/org.eclipse.tm.terminal.local-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.local-feature/license.html +++ b/org.eclipse.tm.terminal.local-feature/license.html @@ -8,7 +8,7 @@

            Eclipse Foundation Software User Agreement

            -

            April 14, 2010

            +

            February 1, 2011

            Usage Of Content

            @@ -58,6 +58,7 @@ that directory.

            OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

              +
            • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
            • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
            • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
            • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
            • diff --git a/org.eclipse.tm.terminal.local.sdk-feature/license.html b/org.eclipse.tm.terminal.local.sdk-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/license.html +++ b/org.eclipse.tm.terminal.local.sdk-feature/license.html @@ -8,7 +8,7 @@

              Eclipse Foundation Software User Agreement

              -

              April 14, 2010

              +

              February 1, 2011

              Usage Of Content

              @@ -58,6 +58,7 @@ that directory.

              OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                +
              • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
              • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
              • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
              • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
              • diff --git a/org.eclipse.tm.terminal.sdk-feature/license.html b/org.eclipse.tm.terminal.sdk-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.sdk-feature/license.html +++ b/org.eclipse.tm.terminal.sdk-feature/license.html @@ -8,7 +8,7 @@

                Eclipse Foundation Software User Agreement

                -

                April 14, 2010

                +

                February 1, 2011

                Usage Of Content

                @@ -58,6 +58,7 @@ that directory.

                OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                  +
                • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                • diff --git a/org.eclipse.tm.terminal.serial-feature/license.html b/org.eclipse.tm.terminal.serial-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.serial-feature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/license.html @@ -8,7 +8,7 @@

                  Eclipse Foundation Software User Agreement

                  -

                  April 14, 2010

                  +

                  February 1, 2011

                  Usage Of Content

                  @@ -58,6 +58,7 @@ that directory.

                  OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                    +
                  • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                  • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                  • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                  • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                  • diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html @@ -8,7 +8,7 @@

                    Eclipse Foundation Software User Agreement

                    -

                    April 14, 2010

                    +

                    February 1, 2011

                    Usage Of Content

                    @@ -58,6 +58,7 @@ that directory.

                    OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                      +
                    • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                    • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                    • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                    • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                    • diff --git a/org.eclipse.tm.terminal.ssh-feature/license.html b/org.eclipse.tm.terminal.ssh-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.ssh-feature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/license.html @@ -8,7 +8,7 @@

                      Eclipse Foundation Software User Agreement

                      -

                      April 14, 2010

                      +

                      February 1, 2011

                      Usage Of Content

                      @@ -58,6 +58,7 @@ that directory.

                      OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                        +
                      • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                      • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                      • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                      • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                      • diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html @@ -8,7 +8,7 @@

                        Eclipse Foundation Software User Agreement

                        -

                        April 14, 2010

                        +

                        February 1, 2011

                        Usage Of Content

                        @@ -58,6 +58,7 @@ that directory.

                        OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                          +
                        • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                        • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                        • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                        • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                        • diff --git a/org.eclipse.tm.terminal.telnet-feature/license.html b/org.eclipse.tm.terminal.telnet-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.telnet-feature/license.html +++ b/org.eclipse.tm.terminal.telnet-feature/license.html @@ -8,7 +8,7 @@

                          Eclipse Foundation Software User Agreement

                          -

                          April 14, 2010

                          +

                          February 1, 2011

                          Usage Of Content

                          @@ -58,6 +58,7 @@ that directory.

                          OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                            +
                          • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                          • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                          • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                          • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                          • diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html @@ -8,7 +8,7 @@

                            Eclipse Foundation Software User Agreement

                            -

                            April 14, 2010

                            +

                            February 1, 2011

                            Usage Of Content

                            @@ -58,6 +58,7 @@ that directory.

                            OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                              +
                            • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                            • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                            • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                            • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                            • diff --git a/org.eclipse.tm.terminal.view-feature/license.html b/org.eclipse.tm.terminal.view-feature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.view-feature/license.html +++ b/org.eclipse.tm.terminal.view-feature/license.html @@ -8,7 +8,7 @@

                              Eclipse Foundation Software User Agreement

                              -

                              April 14, 2010

                              +

                              February 1, 2011

                              Usage Of Content

                              @@ -58,6 +58,7 @@ that directory.

                              OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                +
                              • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                              • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                              • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                              • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                              • diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html index c184ca36a99..f19c483b9c8 100644 --- a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html +++ b/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html @@ -8,7 +8,7 @@

                                Eclipse Foundation Software User Agreement

                                -

                                April 14, 2010

                                +

                                February 1, 2011

                                Usage Of Content

                                @@ -58,6 +58,7 @@ that directory.

                                OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  +
                                • Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)
                                • Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)
                                • Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)
                                • Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)
                                • From 0471c93f0afdf1d85d6b1094a6b7b095b310990d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 14 Mar 2011 23:56:35 +0000 Subject: [PATCH 460/843] Bug 333613 - [terminal] "Job found still running" message on stdout console after terminating Eclipse --- .../emulator/VT100TerminalControl.java | 39 ++++++++++++------- .../terminal/textcanvas/PipedInputStream.java | 23 +++++++---- 2 files changed, 40 insertions(+), 22 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 18ff1ffd2b6..b4db0421536 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -26,6 +26,7 @@ * Martin Oberhuber (Wind River) - [240745] Pressing Ctrl+F1 in the Terminal should bring up context help * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal + * Pawel Piech (Wind River) - [333613] Avoid "Job still found running" error after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -345,27 +346,35 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ + //Ensure that a new Job can be started; then clean up old Job. + //TODO not sure whether the fInputStream needs to be cleaned too, + //or whether the Job could actually cancel in case the fInputStream is closed. + Job job; + synchronized(this) { + job = fJob; + fJob = null; + } + if (job!=null) { + job.cancel(); + // Join job to avoid leaving job running after workbench shutdown (333613). + try { + fInputStream.close(); + //There's not really a need to interrupt, since the job will + //check its cancel status after 500 msec latest anyways... + //Thread t = job.getThread(); + //if(t!=null) t.interrupt(); + job.join(); + } catch (IOException e1) { + } catch (InterruptedException e) { + } + } + if (getState()==TerminalState.CLOSED) { return; } if(getTerminalConnector()!=null) { getTerminalConnector().disconnect(); } - //Ensure that a new Job can be started; then clean up old Job. - //TODO not sure whether the fInputStream needs to be cleaned too, - //or whether the Job could actually cancel in case the fInputStream is closed. - Job job; - synchronized(this) { - job = fJob; - fJob = null; - } - if (job!=null) { - job.cancel(); - //There's not really a need to interrupt, since the job will - //check its cancel status after 500 msec latest anyways... - //Thread t = job.getThread(); - //if(t!=null) t.interrupt(); - } } // TODO diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java index 5b36e5a9bb4..d15a47b5fed 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 1996, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer * Martin Oberhuber (Wind River) - the waitForAvailable method * Martin Oberhuber (Wind River) - [208166] Avoid unnecessary arraycopy in BoundedByteBuffer + * Pawel Piech (Wind River) - [333613] Avoid "Job still found running" error after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -72,7 +73,12 @@ public class PipedInputStream extends InputStream { * Must be called with a lock on this! */ public int available() { - return fUsedSlots; + if (fUsedSlots > 0) { + return fUsedSlots; + } else if (fClosed) { + return -1; + } + return 0; } /** * Writes a single byte to the buffer. Blocks if the buffer is full. @@ -237,7 +243,8 @@ public class PipedInputStream extends InputStream { } /** * Must be called in the Display Thread! - * @return true if a character is available for the terminal to show. + * @return number of characters available for reading. Returns -1 if + * stream is closed and no characters are left in pipe. */ public int available() { synchronized(fQueue) { @@ -259,12 +266,14 @@ public class PipedInputStream extends InputStream { } } /** - * Closing a PipedInputStream has no effect. The methods in - * this class can be called after the stream has been closed without - * generating an IOException. - *

                                  + * Closing a PipedInputStream is the same as closing the output stream. + * The stream will allow reading data that's still in the pipe after which it will + * throw an IOException. */ public void close() throws IOException { + synchronized(fQueue) { + fQueue.close(); + } } public int read(byte[] cbuf, int off, int len) throws IOException { From a95774420d2762bc6502c4866417881c823f9e2d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 15 Mar 2011 00:22:46 +0000 Subject: [PATCH 461/843] Revert release of Bug 333613 - [terminal] "Job found still running" message on stdout console after terminating Eclipse --- .../emulator/VT100TerminalControl.java | 39 +++++++------------ .../terminal/textcanvas/PipedInputStream.java | 23 ++++------- 2 files changed, 22 insertions(+), 40 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index b4db0421536..18ff1ffd2b6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -26,7 +26,6 @@ * Martin Oberhuber (Wind River) - [240745] Pressing Ctrl+F1 in the Terminal should bring up context help * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal - * Pawel Piech (Wind River) - [333613] Avoid "Job still found running" error after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -346,35 +345,27 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ - //Ensure that a new Job can be started; then clean up old Job. - //TODO not sure whether the fInputStream needs to be cleaned too, - //or whether the Job could actually cancel in case the fInputStream is closed. - Job job; - synchronized(this) { - job = fJob; - fJob = null; - } - if (job!=null) { - job.cancel(); - // Join job to avoid leaving job running after workbench shutdown (333613). - try { - fInputStream.close(); - //There's not really a need to interrupt, since the job will - //check its cancel status after 500 msec latest anyways... - //Thread t = job.getThread(); - //if(t!=null) t.interrupt(); - job.join(); - } catch (IOException e1) { - } catch (InterruptedException e) { - } - } - if (getState()==TerminalState.CLOSED) { return; } if(getTerminalConnector()!=null) { getTerminalConnector().disconnect(); } + //Ensure that a new Job can be started; then clean up old Job. + //TODO not sure whether the fInputStream needs to be cleaned too, + //or whether the Job could actually cancel in case the fInputStream is closed. + Job job; + synchronized(this) { + job = fJob; + fJob = null; + } + if (job!=null) { + job.cancel(); + //There's not really a need to interrupt, since the job will + //check its cancel status after 500 msec latest anyways... + //Thread t = job.getThread(); + //if(t!=null) t.interrupt(); + } } // TODO diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java index d15a47b5fed..5b36e5a9bb4 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 1996, 2011 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2008 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,7 +10,6 @@ * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer * Martin Oberhuber (Wind River) - the waitForAvailable method * Martin Oberhuber (Wind River) - [208166] Avoid unnecessary arraycopy in BoundedByteBuffer - * Pawel Piech (Wind River) - [333613] Avoid "Job still found running" error after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -73,12 +72,7 @@ public class PipedInputStream extends InputStream { * Must be called with a lock on this! */ public int available() { - if (fUsedSlots > 0) { - return fUsedSlots; - } else if (fClosed) { - return -1; - } - return 0; + return fUsedSlots; } /** * Writes a single byte to the buffer. Blocks if the buffer is full. @@ -243,8 +237,7 @@ public class PipedInputStream extends InputStream { } /** * Must be called in the Display Thread! - * @return number of characters available for reading. Returns -1 if - * stream is closed and no characters are left in pipe. + * @return true if a character is available for the terminal to show. */ public int available() { synchronized(fQueue) { @@ -266,14 +259,12 @@ public class PipedInputStream extends InputStream { } } /** - * Closing a PipedInputStream is the same as closing the output stream. - * The stream will allow reading data that's still in the pipe after which it will - * throw an IOException. + * Closing a PipedInputStream has no effect. The methods in + * this class can be called after the stream has been closed without + * generating an IOException. + *

                                  */ public void close() throws IOException { - synchronized(fQueue) { - fQueue.close(); - } } public int read(byte[] cbuf, int off, int len) throws IOException { From efe4551f3392709feff9c66cf34a9dfc50a97936 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 7 Apr 2011 04:48:49 +0000 Subject: [PATCH 462/843] Bug 339768 - [terminal] The Terminal doesn't react to the PageUp key properly --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 18ff1ffd2b6..1e7852043a2 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -26,6 +26,7 @@ * Martin Oberhuber (Wind River) - [240745] Pressing Ctrl+F1 in the Terminal should bring up context help * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal + * Max Stepanov (Appcelerator) - [339768] Fix ANSI code for PgUp / PgDn *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -811,11 +812,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC break; case 0x1000005: // PgUp key. - sendString("\u001b[I"); //$NON-NLS-1$ + sendString("\u001b[5~"); //$NON-NLS-1$ break; case 0x1000006: // PgDn key. - sendString("\u001b[G"); //$NON-NLS-1$ + sendString("\u001b[6~"); //$NON-NLS-1$ break; case 0x1000007: // Home key. From b05f03a7c8c1abc534f588299e3de940716a6178 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 23 May 2011 12:19:47 +0000 Subject: [PATCH 463/843] Bug 324608 - [terminal] Terminal has strange scrolling behaviour --- .../terminal/textcanvas/TextCanvas.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index f8f62f88ea1..0266bdfe81a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -14,6 +14,7 @@ * Uwe Stieber (Wind River) - [205486] Fix ScrollLock always moving to line 1 * Anton Leherbauer (Wind River) - [219589] Copy an entire line selection * Anton Leherbauer (Wind River) - [196465] Resizing Terminal changes Scroller location + * Anton Leherbauer (Wind River) - [324608] Terminal has strange scrolling behaviour *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -97,8 +98,10 @@ public class TextCanvas extends GridCanvas { if(isDisposed()) return; // scroll to end (unless scroll lock is active) - if (!fResizing) + if (!fResizing) { + calculateGrid(); scrollToEnd(); + } } }); // let the cursor blink if the text canvas gets the focus... @@ -257,14 +260,16 @@ public class TextCanvas extends GridCanvas { private void calculateGrid() { Rectangle virtualBounds = getVirtualBounds(); - setVirtualExtend(getCols()*getCellWidth(),getRows()*getCellHeight()); setRedraw(false); try { - // scroll to end if view port was near last line - Rectangle viewRect = getViewRectangle(); - if (virtualBounds.height - (viewRect.y + viewRect.height) < getCellHeight() * 2) - scrollToEnd(); + setVirtualExtend(getCols()*getCellWidth(),getRows()*getCellHeight()); getParent().layout(); + if (fResizing) { + // scroll to end if view port was near last line + Rectangle viewRect = getViewRectangle(); + if (virtualBounds.height - (viewRect.y + viewRect.height) < getCellHeight() * 2) + scrollToEnd(); + } } finally { setRedraw(true); } From f097643ed1e65d9255753ff7b943e4a680fc8e7d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 23 May 2011 12:22:58 +0000 Subject: [PATCH 464/843] Bug 333613 - [terminal] "Job found still running" message on stdout console after terminating Eclipse --- .../emulator/VT100TerminalControl.java | 37 +++++++++++-------- .../terminal/textcanvas/PipedInputStream.java | 19 ++++++---- 2 files changed, 33 insertions(+), 23 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 1e7852043a2..30d701fc05e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -27,6 +27,7 @@ * Michael Scharf (Wind River) - [240098] The cursor should not blink when the terminal is disconnected * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal * Max Stepanov (Appcelerator) - [339768] Fix ANSI code for PgUp / PgDn + * Pawel Piech (Wind River) - [333613] "Job found still running" after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -346,27 +347,33 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ + //Ensure that a new Job can be started; then clean up old Job. + //TODO not sure whether the fInputStream needs to be cleaned too, + //or whether the Job could actually cancel in case the fInputStream is closed. + Job job; + synchronized(this) { + job = fJob; + fJob = null; + } + if (job!=null) { + job.cancel(); + // Join job to avoid leaving job running after workbench shutdown (333613). + try { + fInputStream.close(); + job.join(); + } catch (IOException e1) { + } catch (InterruptedException e) { + } +// Thread t = job.getThread(); +// if(t!=null) t.interrupt(); + } + if (getState()==TerminalState.CLOSED) { return; } if(getTerminalConnector()!=null) { getTerminalConnector().disconnect(); } - //Ensure that a new Job can be started; then clean up old Job. - //TODO not sure whether the fInputStream needs to be cleaned too, - //or whether the Job could actually cancel in case the fInputStream is closed. - Job job; - synchronized(this) { - job = fJob; - fJob = null; - } - if (job!=null) { - job.cancel(); - //There's not really a need to interrupt, since the job will - //check its cancel status after 500 msec latest anyways... - //Thread t = job.getThread(); - //if(t!=null) t.interrupt(); - } } // TODO diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java index 5b36e5a9bb4..f0e11324a2d 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 1996, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 1996, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer * Martin Oberhuber (Wind River) - the waitForAvailable method * Martin Oberhuber (Wind River) - [208166] Avoid unnecessary arraycopy in BoundedByteBuffer + * Pawel Piech (Wind River) - [333613] "Job found still running" after shutdown *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -72,7 +73,7 @@ public class PipedInputStream extends InputStream { * Must be called with a lock on this! */ public int available() { - return fUsedSlots; + return fUsedSlots; } /** * Writes a single byte to the buffer. Blocks if the buffer is full. @@ -231,13 +232,13 @@ public class PipedInputStream extends InputStream { */ public void waitForAvailable(long millis) throws InterruptedException { synchronized(fQueue) { - if(fQueue.available()==0) + if(fQueue.available()==0 && !fQueue.fClosed) fQueue.wait(millis); } } /** * Must be called in the Display Thread! - * @return true if a character is available for the terminal to show. + * @return number of characters available for reading. */ public int available() { synchronized(fQueue) { @@ -259,12 +260,14 @@ public class PipedInputStream extends InputStream { } } /** - * Closing a PipedInputStream has no effect. The methods in - * this class can be called after the stream has been closed without - * generating an IOException. - *

                                  + * Closing a PipedInputStream is the same as closing the output stream. + * The stream will allow reading data that's still in the pipe after which it will + * throw an IOException. */ public void close() throws IOException { + synchronized(fQueue) { + fQueue.close(); + } } public int read(byte[] cbuf, int off, int len) throws IOException { From 51d802bdcec610e4c6fd38bf5fe87e0849ce79ee Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 8 Jun 2011 10:32:48 +0000 Subject: [PATCH 465/843] Bug 348700 - [terminal] Regression: Terminal is unusable after "Disconnect" --- .../terminal/emulator/VT100TerminalControl.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 30d701fc05e..7629fbfe8cf 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -359,13 +359,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC job.cancel(); // Join job to avoid leaving job running after workbench shutdown (333613). try { - fInputStream.close(); + // The Job will check its cancel status after 500msec latest. But we still + // Interrupt the Job, such that it can join fast enough during Workbench shutdown (bug 333613). + // TODO closing fInputStream may seem more clean but causes problems (bug 348700). + Thread t = job.getThread(); + if(t!=null) t.interrupt(); job.join(); - } catch (IOException e1) { - } catch (InterruptedException e) { - } -// Thread t = job.getThread(); -// if(t!=null) t.interrupt(); + } catch (InterruptedException e) {} } if (getState()==TerminalState.CLOSED) { From 164552f40e14cb3384ab918eb9257e1c6cfe45a4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 8 Jun 2011 13:29:55 +0000 Subject: [PATCH 466/843] Bug 348700 - [terminal] Regression: Terminal is unusable after "Disconnect" --- .../emulator/VT100TerminalControl.java | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 7629fbfe8cf..972939458a5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -28,6 +28,7 @@ * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal * Max Stepanov (Appcelerator) - [339768] Fix ANSI code for PgUp / PgDn * Pawel Piech (Wind River) - [333613] "Job found still running" after shutdown + * Martin Oberhuber (Wind River) - [348700] Terminal unusable after disconnect *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -347,9 +348,14 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ + //Disconnect the remote side first + if (getState()!=TerminalState.CLOSED) { + if(getTerminalConnector()!=null) { + getTerminalConnector().disconnect(); + } + } + //Ensure that a new Job can be started; then clean up old Job. - //TODO not sure whether the fInputStream needs to be cleaned too, - //or whether the Job could actually cancel in case the fInputStream is closed. Job job; synchronized(this) { job = fJob; @@ -358,22 +364,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (job!=null) { job.cancel(); // Join job to avoid leaving job running after workbench shutdown (333613). + // Interrupt to be fast enough; cannot close fInputStream since it is re-used (bug 348700). + Thread t = job.getThread(); + if(t!=null) t.interrupt(); try { - // The Job will check its cancel status after 500msec latest. But we still - // Interrupt the Job, such that it can join fast enough during Workbench shutdown (bug 333613). - // TODO closing fInputStream may seem more clean but causes problems (bug 348700). - Thread t = job.getThread(); - if(t!=null) t.interrupt(); job.join(); } catch (InterruptedException e) {} } - - if (getState()==TerminalState.CLOSED) { - return; - } - if(getTerminalConnector()!=null) { - getTerminalConnector().disconnect(); - } } // TODO From c1e935b1b91abc6f14159c75cf41c723ee002c3e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 28 Jun 2011 12:48:04 +0000 Subject: [PATCH 467/843] Bug 206329 - [terminal][regression] Changing terminal size right after connect does not scroll properly --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- .../feature.xml | 2 +- .../feature.xml | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- .../emulator/VT100EmulatorBackend.java | 38 ++++++++----------- 5 files changed, 20 insertions(+), 26 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index 250ef8b189b..ffd096dc042 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 729759bd3ab..c1dcb605492 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index acec08aa4c4..b33a930b95f 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index d73a07422ac..ce562ea393f 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.1.0.qualifier +Bundle-Version: 3.1.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index 144582c2723..3941862adc5 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [206329] Changing terminal size right after connect does not scroll properly *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -77,34 +78,27 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { synchronized (fTerminal) { if(lines==fLines && cols==fColumns) return; // nothing to do - // cursor line from the bottom - int cl=lines-(fLines-getCursorLine()); + // relative cursor line + int cl=getCursorLine(); int cc=getCursorColumn(); - int newLines=Math.max(lines,fTerminal.getHeight()); - // if the terminal has no history, then resize by - // setting the size to the new size - if(fTerminal.getHeight()==fLines) { - if(lines1) -// break; -// // is the line empty? -// if(segments[0].getText().replaceAll("[\000 ]+", "").length()==0) -// break; -// } - } else { - cl+=fLines-lines; + int height=fTerminal.getHeight(); + // absolute cursor line + int acl=cl+height-fLines; + int newLines=Math.max(lines,height); + if(lines Date: Mon, 18 Jul 2011 15:27:28 +0000 Subject: [PATCH 468/843] Bug 351424 - [terminal] Terminal does not support del and insert key --- .../terminal/emulator/VT100TerminalControl.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 972939458a5..3d42f7859e6 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -29,6 +29,7 @@ * Max Stepanov (Appcelerator) - [339768] Fix ANSI code for PgUp / PgDn * Pawel Piech (Wind River) - [333613] "Job found still running" after shutdown * Martin Oberhuber (Wind River) - [348700] Terminal unusable after disconnect + * Simon Bernard (Sierra Wireless) - [351424] [terminal] Terminal does not support del and insert key *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -780,6 +781,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC event.doit = true; return; } + + // Manage the Del key + if (event.keyCode == 0x000007f) + { + sendString("\u001b[3~"); //$NON-NLS-1$ + return; + } // If the event character is NUL ('\u0000'), then a special key was pressed // (e.g., PageUp, PageDown, an arrow key, a function key, Shift, Alt, @@ -830,7 +838,11 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC case 0x1000008: // End key. sendString("\u001b[F"); //$NON-NLS-1$ break; - + + case 0x1000009: // Insert. + sendString("\u001b[2~"); //$NON-NLS-1$ + break; + case 0x100000a: // F1 key. if ( (event.stateMask & SWT.CTRL)!=0 ) { //Allow Ctrl+F1 to act locally as well as on the remote, because it is From e7ed987a81a138f8275efbdcf8ba41cf75aa82fc Mon Sep 17 00:00:00 2001 From: Michael Scharf Date: Thu, 15 Sep 2011 22:26:59 +0000 Subject: [PATCH 469/843] fixed name conflict of the getBackgroundColor on linux --- .../terminal/test/terminalcanvas/VirtualCanvas.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java index 414622254e9..58727f3dddc 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java @@ -31,7 +31,7 @@ import org.eclipse.swt.widgets.ScrollBar; */ public abstract class VirtualCanvas extends Canvas { - private Rectangle fVirtualBounds = new Rectangle(0,0,0,0); + private final Rectangle fVirtualBounds = new Rectangle(0,0,0,0); private Rectangle fClientArea; private GC fPaintGC=null; public VirtualCanvas(Composite parent, int style) { @@ -170,7 +170,7 @@ public abstract class VirtualCanvas extends Canvas { * @param gc */ abstract protected void paint(GC gc); - protected Color getBackgroundColor() { + protected Color getBackgroundCanvasColor() { return getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND); } protected void paintUnoccupiedSpace(GC gc, Rectangle clipping) { @@ -180,7 +180,7 @@ public abstract class VirtualCanvas extends Canvas { int marginHeight = (clipping.y+clipping.height) - height; if(marginWidth>0||marginHeight>0){ Color bg=getBackground(); - gc.setBackground(getBackgroundColor()); + gc.setBackground(getBackgroundCanvasColor()); if (marginWidth > 0) { gc.fillRectangle (width, clipping.y, marginWidth, clipping.height); } @@ -266,7 +266,7 @@ public abstract class VirtualCanvas extends Canvas { return y-fVirtualBounds.y; } /** called when the viewed part is changing */ - private Rectangle fViewRectangle=new Rectangle(0,0,0,0); + private final Rectangle fViewRectangle=new Rectangle(0,0,0,0); void updateViewRectangle() { if( fViewRectangle.x==-fVirtualBounds.x From 9552d7bf3d75d1485369bd46d02fa5acf83549f7 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 29 Sep 2011 17:28:32 +0000 Subject: [PATCH 470/843] Bug 357662 - Build error in o.e.tm.terminal.test/VirtualCanvas when building on Linux-GTK --- org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 2 +- .../tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 886c2598e19..4413daa52e6 100644 --- a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.1.0.qualifier +Bundle-Version: 2.2.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java index 58727f3dddc..b3207c5b912 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at From f628491b4b971c783feb2a6d62561932d448fe05 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Tue, 24 Jan 2012 19:34:16 +0000 Subject: [PATCH 471/843] Adding pom.xml to the terminal plugins and features. --- org.eclipse.tm.terminal-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.local-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.local/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.sdk-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.serial-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.serial/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.ssh-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.ssh/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.telnet-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.telnet/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.test-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.test/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.view-feature/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal.view/pom.xml | 15 +++++++++++++++ org.eclipse.tm.terminal/pom.xml | 15 +++++++++++++++ 16 files changed, 240 insertions(+) create mode 100644 org.eclipse.tm.terminal-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.local-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.local.sdk-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.local/pom.xml create mode 100644 org.eclipse.tm.terminal.sdk-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.serial-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.serial/pom.xml create mode 100644 org.eclipse.tm.terminal.ssh-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.ssh/pom.xml create mode 100644 org.eclipse.tm.terminal.telnet-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.telnet/pom.xml create mode 100644 org.eclipse.tm.terminal.test-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.test/pom.xml create mode 100644 org.eclipse.tm.terminal.view-feature/pom.xml create mode 100644 org.eclipse.tm.terminal.view/pom.xml create mode 100644 org.eclipse.tm.terminal/pom.xml diff --git a/org.eclipse.tm.terminal-feature/pom.xml b/org.eclipse.tm.terminal-feature/pom.xml new file mode 100644 index 00000000000..9b89af28ef7 --- /dev/null +++ b/org.eclipse.tm.terminal-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal + 3.1.1-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.local-feature/pom.xml b/org.eclipse.tm.terminal.local-feature/pom.xml new file mode 100644 index 00000000000..781a1637e12 --- /dev/null +++ b/org.eclipse.tm.terminal.local-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.local + 0.2.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/org.eclipse.tm.terminal.local.sdk-feature/pom.xml new file mode 100644 index 00000000000..93e168c29d1 --- /dev/null +++ b/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.local.sdk + 0.2.1-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.local/pom.xml b/org.eclipse.tm.terminal.local/pom.xml new file mode 100644 index 00000000000..d6c24585e93 --- /dev/null +++ b/org.eclipse.tm.terminal.local/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.local + 0.2.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal.sdk-feature/pom.xml b/org.eclipse.tm.terminal.sdk-feature/pom.xml new file mode 100644 index 00000000000..93f05dd51f5 --- /dev/null +++ b/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.sdk + 3.2.1-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.serial-feature/pom.xml b/org.eclipse.tm.terminal.serial-feature/pom.xml new file mode 100644 index 00000000000..bda1eca7bad --- /dev/null +++ b/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.serial + 2.1.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.serial/pom.xml b/org.eclipse.tm.terminal.serial/pom.xml new file mode 100644 index 00000000000..c42ba3470c1 --- /dev/null +++ b/org.eclipse.tm.terminal.serial/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.serial + 2.1.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal.ssh-feature/pom.xml b/org.eclipse.tm.terminal.ssh-feature/pom.xml new file mode 100644 index 00000000000..bc5bbb0edc7 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.ssh + 2.1.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.ssh/pom.xml b/org.eclipse.tm.terminal.ssh/pom.xml new file mode 100644 index 00000000000..45828e0cdf7 --- /dev/null +++ b/org.eclipse.tm.terminal.ssh/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.ssh + 2.1.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal.telnet-feature/pom.xml b/org.eclipse.tm.terminal.telnet-feature/pom.xml new file mode 100644 index 00000000000..154404b97b4 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.telnet + 2.1.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.telnet/pom.xml b/org.eclipse.tm.terminal.telnet/pom.xml new file mode 100644 index 00000000000..0810383abb0 --- /dev/null +++ b/org.eclipse.tm.terminal.telnet/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.telnet + 2.1.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal.test-feature/pom.xml b/org.eclipse.tm.terminal.test-feature/pom.xml new file mode 100644 index 00000000000..1ae7ba33d2c --- /dev/null +++ b/org.eclipse.tm.terminal.test-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.test + 2.1.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.test/pom.xml b/org.eclipse.tm.terminal.test/pom.xml new file mode 100644 index 00000000000..0b308f87836 --- /dev/null +++ b/org.eclipse.tm.terminal.test/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.test + 2.2.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal.view-feature/pom.xml b/org.eclipse.tm.terminal.view-feature/pom.xml new file mode 100644 index 00000000000..b7697d813fe --- /dev/null +++ b/org.eclipse.tm.terminal.view-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.view + 2.2.0-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.view/pom.xml b/org.eclipse.tm.terminal.view/pom.xml new file mode 100644 index 00000000000..451dfdf6bd7 --- /dev/null +++ b/org.eclipse.tm.terminal.view/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal.view + 2.2.0-SNAPSHOT + eclipse-plugin + diff --git a/org.eclipse.tm.terminal/pom.xml b/org.eclipse.tm.terminal/pom.xml new file mode 100644 index 00000000000..d8436d1c1df --- /dev/null +++ b/org.eclipse.tm.terminal/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../ + + org.eclipse.tm + org.eclipse.tm.terminal + 3.1.1-SNAPSHOT + eclipse-plugin + From 8b84758986c16339be9d61fed3ea38c1d2b5767c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 31 Jan 2012 15:02:15 +0000 Subject: [PATCH 472/843] Bug 244405 - [terminal] Add a UI Control for setting the Terminal's encoding --- .../feature.properties | 6 +- .../feature.xml | 8 +- .../pom.xml | 2 +- .../feature.properties | 6 +- .../feature.xml | 8 +- org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- .../feature.properties | 6 +- .../feature.xml | 8 +- org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +- .../sourceTemplatePlugin/about.properties | 4 +- .../META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal.view/about.properties | 4 +- org.eclipse.tm.terminal.view/pom.xml | 2 +- .../view/ITerminalViewConnection.java | 12 ++- .../terminal/view/TerminalSettingsDlg.java | 100 ++++++++++++++++-- .../internal/terminal/view/TerminalView.java | 13 ++- .../terminal/view/TerminalViewConnection.java | 34 +++++- .../internal/terminal/view/ViewMessages.java | 7 +- .../terminal/view/ViewMessages.properties | 6 +- 20 files changed, 187 insertions(+), 51 deletions(-) diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties index b218a4c046f..7f10e4b6816 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2011 Mirko Raner and others. +# Copyright (c) 2008, 2012 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,7 +22,7 @@ featureName=Local Terminal SDK (Incubation) providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.3 Updates +tmUpdateSiteName=Target Management 3.4 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ @@ -31,7 +31,7 @@ and the Terminal View required to drive the plugin. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2008, 2011 Mirko Raner and others.\n\ +Copyright (c) 2008, 2012 Mirko Raner and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index c1dcb605492..fd8a0e7e901 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -1,6 +1,6 @@ - - - - - - - - - %terminal.views.view.font.description - - - - - - diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index c1ed64ebb16..a378fe2c2a0 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -26,13 +26,13 @@ * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; import java.util.HashSet; import java.util.Set; -import org.eclipse.core.runtime.Preferences; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IMenuListener; import org.eclipse.jface.action.IMenuManager; @@ -68,6 +68,7 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; +import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; 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.LayeredSettingsStore; @@ -95,7 +96,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ - public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; protected ITerminalViewControl fCtlTerminal; @@ -135,18 +136,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private SettingsStore fStore; private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); - /** - * Listens to changes in the preferences - */ - private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { - if(event.getProperty().equals(TerminalPreferencePage.PREF_LIMITOUTPUT) - || event.getProperty().equals(TerminalPreferencePage.PREF_BUFFERLINES) - || event.getProperty().equals(TerminalPreferencePage.PREF_INVERT_COLORS)) { - updatePreferences(); - } - } - }; private PageBook fPageBook; @@ -230,23 +219,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi uniqueTitle=title+" "+i++; //$NON-NLS-1$ } } - /** - * Update the text limits from the preferences - */ - private void updatePreferences() { - Preferences preferences = TerminalViewPlugin.getDefault().getPluginPreferences(); -// boolean limitOutput = preferences.getBoolean(TerminalPreferencePage.PREF_LIMITOUTPUT); -// if(!limitOutput) -// bufferLineLimit=-1; - int bufferLineLimit = preferences.getInt(TerminalPreferencePage.PREF_BUFFERLINES); - boolean invert=preferences.getBoolean(TerminalPreferencePage.PREF_INVERT_COLORS); - // update the preferences for all controls - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().setBufferLineLimit(bufferLineLimit); - conn[i].getCtlTerminal().setInvertedColors(invert); - } - } /** * Display a new Terminal view. This method is called when the user clicks the New * Terminal button in any Terminal view's toolbar. @@ -404,12 +376,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } public void onTerminalFontChanged() { - // set the font for all - Font font=JFaceResources.getFont(FONT_DEFINITION); - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().setFont(font); - } + // set the font for all - empty hook for extenders } // ViewPart interface @@ -448,8 +415,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi legacyLoadState(); legacySetTitle(); - // make sure we take the values defined in the preferences - updatePreferences(); refresh(); onTerminalFontChanged(); @@ -459,8 +424,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi public void dispose() { Logger.log("entered."); //$NON-NLS-1$ - TerminalViewPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); // dispose all connections @@ -485,14 +448,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi fMultiConnectionManager.addConnection(conn); fMultiConnectionManager.setActiveConnection(conn); setupContextMenus(fCtlTerminal.getControl()); - // make sure we take the values defined in the preferences - updatePreferences(); } private ITerminalViewConnection makeViewConnection() { ITerminalConnector[] connectors = makeConnectors(); TerminalListener listener=new TerminalListener(); - ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors); + ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true); setTerminalControl(ctrl); ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); listener.setConnection(conn); @@ -502,8 +463,6 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // set the connector.... ctrl.setConnector(connector); - TerminalViewPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); - return conn; } diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java index 30b76eabbfe..ef6dc75e7c2 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -40,11 +41,6 @@ public class ViewMessages extends NLS { public static String ENCODING; public static String ENCODING_WITH_PARENTHESES; - public static String INVERT_COLORS; - public static String BUFFERLINES; - public static String SERIALTIMEOUT; - public static String NETWORKTIMEOUT; - public static String STATE_CONNECTED; public static String STATE_CONNECTING; public static String STATE_CLOSED; diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties index c47c18fe850..92321c96442 100644 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -17,6 +17,7 @@ # Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings # Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED # Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### NO_CONNECTION_SELECTED = No Connection Selected PROP_TITLE = Terminal @@ -32,11 +33,6 @@ INVALID_SETTINGS = The specified settings are invalid, please review or ENCODING = Encoding: ENCODING_WITH_PARENTHESES = Encoding: ({0}) -INVERT_COLORS = Invert terminal colors -BUFFERLINES = Terminal buffer lines: -SERIALTIMEOUT = Serial timeout (seconds): -NETWORKTIMEOUT = Network timeout (seconds): - STATE_CONNECTED = CONNECTED STATE_CONNECTING = CONNECTING... STATE_CLOSED = CLOSED diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 07f9489c1e5..888dd771023 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.1.100.qualifier +Bundle-Version: 3.2.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -19,6 +19,7 @@ Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclip org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.preferences;x-friends:="org.eclipse.tm.terminal.view", org.eclipse.tm.internal.terminal.provisional.api; x-friends:="org.eclipse.tm.terminal.serial, org.eclipse.tm.terminal.ssh, diff --git a/org.eclipse.tm.terminal/plugin.properties b/org.eclipse.tm.terminal/plugin.properties index 78a6ff7e325..2120813cbe7 100644 --- a/org.eclipse.tm.terminal/plugin.properties +++ b/org.eclipse.tm.terminal/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### # NLS_MESSAGEFORMAT_NONE @@ -26,3 +27,7 @@ terminal.context.description=Override ALT+x menu access keys terminal.insertion.description=Terminal view insertion terminal.insertion.name=Terminal view insert terminal.insertion.category.name=Terminal view commands + +terminal.preferences.name = Terminal +terminal.font.description = The font for the terminal console. +terminal.font.label = Terminal Console Font diff --git a/org.eclipse.tm.terminal/plugin.xml b/org.eclipse.tm.terminal/plugin.xml index 1a1a59cedad..1115912c7e6 100644 --- a/org.eclipse.tm.terminal/plugin.xml +++ b/org.eclipse.tm.terminal/plugin.xml @@ -1,7 +1,7 @@ @@ -106,4 +107,30 @@ schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="Alt+W"/> + + + + + + + + + + + + + %terminal.font.description + + + + diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 69e11952144..5fb3d8c8571 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.control; @@ -16,7 +17,28 @@ import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; public class TerminalViewControlFactory { + /** + * Instantiate a Terminal widget. + * @param target Callback for notifying the owner of Terminal state changes. + * @param wndParent The Window parent to embed the Terminal in. + * @param connectors Provided connectors. + */ public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { - return new VT100TerminalControl(target, wndParent, connectors); + return makeControl(target, wndParent, connectors, false); } + + /** + * Instantiate a Terminal widget. + * @param target Callback for notifying the owner of Terminal state changes. + * @param wndParent The Window parent to embed the Terminal in. + * @param connectors Provided connectors. + * @param useCommonPrefs If true, the Terminal widget will pick up settings + * from the org.eclipse.tm.terminal.TerminalPreferencePage Preference page. + * Otherwise, clients need to maintain settings themselves. + * @since 3.2 + */ + public static ITerminalViewControl makeControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors, boolean useCommonPrefs) { + return new VT100TerminalControl(target, wndParent, connectors, useCommonPrefs); + } + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index a54f02e6d25..a3f26a37c1a 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -23,4 +24,9 @@ public class TerminalMessages extends NLS { public static String IOError; public static String CannotConnectTo; public static String NotInitialized; + + //Preference Page + public static String INVERT_COLORS; + public static String BUFFERLINES; + } diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index c77d4ee2d13..9916dadcf5f 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2009 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -13,6 +13,7 @@ # Contributors: # Michael Scharf (Wind River) - split into core, view and connector plugins # Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ############################################################################### # NLS_MESSAGEFORMAT_VAR @@ -22,3 +23,6 @@ SocketError = Socket Error IOError = IO Error CannotConnectTo = Cannot initialize {0}:\n{1} NotInitialized = Not Initialized + +INVERT_COLORS = Invert terminal colors +BUFFERLINES = Terminal buffer lines: diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 0657030515f..089ade83788 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -31,6 +31,7 @@ * Martin Oberhuber (Wind River) - [348700] Terminal unusable after disconnect * Simon Bernard (Sierra Wireless) - [351424] [terminal] Terminal does not support del and insert key * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -43,9 +44,12 @@ import java.net.SocketException; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.Clipboard; @@ -74,6 +78,7 @@ import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; @@ -121,6 +126,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private FocusListener fFocusListener; private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; + private final boolean fUseCommonPrefs; + PipedInputStream fInputStream; private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); private String fEncoding = defaultEncoding; @@ -132,13 +139,47 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private final ITerminalTextData fTerminalModel; + /** + * Listens to changes in the preferences + */ + private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { + public void propertyChange(PropertyChangeEvent event) { + if(event.getProperty().equals(ITerminalConstants.PREF_BUFFERLINES) + || event.getProperty().equals(ITerminalConstants.PREF_INVERT_COLORS)) { + updatePreferences(); + } + } + }; + private final IPropertyChangeListener fFontListener = new IPropertyChangeListener() { + public void propertyChange(PropertyChangeEvent event) { + if (event.getProperty().equals(ITerminalConstants.FONT_DEFINITION)) { + onTerminalFontChanged(); + } + } + }; + /** * Is protected by synchronize on this */ volatile private Job fJob; public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors) { + this(target, wndParent, connectors, false); + } + + /** + * Instantiate a Terminal widget. + * @param target Callback for notifying the owner of Terminal state changes. + * @param wndParent The Window parent to embed the Terminal in. + * @param connectors Provided connectors. + * @param useCommonPrefs If true, the Terminal widget will pick up settings + * from the org.eclipse.tm.terminal.TerminalPreferencePage Preference page. + * Otherwise, clients need to maintain settings themselves. + * @since 3.2 + */ + public VT100TerminalControl(ITerminalListener target, Composite wndParent, ITerminalConnector[] connectors, boolean useCommonPrefs) { fConnectors=connectors; + fUseCommonPrefs = useCommonPrefs; fTerminalListener=target; fTerminalModel=TerminalTextDataFactory.makeTerminalTextData(); fTerminalModel.setMaxHeight(1000); @@ -318,6 +359,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC */ public void disposeTerminal() { Logger.log("entered."); //$NON-NLS-1$ + if(fUseCommonPrefs) { + TerminalPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); + JFaceResources.getFontRegistry().removeListener(fFontListener); + } disconnectTerminal(); fClipboard.dispose(); getTerminalText().dispose(); @@ -554,9 +599,31 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fState=TerminalState.CLOSED; setupControls(parent); setupListeners(); + if (fUseCommonPrefs) { + updatePreferences(); + onTerminalFontChanged(); + TerminalPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPreferenceListener); + JFaceResources.getFontRegistry().addListener(fFontListener); + } setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); } + /* + * (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#updatePreferences() + */ + private void updatePreferences() { + int bufferLineLimit = Platform.getPreferencesService().getInt(TerminalPlugin.PLUGIN_ID, ITerminalConstants.PREF_BUFFERLINES, 0, null); + boolean invert = Platform.getPreferencesService().getBoolean(TerminalPlugin.PLUGIN_ID, ITerminalConstants.PREF_INVERT_COLORS, false, null); + setBufferLineLimit(bufferLineLimit); + setInvertedColors(invert); + } + + private void onTerminalFontChanged() { + // set the font for all + setFont(ITerminalConstants.FONT_DEFINITION); + } + /* * (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(java.lang.String) @@ -635,7 +702,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fDisplay = getCtlText().getDisplay(); fClipboard = new Clipboard(fDisplay); // fViewer.setDocument(new TerminalDocument()); - setFont(JFaceResources.getTextFont()); +// setFont(JFaceResources.getTextFont()); } protected void setupListeners() { diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java new file mode 100644 index 00000000000..0c3bae84c49 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +public interface ITerminalConstants { + + public static final String PREF_HAS_MIGRATED = "TerminalPref.migrated"; //$NON-NLS-1$ + + public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ + public static final String PREF_INVERT_COLORS = "TerminalPrefInvertColors"; //$NON-NLS-1$ + public static final int DEFAULT_BUFFERLINES = 1000; + public static final boolean DEFAULT_INVERT_COLORS = false; + + public static final String FONT_DEFINITION = "terminal.views.view.font.definition"; //$NON-NLS-1$ + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java new file mode 100644 index 00000000000..9e4e635cdf0 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2007, 2012 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.osgi.service.prefs.Preferences; + +public class PreferenceModifyListener extends + org.eclipse.core.runtime.preferences.PreferenceModifyListener { + + public PreferenceModifyListener() { + // Nothing to do + } + + /** + * Intercept programmatic access to old Terminal Preferences such as "invert" + */ + public IEclipsePreferences preApply(IEclipsePreferences node) { + migrateTerminalPreferences(node.node("instance")); //$NON-NLS-1$ + return super.preApply(node); + } + + public static void migrateTerminalPreferences(Preferences node) { + Preferences terminalPrefs = node.node(TerminalPlugin.PLUGIN_ID); + Preferences oldPrefs = node.node("org.eclipse.tm.terminal.view"); //$NON-NLS-1$ + String oldInvert = oldPrefs.get(ITerminalConstants.PREF_INVERT_COLORS, null); + String oldBuflines = oldPrefs.get(ITerminalConstants.PREF_BUFFERLINES, null); + if (oldInvert != null) { + terminalPrefs.put(ITerminalConstants.PREF_INVERT_COLORS, oldInvert); + oldPrefs.remove(ITerminalConstants.PREF_INVERT_COLORS); + } + if (oldBuflines != null) { + terminalPrefs.put(ITerminalConstants.PREF_BUFFERLINES, oldBuflines); + oldPrefs.remove(ITerminalConstants.PREF_BUFFERLINES); + } + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java new file mode 100644 index 00000000000..060a0843e1e --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.core.runtime.preferences.DefaultScope; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.core.runtime.preferences.InstanceScope; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; + +public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { + + public TerminalPreferenceInitializer() { + } + + public void initializeDefaultPreferences() { + IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); + defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); + migrateTerminalPreferences(); + } + + /** + * Migrate settings from the older org.eclipse.tm.terminal.view bundle into the o.e.tm.terminal bundle + */ + public static void migrateTerminalPreferences() { + IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { + prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); + PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ + } + } + +} diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java new file mode 100644 index 00000000000..c002e3850f0 --- /dev/null +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.preferences; + +import org.eclipse.jface.preference.BooleanFieldEditor; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.IntegerFieldEditor; +import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; +import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; + +public class TerminalPreferencePage extends FieldEditorPreferencePage implements + IWorkbenchPreferencePage { + protected BooleanFieldEditor fInvertColors; + + protected IntegerFieldEditor fEditorBufferSize; + + public TerminalPreferencePage() { + super(GRID); + } + protected void createFieldEditors() { + setupPage(); + } + public void init(IWorkbench workbench) { + // do nothing + } + protected void setupPage() { + setupData(); + setupEditors(); + } + protected void setupData() { + TerminalPlugin plugin; + IPreferenceStore preferenceStore; + + plugin = TerminalPlugin.getDefault(); + preferenceStore = plugin.getPreferenceStore(); + setPreferenceStore(preferenceStore); + } + protected void setupEditors() { + fInvertColors = new BooleanFieldEditor( + ITerminalConstants.PREF_INVERT_COLORS, TerminalMessages.INVERT_COLORS, + getFieldEditorParent()); + fEditorBufferSize = new IntegerFieldEditor(ITerminalConstants.PREF_BUFFERLINES, + TerminalMessages.BUFFERLINES, getFieldEditorParent()); + + fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); + + addField(fInvertColors); + addField(fEditorBufferSize); + } +} From 8ac4e01b6156306f2e055fe7639eb010e021b69e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 7 May 2012 16:55:59 +0000 Subject: [PATCH 488/843] Bug 378691 - [terminal][api] Terminal Preferences should be maintained in the Widget (for font, invert, and buffer) --- .../view/TerminalPreferenceInitializer.java | 31 ------- .../terminal/view/TerminalPreferencePage.java | 90 ------------------- 2 files changed, 121 deletions(-) delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java delete mode 100644 org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java deleted file mode 100644 index b1f721e63fc..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferenceInitializer.java +++ /dev/null @@ -1,31 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.core.runtime.Preferences; -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; - -public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { - - public TerminalPreferenceInitializer() { - } - - public void initializeDefaultPreferences() { - Preferences store = TerminalViewPlugin.getDefault().getPluginPreferences(); - store.setDefault(TerminalPreferencePage.PREF_LIMITOUTPUT, TerminalPreferencePage.DEFAULT_LIMITOUTPUT); - store.setDefault(TerminalPreferencePage.PREF_INVERT_COLORS, TerminalPreferencePage.DEFAULT_INVERT_COLORS); - store.setDefault(TerminalPreferencePage.PREF_BUFFERLINES, TerminalPreferencePage.DEFAULT_BUFFERLINES); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_SERIAL, TerminalPreferencePage.DEFAULT_TIMEOUT_SERIAL); - store.setDefault(TerminalPreferencePage.PREF_TIMEOUT_NETWORK, TerminalPreferencePage.DEFAULT_TIMEOUT_NETWORK); - } - -} diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java b/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java deleted file mode 100644 index c8e142bd225..00000000000 --- a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalPreferencePage.java +++ /dev/null @@ -1,90 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.jface.preference.BooleanFieldEditor; -import org.eclipse.jface.preference.FieldEditorPreferencePage; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.jface.preference.IntegerFieldEditor; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchPreferencePage; - -public class TerminalPreferencePage extends FieldEditorPreferencePage implements - IWorkbenchPreferencePage { - public static final String PREF_LIMITOUTPUT = "TerminalPrefLimitOutput"; //$NON-NLS-1$ - public static final String PREF_BUFFERLINES = "TerminalPrefBufferLines"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_SERIAL = "TerminalPrefTimeoutSerial"; //$NON-NLS-1$ - public static final String PREF_TIMEOUT_NETWORK = "TerminalPrefTimeoutNetwork"; //$NON-NLS-1$ - public static final String PREF_INVERT_COLORS = "TerminalPrefInvertColors"; //$NON-NLS-1$ - public static final boolean DEFAULT_LIMITOUTPUT = true; - public static final int DEFAULT_BUFFERLINES = 1000; - public static final int DEFAULT_TIMEOUT_SERIAL = 5; - public static final int DEFAULT_TIMEOUT_NETWORK = 5; - public static final boolean DEFAULT_INVERT_COLORS = false; - - - protected BooleanFieldEditor fInvertColors; - - protected IntegerFieldEditor fEditorBufferSize; - - protected IntegerFieldEditor fEditorSerialTimeout; - - protected IntegerFieldEditor fEditorNetworkTimeout; - public TerminalPreferencePage() { - super(GRID); - } - protected void createFieldEditors() { - setupPage(); - } - public void init(IWorkbench workbench) { - // do nothing - } - protected void setupPage() { - setupData(); - setupEditors(); - } - protected void setupData() { - TerminalViewPlugin plugin; - IPreferenceStore preferenceStore; - - plugin = TerminalViewPlugin.getDefault(); - preferenceStore = plugin.getPreferenceStore(); - setPreferenceStore(preferenceStore); - } - protected void setupEditors() { - fInvertColors = new BooleanFieldEditor( - PREF_INVERT_COLORS, ViewMessages.INVERT_COLORS, - getFieldEditorParent()); - fEditorBufferSize = new IntegerFieldEditor(PREF_BUFFERLINES, - ViewMessages.BUFFERLINES, getFieldEditorParent()); - fEditorSerialTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_SERIAL, ViewMessages.SERIALTIMEOUT, - getFieldEditorParent()); - fEditorNetworkTimeout = new IntegerFieldEditor( - PREF_TIMEOUT_NETWORK, ViewMessages.NETWORKTIMEOUT, - getFieldEditorParent()); - - fEditorBufferSize.setValidRange(0, Integer.MAX_VALUE); - fEditorSerialTimeout.setValidRange(0, Integer.MAX_VALUE); - fEditorNetworkTimeout.setValidRange(0, Integer.MAX_VALUE); - - addField(fInvertColors); - addField(fEditorBufferSize); - addField(fEditorSerialTimeout); - addField(fEditorNetworkTimeout); - } -} From 4be59775c89963cff9128c4cc110e0220fd742e8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 7 May 2012 18:47:24 +0000 Subject: [PATCH 489/843] Bug 378691 - [terminal][api] Terminal Preferences should be maintained in the Widget (for font, invert, and buffer) --- org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- org.eclipse.tm.terminal.telnet-feature/feature.xml | 2 +- org.eclipse.tm.terminal.test-feature/feature.xml | 2 +- org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 4b24e7b3101..11e11156b73 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -41,7 +41,7 @@ - + diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/org.eclipse.tm.terminal.serial-feature/feature.xml index 8d564df8057..5a26c18961f 100644 --- a/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -35,7 +35,7 @@ - + - + diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/org.eclipse.tm.terminal.telnet-feature/feature.xml index ae8df794dd5..33209655c60 100644 --- a/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -35,7 +35,7 @@ - + - + diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/org.eclipse.tm.terminal.view-feature/feature.xml index 661fc9f7f7f..1c07029086d 100644 --- a/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/org.eclipse.tm.terminal.view-feature/feature.xml @@ -36,7 +36,7 @@ - + Date: Mon, 7 May 2012 20:37:49 +0000 Subject: [PATCH 490/843] Bug 378740 - [terminal] Terminal fails on Eclipse 3.6 and older --- .../preferences/TerminalPreferenceInitializer.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 060a0843e1e..58f17c21318 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -24,7 +24,8 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer } public void initializeDefaultPreferences() { - IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + //DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); migrateTerminalPreferences(); @@ -34,10 +35,11 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer * Migrate settings from the older org.eclipse.tm.terminal.view bundle into the o.e.tm.terminal bundle */ public static void migrateTerminalPreferences() { - IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + IEclipsePreferences prefs = new InstanceScope().getNode(TerminalPlugin.PLUGIN_ID); if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); - PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ + PreferenceModifyListener.migrateTerminalPreferences(new InstanceScope().getNode("")); //$NON-NLS-1$ } } From 2af40c2caf9bd6cc908e7e6c87040114b23ab47a Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Mon, 7 May 2012 21:14:22 +0000 Subject: [PATCH 491/843] [releng] working on tycho-maven build. --- org.eclipse.tm.terminal/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal/pom.xml b/org.eclipse.tm.terminal/pom.xml index 4e42cca40b2..4f11bd78f3f 100644 --- a/org.eclipse.tm.terminal/pom.xml +++ b/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.1.100-SNAPSHOT + 3.2.0-SNAPSHOT eclipse-plugin From 030aef3601637029a743439da3627ee9d4e3039f Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Mon, 7 May 2012 22:00:24 +0000 Subject: [PATCH 492/843] [releng] working on tycho-maven build. --- org.eclipse.tm.terminal-feature/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal-feature/pom.xml b/org.eclipse.tm.terminal-feature/pom.xml index 74337c0a2b2..ee86107e0b9 100644 --- a/org.eclipse.tm.terminal-feature/pom.xml +++ b/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.1.100-SNAPSHOT + 3.2.0-SNAPSHOT eclipse-feature From 87c709d4fdef000abc1d08f9d66544ebe6141575 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 24 May 2012 12:38:16 +0000 Subject: [PATCH 493/843] [releng] build against Juno RC1 --- org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/org.eclipse.tm.terminal.local-feature/feature.xml index 11e11156b73..50d397c3c33 100644 --- a/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/org.eclipse.tm.terminal.local-feature/feature.xml @@ -36,7 +36,7 @@ - + diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index fd8a0e7e901..d87ee57261e 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -45,7 +45,7 @@ version="0.0.0"/> - + From 1dfeb37e9e2c62552a913e8ea53c70787886e388 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 24 May 2012 12:50:58 +0000 Subject: [PATCH 494/843] [releng] build against Juno RC1 --- org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 97bfb3fc0de..04f1cefaf95 100644 --- a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", - org.eclipse.cdt.core;bundle-version="5.2.0", + org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)", org.eclipse.core.runtime, org.eclipse.debug.core, org.eclipse.debug.ui, From 279c69f76da13af172e65480d0aab3283af8a3f2 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 25 May 2012 06:04:18 +0000 Subject: [PATCH 495/843] [releng] Fix copyrights --- .../terminal/connector/TerminalConnectorFactoryTest.java | 2 +- .../tm/internal/terminal/connector/TerminalConnectorTest.java | 2 +- org.eclipse.tm.terminal.view/plugin.properties | 2 +- .../tm/internal/terminal/provisional/api/ITerminalControl.java | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index a686259f969..67c0f2caba3 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index cbe414ba61d..28014864bca 100644 --- a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/org.eclipse.tm.terminal.view/plugin.properties index 98ad1451b30..d2d0bfc8108 100644 --- a/org.eclipse.tm.terminal.view/plugin.properties +++ b/org.eclipse.tm.terminal.view/plugin.properties @@ -1,5 +1,5 @@ ########################################################################## -# Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index cf555cd4a16..36777d6b25e 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at From 333be849267c76510c53cf2e700c5904664ebf00 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 30 May 2012 12:04:13 +0000 Subject: [PATCH 496/843] Bug 381026 - [releng] Update version info and Copyright dates in RSE user docs and ISV docs --- org.eclipse.tm.terminal.view/doc/html/notice.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal.view/doc/html/notice.html b/org.eclipse.tm.terminal.view/doc/html/notice.html index e8ea4556214..91a8824e7cc 100644 --- a/org.eclipse.tm.terminal.view/doc/html/notice.html +++ b/org.eclipse.tm.terminal.view/doc/html/notice.html @@ -4,12 +4,12 @@ - + Legal Notice

                                  Legal Notice

                                  -The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2011. +The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012.

                                  Terms and conditions regarding the use of this guide. From 398f515c3a1ccd55d978f11591ccfed13caf9a02 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Wed, 6 Jun 2012 00:09:41 +0000 Subject: [PATCH 497/843] [releng] updating to the tycho 0.15.0. --- org.eclipse.tm.terminal.local/build.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.tm.terminal.local/build.properties b/org.eclipse.tm.terminal.local/build.properties index 0b20f05d9c3..d04873ab0a2 100644 --- a/org.eclipse.tm.terminal.local/build.properties +++ b/org.eclipse.tm.terminal.local/build.properties @@ -21,4 +21,4 @@ bin.includes = plugin.xml,\ META-INF/,\ . src.includes = about.html -jre.compilation.profile = J2SE-1.4 +jre.compilation.profile = J2SE-1.5 From b38243608eabadae4ace58da89430945d984a35d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Aug 2012 10:55:36 +0000 Subject: [PATCH 498/843] Fine tune command input field control positioning. Added a small margin after the input field. --- .../control/CommandInputFieldWithHistory.java | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java index 8ff47c9231a..e06c4e6ea15 100644 --- a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java +++ b/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java @@ -30,6 +30,7 @@ import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; @@ -117,6 +118,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { */ private Text fInputField; private Sash fSash; + private Composite fPanel; public CommandInputFieldWithHistory(int maxHistorySize) { fMaxSize=maxHistorySize; } @@ -233,7 +235,7 @@ public class CommandInputFieldWithHistory implements ICommandInputField { Rectangle containerRect = parent.getClientArea (); int h=fInputField.getLineHeight(); - // make sure the input filed hight is a multiple of the line height + // make sure the input filed height is a multiple of the line height gdata.heightHint = Math.max(((containerRect.height-e.y-sashRect.height)/h)*h,h); // do not show less then one line e.y=Math.min(e.y,containerRect.height-h); @@ -243,7 +245,12 @@ public class CommandInputFieldWithHistory implements ICommandInputField { parent.redraw(); } }); - fInputField=new Text(parent, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL); + fPanel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.marginWidth = 0; layout.marginHeight = 0; layout.marginTop = 0; layout.marginBottom = 2; + fPanel.setLayout(layout); + fPanel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); + fInputField=new Text(fPanel, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL); GridData data=new GridData(SWT.FILL, SWT.FILL, true, false); boolean installDecoration=true; if(installDecoration) { @@ -306,8 +313,9 @@ public class CommandInputFieldWithHistory implements ICommandInputField { public void dispose() { fSash.dispose(); fSash=null; + fPanel.dispose(); + fPanel=null; fInputField.dispose(); fInputField=null; - } } \ No newline at end of file From 9cd9abaaa033dc9ac842d8c1c05b802c5faf376d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 19 Sep 2012 13:01:45 +0000 Subject: [PATCH 499/843] [releng] Update Versions for Juno SR1 --- org.eclipse.tm.terminal-feature/feature.xml | 2 +- org.eclipse.tm.terminal-feature/pom.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- org.eclipse.tm.terminal/pom.xml | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/org.eclipse.tm.terminal-feature/feature.xml index f46dea62671..55a98dd2752 100644 --- a/org.eclipse.tm.terminal-feature/feature.xml +++ b/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal-feature/pom.xml b/org.eclipse.tm.terminal-feature/pom.xml index ee86107e0b9..e8513b33281 100644 --- a/org.eclipse.tm.terminal-feature/pom.xml +++ b/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.0-SNAPSHOT + 3.2.1-SNAPSHOT eclipse-feature diff --git a/org.eclipse.tm.terminal.sdk-feature/feature.xml b/org.eclipse.tm.terminal.sdk-feature/feature.xml index aaf589ae3a6..2405f18cdca 100644 --- a/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/org.eclipse.tm.terminal.sdk-feature/pom.xml b/org.eclipse.tm.terminal.sdk-feature/pom.xml index de39d740e3c..b220faf3a9e 100644 --- a/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.0-SNAPSHOT + 3.3.1-SNAPSHOT eclipse-feature diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 888dd771023..9966a8655d2 100644 --- a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.0.qualifier +Bundle-Version: 3.2.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/org.eclipse.tm.terminal/pom.xml b/org.eclipse.tm.terminal/pom.xml index 4f11bd78f3f..ee4a456fd00 100644 --- a/org.eclipse.tm.terminal/pom.xml +++ b/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.0-SNAPSHOT + 3.2.1-SNAPSHOT eclipse-plugin From f43fdf19c2a65f8d2fc46d06345f38eb55ddb801 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Mon, 1 Oct 2012 18:17:14 +0000 Subject: [PATCH 500/843] [386262] fixed NPE in setTerminalSize. --- .../local/LocalTerminalConnector.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java index ad6b6c70b58..757f04c7212 100644 --- a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java +++ b/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java @@ -1,14 +1,15 @@ /*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner and others. + * Copyright (c) 2008, 2012 Mirko Raner and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: - * Mirko Raner - [196337] initial implementation; some methods adapted from - * org.eclipse.tm.terminal.ssh/SshConnector - * Mirko Raner - [314977] Dynamically disable when no PTY is available + * Mirko Raner - [196337] initial implementation; some methods adapted from + * org.eclipse.tm.terminal.ssh/SshConnector + * Mirko Raner - [314977] Dynamically disable when no PTY is available + * Anna Dushistova(MontaVista) - [386262] NPE in setTerminalSize **************************************************************************************************/ package org.eclipse.tm.internal.terminal.local; @@ -52,7 +53,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * vi editor). * * @author Mirko Raner - * @version $Revision: 1.5 $ + * @version $Revision: 1.6 $ */ public class LocalTerminalConnector extends TerminalConnectorImpl implements IDebugEventSetListener { @@ -342,13 +343,14 @@ implements IDebugEventSetListener { * @param height the new terminal height (in lines) */ public void setTerminalSize(int width, int height) { + if(process != null){ + PTY pty = process.getPTY(); + if (pty != null && (width != lastWidth || height != lastHeight)) { - PTY pty = process.getPTY(); - if (pty != null && (width != lastWidth || height != lastHeight)) { - - pty.setTerminalSize(width, height); - lastWidth = width; - lastHeight = height; + pty.setTerminalSize(width, height); + lastWidth = width; + lastHeight = height; + } } } From 17da6662019e89f2256f8b583c27a637892be6d1 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Tue, 30 Oct 2012 00:47:44 +0300 Subject: [PATCH 501/843] [releng]fixed relative paths due to changed layout --- org.eclipse.tm.terminal-feature/pom.xml | 2 +- org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- org.eclipse.tm.terminal.local/pom.xml | 2 +- org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- org.eclipse.tm.terminal.serial/pom.xml | 2 +- org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- org.eclipse.tm.terminal.ssh/pom.xml | 2 +- org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- org.eclipse.tm.terminal.telnet/pom.xml | 2 +- org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- org.eclipse.tm.terminal.test/pom.xml | 2 +- org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- org.eclipse.tm.terminal.view/pom.xml | 2 +- org.eclipse.tm.terminal/pom.xml | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/org.eclipse.tm.terminal-feature/pom.xml b/org.eclipse.tm.terminal-feature/pom.xml index e8513b33281..ac52029dfef 100644 --- a/org.eclipse.tm.terminal-feature/pom.xml +++ b/org.eclipse.tm.terminal-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal diff --git a/org.eclipse.tm.terminal.local-feature/pom.xml b/org.eclipse.tm.terminal.local-feature/pom.xml index 408e1e81853..f4be0a4567f 100644 --- a/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/org.eclipse.tm.terminal.local-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index ddaef09acf5..6409da4f6a2 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk diff --git a/org.eclipse.tm.terminal.local/pom.xml b/org.eclipse.tm.terminal.local/pom.xml index f9d419c81cc..bfb28b40c30 100644 --- a/org.eclipse.tm.terminal.local/pom.xml +++ b/org.eclipse.tm.terminal.local/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.sdk-feature/pom.xml b/org.eclipse.tm.terminal.sdk-feature/pom.xml index b220faf3a9e..8a468c6a29f 100644 --- a/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.sdk diff --git a/org.eclipse.tm.terminal.serial-feature/pom.xml b/org.eclipse.tm.terminal.serial-feature/pom.xml index dc188b098c6..41a83159c06 100644 --- a/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.serial diff --git a/org.eclipse.tm.terminal.serial/pom.xml b/org.eclipse.tm.terminal.serial/pom.xml index 3f7e89130bf..16a15e3355c 100644 --- a/org.eclipse.tm.terminal.serial/pom.xml +++ b/org.eclipse.tm.terminal.serial/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.serial diff --git a/org.eclipse.tm.terminal.ssh-feature/pom.xml b/org.eclipse.tm.terminal.ssh-feature/pom.xml index 060daf41ca1..3cbb95d29b7 100644 --- a/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.ssh/pom.xml b/org.eclipse.tm.terminal.ssh/pom.xml index a694be99b97..77394878d08 100644 --- a/org.eclipse.tm.terminal.ssh/pom.xml +++ b/org.eclipse.tm.terminal.ssh/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.telnet-feature/pom.xml b/org.eclipse.tm.terminal.telnet-feature/pom.xml index b751874b545..8cd70af9132 100644 --- a/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.telnet diff --git a/org.eclipse.tm.terminal.telnet/pom.xml b/org.eclipse.tm.terminal.telnet/pom.xml index 1f651203e6a..ece9bfab0a3 100644 --- a/org.eclipse.tm.terminal.telnet/pom.xml +++ b/org.eclipse.tm.terminal.telnet/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.telnet diff --git a/org.eclipse.tm.terminal.test-feature/pom.xml b/org.eclipse.tm.terminal.test-feature/pom.xml index 07ad2d1ba4c..1ae7ba33d2c 100644 --- a/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/org.eclipse.tm.terminal.test-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.test/pom.xml b/org.eclipse.tm.terminal.test/pom.xml index b69711c747d..99bbefc7ef3 100644 --- a/org.eclipse.tm.terminal.test/pom.xml +++ b/org.eclipse.tm.terminal.test/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.view-feature/pom.xml b/org.eclipse.tm.terminal.view-feature/pom.xml index 991518ca355..10c4e305487 100644 --- a/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/org.eclipse.tm.terminal.view-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm.features org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.view/pom.xml b/org.eclipse.tm.terminal.view/pom.xml index 90b77df3697..3661cf2b2f9 100644 --- a/org.eclipse.tm.terminal.view/pom.xml +++ b/org.eclipse.tm.terminal.view/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal/pom.xml b/org.eclipse.tm.terminal/pom.xml index ee4a456fd00..cbf88deb181 100644 --- a/org.eclipse.tm.terminal/pom.xml +++ b/org.eclipse.tm.terminal/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../ org.eclipse.tm org.eclipse.tm.terminal From 5e0c10cb3124ea2c51b03ed3aee7586f656fd9a0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 6 Nov 2012 11:39:12 +0100 Subject: [PATCH 502/843] Bug 393487 - [terminal][releng] Reorganize terminal feature set separating the legacy terminal view --- .../org.eclipse.tm.terminal-feature}/.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../org.eclipse.tm.terminal-feature}/pom.xml | 2 +- .../sourceTemplateFeature/epl-v10.html | 0 .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplateFeature/license.html | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/about.ini | 0 .../sourceTemplatePlugin/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin/tm32.png | Bin .../.project | 17 ++ .../build.properties | 19 ++ .../eclipse_update_120.jpg | Bin .../epl-v10.html | 0 .../feature.properties | 169 ++++++++++++ .../feature.xml | 80 ++++++ .../license.html | 0 .../pom.xml | 15 + .../.project | 0 .../build.properties | 0 .../eclipse_update_120.jpg | Bin .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../.project | 0 .../build.properties | 0 .../eclipse_update_120.jpg | Bin .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../.project | 0 .../build.properties | 0 .../eclipse_update_120.jpg | Bin 0 -> 21695 bytes .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../sourceTemplateFeature}/epl-v10.html | 0 .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplateFeature}/license.html | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin}/about.ini | 0 .../sourceTemplatePlugin/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin}/tm32.png | Bin .../.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../sourceTemplateFeature}/epl-v10.html | 0 .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplateFeature}/license.html | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/about.ini | 0 .../sourceTemplatePlugin}/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin/tm32.png | Bin .../.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../sourceTemplateFeature}/epl-v10.html | 0 .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplateFeature}/license.html | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin}/about.ini | 0 .../sourceTemplatePlugin/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin}/tm32.png | Bin .../.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../rootfiles}/epl-v10.html | 0 .../rootfiles/notice.html | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../.project | 0 .../build.properties | 0 .../epl-v10.html | 0 .../feature.properties | 0 .../feature.xml | 0 .../license.html | 0 .../pom.xml | 2 +- .../sourceTemplateFeature/epl-v10.html | 256 ++++++++++++++++++ .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplateFeature/license.html | 108 ++++++++ .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/about.ini | 0 .../sourceTemplatePlugin}/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin/tm32.png | Bin .../org.eclipse.tm.terminal.local}/.classpath | 0 .../org.eclipse.tm.terminal.local}/.cvsignore | 0 .../org.eclipse.tm.terminal.local}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.local}/about.html | 0 .../org.eclipse.tm.terminal.local}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../icons/terminal-launch.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal.local}/plugin.xml | 0 .../org.eclipse.tm.terminal.local}/pom.xml | 2 +- .../local/ILocalTerminalSettings.java | 0 .../local/LocalTerminalActivator.java | 0 .../local/LocalTerminalConnector.java | 0 .../LocalTerminalLaunchLabelProvider.java | 0 .../LocalTerminalLaunchListProvider.java | 0 .../terminal/local/LocalTerminalMessages.java | 0 .../local/LocalTerminalMessages.properties | 0 .../local/LocalTerminalOutputListener.java | 0 .../local/LocalTerminalOutputStream.java | 0 .../terminal/local/LocalTerminalSettings.java | 0 .../local/LocalTerminalSettingsPage.java | 0 .../local/LocalTerminalUtilities.java | 0 .../launch/LocalTerminalLaunchDelegate.java | 0 .../launch/LocalTerminalLaunchUtilities.java | 0 .../LocalTerminalStillRunningListener.java | 0 .../ui/LocalTerminalLaunchTabGroup.java | 0 .../launch/ui/LocalTerminalSettingsTab.java | 0 .../ui/LocalTerminalStillRunningDialog.java | 0 .../local/process/LocalTerminalProcess.java | 0 .../process/LocalTerminalProcessFactory.java | 0 .../process/LocalTerminalProcessRegistry.java | 0 .../local/ui/DependentHeightComposite.java | 0 .../org.eclipse.tm.terminal.local}/tm32.png | Bin .../.classpath | 0 .../.cvsignore | 0 .../org.eclipse.tm.terminal.serial}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../README.txt | 0 .../about.html | 0 .../org.eclipse.tm.terminal.serial}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../org.eclipse.tm.terminal.serial}/pom.xml | 2 +- .../internal/terminal/serial/Activator.java | 0 .../terminal/serial/ISerialSettings.java | 0 .../terminal/serial/SerialConnectWorker.java | 0 .../terminal/serial/SerialConnector.java | 0 .../terminal/serial/SerialMessages.java | 0 .../terminal/serial/SerialMessages.properties | 0 .../terminal/serial/SerialPortHandler.java | 0 .../terminal/serial/SerialProperties.java | 0 .../terminal/serial/SerialSettings.java | 0 .../terminal/serial/SerialSettingsPage.java | 0 .../org.eclipse.tm.terminal.serial}/tm32.png | Bin .../org.eclipse.tm.terminal.ssh}/.classpath | 0 .../org.eclipse.tm.terminal.ssh}/.cvsignore | 0 .../org.eclipse.tm.terminal.ssh}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.ssh}/about.html | 0 .../org.eclipse.tm.terminal.ssh}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../plugin.properties | 0 .../org.eclipse.tm.terminal.ssh}/plugin.xml | 0 .../org.eclipse.tm.terminal.ssh}/pom.xml | 2 +- .../tm/internal/terminal/ssh/Activator.java | 0 .../internal/terminal/ssh/ISshConstants.java | 0 .../internal/terminal/ssh/ISshSettings.java | 0 .../ssh/KeyboardInteractiveDialog.java | 0 .../internal/terminal/ssh/SshConnection.java | 0 .../internal/terminal/ssh/SshConnector.java | 0 .../tm/internal/terminal/ssh/SshMessages.java | 0 .../terminal/ssh/SshMessages.properties | 0 .../tm/internal/terminal/ssh/SshSettings.java | 0 .../terminal/ssh/SshSettingsPage.java | 0 .../terminal/ssh/UserValidationDialog.java | 0 .../org.eclipse.tm.terminal.ssh}/tm32.png | Bin .../.classpath | 0 .../.cvsignore | 0 .../org.eclipse.tm.terminal.telnet}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../org.eclipse.tm.terminal.telnet}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../org.eclipse.tm.terminal.telnet}/pom.xml | 2 +- .../terminal/telnet/ITelnetSettings.java | 0 .../terminal/telnet/NetworkPortMap.java | 0 .../internal/terminal/telnet/TelnetCodes.java | 0 .../terminal/telnet/TelnetConnectWorker.java | 0 .../terminal/telnet/TelnetConnection.java | 0 .../terminal/telnet/TelnetConnector.java | 0 .../terminal/telnet/TelnetMessages.java | 0 .../terminal/telnet/TelnetMessages.properties | 0 .../terminal/telnet/TelnetOption.java | 0 .../terminal/telnet/TelnetProperties.java | 0 .../terminal/telnet/TelnetSettings.java | 0 .../terminal/telnet/TelnetSettingsPage.java | 0 .../org.eclipse.tm.terminal.telnet}/tm32.png | Bin .../org.eclipse.tm.terminal.test}/.classpath | 0 .../org.eclipse.tm.terminal.test}/.cvsignore | 0 .../org.eclipse.tm.terminal.test}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.test}/about.html | 0 .../org.eclipse.tm.terminal.test}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../plugin.properties | 0 .../org.eclipse.tm.terminal.test}/plugin.xml | 0 .../org.eclipse.tm.terminal.test}/pom.xml | 2 +- .../TerminalConnectorFactoryTest.java | 0 .../TerminalConnectorPluginTest.java | 0 .../connector/TerminalConnectorTest.java | 0 ...inalToRemoteInjectionOutputStreamTest.java | 0 .../internal/terminal/emulator/AllTests.java | 0 .../emulator/VT100EmulatorBackendTest.java | 0 .../model/AbstractITerminalTextDataTest.java | 0 .../tm/internal/terminal/model/AllTests.java | 0 .../terminal/model/SnapshotChangesTest.java | 0 .../SynchronizedTerminalTextDataTest.java | 0 .../model/TerminalTextDataFastScrollTest.java | 0 ...rminalTextDataFastScrollTestMaxHeigth.java | 0 .../TerminalTextDataPerformanceTest.java | 0 .../model/TerminalTextDataSnapshotTest.java | 0 .../TerminalTextDataSnapshotWindowTest.java | 0 .../model/TerminalTextDataStoreTest.java | 0 .../terminal/model/TerminalTextDataTest.java | 0 .../model/TerminalTextDataWindowTest.java | 0 .../model/TerminalTextTestHelper.java | 0 .../speedtest/SpeedTestConnection.java | 0 .../speedtest/SpeedTestConnector.java | 0 .../terminal/speedtest/SpeedTestSettings.java | 0 .../speedtest/SpeedTestSettingsPage.java | 0 .../terminal/test/terminalcanvas/Main.java | 0 .../test/terminalcanvas/Snippet48.java | 0 .../terminalcanvas/TerminalTextCanvas.java | 0 .../test/terminalcanvas/VirtualCanvas.java | 0 .../ui/AbstractLineOrientedDataSource.java | 0 .../internal/terminal/test/ui/DataReader.java | 0 .../terminal/test/ui/FastDataSource.java | 0 .../terminal/test/ui/FileDataSource.java | 0 .../terminal/test/ui/IDataSource.java | 0 .../tm/internal/terminal/test/ui/IStatus.java | 0 .../test/ui/LineCountingDataSource.java | 0 .../terminal/test/ui/RandomDataSource.java | 0 .../terminal/test/ui/TerminalTextUITest.java | 0 .../terminal/test/ui/VT100DataSource.java | 0 .../PipedInputStreamPerformanceTest.java | 0 .../terminal/textcanvas/PipedStreamTest.java | 0 .../eclipse/tm/terminal/model/AllTests.java | 0 .../tm/terminal/model/StyleColorTest.java | 0 .../eclipse/tm/terminal/model/StyleTest.java | 0 .../terminal/test/AutomatedPluginTests.java | 0 .../tm/terminal/test/AutomatedTests.java | 0 .../teamConfig/Terminal All Unit Tests.launch | 0 .../teamConfig/Terminal AutomatedTests.launch | 0 .../teamConfig/Terminal Plugin Tests.launch | 0 .../org.eclipse.tm.terminal.test}/test.xml | 0 .../org.eclipse.tm.terminal.test}/tm32.png | Bin .../org.eclipse.tm.terminal.view}/.classpath | 0 .../org.eclipse.tm.terminal.view}/.cvsignore | 0 .../org.eclipse.tm.terminal.view}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../HelpContexts.xml | 0 .../META-INF/MANIFEST.MF | 0 .../TerminalContexts.xml | 0 .../org.eclipse.tm.terminal.view}/about.html | 0 .../org.eclipse.tm.terminal.view}/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../doc/book.css | 0 .../doc/html/01_terminalview.html | 0 .../doc/html/02_terminal_page.html | 0 .../doc/html/03_terminal_settings.html | 0 .../doc/html/04_terminal_emulation.html | 0 .../doc/html/notice.html | 0 .../icons/clcl16/command_input_field.gif | Bin .../icons/clcl16/connect_co.gif | Bin .../icons/clcl16/disconnect_co.gif | Bin .../icons/clcl16/lock_co.gif | Bin .../icons/clcl16/newterminal.gif | Bin .../icons/clcl16/properties_tsk.gif | Bin .../icons/cview16/terminal_view.gif | Bin .../icons/dlcl16/command_input_field.gif | Bin .../icons/dlcl16/connect_co.gif | Bin .../icons/dlcl16/disconnect_co.gif | Bin .../icons/dlcl16/lock_co.gif | Bin .../icons/dlcl16/newterminal.gif | Bin .../icons/dlcl16/properties_tsk.gif | Bin .../icons/dlcl16/rem_co.gif | Bin .../icons/elcl16/command_input_field.gif | Bin .../icons/elcl16/connect_co.gif | Bin .../icons/elcl16/disconnect_co.gif | Bin .../icons/elcl16/lock_co.gif | Bin .../icons/elcl16/newterminal.gif | Bin .../icons/elcl16/properties_tsk.gif | Bin .../icons/elcl16/rem_co.gif | Bin .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal.view}/plugin.xml | 0 .../org.eclipse.tm.terminal.view}/pom.xml | 2 +- .../terminal/actions/ActionMessages.java | 0 .../actions/ActionMessages.properties | 0 .../actions/ShowTerminalConnectionAction.java | 0 .../terminal/actions/TerminalAction.java | 0 .../actions/TerminalActionConnect.java | 0 .../actions/TerminalActionDisconnect.java | 0 .../actions/TerminalActionNewTerminal.java | 0 .../actions/TerminalActionRemove.java | 0 .../actions/TerminalActionScrollLock.java | 0 .../TerminalActionSelectionDropDown.java | 0 .../actions/TerminalActionSettings.java | 0 ...TerminalActionToggleCommandInputField.java | 0 .../internal/terminal/view/ITerminalView.java | 0 .../view/ITerminalViewConnection.java | 0 .../view/ITerminalViewConnectionManager.java | 0 .../internal/terminal/view/ImageConsts.java | 0 .../tm/internal/terminal/view/PageBook.java | 0 .../view/SettingStorePrefixDecorator.java | 0 .../internal/terminal/view/SettingsStore.java | 0 .../terminal/view/TerminalSettingsDlg.java | 0 .../internal/terminal/view/TerminalView.java | 0 .../terminal/view/TerminalViewConnection.java | 0 .../view/TerminalViewConnectionManager.java | 0 .../view/TerminalViewControlDecorator.java | 0 .../terminal/view/TerminalViewPlugin.java | 0 .../internal/terminal/view/ViewMessages.java | 0 .../terminal/view/ViewMessages.properties | 0 .../org.eclipse.tm.terminal.view}/tm32.png | Bin .../org.eclipse.tm.terminal.view}/toc.xml | 0 .../org.eclipse.tm.terminal}/.classpath | 0 .../org.eclipse.tm.terminal}/.cvsignore | 0 .../org.eclipse.tm.terminal}/.options | 0 .../org.eclipse.tm.terminal}/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../org.eclipse.tm.terminal}/HelpContexts.xml | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal}/README.txt | 0 .../org.eclipse.tm.terminal}/about.html | 0 .../org.eclipse.tm.terminal}/about.ini | 0 .../org.eclipse.tm.terminal}/about.mappings | 0 .../org.eclipse.tm.terminal}/about.properties | 0 .../org.eclipse.tm.terminal}/build.properties | 0 .../icons/clcl16/clear_co.gif | Bin .../icons/dlcl16/clear_co.gif | Bin .../icons/elcl16/clear_co.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal}/plugin.xml | 0 .../org.eclipse.tm.terminal}/pom.xml | 2 +- .../schema/terminalConnectors.exsd | 0 .../terminal/connector/TerminalConnector.java | 0 ...TerminalToRemoteInjectionOutputStream.java | 0 .../control/CommandInputFieldWithHistory.java | 0 .../terminal/control/ICommandInputField.java | 0 .../terminal/control/ITerminalListener.java | 0 .../control/ITerminalViewControl.java | 0 .../control/TerminalViewControlFactory.java | 0 .../actions/AbstractTerminalAction.java | 0 .../control/actions/ActionMessages.java | 0 .../control/actions/ActionMessages.properties | 0 .../terminal/control/actions/ImageConsts.java | 0 .../actions/TerminalActionClearAll.java | 0 .../control/actions/TerminalActionCopy.java | 0 .../control/actions/TerminalActionCut.java | 0 .../control/actions/TerminalActionPaste.java | 0 .../actions/TerminalActionSelectAll.java | 0 .../control/impl/ITerminalControlForText.java | 0 .../control/impl/TerminalInputStream.java | 0 .../control/impl/TerminalMessages.java | 0 .../control/impl/TerminalMessages.properties | 0 .../terminal/control/impl/TerminalPlugin.java | 0 .../emulator/IVT100EmulatorBackend.java | 0 .../emulator/LoggingOutputStream.java | 0 .../emulator/VT100BackendTraceDecorator.java | 0 .../terminal/emulator/VT100Emulator.java | 0 .../emulator/VT100EmulatorBackend.java | 0 .../emulator/VT100TerminalControl.java | 0 .../terminal/model/ISnapshotChanges.java | 0 .../terminal/model/SnapshotChanges.java | 0 .../model/SynchronizedTerminalTextData.java | 0 .../terminal/model/TerminalTextData.java | 0 .../model/TerminalTextDataFastScroll.java | 0 .../model/TerminalTextDataSnapshot.java | 0 .../terminal/model/TerminalTextDataStore.java | 0 .../model/TerminalTextDataWindow.java | 0 .../preferences/ITerminalConstants.java | 0 .../preferences/PreferenceModifyListener.java | 0 .../TerminalPreferenceInitializer.java | 0 .../preferences/TerminalPreferencePage.java | 0 .../provisional/api/ISettingsPage.java | 0 .../provisional/api/ISettingsStore.java | 0 .../provisional/api/ITerminalConnector.java | 0 .../provisional/api/ITerminalControl.java | 0 .../provisional/api/LayeredSettingsStore.java | 0 .../terminal/provisional/api/Logger.java | 0 .../api/PreferenceSettingStore.java | 0 .../api/TerminalConnectorExtension.java | 0 .../provisional/api/TerminalState.java | 0 .../api/provider/TerminalConnectorImpl.java | 0 .../textcanvas/AbstractTextCanvasModel.java | 0 .../terminal/textcanvas/GridCanvas.java | 0 .../terminal/textcanvas/ILinelRenderer.java | 0 .../terminal/textcanvas/ITextCanvasModel.java | 0 .../textcanvas/ITextCanvasModelListener.java | 0 .../terminal/textcanvas/PipedInputStream.java | 0 .../textcanvas/PollingTextCanvasModel.java | 0 .../terminal/textcanvas/StyleMap.java | 0 .../terminal/textcanvas/TextCanvas.java | 0 .../terminal/textcanvas/TextLineRenderer.java | 0 .../terminal/textcanvas/VirtualCanvas.java | 0 .../tm/terminal/model/ITerminalTextData.java | 0 .../model/ITerminalTextDataReadOnly.java | 0 .../model/ITerminalTextDataSnapshot.java | 0 .../tm/terminal/model/LineSegment.java | 0 .../org/eclipse/tm/terminal/model/Style.java | 0 .../eclipse/tm/terminal/model/StyleColor.java | 0 .../model/TerminalTextDataFactory.java | 0 .../org.eclipse.tm.terminal}/tm32.png | Bin readme.txt | 6 +- 468 files changed, 683 insertions(+), 19 deletions(-) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/.project (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/build.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/license.html (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplateFeature/epl-v10.html (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplateFeature/feature.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplateFeature/license.html (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/about.ini (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/about.mappings (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/about.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal-feature => features/org.eclipse.tm.terminal-feature}/sourceTemplatePlugin/tm32.png (100%) create mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/.project create mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/build.properties rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.core.sdk-feature}/eclipse_update_120.jpg (100%) rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.core.sdk-feature}/epl-v10.html (100%) create mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.core.sdk-feature}/license.html (100%) create mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.local-feature}/.project (100%) rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.local-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local-feature}/eclipse_update_120.jpg (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.local-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.local-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local-feature}/license.html (100%) rename {org.eclipse.tm.terminal.local-feature => features/org.eclipse.tm.terminal.local-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/.project (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/eclipse_update_120.jpg (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/license.html (100%) rename {org.eclipse.tm.terminal.local.sdk-feature => features/org.eclipse.tm.terminal.local.sdk-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.sdk-feature}/.project (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.sdk-feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.sdk-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.sdk-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.sdk-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.sdk-feature}/license.html (100%) rename {org.eclipse.tm.terminal.sdk-feature => features/org.eclipse.tm.terminal.sdk-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/.project (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.serial-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.serial-feature}/license.html (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplateFeature/feature.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature}/license.html (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal.local => features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin}/about.ini (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplatePlugin/about.mappings (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplatePlugin/about.properties (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.serial-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal.local => features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin}/tm32.png (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/.project (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.ssh-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.ssh-feature}/license.html (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplateFeature/feature.properties (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature}/license.html (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/about.ini (100%) rename {org.eclipse.tm.terminal.serial => features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin}/about.mappings (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/about.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal.serial-feature => features/org.eclipse.tm.terminal.ssh-feature}/sourceTemplatePlugin/tm32.png (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/.project (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.telnet-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.telnet-feature}/license.html (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplateFeature/feature.properties (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature}/license.html (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal.serial => features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin}/about.ini (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplatePlugin/about.mappings (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplatePlugin/about.properties (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal.telnet-feature => features/org.eclipse.tm.terminal.telnet-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal.serial => features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin}/tm32.png (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/.project (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.test-feature/rootfiles => features/org.eclipse.tm.terminal.test-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.test-feature}/license.html (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/pom.xml (93%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.test-feature/rootfiles}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/rootfiles/notice.html (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal.test-feature => features/org.eclipse.tm.terminal.test-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/.project (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/build.properties (100%) rename {org.eclipse.tm.terminal.view-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.view-feature}/epl-v10.html (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/feature.properties (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/feature.xml (100%) rename {org.eclipse.tm.terminal.view-feature/sourceTemplateFeature => features/org.eclipse.tm.terminal.view-feature}/license.html (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/pom.xml (93%) create mode 100644 features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplateFeature/feature.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/about.html (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/about.ini (100%) rename {org.eclipse.tm.terminal.ssh => features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin}/about.mappings (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/about.properties (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/build.properties (100%) rename {org.eclipse.tm.terminal.view-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/plugin.properties (100%) rename {org.eclipse.tm.terminal.ssh-feature => features/org.eclipse.tm.terminal.view-feature}/sourceTemplatePlugin/tm32.png (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/.classpath (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/.cvsignore (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/.project (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/about.html (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.local}/about.ini (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/about.mappings (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/about.properties (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/build.properties (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/icons/terminal-launch.gif (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/plugin.properties (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/plugin.xml (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/pom.xml (93%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java (100%) rename {org.eclipse.tm.terminal.local => plugins/org.eclipse.tm.terminal.local}/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.local}/tm32.png (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/.classpath (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/.cvsignore (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/.project (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/README.txt (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/about.html (100%) rename {org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.serial}/about.ini (100%) rename {org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.serial}/about.mappings (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/about.properties (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/build.properties (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/plugin.properties (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/plugin.xml (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/pom.xml (93%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/Activator.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java (100%) rename {org.eclipse.tm.terminal.serial => plugins/org.eclipse.tm.terminal.serial}/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java (100%) rename {org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.serial}/tm32.png (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/.classpath (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/.cvsignore (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/.project (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/.settings/org.eclipse.jdt.ui.prefs (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/about.html (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.ssh}/about.ini (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.ssh}/about.mappings (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/about.properties (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/build.properties (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/plugin.properties (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/plugin.xml (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/pom.xml (93%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/Activator.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java (100%) rename {org.eclipse.tm.terminal.ssh => plugins/org.eclipse.tm.terminal.ssh}/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.ssh}/tm32.png (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/.classpath (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/.cvsignore (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/.project (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/.settings/org.eclipse.jdt.ui.prefs (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/about.html (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.telnet}/about.ini (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.telnet}/about.mappings (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/about.properties (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/build.properties (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/plugin.properties (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/plugin.xml (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/pom.xml (93%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java (100%) rename {org.eclipse.tm.terminal.telnet => plugins/org.eclipse.tm.terminal.telnet}/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.telnet}/tm32.png (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/.classpath (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/.cvsignore (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/.project (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/about.html (100%) rename {org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.test}/about.ini (100%) rename {org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.test}/about.mappings (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/about.properties (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/build.properties (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/plugin.properties (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/plugin.xml (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/pom.xml (96%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/AllTests.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/terminal/model/AllTests.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/terminal/model/StyleColorTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/terminal/model/StyleTest.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/src/org/eclipse/tm/terminal/test/AutomatedTests.java (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/teamConfig/Terminal All Unit Tests.launch (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/teamConfig/Terminal AutomatedTests.launch (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/teamConfig/Terminal Plugin Tests.launch (100%) rename {org.eclipse.tm.terminal.test => plugins/org.eclipse.tm.terminal.test}/test.xml (100%) rename {org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin => plugins/org.eclipse.tm.terminal.test}/tm32.png (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/.classpath (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/.cvsignore (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/.project (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/.settings/org.eclipse.jdt.ui.prefs (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/HelpContexts.xml (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/TerminalContexts.xml (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/about.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/about.ini (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/about.mappings (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/about.properties (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/build.properties (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/book.css (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/html/01_terminalview.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/html/02_terminal_page.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/html/03_terminal_settings.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/html/04_terminal_emulation.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/doc/html/notice.html (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/command_input_field.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/lock_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/clcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/cview16/terminal_view.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/command_input_field.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/lock_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/dlcl16/rem_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/command_input_field.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/connect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/disconnect_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/lock_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/newterminal.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/properties_tsk.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/elcl16/rem_co.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/icons/eview16/terminal_view.gif (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/plugin.properties (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/plugin.xml (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/pom.xml (93%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/PageBook.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalView.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/tm32.png (100%) rename {org.eclipse.tm.terminal.view => plugins/org.eclipse.tm.terminal.view}/toc.xml (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/.classpath (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/.cvsignore (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/.options (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/.project (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/.settings/org.eclipse.jdt.core.prefs (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/HelpContexts.xml (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/META-INF/MANIFEST.MF (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/README.txt (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/about.html (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/about.ini (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/about.mappings (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/about.properties (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/build.properties (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/icons/clcl16/clear_co.gif (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/icons/dlcl16/clear_co.gif (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/icons/elcl16/clear_co.gif (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/plugin.properties (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/plugin.xml (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/pom.xml (93%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/schema/terminalConnectors.exsd (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/ITerminalTextData.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/LineSegment.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/Style.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/StyleColor.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java (100%) rename {org.eclipse.tm.terminal => plugins/org.eclipse.tm.terminal}/tm32.png (100%) diff --git a/org.eclipse.tm.terminal-feature/.project b/features/org.eclipse.tm.terminal-feature/.project similarity index 100% rename from org.eclipse.tm.terminal-feature/.project rename to features/org.eclipse.tm.terminal-feature/.project diff --git a/org.eclipse.tm.terminal-feature/build.properties b/features/org.eclipse.tm.terminal-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/build.properties rename to features/org.eclipse.tm.terminal-feature/build.properties diff --git a/org.eclipse.tm.terminal-feature/epl-v10.html b/features/org.eclipse.tm.terminal-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal-feature/epl-v10.html rename to features/org.eclipse.tm.terminal-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal-feature/feature.properties b/features/org.eclipse.tm.terminal-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/feature.properties rename to features/org.eclipse.tm.terminal-feature/feature.properties diff --git a/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal-feature/feature.xml rename to features/org.eclipse.tm.terminal-feature/feature.xml diff --git a/org.eclipse.tm.terminal-feature/license.html b/features/org.eclipse.tm.terminal-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal-feature/license.html rename to features/org.eclipse.tm.terminal-feature/license.html diff --git a/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal-feature/pom.xml rename to features/org.eclipse.tm.terminal-feature/pom.xml index ac52029dfef..e8513b33281 100644 --- a/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html rename to features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/epl-v10.html diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties rename to features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties diff --git a/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html rename to features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/license.html diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png rename to features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/.project b/features/org.eclipse.tm.terminal.core.sdk-feature/.project new file mode 100644 index 00000000000..636aa511c46 --- /dev/null +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.core.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties new file mode 100644 index 00000000000..a7c02cfcc49 --- /dev/null +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties @@ -0,0 +1,19 @@ +################################################################################ +# Copyright (c) 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################ +bin.includes = feature.xml,\ + epl-v10.html,\ + feature.properties,\ + license.html,\ + eclipse_update_120.jpg +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet diff --git a/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg similarity index 100% rename from org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg rename to features/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg diff --git a/org.eclipse.tm.terminal.local-feature/epl-v10.html b/features/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.local-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties new file mode 100644 index 00000000000..896edaf57c6 --- /dev/null +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties @@ -0,0 +1,169 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal control including \ +plug-ins for Serial, SSH and Telnet connections. Includes Source Code. + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.4 Updates + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2012 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml new file mode 100644 index 00000000000..47e25b716f7 --- /dev/null +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -0,0 +1,80 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.eclipse.tm.terminal.local-feature/license.html b/features/org.eclipse.tm.terminal.core.sdk-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.local-feature/license.html rename to features/org.eclipse.tm.terminal.core.sdk-feature/license.html diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml new file mode 100644 index 00000000000..0f34322b5f9 --- /dev/null +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + tm-parent + org.eclipse.tm + 3.8.0-SNAPSHOT + ../../../ + + org.eclipse.tm.features + org.eclipse.tm.terminal.core.sdk + 3.3.1-SNAPSHOT + eclipse-feature + diff --git a/org.eclipse.tm.terminal.local-feature/.project b/features/org.eclipse.tm.terminal.local-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.local-feature/.project rename to features/org.eclipse.tm.terminal.local-feature/.project diff --git a/org.eclipse.tm.terminal.local-feature/build.properties b/features/org.eclipse.tm.terminal.local-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.local-feature/build.properties rename to features/org.eclipse.tm.terminal.local-feature/build.properties diff --git a/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg rename to features/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg diff --git a/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html b/features/org.eclipse.tm.terminal.local-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.local-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.local-feature/feature.properties b/features/org.eclipse.tm.terminal.local-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.local-feature/feature.properties rename to features/org.eclipse.tm.terminal.local-feature/feature.properties diff --git a/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.local-feature/feature.xml rename to features/org.eclipse.tm.terminal.local-feature/feature.xml diff --git a/org.eclipse.tm.terminal.local.sdk-feature/license.html b/features/org.eclipse.tm.terminal.local-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/license.html rename to features/org.eclipse.tm.terminal.local-feature/license.html diff --git a/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.local-feature/pom.xml rename to features/org.eclipse.tm.terminal.local-feature/pom.xml index f4be0a4567f..408e1e81853 100644 --- a/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local.sdk-feature/.project b/features/org.eclipse.tm.terminal.local.sdk-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/.project rename to features/org.eclipse.tm.terminal.local.sdk-feature/.project diff --git a/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/build.properties rename to features/org.eclipse.tm.terminal.local.sdk-feature/build.properties diff --git a/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg similarity index 100% rename from org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg rename to features/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg diff --git a/org.eclipse.tm.terminal.sdk-feature/epl-v10.html b/features/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.sdk-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/feature.properties rename to features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties diff --git a/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.local.sdk-feature/feature.xml rename to features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml diff --git a/org.eclipse.tm.terminal.sdk-feature/license.html b/features/org.eclipse.tm.terminal.local.sdk-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.sdk-feature/license.html rename to features/org.eclipse.tm.terminal.local.sdk-feature/license.html diff --git a/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.local.sdk-feature/pom.xml rename to features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 6409da4f6a2..ddaef09acf5 100644 --- a/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk diff --git a/org.eclipse.tm.terminal.sdk-feature/.project b/features/org.eclipse.tm.terminal.sdk-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.sdk-feature/.project rename to features/org.eclipse.tm.terminal.sdk-feature/.project diff --git a/org.eclipse.tm.terminal.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.sdk-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.sdk-feature/build.properties rename to features/org.eclipse.tm.terminal.sdk-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bfdf708ad617e4974cac04cc5c1c8192b09bbeb3 GIT binary patch literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KAtm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.sdk diff --git a/org.eclipse.tm.terminal.serial-feature/.project b/features/org.eclipse.tm.terminal.serial-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/.project rename to features/org.eclipse.tm.terminal.serial-feature/.project diff --git a/org.eclipse.tm.terminal.serial-feature/build.properties b/features/org.eclipse.tm.terminal.serial-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/build.properties rename to features/org.eclipse.tm.terminal.serial-feature/build.properties diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal.serial-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html rename to features/org.eclipse.tm.terminal.serial-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.serial-feature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/feature.properties rename to features/org.eclipse.tm.terminal.serial-feature/feature.properties diff --git a/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/feature.xml rename to features/org.eclipse.tm.terminal.serial-feature/feature.xml diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal.serial-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html rename to features/org.eclipse.tm.terminal.serial-feature/license.html diff --git a/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.serial-feature/pom.xml rename to features/org.eclipse.tm.terminal.serial-feature/pom.xml index 41a83159c06..dc188b098c6 100644 --- a/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.serial diff --git a/org.eclipse.tm.terminal.ssh-feature/epl-v10.html b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/epl-v10.html diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/license.html b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/license.html rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/license.html diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal.local/about.ini b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from org.eclipse.tm.terminal.local/about.ini rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.local/tm32.png b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.local/tm32.png rename to features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.ssh-feature/.project b/features/org.eclipse.tm.terminal.ssh-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/.project rename to features/org.eclipse.tm.terminal.ssh-feature/.project diff --git a/org.eclipse.tm.terminal.ssh-feature/build.properties b/features/org.eclipse.tm.terminal.ssh-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/build.properties rename to features/org.eclipse.tm.terminal.ssh-feature/build.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html rename to features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/feature.properties rename to features/org.eclipse.tm.terminal.ssh-feature/feature.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/feature.xml rename to features/org.eclipse.tm.terminal.ssh-feature/feature.xml diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal.ssh-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html rename to features/org.eclipse.tm.terminal.ssh-feature/license.html diff --git a/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.ssh-feature/pom.xml rename to features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 3cbb95d29b7..060daf41ca1 100644 --- a/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.telnet-feature/epl-v10.html b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/epl-v10.html diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties diff --git a/org.eclipse.tm.terminal.telnet-feature/license.html b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/license.html rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/license.html diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini diff --git a/org.eclipse.tm.terminal.serial/about.mappings b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.serial/about.mappings rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png rename to features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.telnet-feature/.project b/features/org.eclipse.tm.terminal.telnet-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/.project rename to features/org.eclipse.tm.terminal.telnet-feature/.project diff --git a/org.eclipse.tm.terminal.telnet-feature/build.properties b/features/org.eclipse.tm.terminal.telnet-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/build.properties rename to features/org.eclipse.tm.terminal.telnet-feature/build.properties diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html rename to features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/feature.properties rename to features/org.eclipse.tm.terminal.telnet-feature/feature.properties diff --git a/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/feature.xml rename to features/org.eclipse.tm.terminal.telnet-feature/feature.xml diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal.telnet-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html rename to features/org.eclipse.tm.terminal.telnet-feature/license.html diff --git a/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.telnet-feature/pom.xml rename to features/org.eclipse.tm.terminal.telnet-feature/pom.xml index 8cd70af9132..b751874b545 100644 --- a/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.telnet diff --git a/org.eclipse.tm.terminal.test-feature/epl-v10.html b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.test-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/epl-v10.html diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties diff --git a/org.eclipse.tm.terminal.test-feature/license.html b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html similarity index 100% rename from org.eclipse.tm.terminal.test-feature/license.html rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/license.html diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal.serial/about.ini b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from org.eclipse.tm.terminal.serial/about.ini rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.serial/tm32.png b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.serial/tm32.png rename to features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.test-feature/.project b/features/org.eclipse.tm.terminal.test-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.test-feature/.project rename to features/org.eclipse.tm.terminal.test-feature/.project diff --git a/org.eclipse.tm.terminal.test-feature/build.properties b/features/org.eclipse.tm.terminal.test-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.test-feature/build.properties rename to features/org.eclipse.tm.terminal.test-feature/build.properties diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html b/features/org.eclipse.tm.terminal.test-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html rename to features/org.eclipse.tm.terminal.test-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.test-feature/feature.properties b/features/org.eclipse.tm.terminal.test-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.test-feature/feature.properties rename to features/org.eclipse.tm.terminal.test-feature/feature.properties diff --git a/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.test-feature/feature.xml rename to features/org.eclipse.tm.terminal.test-feature/feature.xml diff --git a/org.eclipse.tm.terminal.view-feature/license.html b/features/org.eclipse.tm.terminal.test-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.view-feature/license.html rename to features/org.eclipse.tm.terminal.test-feature/license.html diff --git a/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.test-feature/pom.xml rename to features/org.eclipse.tm.terminal.test-feature/pom.xml index 1ae7ba33d2c..07ad2d1ba4c 100644 --- a/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.view-feature/epl-v10.html b/features/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.view-feature/epl-v10.html rename to features/org.eclipse.tm.terminal.test-feature/rootfiles/epl-v10.html diff --git a/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html b/features/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html similarity index 100% rename from org.eclipse.tm.terminal.test-feature/rootfiles/notice.html rename to features/org.eclipse.tm.terminal.test-feature/rootfiles/notice.html diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.view-feature/.project b/features/org.eclipse.tm.terminal.view-feature/.project similarity index 100% rename from org.eclipse.tm.terminal.view-feature/.project rename to features/org.eclipse.tm.terminal.view-feature/.project diff --git a/org.eclipse.tm.terminal.view-feature/build.properties b/features/org.eclipse.tm.terminal.view-feature/build.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/build.properties rename to features/org.eclipse.tm.terminal.view-feature/build.properties diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal.view-feature/epl-v10.html similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html rename to features/org.eclipse.tm.terminal.view-feature/epl-v10.html diff --git a/org.eclipse.tm.terminal.view-feature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/feature.properties rename to features/org.eclipse.tm.terminal.view-feature/feature.properties diff --git a/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml similarity index 100% rename from org.eclipse.tm.terminal.view-feature/feature.xml rename to features/org.eclipse.tm.terminal.view-feature/feature.xml diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal.view-feature/license.html similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html rename to features/org.eclipse.tm.terminal.view-feature/license.html diff --git a/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.view-feature/pom.xml rename to features/org.eclipse.tm.terminal.view-feature/pom.xml index 10c4e305487..991518ca355 100644 --- a/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm.features org.eclipse.tm.terminal.view diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html new file mode 100644 index 00000000000..9321f4082e7 --- /dev/null +++ b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/epl-v10.html @@ -0,0 +1,256 @@ + + + + + + +Eclipse Public License - Version 1.0 + + + +

                                  Eclipse Public License - v 1.0

                                  + +

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR +DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS +AGREEMENT.

                                  + +

                                  1. DEFINITIONS

                                  + +

                                  "Contribution" means:

                                  + +

                                  a) in the case of the initial Contributor, the initial +code and documentation distributed under this Agreement, and

                                  +

                                  b) in the case of each subsequent Contributor:

                                  +

                                  i) changes to the Program, and

                                  +

                                  ii) additions to the Program;

                                  +

                                  where such changes and/or additions to the Program +originate from and are distributed by that particular Contributor. A +Contribution 'originates' from a Contributor if it was added to the +Program by such Contributor itself or anyone acting on such +Contributor's behalf. Contributions do not include additions to the +Program which: (i) are separate modules of software distributed in +conjunction with the Program under their own license agreement, and (ii) +are not derivative works of the Program.

                                  + +

                                  "Contributor" means any person or entity that distributes +the Program.

                                  + +

                                  "Licensed Patents" mean patent claims licensable by a +Contributor which are necessarily infringed by the use or sale of its +Contribution alone or when combined with the Program.

                                  + +

                                  "Program" means the Contributions distributed in accordance +with this Agreement.

                                  + +

                                  "Recipient" means anyone who receives the Program under +this Agreement, including all Contributors.

                                  + +

                                  2. GRANT OF RIGHTS

                                  + +

                                  a) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free copyright license to reproduce, prepare derivative works +of, publicly display, publicly perform, distribute and sublicense the +Contribution of such Contributor, if any, and such derivative works, in +source code and object code form.

                                  + +

                                  b) Subject to the terms of this Agreement, each +Contributor hereby grants Recipient a non-exclusive, worldwide, +royalty-free patent license under Licensed Patents to make, use, sell, +offer to sell, import and otherwise transfer the Contribution of such +Contributor, if any, in source code and object code form. This patent +license shall apply to the combination of the Contribution and the +Program if, at the time the Contribution is added by the Contributor, +such addition of the Contribution causes such combination to be covered +by the Licensed Patents. The patent license shall not apply to any other +combinations which include the Contribution. No hardware per se is +licensed hereunder.

                                  + +

                                  c) Recipient understands that although each Contributor +grants the licenses to its Contributions set forth herein, no assurances +are provided by any Contributor that the Program does not infringe the +patent or other intellectual property rights of any other entity. Each +Contributor disclaims any liability to Recipient for claims brought by +any other entity based on infringement of intellectual property rights +or otherwise. As a condition to exercising the rights and licenses +granted hereunder, each Recipient hereby assumes sole responsibility to +secure any other intellectual property rights needed, if any. For +example, if a third party patent license is required to allow Recipient +to distribute the Program, it is Recipient's responsibility to acquire +that license before distributing the Program.

                                  + +

                                  d) Each Contributor represents that to its knowledge it +has sufficient copyright rights in its Contribution, if any, to grant +the copyright license set forth in this Agreement.

                                  + +

                                  3. REQUIREMENTS

                                  + +

                                  A Contributor may choose to distribute the Program in object code +form under its own license agreement, provided that:

                                  + +

                                  a) it complies with the terms and conditions of this +Agreement; and

                                  + +

                                  b) its license agreement:

                                  + +

                                  i) effectively disclaims on behalf of all Contributors +all warranties and conditions, express and implied, including warranties +or conditions of title and non-infringement, and implied warranties or +conditions of merchantability and fitness for a particular purpose;

                                  + +

                                  ii) effectively excludes on behalf of all Contributors +all liability for damages, including direct, indirect, special, +incidental and consequential damages, such as lost profits;

                                  + +

                                  iii) states that any provisions which differ from this +Agreement are offered by that Contributor alone and not by any other +party; and

                                  + +

                                  iv) states that source code for the Program is available +from such Contributor, and informs licensees how to obtain it in a +reasonable manner on or through a medium customarily used for software +exchange.

                                  + +

                                  When the Program is made available in source code form:

                                  + +

                                  a) it must be made available under this Agreement; and

                                  + +

                                  b) a copy of this Agreement must be included with each +copy of the Program.

                                  + +

                                  Contributors may not remove or alter any copyright notices contained +within the Program.

                                  + +

                                  Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution.

                                  + +

                                  4. COMMERCIAL DISTRIBUTION

                                  + +

                                  Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use of +the Program, the Contributor who includes the Program in a commercial +product offering should do so in a manner which does not create +potential liability for other Contributors. Therefore, if a Contributor +includes the Program in a commercial product offering, such Contributor +("Commercial Contributor") hereby agrees to defend and +indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") +arising from claims, lawsuits and other legal actions brought by a third +party against the Indemnified Contributor to the extent caused by the +acts or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property infringement. In +order to qualify, an Indemnified Contributor must: a) promptly notify +the Commercial Contributor in writing of such claim, and b) allow the +Commercial Contributor to control, and cooperate with the Commercial +Contributor in, the defense and any related settlement negotiations. The +Indemnified Contributor may participate in any such claim at its own +expense.

                                  + +

                                  For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages.

                                  + +

                                  5. NO WARRANTY

                                  + +

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS +OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, +ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable laws, +damage to or loss of data, programs or equipment, and unavailability or +interruption of operations.

                                  + +

                                  6. DISCLAIMER OF LIABILITY

                                  + +

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT +NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  + +

                                  7. GENERAL

                                  + +

                                  If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further action +by the parties hereto, such provision shall be reformed to the minimum +extent necessary to make such provision valid and enforceable.

                                  + +

                                  If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that the +Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of the +date such litigation is filed.

                                  + +

                                  All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of time +after becoming aware of such noncompliance. If all Recipient's rights +under this Agreement terminate, Recipient agrees to cease use and +distribution of the Program as soon as reasonably practicable. However, +Recipient's obligations under this Agreement and any licenses granted by +Recipient relating to the Program shall continue and survive.

                                  + +

                                  Everyone is permitted to copy and distribute copies of this +Agreement, but in order to avoid inconsistency the Agreement is +copyrighted and may only be modified in the following manner. The +Agreement Steward reserves the right to publish new versions (including +revisions) of this Agreement from time to time. No one other than the +Agreement Steward has the right to modify this Agreement. The Eclipse +Foundation is the initial Agreement Steward. The Eclipse Foundation may +assign the responsibility to serve as the Agreement Steward to a +suitable separate entity. Each new version of the Agreement will be +given a distinguishing version number. The Program (including +Contributions) may always be distributed subject to the version of the +Agreement under which it was received. In addition, after a new version +of the Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives no +rights or licenses to the intellectual property of any Contributor under +this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved.

                                  + +

                                  This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No party +to this Agreement will bring a legal action under this Agreement more +than one year after the cause of action arose. Each party waives its +rights to a jury trial in any resulting litigation.

                                  + + \ No newline at end of file diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html new file mode 100644 index 00000000000..f19c483b9c8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/license.html @@ -0,0 +1,108 @@ + + + + + +Eclipse Foundation Software User Agreement + + + +

                                  Eclipse Foundation Software User Agreement

                                  +

                                  February 1, 2011

                                  + +

                                  Usage Of Content

                                  + +

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS + (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND + CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE + OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR + NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND + CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  + +

                                  Applicable Licenses

                                  + +

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 + ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. + For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code + repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  + +
                                    +
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • +
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • +
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins + and/or Fragments associated with that Feature.
                                  • +
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • +
                                  + +

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and +Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module +including, but not limited to the following locations:

                                  + +
                                    +
                                  • The top-level (root) directory
                                  • +
                                  • Plug-in and Fragment directories
                                  • +
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • +
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • +
                                  • Feature directories
                                  • +
                                  + +

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the +installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or +inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. +Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in +that directory.

                                  + +

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE +OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  + + + +

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please +contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  + + +

                                  Use of Provisioning Technology

                                  + +

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse + Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or + other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to + install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html + ("Specification").

                                  + +

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the + applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology + in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the + Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  + +
                                    +
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology + on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based + product.
                                  2. +
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be + accessed and copied to the Target Machine.
                                  4. +
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable + Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target + Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern + the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such + indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. +
                                  + +

                                  Cryptography

                                  + +

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to + another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, + possession, or use, and re-export of encryption software, to see if this is permitted.

                                  + +

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  + + diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini diff --git a/org.eclipse.tm.terminal.ssh/about.mappings b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.ssh/about.mappings rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties diff --git a/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png rename to features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png diff --git a/org.eclipse.tm.terminal.local/.classpath b/plugins/org.eclipse.tm.terminal.local/.classpath similarity index 100% rename from org.eclipse.tm.terminal.local/.classpath rename to plugins/org.eclipse.tm.terminal.local/.classpath diff --git a/org.eclipse.tm.terminal.local/.cvsignore b/plugins/org.eclipse.tm.terminal.local/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.local/.cvsignore rename to plugins/org.eclipse.tm.terminal.local/.cvsignore diff --git a/org.eclipse.tm.terminal.local/.project b/plugins/org.eclipse.tm.terminal.local/.project similarity index 100% rename from org.eclipse.tm.terminal.local/.project rename to plugins/org.eclipse.tm.terminal.local/.project diff --git a/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.local/about.html b/plugins/org.eclipse.tm.terminal.local/about.html similarity index 100% rename from org.eclipse.tm.terminal.local/about.html rename to plugins/org.eclipse.tm.terminal.local/about.html diff --git a/org.eclipse.tm.terminal.ssh/about.ini b/plugins/org.eclipse.tm.terminal.local/about.ini similarity index 100% rename from org.eclipse.tm.terminal.ssh/about.ini rename to plugins/org.eclipse.tm.terminal.local/about.ini diff --git a/org.eclipse.tm.terminal.local/about.mappings b/plugins/org.eclipse.tm.terminal.local/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.local/about.mappings rename to plugins/org.eclipse.tm.terminal.local/about.mappings diff --git a/org.eclipse.tm.terminal.local/about.properties b/plugins/org.eclipse.tm.terminal.local/about.properties similarity index 100% rename from org.eclipse.tm.terminal.local/about.properties rename to plugins/org.eclipse.tm.terminal.local/about.properties diff --git a/org.eclipse.tm.terminal.local/build.properties b/plugins/org.eclipse.tm.terminal.local/build.properties similarity index 100% rename from org.eclipse.tm.terminal.local/build.properties rename to plugins/org.eclipse.tm.terminal.local/build.properties diff --git a/org.eclipse.tm.terminal.local/icons/terminal-launch.gif b/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif similarity index 100% rename from org.eclipse.tm.terminal.local/icons/terminal-launch.gif rename to plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif diff --git a/org.eclipse.tm.terminal.local/plugin.properties b/plugins/org.eclipse.tm.terminal.local/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.local/plugin.properties rename to plugins/org.eclipse.tm.terminal.local/plugin.properties diff --git a/org.eclipse.tm.terminal.local/plugin.xml b/plugins/org.eclipse.tm.terminal.local/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.local/plugin.xml rename to plugins/org.eclipse.tm.terminal.local/plugin.xml diff --git a/org.eclipse.tm.terminal.local/pom.xml b/plugins/org.eclipse.tm.terminal.local/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.local/pom.xml rename to plugins/org.eclipse.tm.terminal.local/pom.xml index bfb28b40c30..f9d419c81cc 100644 --- a/org.eclipse.tm.terminal.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.local/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.local diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java diff --git a/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java similarity index 100% rename from org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java rename to plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java diff --git a/org.eclipse.tm.terminal.ssh/tm32.png b/plugins/org.eclipse.tm.terminal.local/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.ssh/tm32.png rename to plugins/org.eclipse.tm.terminal.local/tm32.png diff --git a/org.eclipse.tm.terminal.serial/.classpath b/plugins/org.eclipse.tm.terminal.serial/.classpath similarity index 100% rename from org.eclipse.tm.terminal.serial/.classpath rename to plugins/org.eclipse.tm.terminal.serial/.classpath diff --git a/org.eclipse.tm.terminal.serial/.cvsignore b/plugins/org.eclipse.tm.terminal.serial/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.serial/.cvsignore rename to plugins/org.eclipse.tm.terminal.serial/.cvsignore diff --git a/org.eclipse.tm.terminal.serial/.project b/plugins/org.eclipse.tm.terminal.serial/.project similarity index 100% rename from org.eclipse.tm.terminal.serial/.project rename to plugins/org.eclipse.tm.terminal.serial/.project diff --git a/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.serial/README.txt b/plugins/org.eclipse.tm.terminal.serial/README.txt similarity index 100% rename from org.eclipse.tm.terminal.serial/README.txt rename to plugins/org.eclipse.tm.terminal.serial/README.txt diff --git a/org.eclipse.tm.terminal.serial/about.html b/plugins/org.eclipse.tm.terminal.serial/about.html similarity index 100% rename from org.eclipse.tm.terminal.serial/about.html rename to plugins/org.eclipse.tm.terminal.serial/about.html diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/plugins/org.eclipse.tm.terminal.serial/about.ini similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini rename to plugins/org.eclipse.tm.terminal.serial/about.ini diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings b/plugins/org.eclipse.tm.terminal.serial/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings rename to plugins/org.eclipse.tm.terminal.serial/about.mappings diff --git a/org.eclipse.tm.terminal.serial/about.properties b/plugins/org.eclipse.tm.terminal.serial/about.properties similarity index 100% rename from org.eclipse.tm.terminal.serial/about.properties rename to plugins/org.eclipse.tm.terminal.serial/about.properties diff --git a/org.eclipse.tm.terminal.serial/build.properties b/plugins/org.eclipse.tm.terminal.serial/build.properties similarity index 100% rename from org.eclipse.tm.terminal.serial/build.properties rename to plugins/org.eclipse.tm.terminal.serial/build.properties diff --git a/org.eclipse.tm.terminal.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.serial/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.serial/plugin.properties rename to plugins/org.eclipse.tm.terminal.serial/plugin.properties diff --git a/org.eclipse.tm.terminal.serial/plugin.xml b/plugins/org.eclipse.tm.terminal.serial/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.serial/plugin.xml rename to plugins/org.eclipse.tm.terminal.serial/plugin.xml diff --git a/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.serial/pom.xml rename to plugins/org.eclipse.tm.terminal.serial/pom.xml index 16a15e3355c..3f7e89130bf 100644 --- a/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.serial diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnectWorker.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java diff --git a/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java rename to plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java diff --git a/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png b/plugins/org.eclipse.tm.terminal.serial/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png rename to plugins/org.eclipse.tm.terminal.serial/tm32.png diff --git a/org.eclipse.tm.terminal.ssh/.classpath b/plugins/org.eclipse.tm.terminal.ssh/.classpath similarity index 100% rename from org.eclipse.tm.terminal.ssh/.classpath rename to plugins/org.eclipse.tm.terminal.ssh/.classpath diff --git a/org.eclipse.tm.terminal.ssh/.cvsignore b/plugins/org.eclipse.tm.terminal.ssh/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.ssh/.cvsignore rename to plugins/org.eclipse.tm.terminal.ssh/.cvsignore diff --git a/org.eclipse.tm.terminal.ssh/.project b/plugins/org.eclipse.tm.terminal.ssh/.project similarity index 100% rename from org.eclipse.tm.terminal.ssh/.project rename to plugins/org.eclipse.tm.terminal.ssh/.project diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.ssh/about.html b/plugins/org.eclipse.tm.terminal.ssh/about.html similarity index 100% rename from org.eclipse.tm.terminal.ssh/about.html rename to plugins/org.eclipse.tm.terminal.ssh/about.html diff --git a/org.eclipse.tm.terminal.telnet/about.ini b/plugins/org.eclipse.tm.terminal.ssh/about.ini similarity index 100% rename from org.eclipse.tm.terminal.telnet/about.ini rename to plugins/org.eclipse.tm.terminal.ssh/about.ini diff --git a/org.eclipse.tm.terminal.telnet/about.mappings b/plugins/org.eclipse.tm.terminal.ssh/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.telnet/about.mappings rename to plugins/org.eclipse.tm.terminal.ssh/about.mappings diff --git a/org.eclipse.tm.terminal.ssh/about.properties b/plugins/org.eclipse.tm.terminal.ssh/about.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh/about.properties rename to plugins/org.eclipse.tm.terminal.ssh/about.properties diff --git a/org.eclipse.tm.terminal.ssh/build.properties b/plugins/org.eclipse.tm.terminal.ssh/build.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh/build.properties rename to plugins/org.eclipse.tm.terminal.ssh/build.properties diff --git a/org.eclipse.tm.terminal.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.ssh/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh/plugin.properties rename to plugins/org.eclipse.tm.terminal.ssh/plugin.properties diff --git a/org.eclipse.tm.terminal.ssh/plugin.xml b/plugins/org.eclipse.tm.terminal.ssh/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.ssh/plugin.xml rename to plugins/org.eclipse.tm.terminal.ssh/plugin.xml diff --git a/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.ssh/pom.xml rename to plugins/org.eclipse.tm.terminal.ssh/pom.xml index 77394878d08..a694be99b97 100644 --- a/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.ssh diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java diff --git a/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java similarity index 100% rename from org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java rename to plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java diff --git a/org.eclipse.tm.terminal.telnet/tm32.png b/plugins/org.eclipse.tm.terminal.ssh/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.telnet/tm32.png rename to plugins/org.eclipse.tm.terminal.ssh/tm32.png diff --git a/org.eclipse.tm.terminal.telnet/.classpath b/plugins/org.eclipse.tm.terminal.telnet/.classpath similarity index 100% rename from org.eclipse.tm.terminal.telnet/.classpath rename to plugins/org.eclipse.tm.terminal.telnet/.classpath diff --git a/org.eclipse.tm.terminal.telnet/.cvsignore b/plugins/org.eclipse.tm.terminal.telnet/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.telnet/.cvsignore rename to plugins/org.eclipse.tm.terminal.telnet/.cvsignore diff --git a/org.eclipse.tm.terminal.telnet/.project b/plugins/org.eclipse.tm.terminal.telnet/.project similarity index 100% rename from org.eclipse.tm.terminal.telnet/.project rename to plugins/org.eclipse.tm.terminal.telnet/.project diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.telnet/about.html b/plugins/org.eclipse.tm.terminal.telnet/about.html similarity index 100% rename from org.eclipse.tm.terminal.telnet/about.html rename to plugins/org.eclipse.tm.terminal.telnet/about.html diff --git a/org.eclipse.tm.terminal.test/about.ini b/plugins/org.eclipse.tm.terminal.telnet/about.ini similarity index 100% rename from org.eclipse.tm.terminal.test/about.ini rename to plugins/org.eclipse.tm.terminal.telnet/about.ini diff --git a/org.eclipse.tm.terminal.test/about.mappings b/plugins/org.eclipse.tm.terminal.telnet/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.test/about.mappings rename to plugins/org.eclipse.tm.terminal.telnet/about.mappings diff --git a/org.eclipse.tm.terminal.telnet/about.properties b/plugins/org.eclipse.tm.terminal.telnet/about.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet/about.properties rename to plugins/org.eclipse.tm.terminal.telnet/about.properties diff --git a/org.eclipse.tm.terminal.telnet/build.properties b/plugins/org.eclipse.tm.terminal.telnet/build.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet/build.properties rename to plugins/org.eclipse.tm.terminal.telnet/build.properties diff --git a/org.eclipse.tm.terminal.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.telnet/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet/plugin.properties rename to plugins/org.eclipse.tm.terminal.telnet/plugin.properties diff --git a/org.eclipse.tm.terminal.telnet/plugin.xml b/plugins/org.eclipse.tm.terminal.telnet/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.telnet/plugin.xml rename to plugins/org.eclipse.tm.terminal.telnet/plugin.xml diff --git a/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.telnet/pom.xml rename to plugins/org.eclipse.tm.terminal.telnet/pom.xml index ece9bfab0a3..1f651203e6a 100644 --- a/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.telnet diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java diff --git a/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java rename to plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java diff --git a/org.eclipse.tm.terminal.test/tm32.png b/plugins/org.eclipse.tm.terminal.telnet/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.test/tm32.png rename to plugins/org.eclipse.tm.terminal.telnet/tm32.png diff --git a/org.eclipse.tm.terminal.test/.classpath b/plugins/org.eclipse.tm.terminal.test/.classpath similarity index 100% rename from org.eclipse.tm.terminal.test/.classpath rename to plugins/org.eclipse.tm.terminal.test/.classpath diff --git a/org.eclipse.tm.terminal.test/.cvsignore b/plugins/org.eclipse.tm.terminal.test/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.test/.cvsignore rename to plugins/org.eclipse.tm.terminal.test/.cvsignore diff --git a/org.eclipse.tm.terminal.test/.project b/plugins/org.eclipse.tm.terminal.test/.project similarity index 100% rename from org.eclipse.tm.terminal.test/.project rename to plugins/org.eclipse.tm.terminal.test/.project diff --git a/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.test/about.html b/plugins/org.eclipse.tm.terminal.test/about.html similarity index 100% rename from org.eclipse.tm.terminal.test/about.html rename to plugins/org.eclipse.tm.terminal.test/about.html diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini b/plugins/org.eclipse.tm.terminal.test/about.ini similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini rename to plugins/org.eclipse.tm.terminal.test/about.ini diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings b/plugins/org.eclipse.tm.terminal.test/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings rename to plugins/org.eclipse.tm.terminal.test/about.mappings diff --git a/org.eclipse.tm.terminal.test/about.properties b/plugins/org.eclipse.tm.terminal.test/about.properties similarity index 100% rename from org.eclipse.tm.terminal.test/about.properties rename to plugins/org.eclipse.tm.terminal.test/about.properties diff --git a/org.eclipse.tm.terminal.test/build.properties b/plugins/org.eclipse.tm.terminal.test/build.properties similarity index 100% rename from org.eclipse.tm.terminal.test/build.properties rename to plugins/org.eclipse.tm.terminal.test/build.properties diff --git a/org.eclipse.tm.terminal.test/plugin.properties b/plugins/org.eclipse.tm.terminal.test/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.test/plugin.properties rename to plugins/org.eclipse.tm.terminal.test/plugin.properties diff --git a/org.eclipse.tm.terminal.test/plugin.xml b/plugins/org.eclipse.tm.terminal.test/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.test/plugin.xml rename to plugins/org.eclipse.tm.terminal.test/plugin.xml diff --git a/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml similarity index 96% rename from org.eclipse.tm.terminal.test/pom.xml rename to plugins/org.eclipse.tm.terminal.test/pom.xml index 99bbefc7ef3..b69711c747d 100644 --- a/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.test diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java diff --git a/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java similarity index 100% rename from org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java rename to plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch b/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch similarity index 100% rename from org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch rename to plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch b/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch similarity index 100% rename from org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch rename to plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch diff --git a/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch b/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch similarity index 100% rename from org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch rename to plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch diff --git a/org.eclipse.tm.terminal.test/test.xml b/plugins/org.eclipse.tm.terminal.test/test.xml similarity index 100% rename from org.eclipse.tm.terminal.test/test.xml rename to plugins/org.eclipse.tm.terminal.test/test.xml diff --git a/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png b/plugins/org.eclipse.tm.terminal.test/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png rename to plugins/org.eclipse.tm.terminal.test/tm32.png diff --git a/org.eclipse.tm.terminal.view/.classpath b/plugins/org.eclipse.tm.terminal.view/.classpath similarity index 100% rename from org.eclipse.tm.terminal.view/.classpath rename to plugins/org.eclipse.tm.terminal.view/.classpath diff --git a/org.eclipse.tm.terminal.view/.cvsignore b/plugins/org.eclipse.tm.terminal.view/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal.view/.cvsignore rename to plugins/org.eclipse.tm.terminal.view/.cvsignore diff --git a/org.eclipse.tm.terminal.view/.project b/plugins/org.eclipse.tm.terminal.view/.project similarity index 100% rename from org.eclipse.tm.terminal.view/.project rename to plugins/org.eclipse.tm.terminal.view/.project diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs diff --git a/org.eclipse.tm.terminal.view/HelpContexts.xml b/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml similarity index 100% rename from org.eclipse.tm.terminal.view/HelpContexts.xml rename to plugins/org.eclipse.tm.terminal.view/HelpContexts.xml diff --git a/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal.view/TerminalContexts.xml b/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml similarity index 100% rename from org.eclipse.tm.terminal.view/TerminalContexts.xml rename to plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml diff --git a/org.eclipse.tm.terminal.view/about.html b/plugins/org.eclipse.tm.terminal.view/about.html similarity index 100% rename from org.eclipse.tm.terminal.view/about.html rename to plugins/org.eclipse.tm.terminal.view/about.html diff --git a/org.eclipse.tm.terminal.view/about.ini b/plugins/org.eclipse.tm.terminal.view/about.ini similarity index 100% rename from org.eclipse.tm.terminal.view/about.ini rename to plugins/org.eclipse.tm.terminal.view/about.ini diff --git a/org.eclipse.tm.terminal.view/about.mappings b/plugins/org.eclipse.tm.terminal.view/about.mappings similarity index 100% rename from org.eclipse.tm.terminal.view/about.mappings rename to plugins/org.eclipse.tm.terminal.view/about.mappings diff --git a/org.eclipse.tm.terminal.view/about.properties b/plugins/org.eclipse.tm.terminal.view/about.properties similarity index 100% rename from org.eclipse.tm.terminal.view/about.properties rename to plugins/org.eclipse.tm.terminal.view/about.properties diff --git a/org.eclipse.tm.terminal.view/build.properties b/plugins/org.eclipse.tm.terminal.view/build.properties similarity index 100% rename from org.eclipse.tm.terminal.view/build.properties rename to plugins/org.eclipse.tm.terminal.view/build.properties diff --git a/org.eclipse.tm.terminal.view/doc/book.css b/plugins/org.eclipse.tm.terminal.view/doc/book.css similarity index 100% rename from org.eclipse.tm.terminal.view/doc/book.css rename to plugins/org.eclipse.tm.terminal.view/doc/book.css diff --git a/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html similarity index 100% rename from org.eclipse.tm.terminal.view/doc/html/01_terminalview.html rename to plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html diff --git a/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html similarity index 100% rename from org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html rename to plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html diff --git a/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html similarity index 100% rename from org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html rename to plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html diff --git a/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html similarity index 100% rename from org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html rename to plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html diff --git a/org.eclipse.tm.terminal.view/doc/html/notice.html b/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html similarity index 100% rename from org.eclipse.tm.terminal.view/doc/html/notice.html rename to plugins/org.eclipse.tm.terminal.view/doc/html/notice.html diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif b/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif rename to plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif diff --git a/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif rename to plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif diff --git a/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif similarity index 100% rename from org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif diff --git a/org.eclipse.tm.terminal.view/plugin.properties b/plugins/org.eclipse.tm.terminal.view/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal.view/plugin.properties rename to plugins/org.eclipse.tm.terminal.view/plugin.properties diff --git a/org.eclipse.tm.terminal.view/plugin.xml b/plugins/org.eclipse.tm.terminal.view/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal.view/plugin.xml rename to plugins/org.eclipse.tm.terminal.view/plugin.xml diff --git a/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml similarity index 93% rename from org.eclipse.tm.terminal.view/pom.xml rename to plugins/org.eclipse.tm.terminal.view/pom.xml index 3661cf2b2f9..90b77df3697 100644 --- a/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal.view diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java diff --git a/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties similarity index 100% rename from org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties rename to plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties diff --git a/org.eclipse.tm.terminal.view/tm32.png b/plugins/org.eclipse.tm.terminal.view/tm32.png similarity index 100% rename from org.eclipse.tm.terminal.view/tm32.png rename to plugins/org.eclipse.tm.terminal.view/tm32.png diff --git a/org.eclipse.tm.terminal.view/toc.xml b/plugins/org.eclipse.tm.terminal.view/toc.xml similarity index 100% rename from org.eclipse.tm.terminal.view/toc.xml rename to plugins/org.eclipse.tm.terminal.view/toc.xml diff --git a/org.eclipse.tm.terminal/.classpath b/plugins/org.eclipse.tm.terminal/.classpath similarity index 100% rename from org.eclipse.tm.terminal/.classpath rename to plugins/org.eclipse.tm.terminal/.classpath diff --git a/org.eclipse.tm.terminal/.cvsignore b/plugins/org.eclipse.tm.terminal/.cvsignore similarity index 100% rename from org.eclipse.tm.terminal/.cvsignore rename to plugins/org.eclipse.tm.terminal/.cvsignore diff --git a/org.eclipse.tm.terminal/.options b/plugins/org.eclipse.tm.terminal/.options similarity index 100% rename from org.eclipse.tm.terminal/.options rename to plugins/org.eclipse.tm.terminal/.options diff --git a/org.eclipse.tm.terminal/.project b/plugins/org.eclipse.tm.terminal/.project similarity index 100% rename from org.eclipse.tm.terminal/.project rename to plugins/org.eclipse.tm.terminal/.project diff --git a/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs diff --git a/org.eclipse.tm.terminal/HelpContexts.xml b/plugins/org.eclipse.tm.terminal/HelpContexts.xml similarity index 100% rename from org.eclipse.tm.terminal/HelpContexts.xml rename to plugins/org.eclipse.tm.terminal/HelpContexts.xml diff --git a/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF similarity index 100% rename from org.eclipse.tm.terminal/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF diff --git a/org.eclipse.tm.terminal/README.txt b/plugins/org.eclipse.tm.terminal/README.txt similarity index 100% rename from org.eclipse.tm.terminal/README.txt rename to plugins/org.eclipse.tm.terminal/README.txt diff --git a/org.eclipse.tm.terminal/about.html b/plugins/org.eclipse.tm.terminal/about.html similarity index 100% rename from org.eclipse.tm.terminal/about.html rename to plugins/org.eclipse.tm.terminal/about.html diff --git a/org.eclipse.tm.terminal/about.ini b/plugins/org.eclipse.tm.terminal/about.ini similarity index 100% rename from org.eclipse.tm.terminal/about.ini rename to plugins/org.eclipse.tm.terminal/about.ini diff --git a/org.eclipse.tm.terminal/about.mappings b/plugins/org.eclipse.tm.terminal/about.mappings similarity index 100% rename from org.eclipse.tm.terminal/about.mappings rename to plugins/org.eclipse.tm.terminal/about.mappings diff --git a/org.eclipse.tm.terminal/about.properties b/plugins/org.eclipse.tm.terminal/about.properties similarity index 100% rename from org.eclipse.tm.terminal/about.properties rename to plugins/org.eclipse.tm.terminal/about.properties diff --git a/org.eclipse.tm.terminal/build.properties b/plugins/org.eclipse.tm.terminal/build.properties similarity index 100% rename from org.eclipse.tm.terminal/build.properties rename to plugins/org.eclipse.tm.terminal/build.properties diff --git a/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/clcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif diff --git a/org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif diff --git a/org.eclipse.tm.terminal/icons/elcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal/icons/elcl16/clear_co.gif similarity index 100% rename from org.eclipse.tm.terminal/icons/elcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal/icons/elcl16/clear_co.gif diff --git a/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties similarity index 100% rename from org.eclipse.tm.terminal/plugin.properties rename to plugins/org.eclipse.tm.terminal/plugin.properties diff --git a/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml similarity index 100% rename from org.eclipse.tm.terminal/plugin.xml rename to plugins/org.eclipse.tm.terminal/plugin.xml diff --git a/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml similarity index 93% rename from org.eclipse.tm.terminal/pom.xml rename to plugins/org.eclipse.tm.terminal/pom.xml index cbf88deb181..ee4a456fd00 100644 --- a/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -6,7 +6,7 @@ tm-parent org.eclipse.tm 3.8.0-SNAPSHOT - ../../ + ../../../ org.eclipse.tm org.eclipse.tm.terminal diff --git a/org.eclipse.tm.terminal/schema/terminalConnectors.exsd b/plugins/org.eclipse.tm.terminal/schema/terminalConnectors.exsd similarity index 100% rename from org.eclipse.tm.terminal/schema/terminalConnectors.exsd rename to plugins/org.eclipse.tm.terminal/schema/terminalConnectors.exsd diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java diff --git a/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java similarity index 100% rename from org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java diff --git a/org.eclipse.tm.terminal/tm32.png b/plugins/org.eclipse.tm.terminal/tm32.png similarity index 100% rename from org.eclipse.tm.terminal/tm32.png rename to plugins/org.eclipse.tm.terminal/tm32.png diff --git a/readme.txt b/readme.txt index 3a5490cd702..3f318523fc8 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -The "terminal" folder holds the DSDP-TM Terminal Component. +The "terminal" folder holds the TM Terminal Component. Its core depends on Eclipse RCP only and can be adapted to eRCP. -All these CVS modules should be named "org.eclipse.tm.terminal.*". -See http://www.eclipse.org/dsdp/tm +All these Git modules should be named "org.eclipse.tm.terminal.*". +See http://www.eclipse.org/tm/ From 9820c75c4665b4f5c8a3002f855219a416b7def8 Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Tue, 6 Nov 2012 11:49:21 +0100 Subject: [PATCH 503/843] Bug 392092 - Extend ITerminalView API to allow programmatically opening a UI-less connector --- .../internal/terminal/view/ITerminalView.java | 16 +++++- .../internal/terminal/view/TerminalView.java | 50 ++++++++++++------- 2 files changed, 48 insertions(+), 18 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index 7fa9d202914..f08fefba065 100644 --- a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -10,19 +10,33 @@ * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + public interface ITerminalView { /** * Create a new terminal connection within the view. */ void onTerminalNewTerminal(); + /** - * Create a new Terminal view. + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + void newTerminal(ITerminalConnector c); + + /** + * Create a new Terminal view. */ void onTerminalNewView(); + void onTerminalConnect(); void onTerminalDisconnect(); void onTerminalSettings(); diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index a378fe2c2a0..247d7fcad1f 100644 --- a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -22,11 +22,12 @@ * Michael Scharf (Wind River) - [172483] switch between connections * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference + * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; @@ -46,7 +47,6 @@ import org.eclipse.jface.window.Window; import org.eclipse.swt.SWT; import org.eclipse.swt.events.MenuEvent; import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.graphics.Font; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Display; @@ -93,7 +93,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - + private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; @@ -103,7 +103,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // TODO (scharf): this decorator is only there to deal wit the common // actions. Find a better solution. TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); - + protected TerminalAction fActionTerminalNewTerminal; protected TerminalAction fActionTerminalConnect; @@ -140,7 +140,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi private PageBook fPageBook; /** - * This listener updates both, the view and the + * This listener updates both, the view and the * ITerminalViewConnection. * */ @@ -181,9 +181,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi PlatformUI.getWorkbench().getDisplay().syncExec(runnable); // else should not happen and we ignore it... } - + } - + public TerminalView() { Logger .log("==============================================================="); //$NON-NLS-1$ @@ -219,6 +219,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi uniqueTitle=title+" "+i++; //$NON-NLS-1$ } } + /** * Display a new Terminal view. This method is called when the user clicks the New * Terminal button in any Terminal view's toolbar. @@ -231,6 +232,21 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } } + /** + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + public void newTerminal(ITerminalConnector c) { + this.setupControls(); + if(c!=null) { + this.setConnector(c); + this.onTerminalConnect(); + } + } + public void onTerminalNewView() { try { // The second argument to showView() is a unique String identifying the @@ -257,7 +273,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } } - + public void onTerminalConnect() { //if (isConnected()) if (fCtlTerminal.getState()!=TerminalState.CLOSED) @@ -320,7 +336,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // load the state from the settings // first load from fStore and then from the preferences. ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); - // if we have no connector show the one from the settings + // if we have no connector show the one from the settings if(fCtlTerminal.getTerminalConnector()!=null) c=fCtlTerminal.getTerminalConnector(); TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); @@ -347,12 +363,12 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi setEncoding(dlgTerminalSettings.getEncoding()); return dlgTerminalSettings.getConnector(); } - + private void setEncoding(String encoding) { getActiveConnection().setEncoding(encoding); updateSummary(); } - + private void setConnector(ITerminalConnector connector) { fCtlTerminal.setConnector(connector); } @@ -369,7 +385,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi getViewSite().getActionBars().getStatusLineManager().setMessage( summary); setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ - + } public void updateSummary() { setViewSummary(getActiveConnection().getFullSummary()); @@ -425,7 +441,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi Logger.log("entered."); //$NON-NLS-1$ JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - + // dispose all connections ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); for (int i = 0; i < conn.length; i++) { @@ -492,9 +508,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi /** * The preference setting store is used to save the settings that are - * shared between all views. + * shared between all views. * @return the settings store for the connection based on the preferences. - * + * */ private PreferenceSettingStore getPreferenceSettingsStore() { return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); @@ -509,7 +525,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // the last saved connector becomes the default store.put(STORE_CONNECTION_TYPE,connector.getId()); } - + } public void init(IViewSite site, IMemento memento) throws PartInitException { super.init(site, memento); @@ -650,7 +666,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi setTerminalControl(ctrl); refresh(); } - } + } } /** From fc5412b795d2cdfa9f16ef366104b98c1e0be5de Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 6 Nov 2012 11:54:16 +0100 Subject: [PATCH 504/843] Fix copyright header after applying patch for bug 392092 --- .../org/eclipse/tm/internal/terminal/view/ITerminalView.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java index f08fefba065..86370726901 100644 --- a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at From 323f18be13af666dee72b815197d7a5b0880ebe4 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 6 Nov 2012 11:54:49 +0100 Subject: [PATCH 505/843] Bugzilla 392107 - Switched interpretation for ESC[0K and ESC[1K sequences --- .../tm/internal/terminal/emulator/VT100Emulator.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 65ef50ce0c7..c693708e802 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2011 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -17,6 +17,7 @@ * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED * Martin Oberhuber (Wind River) - [334969] Fix multi-command SGR sequence + * Kris De Volder (VMWare) - [392107] Switched interpretation for ESC[0K and ESC[1K sequences *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -664,13 +665,13 @@ public class VT100Emulator implements ControlListener { switch (ansiParameter) { case 0: - // Erase from beginning to current position (inclusive). - text.eraseLineToCursor(); + // Erase from current position to end (inclusive). + text.eraseLineToEnd(); break; case 1: - // Erase from current position to end (inclusive). - text.eraseLineToEnd(); + // Erase from beginning to current position (inclusive). + text.eraseLineToCursor(); break; case 2: From f91bb12777d22f12925b0640a775cd700d137ce9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sun, 18 Nov 2012 09:45:40 +0100 Subject: [PATCH 506/843] Terminal: Fix terminal view version id to reflect API addition from commit e9a193a3a9dd94be69c1e3025d332ddd0cf004bc --- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 2405f18cdca..7a2954db67f 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 1c07029086d..8c1036ae245 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index d266162b80a..fe962f30210 100644 --- a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.3.0.qualifier +Bundle-Version: 2.4.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, From 06073156abed759021b7203d69af33eb5e821d1d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sun, 18 Nov 2012 16:13:05 +0100 Subject: [PATCH 507/843] Terminal: Synchronize with updated version ids --- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view/pom.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index b220faf3a9e..7567e3f5959 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.1-SNAPSHOT + 3.3.2-SNAPSHOT eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index 991518ca355..e68a0a4f706 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 2.3.0-SNAPSHOT + 2.4.0-SNAPSHOT eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml index 90b77df3697..aa1d34db046 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.view - 2.3.0-SNAPSHOT + 2.4.0-SNAPSHOT eclipse-plugin From 4271f62a215bfc9c8e072369c7ea650e2f6bb237 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 3 Jan 2013 12:42:31 +0100 Subject: [PATCH 508/843] Terminal: Extended ISettingsPage interface to allow page container to listen to changes on the settings page. Added AbstractSettingsPage implementation. --- .../feature.xml | 2 +- .../org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 6 +- .../pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 4 +- .../pom.xml | 2 +- .../feature.xml | 4 +- .../pom.xml | 2 +- .../feature.xml | 4 +- .../pom.xml | 2 +- .../feature.xml | 4 +- .../pom.xml | 2 +- .../feature.xml | 4 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.local/pom.xml | 2 +- .../local/LocalTerminalSettingsPage.java | 5 +- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.serial/pom.xml | 2 +- .../terminal/serial/SerialSettingsPage.java | 27 +++++- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 2 +- .../terminal/ssh/SshSettingsPage.java | 13 ++- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.telnet/pom.xml | 2 +- .../terminal/telnet/TelnetSettingsPage.java | 29 ++++++- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../TerminalConnectorFactoryTest.java | 4 + .../connector/TerminalConnectorTest.java | 5 ++ .../speedtest/SpeedTestSettingsPage.java | 16 ++-- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.view/pom.xml | 2 +- .../terminal/view/TerminalSettingsDlg.java | 15 ++-- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- .../provisional/api/AbstractSettingsPage.java | 84 +++++++++++++++++++ .../provisional/api/ISettingsPage.java | 46 ++++++++-- 43 files changed, 251 insertions(+), 73 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index 55a98dd2752..e30c70c20a3 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index e8513b33281..a2efc4a10ce 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.1-SNAPSHOT + 3.2.2.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 47e25b716f7..db92eadf16d 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -12,7 +12,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 0f34322b5f9..271909946a0 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.1-SNAPSHOT + 3.3.2.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 50d397c3c33..27c5d7b87a6 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -13,7 +13,7 @@ @@ -41,8 +41,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index 408e1e81853..2814c680a82 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 0.2.100-SNAPSHOT + 0.2.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index d87ee57261e..94cb8cd3752 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index ddaef09acf5..37e45c3e4ef 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 0.3.0-SNAPSHOT + 0.3.1.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 7567e3f5959..5d0a8dfa813 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.2-SNAPSHOT + 3.3.2.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index 5a26c18961f..a81782dc4f7 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -12,7 +12,7 @@ @@ -35,7 +35,7 @@ - + org.eclipse.tm.features org.eclipse.tm.terminal.serial - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 5cc89dbf035..39172db43c2 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -12,7 +12,7 @@ @@ -35,7 +35,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 060daf41ca1..bd3f762a9d4 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 33209655c60..973e191e041 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -12,7 +12,7 @@ @@ -35,7 +35,7 @@ - + org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index a528a14ce6d..fa3a4d861d6 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -12,7 +12,7 @@ @@ -35,7 +35,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 07ad2d1ba4c..1671577fdde 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 2.1.0-SNAPSHOT + 2.1.1.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 8c1036ae245..b83b2f994dc 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -13,7 +13,7 @@ @@ -36,7 +36,7 @@ - + org.eclipse.tm.features org.eclipse.tm.terminal.view - 2.4.0-SNAPSHOT + 2.4.1.qualifier eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 04f1cefaf95..b90ada37d6e 100644 --- a/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true -Bundle-Version: 0.2.100.qualifier +Bundle-Version: 0.2.200.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName diff --git a/plugins/org.eclipse.tm.terminal.local/pom.xml b/plugins/org.eclipse.tm.terminal.local/pom.xml index f9d419c81cc..28e944049cb 100644 --- a/plugins/org.eclipse.tm.terminal.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.local/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.local - 0.2.100-SNAPSHOT + 0.2.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java index 9d6edd223ec..4491c6daf4a 100644 --- a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java @@ -38,6 +38,7 @@ import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.Widget; import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; import org.eclipse.tm.internal.terminal.local.ui.DependentHeightComposite; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.ui.IWorkbench; @@ -51,8 +52,8 @@ import org.eclipse.ui.PlatformUI; * @author Mirko Raner * @version $Revision: 1.3 $ */ -public class LocalTerminalSettingsPage -implements ISettingsPage, ISelectionChangedListener, SelectionListener { +public class LocalTerminalSettingsPage extends AbstractSettingsPage +implements ISelectionChangedListener, SelectionListener { private ILocalTerminalSettings settings; private TableViewer viewer; diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 3e1f4363584..1b2429c9a97 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index 3f7e89130bf..0094b7d63fe 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.serial - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java index c896ed508ac..77de4c9942f 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java @@ -21,15 +21,19 @@ import java.util.Iterator; import java.util.List; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; 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.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class SerialSettingsPage implements ISettingsPage { +public class SerialSettingsPage extends AbstractSettingsPage { private Combo fSerialPortCombo; private Combo fBaudRateCombo; private Combo fDataBitsCombo; @@ -137,6 +141,11 @@ public class SerialSettingsPage implements ISettingsPage { new Label(composite, SWT.RIGHT).setText(SerialMessages.TIMEOUT + ":"); //$NON-NLS-1$ fTimeout = new Text(composite, SWT.BORDER); fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fTimeout.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fTimeout); + } + }); loadSettings(); } @@ -148,8 +157,20 @@ public class SerialSettingsPage implements ISettingsPage { int flags=SWT.DROP_DOWN; if(readonly) flags|=SWT.READ_ONLY; - Combo combo = new Combo(composite, flags); + final Combo combo = new Combo(composite, flags); combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + if (!readonly) { + combo.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(combo); + } + }); + } + combo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + fireListeners(combo); + } + }); return combo; } diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 087f213bba5..2897507f367 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index a694be99b97..c26d7c090b4 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.ssh - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index bf21bc4674f..fa135c73486 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -14,14 +14,16 @@ package org.eclipse.tm.internal.terminal.ssh; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class SshSettingsPage implements ISettingsPage { +public class SshSettingsPage extends AbstractSettingsPage { private Text fHostText; private Text fUser; private Text fTimeout; @@ -107,8 +109,13 @@ public class SshSettingsPage implements ISettingsPage { // Add control gridData = new GridData(GridData.FILL_HORIZONTAL); - Text text= new Text(composite, SWT.BORDER | textOptions); + final Text text= new Text(composite, SWT.BORDER | textOptions); text.setLayoutData(gridData); + text.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(text); + } + }); return text; } private Text createTextField(Composite composite, String labelTxt) { diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index ba7c00d8e01..81795537833 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.1.100.qualifier +Bundle-Version: 2.1.200.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index 1f651203e6a..d7b41b3880a 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.telnet - 2.1.100-SNAPSHOT + 2.1.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 526b355a2b6..2cb889ea51d 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -22,15 +22,19 @@ import java.util.Iterator; import java.util.List; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; 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.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class TelnetSettingsPage implements ISettingsPage { +public class TelnetSettingsPage extends AbstractSettingsPage { private Text fHostText; private Combo fNetworkPortCombo; private Text fTimeout; @@ -123,6 +127,11 @@ public class TelnetSettingsPage implements ISettingsPage { gridData = new GridData(GridData.FILL_HORIZONTAL); fHostText = new Text(composite, SWT.BORDER); fHostText.setLayoutData(gridData); + fHostText.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fHostText); + } + }); // Add label ctlLabel = new Label(composite, SWT.RIGHT); @@ -131,8 +140,17 @@ public class TelnetSettingsPage implements ISettingsPage { // Add control gridData = new GridData(GridData.FILL_HORIZONTAL); fNetworkPortCombo = new Combo(composite, SWT.DROP_DOWN); - fNetworkPortCombo.setLayoutData(gridData); + fNetworkPortCombo.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fNetworkPortCombo); + } + }); + fNetworkPortCombo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + fireListeners(fNetworkPortCombo); + } + }); List table = getNetworkPortMap().getNameTable(); Collections.sort(table); @@ -141,6 +159,11 @@ public class TelnetSettingsPage implements ISettingsPage { new Label(composite, SWT.RIGHT).setText(TelnetMessages.TIMEOUT + ":"); //$NON-NLS-1$ fTimeout = new Text(composite, SWT.BORDER); fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + fTimeout.addModifyListener(new ModifyListener() { + public void modifyText(ModifyEvent e) { + fireListeners(fTimeout); + } + }); loadSettings(); } diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index ea99cb13bc2..3a3675bca47 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.2.0.qualifier +Bundle-Version: 2.2.1.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index b69711c747d..ea3cbc2e1f9 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm org.eclipse.tm.terminal.test - 2.2.0-SNAPSHOT + 2.2.1.qualifier eclipse-test-plugin diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 67c0f2caba3..00dd06580e0 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -124,6 +124,10 @@ public class TerminalConnectorFactoryTest extends TestCase { } public boolean validateSettings() { return false; + } + public void addListener(Listener listener) { + } + public void removeListener(Listener listener) { }}; } diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 28014864bca..4bae2cd0069 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -124,7 +124,12 @@ public class TerminalConnectorTest extends TestCase { } public boolean validateSettings() { return false; + } + public void addListener(Listener listener) { + } + public void removeListener(Listener listener) { }}; + } public void save(ISettingsStore store) { diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java index 1f0c5a2344f..4ec21a27108 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2007 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ package org.eclipse.tm.internal.terminal.speedtest; @@ -16,9 +16,9 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -public class SpeedTestSettingsPage implements ISettingsPage { +public class SpeedTestSettingsPage extends AbstractSettingsPage { final SpeedTestSettings fSettings; Text fInputFile; Text fBufferSize; diff --git a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index fe962f30210..4800a82a2ea 100644 --- a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.4.0.qualifier +Bundle-Version: 2.4.1.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml index aa1d34db046..30906f45798 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.view - 2.4.0-SNAPSHOT + 2.4.1.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java index c3470273a7c..f0e96be360f 100644 --- a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ b/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -30,6 +30,7 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Iterator; import java.util.List; + import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.IDialogSettings; @@ -121,6 +122,8 @@ class TerminalSettingsDlg extends Dialog { public void loadSettings() {} public void saveSettings() {} public boolean validateSettings() {return false;} + public void addListener(Listener listener) {} + public void removeListener(Listener listener) {} }; } else { fPages[i]=fConnectors[i].makeSettingsPage(); @@ -259,11 +262,11 @@ class TerminalSettingsDlg extends Dialog { fTerminalTitleText = new Text(wndGroup, SWT.BORDER); fTerminalTitleText.setText(fTerminalTitle); fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - + Label encodingLabel=new Label(wndGroup,SWT.NONE); encodingLabel.setText(ViewMessages.ENCODING); encodingLabel.setLayoutData(new GridData(GridData.BEGINNING)); - + fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN); fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); } @@ -294,7 +297,7 @@ class TerminalSettingsDlg extends Dialog { fPageBook=new PageBook(group,SWT.NONE); fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); } - + private void setupListeners() { if(fCtlConnTypeCombo==null) return; @@ -356,10 +359,10 @@ class TerminalSettingsDlg extends Dialog { //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding //String hostEncoding =Charset.defaultCharset().displayName(); String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); - if (!encodings.contains(hostEncoding)) + if (!encodings.contains(hostEncoding)) encodings.add(hostEncoding); populateEncodingsCombo(encodings); - + } } private void populateEncodingsCombo(List encodings) { @@ -394,7 +397,7 @@ class TerminalSettingsDlg extends Dialog { mb.open(); return; } - + private void setCombo(Combo combo,String value) { if(value==null) return; diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 9966a8655d2..3dbe6079ffc 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.1.qualifier +Bundle-Version: 3.2.2.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index ee4a456fd00..d9bc8170a74 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.1-SNAPSHOT + 3.2.2.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java new file mode 100644 index 00000000000..f5b4b0f69a7 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java @@ -0,0 +1,84 @@ +/******************************************************************************* + * Copyright (c) 2013 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.ListenerList; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.swt.widgets.Control; + +/** + * Abstract settings page providing a common implementation of the listener handling. + */ +public abstract class AbstractSettingsPage implements ISettingsPage, IMessageProvider { + // A message associated with the control. + private String message = null; + + // The message type of the associated message. + private int messageType = IMessageProvider.NONE; + + // Reference to the listener + private final ListenerList listeners = new ListenerList(); + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#addListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) + */ + public void addListener(Listener listener) { + Assert.isNotNull(listener); + listeners.add(listener); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#removeListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) + */ + public void removeListener(Listener listener) { + Assert.isNotNull(listener); + listeners.remove(listener); + } + + /** + * Fire the listeners for the given control. + * + * @param control The control or null. + */ + public void fireListeners(Control control) { + Object[] list = listeners.getListeners(); + for (int i = 0; i < list.length; i++) { + Object l = list[i]; + if (!(l instanceof Listener)) continue; + ((Listener)l).onSettingsPageChanged(control); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() + */ + public final String getMessage() { + return message; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() + */ + public final int getMessageType() { + return messageType; + } + + /** + * Set the message and the message type. + * + * @param message The message or null. + * @param messageType The type of the message (NONE, INFORMATION, WARNING, ERROR). + */ + public final void setMessage(String message, int messageType) { + this.message = message; + this.messageType = messageType; + } +} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index b75c0c862d2..7a52e667a73 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -1,17 +1,18 @@ /******************************************************************************* * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; /** * @author Michael Scharf @@ -27,6 +28,18 @@ import org.eclipse.swt.widgets.Composite; *

                                  */ public interface ISettingsPage { + + public interface Listener { + + /** + * Invoked by settings page controls to signal that the settings page + * changed and page container may update their state. + * + * @param control The control which triggered the event or null + */ + public void onSettingsPageChanged(Control control); + } + /** * Create a page to be shown in a dialog or wizard to setup the connection. * @param parent @@ -44,8 +57,25 @@ public interface ISettingsPage { void saveSettings(); /** - * @return true if the + * @return true if the */ boolean validateSettings(); - + + /** + * Adds the given listener. + *

                                  + * Has not effect if the same listener is already registered. + * + * @param listener The listener. Must not be null. + */ + public void addListener(Listener listener); + + /** + * Removes the given listener. + *

                                  + * Has no effect if the same listener was not registered. + * + * @param listener The listener. Must not be null. + */ + public void removeListener(Listener listener); } From 3d1e94ee3c4d902eaeb0c93a19ae79e08866b506 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 7 Jan 2013 08:37:16 +0100 Subject: [PATCH 509/843] Terminal: Update copyright header --- .../tm/internal/terminal/local/LocalTerminalSettingsPage.java | 2 +- .../eclipse/tm/internal/terminal/serial/SerialSettingsPage.java | 2 +- .../org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java | 2 +- .../eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java | 2 +- .../tm/internal/terminal/provisional/api/ISettingsPage.java | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java index 4491c6daf4a..997c88f47f2 100644 --- a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java @@ -1,5 +1,5 @@ /*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. + * Copyright (c) 2008, 2013 Mirko Raner and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java index 77de4c9942f..5646bbfafe2 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index fa135c73486..74a821c0436 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 2cb889ea51d..7831faec29b 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index 7a52e667a73..3ae84964b9e 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at From b13053defb01c93c21485f4681cfefbe79eb817d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 7 Jan 2013 12:06:05 +0100 Subject: [PATCH 510/843] Terminal: Add control decorations for SSH and Telnet settings panel. Updated the corresponding validateSettings() implementations to use the control decorations and give a hint to the user what is missing or wrong. --- .../terminal/ssh/SshSettingsPage.java | 49 ++++++++-- .../terminal/telnet/TelnetSettingsPage.java | 40 +++++++- .../provisional/api/AbstractSettingsPage.java | 97 +++++++++++++++++++ .../provisional/api/ISettingsPage.java | 1 - 4 files changed, 174 insertions(+), 13 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index 74a821c0436..777f637e54a 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -13,6 +13,8 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -60,34 +62,66 @@ public class SshSettingsPage extends AbstractSettingsPage { return value; } public boolean validateSettings() { + String message = null; + int messageType = IMessageProvider.NONE; + boolean valid = true; + if (fHostText.getText().trim().length() == 0) { - return false; + String m = "Please enter a host IP or name."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fHostText, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } if (fUser.getText().trim().length() == 0) { - return false; + String m = "Please enter a username."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fHostText, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } try { int p = Integer.parseInt(fPort.getText().trim()); if (p <= 0 || p > 65535) { - return false; + String m = "Invalid network port. Must be between 0 and 65535."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fPort, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } p = Integer.parseInt(fTimeout.getText().trim()); if (p < 0) { - return false; + String m = "Invalid timeout. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fTimeout, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } p = Integer.parseInt(fKeepalive.getText().trim()); if (p < 0) { - return false; + String m = "Invalid keep alive. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fTimeout, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } } catch (Exception e) { - return false; + valid = false; } - return true; + + setMessage(message, messageType); + return valid; } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalIndent = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); composite.setLayout(gridLayout); composite.setLayoutData(gridData); @@ -116,6 +150,7 @@ public class SshSettingsPage extends AbstractSettingsPage { fireListeners(text); } }); + createControlDecoration(text); return text; } private Text createTextField(Composite composite, String labelTxt) { diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 7831faec29b..6afa9be8633 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -21,6 +21,8 @@ import java.util.Collections; import java.util.Iterator; import java.util.List; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; @@ -93,28 +95,53 @@ public class TelnetSettingsPage extends AbstractSettingsPage { } public boolean validateSettings() { + String message = null; + int messageType = IMessageProvider.NONE; + boolean valid = true; + if (fHostText.getText().trim().length() == 0) { - return false; + String m = "Please enter a host IP or name."; //$NON-NLS-1$ + int mt = IMessageProvider.INFORMATION; + updateControlDecoration(fHostText, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } + try { int p = Integer.parseInt(getNetworkPort().trim()); if (p <= 0 || p > 65535) { - return false; + String m = "Invalid network port. Must be between 0 and 65535."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fNetworkPortCombo, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } + p = Integer.parseInt(fTimeout.getText().trim()); if (p < 0) { - return false; + String m = "Invalid timeout. Must be greater than 0."; //$NON-NLS-1$ + int mt = IMessageProvider.ERROR; + updateControlDecoration(fTimeout, m, mt); + if (mt > messageType) { message = m; messageType = mt; } + + valid = false; } + } catch (Exception e) { - return false; + valid = false; } - return true; + + setMessage(message, messageType); + return valid; } public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.horizontalIndent = FieldDecorationRegistry.getDefault().getMaximumDecorationWidth(); composite.setLayout(gridLayout); composite.setLayoutData(gridData); @@ -132,6 +159,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fireListeners(fHostText); } }); + createControlDecoration(fHostText); // Add label ctlLabel = new Label(composite, SWT.RIGHT); @@ -151,6 +179,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fireListeners(fNetworkPortCombo); } }); + createControlDecoration(fNetworkPortCombo); List table = getNetworkPortMap().getNameTable(); Collections.sort(table); @@ -164,6 +193,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fireListeners(fTimeout); } }); + createControlDecoration(fTimeout); loadSettings(); } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java index f5b4b0f69a7..40353718f18 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java @@ -12,6 +12,10 @@ package org.eclipse.tm.internal.terminal.provisional.api; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.ListenerList; import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.fieldassist.ControlDecoration; +import org.eclipse.jface.fieldassist.FieldDecoration; +import org.eclipse.jface.fieldassist.FieldDecorationRegistry; +import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Control; /** @@ -27,6 +31,9 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro // Reference to the listener private final ListenerList listeners = new ListenerList(); + // Flag to control the control decorations + private boolean hasDecoration = false; + /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#addListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) */ @@ -81,4 +88,94 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro this.message = message; this.messageType = messageType; } + + /** + * Sets if or if not the settings panel widgets will have control decorations + * or not. The method has effect only if called before {@link #createControl(org.eclipse.swt.widgets.Composite)}. + * + * @param value True if the panel widgets have control decorations, false otherwise. + */ + public final void setHasControlDecoration(boolean value) { + this.hasDecoration = value; + } + + /** + * Returns if or if not the settings panel widgets will have control + * decorations or not. + * + * @return True if the panel widgets have control decorations, false otherwise. + */ + protected final boolean hasControlDecoration() { + return hasDecoration; + } + + /** + * Creates a new instance of a {@link ControlDecoration} object associated with + * the given control. The method is called after the control has been created. + * + * @param control The control. Must not be null. + * @return The control decoration object instance. + */ + protected final ControlDecoration createControlDecoration(Control control) { + Assert.isNotNull(control); + if (!hasDecoration) return null; + ControlDecoration controlDecoration = new ControlDecoration(control, getControlDecorationPosition()); + controlDecoration.setShowOnlyOnFocus(false); + control.setData("controlDecoration", controlDecoration); //$NON-NLS-1$ + return controlDecoration; + } + + /** + * Returns the control decoration position. The default is + * {@link SWT#TOP} | {@link SWT#LEFT}. + * + * @return The control position. + */ + protected int getControlDecorationPosition() { + return SWT.TOP | SWT.LEFT; + } + + /** + * Updates the control decoration of the given control to represent the given message + * and message type. If the message is null or the message type is + * {@link IMessageProvider#NONE} no decoration will be shown. + * + * @param control The control. Must not be null. + * @param message The message. + * @param messageType The message type. + */ + protected final void updateControlDecoration(Control control, String message, int messageType) { + Assert.isNotNull(control); + + ControlDecoration controlDecoration = (ControlDecoration)control.getData("controlDecoration"); //$NON-NLS-1$ + if (controlDecoration != null) { + // The description is the same as the message + controlDecoration.setDescriptionText(message); + + // The icon depends on the message type + FieldDecorationRegistry registry = FieldDecorationRegistry.getDefault(); + + // Determine the id of the decoration to show + String decorationId = FieldDecorationRegistry.DEC_INFORMATION; + if (messageType == IMessageProvider.ERROR) { + decorationId = FieldDecorationRegistry.DEC_ERROR; + } else if (messageType == IMessageProvider.WARNING) { + decorationId = FieldDecorationRegistry.DEC_WARNING; + } + + // Get the field decoration + FieldDecoration fieldDeco = registry.getFieldDecoration(decorationId); + if (fieldDeco != null) { + controlDecoration.setImage(fieldDeco.getImage()); + } + + if (message == null || messageType == IMessageProvider.NONE) { + controlDecoration.hide(); + } + else { + controlDecoration.show(); + } + } + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index 3ae84964b9e..560000c81ee 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -17,7 +17,6 @@ import org.eclipse.swt.widgets.Control; /** * @author Michael Scharf * - * TODO: Michael Scharf: provide a mechanism to set an error string * TODO: Michael Scharf: provide a long description of a wizard * TODO: Michael Scharf: allow multiple pages to be generated *

                                  From 27df9b10961d8283bb1e962752129a12a183d4ee Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 8 Jan 2013 09:21:27 +0100 Subject: [PATCH 511/843] Terminal: Fix control decoration not hidden if data becomes valid --- .../tm/internal/terminal/ssh/SshSettingsPage.java | 14 ++++++++++++-- .../terminal/telnet/TelnetSettingsPage.java | 6 ++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java index 777f637e54a..625e96e271f 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java @@ -73,14 +73,18 @@ public class SshSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fHostText, null, IMessageProvider.NONE); } if (fUser.getText().trim().length() == 0) { String m = "Please enter a username."; //$NON-NLS-1$ int mt = IMessageProvider.INFORMATION; - updateControlDecoration(fHostText, m, mt); + updateControlDecoration(fUser, m, mt); if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fUser, null, IMessageProvider.NONE); } try { int p = Integer.parseInt(fPort.getText().trim()); @@ -91,6 +95,8 @@ public class SshSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fPort, null, IMessageProvider.NONE); } p = Integer.parseInt(fTimeout.getText().trim()); if (p < 0) { @@ -100,15 +106,19 @@ public class SshSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fTimeout, null, IMessageProvider.NONE); } p = Integer.parseInt(fKeepalive.getText().trim()); if (p < 0) { String m = "Invalid keep alive. Must be greater than 0."; //$NON-NLS-1$ int mt = IMessageProvider.ERROR; - updateControlDecoration(fTimeout, m, mt); + updateControlDecoration(fKeepalive, m, mt); if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fKeepalive, null, IMessageProvider.NONE); } } catch (Exception e) { valid = false; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 6afa9be8633..3a67ab6aefe 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -106,6 +106,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fHostText, null, IMessageProvider.NONE); } try { @@ -117,6 +119,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fNetworkPortCombo, null, IMessageProvider.NONE); } p = Integer.parseInt(fTimeout.getText().trim()); @@ -127,6 +131,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { if (mt > messageType) { message = m; messageType = mt; } valid = false; + } else { + updateControlDecoration(fTimeout, null, IMessageProvider.NONE); } } catch (Exception e) { From 37aa12df9179bf3248e1e60a92b0c9ce27cf449c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 21 Feb 2013 22:39:09 +0100 Subject: [PATCH 512/843] [401386] Regression: No header on top due to incorrect ESC[K handling Change-Id: I5b2b584728c8f271de4b2089c2739a5fcb86bd5b Signed-off-by: Martin Oberhuber --- .../tm/internal/terminal/emulator/VT100Emulator.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index c693708e802..6c0a953ebc8 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,7 @@ * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED * Martin Oberhuber (Wind River) - [334969] Fix multi-command SGR sequence * Kris De Volder (VMWare) - [392107] Switched interpretation for ESC[0K and ESC[1K sequences + * Martin Oberhuber (Wind River) - [401386] Regression: No header on top due to incorrect ESC[K interpretation *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -661,7 +662,10 @@ public class VT100Emulator implements ControlListener { * moving the cursor. */ private void processAnsiCommand_K() { - int ansiParameter = getAnsiParameter(0); + //Bug 401386: missing parameter must be interpreted as 0, and not 1 like most other defaults. + int ansiParameter = 0; + if (ansiParameters[0].length() > 0) + ansiParameter = getAnsiParameter(0); switch (ansiParameter) { case 0: From eafd89e229acb41e27710f909b6b4f03c3bf96cb Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 21 Feb 2013 22:55:58 +0100 Subject: [PATCH 513/843] [401476] Strip whitespace around Terminal Telnet Port Change-Id: I45857606c543a6d41037f5bcb67158c3dba92f38 Signed-off-by: Martin Oberhuber --- .../tm/internal/terminal/telnet/TelnetSettingsPage.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java index 3a67ab6aefe..ac286b08fa4 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings + * Martin Oberhuber (Wind River) - [401476] Strip whitespace around Telnet Port *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -86,7 +87,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { } } private String getNetworkPort() { - String portText = fNetworkPortCombo.getText(); + String portText = fNetworkPortCombo.getText().trim(); String mappedPort = getNetworkPortMap().findPort(portText); return mappedPort!=null ? mappedPort : portText; } @@ -111,7 +112,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { } try { - int p = Integer.parseInt(getNetworkPort().trim()); + int p = Integer.parseInt(getNetworkPort()); if (p <= 0 || p > 65535) { String m = "Invalid network port. Must be between 0 and 65535."; //$NON-NLS-1$ int mt = IMessageProvider.ERROR; From 84b92d1407ec204e505479f366561628bd0c0dc1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 22 Feb 2013 00:11:21 +0100 Subject: [PATCH 514/843] [401480] Terminal: Handle ESC[39;49m and ESC[G properly Change-Id: Ic90c8758e996822f86fd07db5c413ea99f5be128 Signed-off-by: Martin Oberhuber --- .../terminal/emulator/VT100Emulator.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 6c0a953ebc8..8aa395d8835 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -19,6 +19,7 @@ * Martin Oberhuber (Wind River) - [334969] Fix multi-command SGR sequence * Kris De Volder (VMWare) - [392107] Switched interpretation for ESC[0K and ESC[1K sequences * Martin Oberhuber (Wind River) - [401386] Regression: No header on top due to incorrect ESC[K interpretation + * Martin Oberhuber (Wind River) - [401480] Handle ESC[39;49m and ESC[G *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -607,12 +608,7 @@ public class VT100Emulator implements ControlListener { * specified by the ANSI parameter (default is column 1). */ private void processAnsiCommand_G() { - int targetColumn = 1; - - if (ansiParameters[0].length() > 0) - targetColumn = getAnsiParameter(0) - 1; - - moveCursor(relativeCursorLine(), targetColumn); + moveCursor(relativeCursorLine(), getAnsiParameter(0) - 1); } /** @@ -801,6 +797,10 @@ public class VT100Emulator implements ControlListener { style = style.setForground("WHITE_FOREGROUND"); //$NON-NLS-1$ break; + case 39: //Foreground: Default + style = style.setForground(text.getDefaultStyle().getForground()); + break; + case 40: style = style.setBackground("BLACK"); //$NON-NLS-1$ break; @@ -833,6 +833,10 @@ public class VT100Emulator implements ControlListener { style = style.setBackground("WHITE"); //$NON-NLS-1$ break; + case 49: //Background: Default + style = style.setBackground(text.getDefaultStyle().getBackground()); + break; + default: Logger .log("Unsupported graphics rendition parameter: " + ansiParameter); //$NON-NLS-1$ From f7472c7877ba2aadb3c88ad0779573fc19a441e5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 4 Mar 2013 16:10:45 +0100 Subject: [PATCH 515/843] TM Terminal: Fix bug #402328 Two "TM Terminal" features are available for install from the TM 3.4 update site --- .../org.eclipse.tm.terminal.core.sdk-feature/feature.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties index 896edaf57c6..36ce115dc5f 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal +featureName=Target Management Terminal (Core SDK) # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal control including \ From c0e343134f89c4516cf6f2fce29bb12cdb43f6d3 Mon Sep 17 00:00:00 2001 From: ddykstal Date: Fri, 3 May 2013 10:37:14 -0500 Subject: [PATCH 516/843] [407170] update version numbers of plugins changed for the 3.5 TM release --- plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.telnet/pom.xml | 2 +- plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 81795537833..8f0fb3a2e12 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.1.200.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index d7b41b3880a..559d057d767 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.telnet - 2.1.200.qualifier + 2.1.300.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 3dbe6079ffc..a8eea040a49 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.2.qualifier +Bundle-Version: 3.2.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index d9bc8170a74..01da4ae3069 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.2.qualifier + 3.2.100.qualifier eclipse-plugin From 2390a14b137f6b497c90de6d30a71ccb8392f680 Mon Sep 17 00:00:00 2001 From: ddykstal Date: Sun, 19 May 2013 06:41:22 -0500 Subject: [PATCH 517/843] [408205] update feature versions and update site pointers --- .../org.eclipse.tm.terminal-feature/feature.properties | 6 +++--- features/org.eclipse.tm.terminal-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +++--- .../feature.properties | 2 +- .../org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- .../feature.properties | 6 +++--- .../org.eclipse.tm.terminal.local-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- .../feature.properties | 6 +++--- .../org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 8 +++++--- .../org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- .../feature.properties | 6 +++--- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- .../feature.properties | 6 +++--- .../org.eclipse.tm.terminal.serial-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +++--- .../feature.properties | 6 +++--- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../org.eclipse.tm.terminal.telnet-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +++--- .../feature.properties | 6 +++--- features/org.eclipse.tm.terminal.test-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- .../feature.properties | 6 +++--- features/org.eclipse.tm.terminal.view-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 6 +++--- 35 files changed, 85 insertions(+), 83 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.properties b/features/org.eclipse.tm.terminal-feature/feature.properties index 847072d715d..76d4220c4b5 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.properties +++ b/features/org.eclipse.tm.terminal-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index e30c70c20a3..cf8b73c89bb 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ @@ -29,8 +29,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index a2efc4a10ce..710a13aef81 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.2.qualifier + 3.2.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index f1cb070dbde..cf408dcf5a8 100644 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Widget Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties index 36ce115dc5f..cccf60bc91a 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties @@ -25,7 +25,7 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index db92eadf16d..9a0f1c8baa1 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -12,7 +12,7 @@ @@ -29,8 +29,8 @@ - - + + org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.2.qualifier + 3.3.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.properties b/features/org.eclipse.tm.terminal.local-feature/feature.properties index 25d3835eabd..fe4fd1a2e41 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.local-feature/feature.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2012 Mirko Raner and others. +# Copyright (c) 2008, 2013 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,7 +22,7 @@ featureName=Local Terminal (Incubation) providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ @@ -30,7 +30,7 @@ Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2008, 2012 Mirko Raner and others.\n\ +Copyright (c) 2008, 2013 Mirko Raner and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 27c5d7b87a6..126af2fe90d 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -13,7 +13,7 @@ @@ -30,8 +30,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index 2814c680a82..ceacdfbd019 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 0.2.200.qualifier + 0.2.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties index 7f10e4b6816..4284998b4cb 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2012 Mirko Raner and others. +# Copyright (c) 2008, 2013 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -22,7 +22,7 @@ featureName=Local Terminal SDK (Incubation) providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ @@ -31,7 +31,7 @@ and the Terminal View required to drive the plugin. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2008, 2012 Mirko Raner and others.\n\ +Copyright (c) 2008, 2013 Mirko Raner and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 94cb8cd3752..d5ae7aeeea8 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -30,16 +30,18 @@ - - + + + + diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 37e45c3e4ef..124b1b2a7b1 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 0.3.1.qualifier + 0.3.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.sdk-feature/feature.properties index 0da6010a4f6..bd23f56c4e7 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,11 +25,11 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 7a2954db67f..ce60116f634 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -30,8 +30,8 @@ - - + + org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.2.qualifier + 3.3.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/feature.properties index 81c3eb96b06..a6a477dfe73 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Serial Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index a81782dc4f7..c2d51dff017 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -12,7 +12,7 @@ @@ -28,8 +28,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 440da25ff03..5189aa953fd 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.serial - 2.1.200.qualifier + 2.1.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index cee4e7b76c5..5abb87f6cd4 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Serial Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties index e07d4024133..9d10cf376e5 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal SSH Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 39172db43c2..774680f6a75 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -12,7 +12,7 @@ @@ -28,8 +28,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index bd3f762a9d4..95aaf1c561b 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 2.1.200.qualifier + 2.1.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 588b2342b13..70727c1a91d 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal SSH Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties index b76841822a6..f2a3629ec18 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Telnet Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 973e191e041..11dd82c70eb 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -12,7 +12,7 @@ @@ -28,8 +28,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index 102b7a3fcb0..79b3e89ca3f 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 2.1.200.qualifier + 2.1.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index 59d40563798..c15c856deec 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Telnet Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.properties b/features/org.eclipse.tm.terminal.test-feature/feature.properties index 4c711345308..09a42466318 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.test-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal Unit Tests providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=TM Terminal Unit Tests. Includes Source. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2007, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index fa3a4d861d6..b4be535d4f9 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -12,7 +12,7 @@ @@ -28,8 +28,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 1671577fdde..5a22c01ddf7 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 2.1.1.qualifier + 2.1.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/feature.properties index e893dc328e1..44187fc853a 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal View providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index b83b2f994dc..58b321378d0 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -13,7 +13,7 @@ @@ -29,8 +29,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index 9acb1b53a83..6a4956f47e6 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 2.4.1.qualifier + 2.4.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 81d6e9eea9b..3682cb42a5e 100644 --- a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=Target Management Terminal View Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.4 Updates +tmUpdateSiteName=Target Management 3.5 Updates # "description" property - description of the feature description=An Eclipse Workbench standalone view for the Terminal widget. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2012 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ From 1541eeebd0803b28c6d311f1932f6c19fda31bc9 Mon Sep 17 00:00:00 2001 From: ddykstal Date: Sun, 19 May 2013 08:33:59 -0500 Subject: [PATCH 518/843] [408205] fixing qualifier for org.eclipse.tm.terminal.sdk --- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index ce60116f634..64bab63ad6e 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index ea81b3f2faf..2c3140436be 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.300.qualifier + 3.3.100.qualifier eclipse-feature From f91eb46553c1bdb39672bb4f32c0039504db8e98 Mon Sep 17 00:00:00 2001 From: ddykstal Date: Mon, 20 May 2013 12:12:19 -0500 Subject: [PATCH 519/843] [408157] update copyright years in about files --- .../sourceTemplatePlugin/about.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- .../sourceTemplatePlugin/about.properties | 4 ++-- plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.ssh/about.properties | 4 ++-- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.telnet/about.properties | 4 ++-- plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.test/about.properties | 4 ++-- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.view/about.properties | 4 ++-- plugins/org.eclipse.tm.terminal.view/pom.xml | 2 +- plugins/org.eclipse.tm.terminal/about.properties | 4 ++-- 16 files changed, 26 insertions(+), 26 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties index ad1a75bc9bf..35f004c354f 100644 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties +++ b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Widget Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties index 171bbdd94d1..0c51d2b9b22 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Serial Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties index 9d6d4b5501e..ac4f5d131b2 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties index 0e3b514b164..e0c780d034f 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Telnet Connector Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties index 56122c09972..0fbf2788f09 100644 --- a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties +++ b/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal View Source\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 2897507f367..55ab410df43 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.1.200.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.ssh/about.properties b/plugins/org.eclipse.tm.terminal.ssh/about.properties index a3ae99915b7..52b6591f0cd 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/about.properties +++ b/plugins/org.eclipse.tm.terminal.ssh/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal SSH Connector\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2000, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index c26d7c090b4..9f8f166a77f 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.ssh - 2.1.200.qualifier + 2.1.300.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.telnet/about.properties b/plugins/org.eclipse.tm.terminal.telnet/about.properties index e1a71d5123c..a8ac0c41b2c 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/about.properties +++ b/plugins/org.eclipse.tm.terminal.telnet/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Telnet Connector\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 3a3675bca47..0b7fa8021a2 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.2.1.qualifier +Bundle-Version: 2.2.100.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/plugins/org.eclipse.tm.terminal.test/about.properties b/plugins/org.eclipse.tm.terminal.test/about.properties index 8966e74839b..690ca101f42 100644 --- a/plugins/org.eclipse.tm.terminal.test/about.properties +++ b/plugins/org.eclipse.tm.terminal.test/about.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=TM Terminal Unit Tests\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2007, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2007, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index ea3cbc2e1f9..7d888117629 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm org.eclipse.tm.terminal.test - 2.2.1.qualifier + 2.2.100.qualifier eclipse-test-plugin diff --git a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index 4800a82a2ea..553bbec51a1 100644 --- a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.4.1.qualifier +Bundle-Version: 2.4.100.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.view/about.properties b/plugins/org.eclipse.tm.terminal.view/about.properties index 061d7224b8c..80d86be3092 100644 --- a/plugins/org.eclipse.tm.terminal.view/about.properties +++ b/plugins/org.eclipse.tm.terminal.view/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal View\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml index 30906f45798..e69f579d119 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.view - 2.4.1.qualifier + 2.4.100.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/about.properties b/plugins/org.eclipse.tm.terminal/about.properties index 04da0451597..2af9c951288 100644 --- a/plugins/org.eclipse.tm.terminal/about.properties +++ b/plugins/org.eclipse.tm.terminal/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,5 +21,5 @@ blurb=Target Management Terminal Widget\n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2012. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ Visit http://www.eclipse.org/tm From d522bbff3a574e9f6d8012b9457afb7f4732c6f8 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 18 Jul 2013 12:59:27 +0200 Subject: [PATCH 520/843] Terminal: Fix Terminal view opens with horizontal scollbar --- .../terminal/emulator/VT100TerminalControl.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 089ade83788..ae4dc697d84 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -64,8 +64,8 @@ import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.layout.FillLayout; 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.swt.widgets.Display; @@ -670,10 +670,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // modifying the text in method TerminalVerifyKeyListener.verifyKey(). fWndParent=new Composite(parent,SWT.NONE); - GridLayout layout=new GridLayout(); - layout.marginWidth=0; - layout.marginHeight=0; - layout.verticalSpacing=0; + FillLayout layout=new FillLayout(); fWndParent.setLayout(layout); ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); @@ -682,9 +679,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC ITextCanvasModel canvasModel=new PollingTextCanvasModel(snapshot); fCtlText=new TextCanvas(fWndParent,canvasModel,SWT.NONE,new TextLineRenderer(fCtlText,canvasModel)); - - fCtlText.setLayoutData(new GridData(GridData.FILL_BOTH)); - fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fCtlText.addResizeHandler(new TextCanvas.ResizeListener() { public void sizeChanged(int lines, int columns) { fTerminalText.setDimensions(lines, columns); From 9683de1e528ce4820adaeff6ce5ca0f66de7b6a3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 22 Jul 2013 15:12:38 +0200 Subject: [PATCH 521/843] Terminal: Connector type featues must not have any dependency to o.e.tm.terminal.view --- .../feature.xml | 10 +++++----- .../feature.xml | 16 +--------------- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 126af2fe90d..73ed3ac64b6 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -13,7 +13,7 @@ @@ -35,16 +35,16 @@ - - - - + + + + @@ -38,24 +38,10 @@ id="org.eclipse.tm.terminal.local" version="0.0.0"/> - - - - - - - - - - - - Date: Mon, 22 Jul 2013 18:09:37 +0400 Subject: [PATCH 522/843] [releng] Updated tycho version to 0.18.0 and CDT version to kepler. Signed-off-by: Anna Dushistova Change-Id: I8c46c1d7648d7003b691936f6c1e431a1d3df9ec --- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index ceacdfbd019..b3df1e83817 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 0.2.300.qualifier + 0.2.400.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 124b1b2a7b1..ae738779dfa 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 0.3.100.qualifier + 0.3.200.qualifier eclipse-feature From 1e54a7ebcc9023379c8bad0752a9ac0cc635d99e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 23 Jul 2013 14:20:22 +0200 Subject: [PATCH 523/843] Terminal: Revert changes to local terminal features as it turned out that the local terminal is depending on launches to much --- .../feature.xml | 10 +++++----- .../pom.xml | 2 +- .../feature.xml | 16 +++++++++++++++- .../pom.xml | 2 +- 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 73ed3ac64b6..126af2fe90d 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -13,7 +13,7 @@ @@ -35,16 +35,16 @@ + + + + - - - - org.eclipse.tm.features org.eclipse.tm.terminal.local - 0.2.400.qualifier + 0.2.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index a55b448af50..d5ae7aeeea8 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -38,10 +38,24 @@ id="org.eclipse.tm.terminal.local" version="0.0.0"/> + + + + + + + + + + + + org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 0.3.200.qualifier + 0.3.100.qualifier eclipse-feature From f9a4da348dc5f3dd4f0f5730abd2244bf009725d Mon Sep 17 00:00:00 2001 From: Max Weninger Date: Thu, 1 Aug 2013 16:44:04 +0200 Subject: [PATCH 524/843] Terminal: Added support for Copy/Paste shortcuts Signed-off-by: Max Weninger --- .../org.eclipse.tm.terminal/plugin.properties | 1 + plugins/org.eclipse.tm.terminal/plugin.xml | 35 ++++++++- .../control/actions/TerminalActionCopy.java | 2 + .../control/actions/TerminalActionPaste.java | 2 + .../emulator/EditActionAccelerators.java | 72 +++++++++++++++++++ .../emulator/VT100TerminalControl.java | 29 ++++++-- 6 files changed, 132 insertions(+), 9 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties index 2120813cbe7..d7efc1837f0 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal/plugin.properties @@ -27,6 +27,7 @@ terminal.context.description=Override ALT+x menu access keys terminal.insertion.description=Terminal view insertion terminal.insertion.name=Terminal view insert terminal.insertion.category.name=Terminal view commands +terminal.view.insertion.description = Terminal view commands terminal.preferences.name = Terminal terminal.font.description = The font for the terminal console. diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 1115912c7e6..65846803309 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -21,10 +21,16 @@ description="%terminal.context.description" id="org.eclipse.tm.terminal.TerminalContext" /> + + + + + - - - @@ -32,11 +38,24 @@ categoryId="org.eclipse.tm.terminal.category1" id="org.eclipse.tm.terminal.command1" name="%terminal.insertion.name"/> + + + + + + + + + true, the Terminal widget will pick up settings + * @param useCommonPrefs If true, the Terminal widget will pick up settings * from the org.eclipse.tm.terminal.TerminalPreferencePage Preference page. * Otherwise, clients need to maintain settings themselves. * @since 3.2 @@ -620,7 +622,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } private void onTerminalFontChanged() { - // set the font for all + // set the font for all setFont(ITerminalConstants.FONT_DEFINITION); } @@ -790,6 +792,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } protected class TerminalFocusListener implements FocusListener { private IContextActivation contextActivation = null; + private IContextActivation contextActivation1 = null; protected TerminalFocusListener() { super(); @@ -815,6 +818,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC .getWorkbench().getAdapter(IContextService.class); contextActivation = contextService .activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ + contextActivation1 = contextService + .activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$ + } public void focusLost(FocusEvent event) { @@ -829,6 +835,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC IContextService contextService = (IContextService) PlatformUI .getWorkbench().getAdapter(IContextService.class); contextService.deactivateContext(contextActivation); + contextService.deactivateContext(contextActivation1); } } @@ -837,6 +844,16 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (getState()==TerminalState.CONNECTING) return; + int accelerator = SWTKeySupport.convertEventToUnmodifiedAccelerator(event); + if (editActionAccelerators.isCopyAction(accelerator)) { + copy(); + return; + } + if (editActionAccelerators.isPasteAction(accelerator)) { + paste(); + return; + } + // We set the event.doit to false to prevent any further processing of this // key event. The only reason this is here is because I was seeing the F10 // key both send an escape sequence (due to this method) and switch focus From 22f120d970df7df2c248f288d155f08209143135 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 26 Aug 2013 08:45:41 +0200 Subject: [PATCH 525/843] Terminal: Fix serial plugin version not in sync with feature version --- plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.serial/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 1b2429c9a97..5c007ac824b 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.1.200.qualifier +Bundle-Version: 2.1.300.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index 0094b7d63fe..aff58b57e08 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.serial - 2.1.200.qualifier + 2.1.300.qualifier eclipse-plugin From e4e56199efc6f2f5b05b433fa2dd898532f186cc Mon Sep 17 00:00:00 2001 From: uwe Date: Fri, 18 Oct 2013 15:42:05 +0200 Subject: [PATCH 526/843] Terminal: Fix - Telnet connector prints confusing "Connection refused" Telnet connector prints "Connection refused" to terminal control while the terminal is already disconnected again. This is very confusing for the user and should be avoided. --- .../tm/internal/terminal/telnet/TelnetConnectWorker.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java index 4c1dcc42eac..308f1f8b0c4 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java @@ -93,8 +93,11 @@ class TelnetConnectWorker extends Thread { connectFailed(socketTimeoutException.getMessage(), "Connection Error!\n" + socketTimeoutException.getMessage()); //$NON-NLS-1$ } catch (ConnectException connectException) { // In case of a ConnectException, do a re-try. The server could have been - // simply not ready yet and the worker would give up to early. - if (remaining == 0) connectFailed(connectException.getMessage(),"Connection refused!"); //$NON-NLS-1$ + // simply not ready yet and the worker would give up to early. If the terminal + // control is already closed (disconnected), don't print "Connection refused" errors + if (remaining == 0 && TerminalState.CLOSED != fControl.getState()) { + connectFailed(connectException.getMessage(),"Connection refused!"); //$NON-NLS-1$ + } } catch (Exception exception) { // Any other exception on connect. No re-try in this case either remaining = 0; From e424a5dfedb3699ce2fdab518fe2562172cb52aa Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 Nov 2013 09:57:33 +0100 Subject: [PATCH 527/843] Bug 421263 - "Copy" & "Paste" command labels for tm.terminal unexternalized --- plugins/org.eclipse.tm.terminal/plugin.properties | 3 +++ plugins/org.eclipse.tm.terminal/plugin.xml | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties index d7efc1837f0..79c2e49322c 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal/plugin.properties @@ -29,6 +29,9 @@ terminal.insertion.name=Terminal view insert terminal.insertion.category.name=Terminal view commands terminal.view.insertion.description = Terminal view commands +terminal.command.copy.name=Terminal Copy Command +terminal.command.paste.name=Terminal Paste Command + terminal.preferences.name = Terminal terminal.font.description = The font for the terminal console. terminal.font.label = Terminal Console Font diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 65846803309..6ddb5031ed7 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -41,11 +41,11 @@ + name="%terminal.command.copy.name"/> + name="%terminal.command.paste.name"/> Date: Sat, 9 Nov 2013 09:51:20 +0100 Subject: [PATCH 528/843] Bug 421263 - Change externalized names for Copy and Paste commands --- plugins/org.eclipse.tm.terminal/plugin.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties index 79c2e49322c..c19e3036171 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal/plugin.properties @@ -29,8 +29,8 @@ terminal.insertion.name=Terminal view insert terminal.insertion.category.name=Terminal view commands terminal.view.insertion.description = Terminal view commands -terminal.command.copy.name=Terminal Copy Command -terminal.command.paste.name=Terminal Paste Command +terminal.command.copy.name=Copy +terminal.command.paste.name=Paste terminal.preferences.name = Terminal terminal.font.description = The font for the terminal console. From 543c0b95ebd9f11ca7c4352f97438ea1b2febcf5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 28 Jan 2014 13:29:22 +0100 Subject: [PATCH 529/843] Terminal: Fix Bug 425757 - Command line is disarranged This commit rolls back the commit faa118886693ef2c44122fccbff137ba4670ed18 which changed the layout to use a FillLayout. As this is fixing an issue with a horizontal scrollbar painted on Linux where it is not needed, it leads to more serious issues on Windows. Rolling back the commit is addressing the immediate need of getting the layout fixed where the scrollbar issue is somewhat cosmetical. --- features/org.eclipse.tm.terminal-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- .../internal/terminal/emulator/VT100TerminalControl.java | 7 +++++-- 7 files changed, 11 insertions(+), 8 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index cf8b73c89bb..bab0c638cd8 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 710a13aef81..6ae706e04d8 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.100.qualifier + 3.2.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 9a0f1c8baa1..f547d4c64e2 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -12,7 +12,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 64bab63ad6e..2ef3421dc0a 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index a8eea040a49..f521127708c 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.100.qualifier +Bundle-Version: 3.2.200.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 01da4ae3069..6c2964316db 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.100.qualifier + 3.2.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index f521c300fec..c3ea7015d7a 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -65,7 +65,8 @@ import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.layout.FillLayout; +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.swt.widgets.Display; @@ -672,7 +673,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // modifying the text in method TerminalVerifyKeyListener.verifyKey(). fWndParent=new Composite(parent,SWT.NONE); - FillLayout layout=new FillLayout(); + GridLayout layout=new GridLayout(); + layout.marginWidth=0; layout.marginHeight=0; layout.verticalSpacing=0; fWndParent.setLayout(layout); ITerminalTextDataSnapshot snapshot=fTerminalModel.makeSnapshot(); @@ -681,6 +683,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC ITextCanvasModel canvasModel=new PollingTextCanvasModel(snapshot); fCtlText=new TextCanvas(fWndParent,canvasModel,SWT.NONE,new TextLineRenderer(fCtlText,canvasModel)); + fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fCtlText.addResizeHandler(new TextCanvas.ResizeListener() { public void sizeChanged(int lines, int columns) { fTerminalText.setDimensions(lines, columns); From ff1f887fdf307b2a0c373cd6ab28b0361ceb4fe3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 29 Jan 2014 07:52:20 +0100 Subject: [PATCH 530/843] Terminal: Synchronize versions for sdk features --- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 2f16447df0e..ce355c0b66a 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.100.qualifier + 3.3.200.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 2c3140436be..ecd392b958f 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.100.qualifier + 3.3.200.qualifier eclipse-feature From 129c125f4ac8ad88e1cbbcdcb6221e498f8a1f69 Mon Sep 17 00:00:00 2001 From: Anna Dushistova Date: Mon, 10 Mar 2014 18:49:18 +0300 Subject: [PATCH 531/843] [releng]Forcefully updating last modification date to get build qualifier updated for terminal and examples. Signed-off-by: Anna Dushistova --- plugins/org.eclipse.tm.terminal.local/about.html | 1 + plugins/org.eclipse.tm.terminal.serial/README.txt | 2 +- plugins/org.eclipse.tm.terminal.ssh/about.html | 1 + plugins/org.eclipse.tm.terminal.telnet/about.html | 1 + plugins/org.eclipse.tm.terminal.test/about.html | 1 + plugins/org.eclipse.tm.terminal.view/about.html | 1 + plugins/org.eclipse.tm.terminal/README.txt | 1 + 7 files changed, 7 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.local/about.html b/plugins/org.eclipse.tm.terminal.local/about.html index 0df08787c7b..47e9ccc8762 100644 --- a/plugins/org.eclipse.tm.terminal.local/about.html +++ b/plugins/org.eclipse.tm.terminal.local/about.html @@ -24,5 +24,6 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

                                  + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/README.txt b/plugins/org.eclipse.tm.terminal.serial/README.txt index 03fafaf692e..f06224544a0 100644 --- a/plugins/org.eclipse.tm.terminal.serial/README.txt +++ b/plugins/org.eclipse.tm.terminal.serial/README.txt @@ -61,4 +61,4 @@ Changelog: 2.0.1 - Revised Update Site text to comply with P2 in Eclipse 3.4 1.0.1 - Added options for installing RXTX as an Eclipse Plugin 0.9.100 - switched from Sun javax.comm to rxtx gnu.io for serial support -0.9.0 - first version \ No newline at end of file +0.9.0 - first version diff --git a/plugins/org.eclipse.tm.terminal.ssh/about.html b/plugins/org.eclipse.tm.terminal.ssh/about.html index d4cc693f9f0..a603d19ab21 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/about.html +++ b/plugins/org.eclipse.tm.terminal.ssh/about.html @@ -24,5 +24,6 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

                                  + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.telnet/about.html b/plugins/org.eclipse.tm.terminal.telnet/about.html index d4cc693f9f0..a603d19ab21 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/about.html +++ b/plugins/org.eclipse.tm.terminal.telnet/about.html @@ -24,5 +24,6 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

                                  + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.test/about.html b/plugins/org.eclipse.tm.terminal.test/about.html index d4cc693f9f0..a603d19ab21 100644 --- a/plugins/org.eclipse.tm.terminal.test/about.html +++ b/plugins/org.eclipse.tm.terminal.test/about.html @@ -24,5 +24,6 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

                                  + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.view/about.html b/plugins/org.eclipse.tm.terminal.view/about.html index d4cc693f9f0..a603d19ab21 100644 --- a/plugins/org.eclipse.tm.terminal.view/about.html +++ b/plugins/org.eclipse.tm.terminal.view/about.html @@ -24,5 +24,6 @@ provided with the Content. If no such license exists, contact the Redistributor indicated below, the terms and conditions of the EPL still apply to any source code in the Content and such source code may be obtained at http://www.eclipse.org.

                                  + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal/README.txt b/plugins/org.eclipse.tm.terminal/README.txt index dc1cc117b6b..c88bc696e29 100644 --- a/plugins/org.eclipse.tm.terminal/README.txt +++ b/plugins/org.eclipse.tm.terminal/README.txt @@ -15,3 +15,4 @@ application (Bash, bc, ncftp, etc.). This is not yet a fully compliant vt100 / vt102 terminal emulator! + From 10d0897a3f1596872c01d3bc3967e9728867e965 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 27 Mar 2014 13:22:27 +0100 Subject: [PATCH 532/843] Terminal: Added method to control if the terminal control tries to reconnect the terminal connection if closed and the user hits ENTER --- .../feature.xml | 2 +- .../org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- .../emulator/VT100TerminalControl.java | 19 ++++++++++++++++++- .../provisional/api/ITerminalControl.java | 17 +++++++++++++++++ 10 files changed, 43 insertions(+), 9 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index bab0c638cd8..d6412393f56 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 6ae706e04d8..93f8c5b6091 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.200.qualifier + 3.2.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index f547d4c64e2..25e0863d219 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -12,7 +12,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index ce355c0b66a..cc4db328b52 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.200.qualifier + 3.3.300.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 2ef3421dc0a..ce60116f634 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index ecd392b958f..ea81b3f2faf 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.200.qualifier + 3.3.300.qualifier eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index f521127708c..a97d4700d2c 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.200.qualifier +Bundle-Version: 3.2.300.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 6c2964316db..4af47f5b8d3 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.200.qualifier + 3.2.300.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index c3ea7015d7a..45599fb128b 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -128,6 +128,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private ITerminalConnector fConnector; private final ITerminalConnector[] fConnectors; private final boolean fUseCommonPrefs; + private boolean connectOnEnterIfClosed = true; PipedInputStream fInputStream; private static final String defaultEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); @@ -868,7 +869,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC char character = event.character; //if (!isConnected()) { - if (fState==TerminalState.CLOSED) { + if (fState==TerminalState.CLOSED && isConnectOnEnterIfClosed()) { // Pressing ENTER while not connected causes us to connect. if (character == '\r') { connectTerminal(); @@ -1157,4 +1158,20 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void setInvertedColors(boolean invert) { fCtlText.setInvertedColors(invert); } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean) + */ + public final void setConnectOnEnterIfClosed(boolean on) { + connectOnEnterIfClosed = on; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed() + */ + public final boolean isConnectOnEnterIfClosed() { + return connectOnEnterIfClosed; + } + + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 36777d6b25e..bf91af569e2 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -123,4 +123,21 @@ public interface ITerminalControl { */ void setMsg(String msg); + /** + * Sets if or if not the terminal view control should try to reconnect + * the terminal connection if the user hits ENTER in a closed terminal. + *

                                  + * Reconnect on ENTER if terminal is closed is enabled by default. + * + * @param on True to enable the reconnect, false to disable it. + */ + void setConnectOnEnterIfClosed(boolean on); + + /** + * Returns if or if not the terminal view control should try to reconnect + * the terminal connection if the user hits ENTER in a closed terminal. + * + * @return True the reconnect is enabled, false if disabled. + */ + boolean isConnectOnEnterIfClosed(); } From c202358bde888e8f084b96faae7d8f4ec73ca4b1 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 27 Mar 2014 14:04:00 +0100 Subject: [PATCH 533/843] Terminal: Fix build errors in test plug-in because of ITerminalControl interface change --- .../terminal/connector/TerminalConnectorFactoryTest.java | 7 +++++++ .../internal/terminal/connector/TerminalConnectorTest.java | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 00dd06580e0..6a0f6a2dbce 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -76,6 +76,13 @@ public class TerminalConnectorFactoryTest extends TestCase { public void setupTerminal(Composite parent) { } + + public boolean isConnectOnEnterIfClosed() { + return false; + } + + public void setConnectOnEnterIfClosed(boolean on) { + } } static class ConnectorMock extends TerminalConnectorImpl { diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 4bae2cd0069..33eadf3089d 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -76,6 +76,13 @@ public class TerminalConnectorTest extends TestCase { public void setupTerminal(Composite parent) { } + + public boolean isConnectOnEnterIfClosed() { + return false; + } + + public void setConnectOnEnterIfClosed(boolean on) { + } } static class ConnectorMock extends TerminalConnectorImpl { From d575d149b67c9831557956de04b236c309aaa35c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 28 Mar 2014 07:01:16 +0100 Subject: [PATCH 534/843] Terminal: Fix isConnectOnEnterIfClosed() should prevent the reconnect only --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 45599fb128b..a9b5ce4a2a1 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -869,9 +869,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC char character = event.character; //if (!isConnected()) { - if (fState==TerminalState.CLOSED && isConnectOnEnterIfClosed()) { + if (fState==TerminalState.CLOSED) { // Pressing ENTER while not connected causes us to connect. - if (character == '\r') { + if (character == '\r' && isConnectOnEnterIfClosed()) { connectTerminal(); return; } From 7ff1d1306c028d9a5d24c83557c77ae428fc1fc2 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 9 Apr 2014 07:56:05 +0200 Subject: [PATCH 535/843] Terminal: Fix SWT widget disposed exception on shutdown if terminal is still open --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index a9b5ce4a2a1..b86a6508d52 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -1104,7 +1104,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private void runAsyncInDisplayThread(Runnable runnable) { if(Display.findDisplay(Thread.currentThread())!=null) runnable.run(); - else if(PlatformUI.isWorkbenchRunning()) + else if(PlatformUI.isWorkbenchRunning() && PlatformUI.getWorkbench().getDisplay() != null && !PlatformUI.getWorkbench().getDisplay().isDisposed()) PlatformUI.getWorkbench().getDisplay().asyncExec(runnable); // else should not happen and we ignore it... } From 0d84a4ad28f7bee33d69ff340f61a024cea24c1f Mon Sep 17 00:00:00 2001 From: Max Weninger Date: Tue, 15 Apr 2014 14:39:30 +0200 Subject: [PATCH 536/843] Terminal: Fix handling of "word-left" (ctrl+left) and "word-right" (ctrl+right) Signed-off-by: Max Weninger --- .../emulator/VT100TerminalControl.java | 34 ++++++++++++------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index b86a6508d52..3a0d9618edb 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -867,6 +867,14 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC event.doit = false; char character = event.character; + boolean ctrlKeyPressed = (event.stateMask & SWT.CTRL) != 0; + boolean altKeyPressed = (event.stateMask & SWT.ALT) != 0; + + // To fix SPR 110341, we consider the Alt key to be pressed only when the + // Control key is _not_ also pressed. This works around a bug in SWT where, + // on European keyboards, the AltGr key being pressed appears to us as Control + // + Alt being pressed simultaneously. + boolean onlyAltKeyPressed = altKeyPressed && !ctrlKeyPressed; //if (!isConnected()) { if (fState==TerminalState.CLOSED) { @@ -916,11 +924,19 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC break; case 0x1000003: // Left arrow. - sendString("\u001b[D"); //$NON-NLS-1$ + if (ctrlKeyPressed){ + sendString("\u001b[1;5D"); //$NON-NLS-1$ + } else { + sendString("\u001b[D"); //$NON-NLS-1$ + } break; case 0x1000004: // Right arrow. - sendString("\u001b[C"); //$NON-NLS-1$ + if (ctrlKeyPressed){ + sendString("\u001b[1;5C"); //$NON-NLS-1$ + } else { + sendString("\u001b[C"); //$NON-NLS-1$ + } break; case 0x1000005: // PgUp key. @@ -1008,24 +1024,16 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC return; } - // To fix SPR 110341, we consider the Alt key to be pressed only when the - // Control key is _not_ also pressed. This works around a bug in SWT where, - // on European keyboards, the AltGr key being pressed appears to us as Control - // + Alt being pressed simultaneously. - Logger.log("stateMask = " + event.stateMask); //$NON-NLS-1$ - boolean altKeyPressed = (((event.stateMask & SWT.ALT) != 0) && ((event.stateMask & SWT.CTRL) == 0)); - - if (!altKeyPressed && (event.stateMask & SWT.CTRL) != 0 - && character == ' ') { + if (!altKeyPressed && ctrlKeyPressed && character == ' ') { // Send a NUL character -- many terminal emulators send NUL when // Control-Space is pressed. This is used to set the mark in Emacs. character = '\u0000'; } - sendChar(character, altKeyPressed); + sendChar(character, onlyAltKeyPressed); // Special case: When we are in a TCP connection and echoing characters // locally, send a LF after sending a CR. @@ -1053,7 +1061,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // o The character is the DELETE character. if (getTerminalConnector() == null - || getTerminalConnector().isLocalEcho() == false || altKeyPressed + || getTerminalConnector().isLocalEcho() == false || onlyAltKeyPressed || (character >= '\u0001' && character < '\t') || (character > '\t' && character < '\r') || (character > '\r' && character <= '\u001f') From cedfaf8a03f9b2ea49ad9ae566516dfd1e5dcf2c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 23 Apr 2014 14:31:41 +0200 Subject: [PATCH 537/843] Terminal: Fix SWT Widget disposed error --- .../eclipse/tm/internal/terminal/textcanvas/TextCanvas.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index e57e0600dcb..fe4ec147f55 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -90,14 +90,16 @@ public class TextCanvas extends GridCanvas { fCellCanvasModel=model; fCellCanvasModel.addCellCanvasModelListener(new ITextCanvasModelListener(){ public void rangeChanged(int col, int line, int width, int height) { + if(isDisposed()) return; repaintRange(col,line,width,height); } public void dimensionsChanged(int cols, int rows) { + if(isDisposed()) return; calculateGrid(); } public void terminalDataChanged() { - if(isDisposed()) - return; + if(isDisposed()) return; + // scroll to end (unless scroll lock is active) if (!fResizing) { calculateGrid(); From d5905131ae54731843802b7ac21ad6160a55d29a Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 30 Apr 2014 11:55:41 +0200 Subject: [PATCH 538/843] Terminal: Bug 433751 - Add option to enable VT100 line wrapping mode Change-Id: I6b75db80b8edda518333c6acc59ba461f51932bd Signed-off-by: Anton Leherbauer --- .../TerminalConnectorFactoryTest.java | 10 ++++- .../connector/TerminalConnectorTest.java | 10 ++++- .../emulator/IVT100EmulatorBackend.java | 19 +++++++- .../emulator/VT100BackendTraceDecorator.java | 12 +++++- .../terminal/emulator/VT100Emulator.java | 10 ++++- .../emulator/VT100EmulatorBackend.java | 43 ++++++++++++++++--- .../emulator/VT100TerminalControl.java | 11 ++++- .../provisional/api/ITerminalControl.java | 19 +++++++- 8 files changed, 120 insertions(+), 14 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 6a0f6a2dbce..b9c4d3c6a74 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -83,6 +84,13 @@ public class TerminalConnectorFactoryTest extends TestCase { public void setConnectOnEnterIfClosed(boolean on) { } + + public void setVT100LineWrapping(boolean enable) { + } + + public boolean isVT100LineWrapping() { + return false; + } } static class ConnectorMock extends TerminalConnectorImpl { diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 33eadf3089d..10863867a20 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.connector; @@ -83,6 +84,13 @@ public class TerminalConnectorTest extends TestCase { public void setConnectOnEnterIfClosed(boolean on) { } + + public void setVT100LineWrapping(boolean enable) { + } + + public boolean isVT100LineWrapping() { + return false; + } } static class ConnectorMock extends TerminalConnectorImpl { diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java index 362aa26d237..b3604a2c7d2 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -169,4 +170,20 @@ public interface IVT100EmulatorBackend { int getColumns(); + /** + * Enables VT100 line wrapping mode (default is off). + * This corresponds to the VT100 'eat_newline_glitch' terminal capability. + * If enabled, writing to the rightmost column does not cause + * an immediate wrap to the next line. Instead the line wrap occurs on the + * next output character. + * + * @param enable whether to enable or disable VT100 line wrapping mode + */ + void setVT100LineWrapping(boolean enable); + + /** + * @return whether VT100 line wrapping mode is enabled + */ + boolean isVT100LineWrapping(); + } \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java index c4d57ab98bc..0c914a54339 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -141,4 +142,13 @@ public class VT100BackendTraceDecorator implements IVT100EmulatorBackend { fBackend.setStyle(style); } + public void setVT100LineWrapping(boolean enable) { + fWriter.println("setVT100LineWrapping("+enable+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setVT100LineWrapping(enable); + } + + public boolean isVT100LineWrapping() { + return fBackend.isVT100LineWrapping(); + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 8aa395d8835..83674515868 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,6 +20,7 @@ * Kris De Volder (VMWare) - [392107] Switched interpretation for ESC[0K and ESC[1K sequences * Martin Oberhuber (Wind River) - [401386] Regression: No header on top due to incorrect ESC[K interpretation * Martin Oberhuber (Wind River) - [401480] Handle ESC[39;49m and ESC[G + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -1150,6 +1151,7 @@ public class VT100Emulator implements ControlListener { * Buffer for {@link #pushBackChar(char)}. */ private int fNextChar=-1; + private char getNextChar() throws IOException { int c=-1; if(fNextChar!=-1) { @@ -1189,4 +1191,10 @@ public class VT100Emulator implements ControlListener { public void setCrAfterNewLine(boolean crAfterNewLine) { fCrAfterNewLine = crAfterNewLine; } + void setVT100LineWrapping(boolean enable) { + text.setVT100LineWrapping(enable); + } + boolean isVT100LineWrapping() { + return text.isVT100LineWrapping(); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index 3941862adc5..d5958d9c3f6 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2011 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [206329] Changing terminal size right after connect does not scroll properly + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -39,19 +40,26 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { * When fCursorColumn is N, the next character output to the terminal appears * in column N. When a character is output to the rightmost column on a * given line (column widthInColumns - 1), the cursor moves to column 0 on - * the next line after the character is drawn (this is how line wrapping is - * implemented). If the cursor is in the bottommost line when line wrapping + * the next line after the character is drawn (this is the default line wrapping + * mode). If VT100 line wrapping mode is enabled, the cursor does not move + * to the next line until the next character is printed (this is known as + * the VT100 'eat_newline_glitch'). + * If the cursor is in the bottommost line when line wrapping * occurs, the topmost visible line is scrolled off the top edge of the * screen. *

                                  */ private int fCursorColumn; private int fCursorLine; + /* true if last output occurred on rightmost column + * and next output requires line wrap */ + private boolean fWrapPending; private Style fDefaultStyle; private Style fStyle; int fLines; int fColumns; final private ITerminalTextData fTerminal; + private boolean fVT100LineWrapping; public VT100EmulatorBackend(ITerminalTextData terminal) { fTerminal=terminal; } @@ -284,15 +292,27 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { int line=toAbsoluteLine(fCursorLine); int i=0; while (i < chars.length) { + if(fWrapPending) { + doNewline(); + line=toAbsoluteLine(fCursorLine); + setCursorColumn(0); + } int n=Math.min(fColumns-fCursorColumn,chars.length-i); fTerminal.setChars(line, fCursorColumn, chars, i, n, fStyle); int col=fCursorColumn+n; i+=n; // wrap needed? - if(col>=fColumns) { - doNewline(); - line=toAbsoluteLine(fCursorLine); - setCursorColumn(0); + if(col == fColumns) { + if (fVT100LineWrapping) { + // deferred line wrapping (eat_newline_glitch) + setCursorColumn(col - 1); + fWrapPending = true; + } else { + // immediate line wrapping + doNewline(); + line=toAbsoluteLine(fCursorLine); + setCursorColumn(0); + } } else { setCursorColumn(col); } @@ -357,6 +377,7 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { else if(targetColumn>=fColumns) targetColumn=fColumns-1; fCursorColumn=targetColumn; + fWrapPending = false; // We make the assumption that nobody is changing the // terminal cursor except this class! // This assumption gives a huge performance improvement @@ -398,4 +419,12 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { return fColumns; } } + + public void setVT100LineWrapping(boolean enable) { + fVT100LineWrapping = enable; + } + + public boolean isVT100LineWrapping() { + return fVT100LineWrapping; + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 3a0d9618edb..66439ac1892 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,6 +32,7 @@ * Simon Bernard (Sierra Wireless) - [351424] [terminal] Terminal does not support del and insert key * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -1180,6 +1181,14 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public final boolean isConnectOnEnterIfClosed() { return connectOnEnterIfClosed; } + + public void setVT100LineWrapping(boolean enable) { + getTerminalText().setVT100LineWrapping(enable); + } + + public boolean isVT100LineWrapping() { + return getTerminalText().isVT100LineWrapping(); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index bf91af569e2..372772cc0c6 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend + * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; @@ -140,4 +141,20 @@ public interface ITerminalControl { * @return True the reconnect is enabled, false if disabled. */ boolean isConnectOnEnterIfClosed(); + + /** + * Enables VT100 line wrapping mode (default is off). + * This corresponds to the VT100 'eat_newline_glitch' terminal capability. + * If enabled, writing to the rightmost column does not cause + * an immediate wrap to the next line. Instead the line wrap occurs on the + * next output character. + * + * @param enable whether to enable or disable VT100 line wrapping mode + */ + void setVT100LineWrapping(boolean enable); + + /** + * @return whether VT100 line wrapping mode is enabled + */ + boolean isVT100LineWrapping(); } From 3fd851b50e3648562ef329322f8e1a0051e19ac6 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 7 May 2014 13:56:38 +0200 Subject: [PATCH 539/843] Bug 434294 - [terminal] Incorrect handling of function keys with modifiers Change-Id: I2727f70e2a54939b8b606ab779f3c26edc36f257 Signed-off-by: Anton Leherbauer --- .../emulator/VT100TerminalControl.java | 88 ++++++++++++------- 1 file changed, 56 insertions(+), 32 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 66439ac1892..df67855311e 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -33,6 +33,7 @@ * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode + * Anton Leherbauer (Wind River) - [434294] Incorrect handling of function keys with modifiers *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -915,102 +916,119 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // unless certain tags are present in the plugin.xml file // for the Terminal view. Do not delete those tags. + String escSeq = null; + boolean anyModifierPressed = (event.stateMask & SWT.MODIFIER_MASK) != 0; + switch (event.keyCode) { case 0x1000001: // Up arrow. - sendString("\u001b[A"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[A"; //$NON-NLS-1$ break; case 0x1000002: // Down arrow. - sendString("\u001b[B"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[B"; //$NON-NLS-1$ break; case 0x1000003: // Left arrow. - if (ctrlKeyPressed){ - sendString("\u001b[1;5D"); //$NON-NLS-1$ - } else { - sendString("\u001b[D"); //$NON-NLS-1$ + if (ctrlKeyPressed) { + escSeq = "\u001b[1;5D"; //$NON-NLS-1$ + } else if (!anyModifierPressed) { + escSeq = "\u001b[D"; //$NON-NLS-1$ } break; case 0x1000004: // Right arrow. - if (ctrlKeyPressed){ - sendString("\u001b[1;5C"); //$NON-NLS-1$ - } else { - sendString("\u001b[C"); //$NON-NLS-1$ + if (ctrlKeyPressed) { + escSeq = "\u001b[1;5C"; //$NON-NLS-1$ + } else if (!anyModifierPressed) { + escSeq = "\u001b[C"; //$NON-NLS-1$ } break; case 0x1000005: // PgUp key. - sendString("\u001b[5~"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[5~"; //$NON-NLS-1$ break; case 0x1000006: // PgDn key. - sendString("\u001b[6~"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[6~"; //$NON-NLS-1$ break; case 0x1000007: // Home key. - sendString("\u001b[H"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[H"; //$NON-NLS-1$ break; case 0x1000008: // End key. - sendString("\u001b[F"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[F"; //$NON-NLS-1$ break; case 0x1000009: // Insert. - sendString("\u001b[2~"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[2~"; //$NON-NLS-1$ break; case 0x100000a: // F1 key. - if ( (event.stateMask & SWT.CTRL)!=0 ) { - //Allow Ctrl+F1 to act locally as well as on the remote, because it is - //typically non-intrusive - event.doit=true; - } - sendString("\u001b[M"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[M"; //$NON-NLS-1$ break; case 0x100000b: // F2 key. - sendString("\u001b[N"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[N"; //$NON-NLS-1$ break; case 0x100000c: // F3 key. - sendString("\u001b[O"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[O"; //$NON-NLS-1$ break; case 0x100000d: // F4 key. - sendString("\u001b[P"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[P"; //$NON-NLS-1$ break; case 0x100000e: // F5 key. - sendString("\u001b[Q"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[Q"; //$NON-NLS-1$ break; case 0x100000f: // F6 key. - sendString("\u001b[R"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[R"; //$NON-NLS-1$ break; case 0x1000010: // F7 key. - sendString("\u001b[S"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[S"; //$NON-NLS-1$ break; case 0x1000011: // F8 key. - sendString("\u001b[T"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[T"; //$NON-NLS-1$ break; case 0x1000012: // F9 key. - sendString("\u001b[U"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[U"; //$NON-NLS-1$ break; case 0x1000013: // F10 key. - sendString("\u001b[V"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[V"; //$NON-NLS-1$ break; case 0x1000014: // F11 key. - sendString("\u001b[W"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[W"; //$NON-NLS-1$ break; case 0x1000015: // F12 key. - sendString("\u001b[X"); //$NON-NLS-1$ + if (!anyModifierPressed) + escSeq = "\u001b[X"; //$NON-NLS-1$ break; default: @@ -1020,6 +1038,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC break; } + if (escSeq == null) + // Any unmapped key should be handled locally by Eclipse + event.doit = true; + else + sendString(escSeq); + // It's ok to return here, because we never locally echo special keys. return; From bfbf83fa80aa01d17bfbc847f95b43c815afc3c2 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 8 May 2014 11:32:12 +0200 Subject: [PATCH 540/843] Bug 434294 Implement processing of Eclipse key bindings Any special key stroke which does not map to an escape code is now processed as an Eclipse key binding. This enables key bindings like Ctrl+Insert, Ctrl+F7, etc. Change-Id: I05ea201b0b23e068d4e1d48011761cca64f7c012 Signed-off-by: Anton Leherbauer --- plugins/org.eclipse.tm.terminal/plugin.xml | 7 ++- .../emulator/VT100TerminalControl.java | 44 ++++++++++++++++++- 2 files changed, 48 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 6ddb5031ed7..0df5c2bd865 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -1,7 +1,7 @@ @@ -125,21 +126,64 @@ contextId="org.eclipse.tm.terminal.TerminalContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="Alt+W"/> + + sequence="M1+INSERT"/> + + + sequence="M2+INSERT"/> + sequence="M1+M2+V"/> + + + + Date: Fri, 9 May 2014 14:32:50 +0200 Subject: [PATCH 542/843] Terminal: Bug 434487 - Key bindings for "maximize view" and "quick access" This initial commit contributes "Alt+Up" for "Maximize View", it also works for "Restore View"; as well as "Alt+Right" for "Quick Access" in lieu of Ctrl+3 which may need to go to the Terminal. Still TBD: Add those commands to the context menu such that they are discoverable; and, decide whether "Alt+Down" should also be contributed as a more intuitive variant for "restore view". Signed-off-by: Martin Oberhuber Change-Id: Iebf912cb404636c43014e15af9e63dea407e083f --- plugins/org.eclipse.tm.terminal/plugin.xml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 720495b495e..23fb0e4502c 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -13,6 +13,7 @@ # Michael Scharf (Wind River) - [237425] undefined tm.terminal command # Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget # Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND +# Martin Oberhuber (Wind River) - [434487] Add key bindings for "maximize view" and "quick access" --> @@ -184,6 +185,21 @@ platform="carbon" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M1+V"/> + + + Date: Fri, 9 May 2014 15:13:10 +0200 Subject: [PATCH 543/843] Terminal: Bug 434294 Fix handling of multiple key bindings for copy/paste - now considering all key bindings in EditActionsAccelerator - fix incorrect creation of escape codes for a combination of modifiers Change-Id: I2547bba7ef3ca13370b1abf3f8ad8f5956d76c58 Signed-off-by: Anton Leherbauer --- .../emulator/EditActionAccelerators.java | 32 ++++++++----------- .../emulator/VT100TerminalControl.java | 31 ++++++++++-------- 2 files changed, 31 insertions(+), 32 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java index 2fd6b68d4ed..0286fd4f807 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2013, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -19,8 +19,8 @@ import org.eclipse.ui.PlatformUI; import org.eclipse.ui.keys.IBindingService; class EditActionAccelerators { - private static final String COPY_COMMAND_ID = "org.eclipse.tm.terminal.copy"; - private static final String PASTE_COMMAND_ID = "org.eclipse.tm.terminal.paste"; + private static final String COPY_COMMAND_ID = "org.eclipse.tm.terminal.copy"; //$NON-NLS-1$ + private static final String PASTE_COMMAND_ID = "org.eclipse.tm.terminal.paste"; //$NON-NLS-1$ private final Map commandIdsByAccelerator = new HashMap(); @@ -30,25 +30,21 @@ class EditActionAccelerators { } private void addAccelerator(String commandId) { - KeySequence keySequence = bindingFor(commandId); - if (keySequence == null) { - return; - } - KeyStroke[] keyStrokes = keySequence.getKeyStrokes(); - if (keyStrokes.length != 0) { - int accelerator = SWTKeySupport.convertKeyStrokeToAccelerator(keyStrokes[0]); - commandIdsByAccelerator.put(new Integer(accelerator), commandId); + TriggerSequence[] bindings = bindingsFor(commandId); + for (int i=0; i Date: Tue, 13 May 2014 16:25:53 +0200 Subject: [PATCH 545/843] Terminal: Bug 434749 UnhandledEventLoopException when copying to clipboard while the selection is empty The text copied to the clipboard must not be empty. Change-Id: I4202b3d95419a4395af608a9d5ad30f957c3eff4 Signed-off-by: Anton Leherbauer --- .../terminal/emulator/VT100TerminalControl.java | 10 +++++++--- .../tm/internal/terminal/textcanvas/TextCanvas.java | 12 ++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index b00380e79cd..e62326d6fa8 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -35,6 +35,7 @@ * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [434294] Incorrect handling of function keys with modifiers * Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND + * Anton Leherbauer (Wind River) - [434749] UnhandledEventLoopException when copying to clipboard while the selection is empty *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -242,9 +243,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } private void copy(int clipboardType) { - Object[] data = new Object[] { getSelection() }; - Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; - fClipboard.setContents(data, types, clipboardType); + String selection = getSelection(); + if (selection.length() > 0) { + Object[] data = new Object[] { selection }; + Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; + fClipboard.setContents(data, types, clipboardType); + } } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index fe4ec147f55..27012b85b1f 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Anton Leherbauer (Wind River) - [196465] Resizing Terminal changes Scroller location * Anton Leherbauer (Wind River) - [324608] Terminal has strange scrolling behaviour * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically + * Anton Leherbauer (Wind River) - [434749] UnhandledEventLoopException when copying to clipboard while the selection is empty *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -331,9 +332,12 @@ public class TextCanvas extends GridCanvas { return fCellCanvasModel.getSelectedText(); } public void copy() { - Clipboard clipboard = new Clipboard(getDisplay()); - clipboard.setContents(new Object[] { getSelectionText() }, new Transfer[] { TextTransfer.getInstance() }); - clipboard.dispose(); + String selectionText = getSelectionText(); + if (selectionText != null && selectionText.length() > 0) { + Clipboard clipboard = new Clipboard(getDisplay()); + clipboard.setContents(new Object[] { selectionText }, new Transfer[] { TextTransfer.getInstance() }); + clipboard.dispose(); + } } public void selectAll() { fCellCanvasModel.setSelection(0, fCellCanvasModel.getTerminalText().getHeight(), 0, fCellCanvasModel.getTerminalText().getWidth()); From 1b545a04e86e9dd14752ae4fc0b074d8c6b941d0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 15 May 2014 13:13:28 +0200 Subject: [PATCH 546/843] Terminal: Fix Bug 434937 - Releng: The Terminal Features have an incorrect license --- .../build.properties | 9 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- .../build.properties | 9 +- .../eclipse_update_120.jpg | Bin 21695 -> 0 bytes .../epl-v10.html | 256 ------------------ .../feature.xml | 6 +- .../license.html | 108 -------- .../build.properties | 8 +- .../eclipse_update_120.jpg | Bin 21695 -> 0 bytes .../epl-v10.html | 256 ------------------ .../feature.xml | 6 +- .../license.html | 108 -------- .../build.properties | 9 +- .../eclipse_update_120.jpg | Bin 21695 -> 0 bytes .../epl-v10.html | 256 ------------------ .../feature.xml | 6 +- .../license.html | 108 -------- .../build.properties | 11 +- .../eclipse_update_120.jpg | Bin 21695 -> 0 bytes .../epl-v10.html | 256 ------------------ .../feature.xml | 6 +- .../license.html | 108 -------- .../build.properties | 7 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- .../build.properties | 7 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- .../build.properties | 7 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- .../build.properties | 10 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- .../build.properties | 7 +- .../epl-v10.html | 256 ------------------ .../feature.xml | 7 +- .../license.html | 108 -------- 44 files changed, 82 insertions(+), 3708 deletions(-) delete mode 100644 features/org.eclipse.tm.terminal-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg delete mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.core.sdk-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg delete mode 100644 features/org.eclipse.tm.terminal.local-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.local-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg delete mode 100644 features/org.eclipse.tm.terminal.local.sdk-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.local.sdk-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg delete mode 100644 features/org.eclipse.tm.terminal.sdk-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.sdk-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.test-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.test-feature/license.html delete mode 100644 features/org.eclipse.tm.terminal.view-feature/epl-v10.html delete mode 100644 features/org.eclipse.tm.terminal.view-feature/license.html diff --git a/features/org.eclipse.tm.terminal-feature/build.properties b/features/org.eclipse.tm.terminal-feature/build.properties index 6c1e50644f2..62d6eee8ff4 100644 --- a/features/org.eclipse.tm.terminal-feature/build.properties +++ b/features/org.eclipse.tm.terminal-feature/build.properties @@ -1,14 +1,13 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html # # Contributors: -# Michael Scharf (Wind River) - initial API and implementation +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html + feature.properties diff --git a/features/org.eclipse.tm.terminal-feature/epl-v10.html b/features/org.eclipse.tm.terminal-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index d6412393f56..2de575913a9 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal-feature/license.html b/features/org.eclipse.tm.terminal-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties index a7c02cfcc49..abb78c66353 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,12 +7,11 @@ # # Contributors: # Wind River Systems - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html,\ - eclipse_update_120.jpg + feature.properties + generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.core.sdk-feature/eclipse_update_120.jpg deleted file mode 100644 index bfdf708ad617e4974cac04cc5c1c8192b09bbeb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 25e0863d219..cfe8c5b4d5d 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -1,6 +1,6 @@ + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/license.html b/features/org.eclipse.tm.terminal.core.sdk-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.local-feature/build.properties b/features/org.eclipse.tm.terminal.local-feature/build.properties index 4955d2c391f..cc590093375 100644 --- a/features/org.eclipse.tm.terminal.local-feature/build.properties +++ b/features/org.eclipse.tm.terminal.local-feature/build.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2011 Mirko Raner and others. +# Copyright (c) 2008, 2014 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,10 +8,8 @@ # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 # Martin Oberhuber (Wind River) - Import to Eclipse TM +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license #################################################################################################### bin.includes = feature.xml,\ - feature.properties,\ - epl-v10.html,\ - license.html,\ - eclipse_update_120.jpg + feature.properties diff --git a/features/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.local-feature/eclipse_update_120.jpg deleted file mode 100644 index bfdf708ad617e4974cac04cc5c1c8192b09bbeb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 126af2fe90d..4e16b57b006 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -1,6 +1,6 @@ + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.local-feature/license.html b/features/org.eclipse.tm.terminal.local-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.local-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties index cb3f77ec4f6..6475308a438 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2011 Mirko Raner and others. +# Copyright (c) 2008, 2014 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,11 +8,10 @@ # Contributors: # Mirko Raner - initial implementation for Eclipse Bug 196337 # Martin Oberhuber (Wind River) - Import to Eclipse TM +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license #################################################################################################### bin.includes = feature.xml,\ - feature.properties,\ - epl-v10.html,\ - license.html,\ - eclipse_update_120.jpg + feature.properties + generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.local.sdk-feature/eclipse_update_120.jpg deleted file mode 100644 index bfdf708ad617e4974cac04cc5c1c8192b09bbeb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index d5ae7aeeea8..2f8b42affab 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -1,6 +1,6 @@ + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/license.html b/features/org.eclipse.tm.terminal.local.sdk-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.sdk-feature/build.properties index 89790a04ee5..c48e9f77252 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/build.properties +++ b/features/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2007 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,12 +7,11 @@ # # Contributors: # Martin Oberhuber (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ -bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html,\ - eclipse_update_120.jpg +bin.includes = feature.properties,\ + feature.xml + generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh diff --git a/features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg b/features/org.eclipse.tm.terminal.sdk-feature/eclipse_update_120.jpg deleted file mode 100644 index bfdf708ad617e4974cac04cc5c1c8192b09bbeb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21695 zcmeHvcU)7=((p+_uhNSGp%(=Nr3wV321I%h5riZ_XrTltiYTH8C`eTiL3$Grle6uPge`61wfz> zKnMH-2t(wlntoUZ0MOS5!~g)G0LUSX01Sj6;2!|t1W0#b0I-Mb{{cHgM85GrK^`dp zjDh{&;{}o4g_%M4W+)aQ`Ia{W{A~pvuts93d%tREoIM6^=!C=Lyq$0!aCH;71=byn z^YsR#4K)C?^2G&J-q>`Y87Oib(yG`r#3&tBpmV+buZH7y1PEApjKiowyHxkU(Hi5-2G-83ief<_Jh+fRXSrN|CA=*)j2XUX~_f zj!rE)&M&}XTx);is8?{CI=Nts$=uL9%3Fptt@w(NMyx4Xvo0Mk%hql-j9GXRQs3b- zvZy5-mvQxJd_(8wrOc8SU8Bq94(F~VWR|-ORQhr>Gf{$CgY0`@~*!7=J4EGX}z^MYhV0my}9>e@je z(%I0OX0mw9@DCCGwFJUHMIiJ7G_c(|82|)Oi{wp>=YxfmePK;|DXQxvrWTTxXk~1? z^ePNXDHa!l9_K|0#ONA>QCtjCAX6X)DN1OqMP^*#<-32yEbpl-hv8E_ysyVYi|YpH z_wmj9%H}+7W~e)u2#VPZAEUWkNBy|qTxz9XGMk&Drkm^Fyow%MPMK>-bpS&Xm4?>n zmzf6^OG&vOu(&oW4*kxUCj|$xJaBDvD){)Bu9LyY#4lB;Z>8x;6}^~2QL_ncF9u9Pl}h7jCzp`Rxd_to{*TD39d(hOkDJ*i zaQgS}TVz;u%v%>46=lT9E%Ob%N{x-L^f9VqzLsoqEnjvduO#q^So|Ync**pr8uF!X zxE_04j3~UKD9p2<&!ElsQ{ltX{I#zi4U@I5is;!e>-gw`3S_M&wAY@v-p5J8s(U-% zc2->TfnQmrUXa$N(#enI2HWcfxoFNQ7sm;X&FBD2mwBX9lz+!(7W#)Kwwa$W{7=x~ z4WTm*3df)DozLSgI^m{&_G$NNv1cDelNL-Vkt8`;qC%=UqVSk=A??N-R~=~w$K)Dx zAKttcbRsA(NW`dN=dpj*X*px0Am%2aqxK{dpLF&!%ge*&saCMuwq)gF2WKff)+Y!+ zpxQ<=@*=-0Y@8i|*czp$>zyxjiO33kG#6Y_oWsHXHD|}8b$vxI-I+gvBcfg)ELJb4 zqN`kul*&ZBKrag^ZJya75C@M3vY`6TJ_kO>Gv2%;_|^9k?5mmE1=7?|qr7WZmhR8` zHe?MQI3>AiBp#a)qubs{=xksuN$>sO8>UnBbwm5}gCz0emy8dS7IrMu_lo+j(x+X} z4sLRdg|PD&s4cYwk#KmviuD=1J@xdnsq)CgWddMY5en^LeRiA;6OlwgQ$Dpx0M-Rf za+eer)Shv|-aXSM-^gJIxVkPiACSJHRH@TrKcN0v9E;@^gXA3%v&#ZRuVsg1N}CwR z*~~#5-$Nx32BpJ1euoNI{X7XkQ%*_rgDiRZFPqAaQEi7Oz8vomt+#r4?WwxfC6ZTz z@)T5?=FQ*>6VOBGsy*3?ymX7?4n;<|2CYpHY0gv9&!%wa#Wf-9*8!>%&7(TZR6_zo zjhCCv4>lF2mqcDt;EK1pq1WQBB1-D4ExJX zZ`tM#xEoY>gb5VbOnKQ`(8TDBq~v>ARjGF!DWFV@!O}huW@xN`PLf9?4g>PX zk@_TpyJPgeZzJ`OA0iDl^NqGQWf7-(;qVogn zx(<69q1a6mH34b?s=D`l(=j)Q{gs!Kn1mt0Xs@-zB&h#y4;5erxC3|q3qGy@20#Pi zfD}mku3aMU_wXz3d;agV-QQmsz7xI)Nld!?xVnNr#Kw@><9yuF-Ujy0C@}RcpD_wg zta`WYrl7axigR}a)4SmW#sU9p`Zylv_AN~m1u%AW`c5aN$-G^$D2%tc>j`f#1^H7w zq`Nc_%?Li^y9uPmFJ+TEdf|LL{)8gKd0`!~?ihC;H!u&4rU|ihgIye$rnU3ITh%_o!(2)KKOJk42g9i0acxteVo&J%1_x%(h76#CO4+Jr{3-7&|#LtpF z6W$${NQfK&StuA0)%NYJfj9v`P7R260oXye{kNn4+tL5B^4rn>?dbn@^nW}0|Cf&b z-Wfo>lTum{~gIA91kfiNC?ymukc{RJJRf6oC2)c1SRbUkTqM5;!kMNht*d16X=#k{#<}|JGRjFye&_ua{e$<^ zU-SNo{=xf`)yy4>SCRfE!#|+^JE{W*xxeo7@1q~l1mQ|xN>SYl1AaehfR74sb3**E zthkh%>G#bEapHCb_y+z1=l9I|I5gJ5|3At63+Io_;An}q!`uBw*?;BzUcj#C;FlRV z!m8}<@5(E;b> zW`|e7y4g8mB%M7lj!Ke0v41V^-p~!sl;E5x`C}F)+VTH=_+820((!L~{Z`lC(!k$h z{%u{q)%CYD@VA(MTi0)O{VfgrE#}|W^;=zkO9Ow4`L}ibR@dLsz~5s2ZC$_B^|v(e zx0wI8)u=Aa*Ek4}B9Y;^_qdsi_Y42APQP&#=qX1phV%| zE`>Z?2jlCC!Q;gZ!OayrFEm^o=jLJO?hgQaZ6@Xd7>T-tgG!c_QjnDumzE%&!1*5j zE%7_k|L{xf+dY;=quoA(u)g_;`c5Sd2lmtKx6_n2dgp%tqkk#2zIwS8oRr@gmwQ{J^a7S_KOTe zaL=wmfGJ}KV78S2_O&nru$eai2@^E{vrYynkRSbag3=t^WCQ>Up0Pc<2Vs!D8~-VS zMuADFH+J{H6rgTw3P<^Po!es}A^wm8RN&?%Gr$3G1N?vpcydh|kOPhZs(>b-3m5>V zz$w56K!MwsZh#ly3tRv$1J{5E;1&=MBmyZw29OIp0*Zk$;18e{cnQ1)FA#JAeZVJR z6qo|$fE8d9JgQC(p@lF(I3PR_LC8UfG(;Yv0?~w=fEYtgLC!)PA?^?#$OXt1NCYGX zk_btKwtZNO~ckn$Viw-;3VQC$4GQY%t%lqo+KAZZjdCB~+V43W%{?2yuu z9w0qPsz{0?wIp>U^(DPVnn0RGT0;7Qw2O3=ckm)k>4eMNM23ePCiP$MnO%%Lm^F}MPWtZP7zFz zK#@oBoT8m#jAD~=AEh9rBBcQ(n$n*#iZX+;lCp(zlyZ}bfl8Q4naY&Pnd&mt9jZrE zFR1#d7OAPJ`KT4Bji|BIm#FVhKc;S?9->~SVWbhGQKzw{@u7*N$)>5H`9QNsOG_(6 zt4eD{i>HmG&84lU9i&~OW1^FwL(-w?g6QtimD07-&C*lS3(~96+t3HlC(u8kZ=s*w zN4ZaEpZY$#eHZuL+gGu#XWudd6N40k0fQUE4Te01W`=P_az-IWO-3|h2xB^9J>v)y zjESE~oe9Nsg(-vS1=A=q8M81mlG&L#g1LbC9rGLuBg;`1a~40Adn{EfpIBk6Laazu zSJo)jV%Bcf4K^+|H8u=e7~3PZcD7aa{p_mj81``XLiR594GuVmCWi}0G)Ec704E8j z7^e}ZFK0663(o2N%=?e+N9_;aU%bEf0Q7*^0pkPb52PP>b6}Z^n@gL^gX=C=J=Zih zE4M1QGj|;KbM6TqCLR?YEKeLyHP0lR1+E5nh2McUz~^`m@apjT@TT&<39 z<}2hI;HTo3=Xcw6_XKj61ykXau9k@_8|7){ex|XNDnC- zazB)Is7IVeTuuC(c)s|M1gpdeiC~E`iCIYjNh`@{$wtYY!!n0m4`&?ilVX(8l?s-s zlvZ^G6RJ#T-pO`d)@fMqegWrcP#CR!-JS_L1y_oPgX} zxg@zBd1iS-`5W?03Zx3h6@nE0P*_)#Rm3Y6D}FsDe$3@q-m!5dVI_=GhSG>KpR%2D zs`4ilxXM|T2P&Tsya+o)8e&+LUlpyIr8=f2s^+ZrP;K`3;p1M%OOCIqE2;;o*J!{r zv^Byt-f1#wnrS9#4r=jfIcnu=&1uVMpVzL@A=S~-iPq^sav@R3T;!atoNl0QgC32Z ziC&`K@CmUKUMDK`q58V|vHJZd1y8!4EHeNMkOr{^1BSweo`%ni$czk)?iqbCmNLFz z+-SmNVr!CTvSNDNG|IHkOvKE`tj?U?+}b?XeAPn3BF5sArKDw`lAg6Vn|F50&cH6sZrL7b zpJYFWQb*lJO`%oMap(z*GA0Hy=Ai5l<1p^1>=^4f;e>EXaGJ)dV-vCS&N|L1&Z{m4 zF4-;wR}0rdHww42ZWZo~?k?^PIBuLDuFd11$2E^no{FCFo^xJ$URmA{?=#-zcxKR< zdgCMFbJb_)oXWX-=hl49eV_O-___PN@fY(C^B)V)3dlT9avpWQ?gHnQf^b-_PPD(&WStacLna=y1SL=l-PCe_`SlU z14&^?tM}3O+mlt3AEj`mM5Jsyz&?1Ns-0SzCX|+tPL_Ty{Y!>#mbsZQW+w?|ZC! zKD|f3AOGO`VZQfV?`Gene$xK%fqerBg9irFK8k)U{3QFSYDi<~&9KRE-w0}C>a+Lf ztaLCZjo=@*%sZd+|k?VC%A#9?tfl> zQw4p2y~}TVSIhpR82U57euQ6g60dqee-QptfbjG38+cpn=jAtg@bVkz)&gWu@B-J5 zKu$qMN|=DIk;p74<#<3W0&w-(W^>`PT&ZevFBxW`)EP+)S@||qh3@TwQVxOLngAp^D$`}rrw%b za@r^nGjj{h;=1976sy*uw$|8Z< zXj?eQ|G2yN^WvV4rIX+FJ2~Y|@5k2^kf*TzVRv&YnmUIo-BY<*?K4ZvTX=re=ARLS*4!L{xi_(-G=`DvXHEr))i2O*Ha@?y zZa6nCdxQD2SwKKyB+U)UQ<1FEq+=N)Rzc=!+nEI5`l=NRoXJcjP}If#^{{sQggjrO zmYCUPvIYhhZ+GnyUe#*xAg<{xRKh9iVok8WZ zd)8-F-nj6%e}aEIwCdARhi0dYSGL~ybm0`FKxC5Q+vSy>6FwjReG}SpZL?K2=vz?_ z<5*;lE=PBoC|Ia3?Yxdyh(x5WY+Pav7NgfPcW-_C!gQXCcI`}|_A@@KSL_W6Bt>}{ zk4X!b@jUT}p_!wRXGh`|#>aaFUI~V-;1A6V=H=y?*_OD>(Y6wR7xYgV2lI9$?zElY zRu)^}I%Yva`j($wfBi;O;nJt`c5{%cxe(d<6ztScpQe0$(t&VwrZ-_1l?*zJW2O{WzL#A?0zpf$wQTVx&XO#J8h&w z?u;1_?deuGSB!){F5gKz&e?DgzloHXC~DAcbUa$Hc=pnElED@lujh+(bnry7} zdV+l2V&_Qf8HDp}uOprScoqkQnFumjQ_~yFwCvjo3LE=ix|!r4e`tqXs?GD{_ zAw6y3+Aj18sH+Asm=JdfObrNM8l z8Wpd-zG1NRs%8S!8h>eqEB8J=+qtZvyMpTJ2i04LZf^7CTLhR_Z1dhfQ&_ioie>qa z42c5q@t~IatmHvcmQ0J$)`;bmCs~SL!B@a$b+)RfYO~OX(4MOxk>|(1?fEs8I<^%{ z?lI9w55!=|`lDw?>eEGThiZ-G9TpeI9J&<~LuO#Sqs?Zla*Y6tOy?~Giq*`GcT;lm zQOHmBZ)j&`449xA%NzV{oKk#OE~L%O(liK4v)vsmZv{ zWBs-6m3YO~6E9IbET+M{V(rrTCaUFFIQX)Q6ELN&(Z!d>Q^}J=1gXtx7YzuYxj9-2 zwJlC}h^@)S0aVTeKyKstyWGtuo;Mux5*+-|_Pxnk5@Yuk-oCB6Gv!a0ZEuh}E_Y1n zMhibHsv#*kEMY3s6x+BltqFSL>Li;5J*Y z%$(fOZnDjboR|kpWavOt8T-Mng&H*Q_Lt0JDg{) zd+}r0*7p7j?z*9p>iRK_rh;ZH*7iEWQHFG7Vru48VlJe#kWNb0@Z8z)>W&f+ZZVjUu{<2nHs&I*VP)VuVkaC z;&ji<*`(_A$-Oy*##c5~8ju9pE?33OQs^cg@EO_Pc+Gmb=wsd1AP=@3weTS%Vm2Rs zGaU(?%*?`bUaZdYHw-rD($2n;b3SxE-92%LUC^a9p~D$p%A}M1($f$T;(yU`-8{MK zz{Tm=ft+)1&BcQA6wuL>cM?=hufjD-1$O+wzL;hynX%A2m)Utq5h;cDW-OySN&v`B zsTcNpwwarn|KT3OB)So)fS5XeXC>!@k+WjXreZGlyMmjabKp_=J3$9h=2irZ!hMhw z55{BNn=P7;*j~;FijqUjT&-HasmjG_Z4x&Ahhq{4{aS?WmH}d(ds==;XDk$nOGOL? ztzMp~c+Svq>(eroK`H^T45}gkFSoOVl||LUm&q5Z=Ztoik~>a#T>QAWl*X$|e_P$a zbavw0wmoV}2vJ)sef8F{0Fg<{@yH@~*X#NTwwc{;f^?p-?r)skY@>O*BgzZ(%q2sf zw+yd4zAm&mwKjK``C{>n3ypU`6WLVW&*Md|_I!7`B6Q|z8NO0uBLJ|ksX*%zhskmJ zQ}bpe^1W9RV$!Uz%n|GZar^f#KvuGCGSkuE#VOxI8vEXlPb|>|@m8*i3(1Mnu*CVT zofbZ0JTW!baTLoeSS2UJBApg}KCaWhXyw}QplrUN_UqJa$rqc0^Y-XGc=!7S64asq zeQ}jlJiV7}YrW}bn{1uT>lBZ=|Cl{~{E$w0w;KPpj!ONpYyDTbJ_PKam5OljcW3tx zIuf;fp_1}QkbraX(S^GQ2NKU{3>y2p^xrGmxH7H4`aXQ)=`vT$sR*XnHr45itqMHl z;wCwzX@Nmsd1k8a_ti0IlAm7lThj6!9A|nu)}&B978|r$=n_YNGFEp@IIXC{%Wf;< zv0#Lk!pH<_n-bItZnkh9kf#fOBv6|>&eYs8dbgsSgaDNCe3e`IRG<>bQhGWos-9_` z=c{n9f21mx$aV9QNs@wko)uQaP;=QPZZ!oP#ht<(sIl|m%O`63>}5p97O;|N(pQg| zBmf9qK8}(0bk0iq(*!`10Qf&+2s%6S;f3wu_&Yc@`Q}I4FZX0hCpaB@%v4XRWQILc zxNKO0RQToot%Grmf71`z?+kOY*=nT?O_y{Yrk$&H!o!pSjLkoz=HLi2S(l ze5r0_R%(^i$wc{~FtyJfFP}zl>k@#_;;J@P4P8&fCjt;LUVk6G@AT<d- zyJ-JB5PIy2cVh78=GuyldzMVivIKzse9cf}hVk2m*jBl_ub)oWT8%`5gRb3L`D4(L z;+`bG%Q2pZq)y@vk4IkhdmQ*&P9Wkzy* zPW#h|=ju(Td;8}!zt(OM0Ijl3)J%+vNyjA*F8eT_;;3b}^_|dd+)DHeOZ@~*Ah{kN z*CDKlE@TOukQXd~s1@#-dr4hgZ820Lx3h#cpsD2BW*BS+GE}Q_w=Dj*IB7Su=XnEZwsK~akcrl|puF%M!vt!Ljaj0C z5*IU4mcQ=w?*y(TdQLtqGzxr%KI;fRYAN*_}umWBIVJ4x2@3ldt2-i@^d%PHBdJmch( z;LzRV%TdQ`=-n2gXRK%{7` zP!bSod)Q^C@I&X=%>AYf@s~}>qqlTa0m3lcIn}$F z$M|;hXyFXkKKH^t#`PG3>7gB_w!5o}c)cF*+b+c10iq@_cZiYz1gy524@F*y&OZXA zWoIS}yEq)Idj)5XBLKZQ5Bb<@cJkPR{Wi{@c!glP_%4L?9OGe{;VY?Q*>Wd8PHumV zXzFt0OqFJ9=3}(Ak6dadJI+{Q*&FPya`a)COz(^I zLy|3Jv%GAw3&;JUx3((ptR7^h<>>UDwbF(&Ni6`|=jZqu0pov}vd zo%O@_54AltQSz$$IOCz4Y0xt<4fhchsf(ngm}1Ax2ozT)4x)MEueZE@ogtUF3bWV* z$Tz#9s##wkC)n5NitegZYwncExnE4WSO~h7lC~+QQ#Tds+HF1sT;E98fZ}#){dw*M z70hN<`32=~+m24wy3|K)RCn#1eEejwF}HA;87Jd&sHZ75TD5<4)31@16;6 z-O1X|kQq0fn{`ov)PA=ttnWX+l9gWZw8SvyL3N?gC#Us9PMUJcgP>6!@upbYFy)q1BZ;U9&k`zzWb1J$pqWzLt!S|#BN zP}D0+BX#tvAHRmJFjhTZdsbPYsNIq=ixOuMIC-k>{r-EAq*1V~z^jrHQ`SrO@5DAL zBk(CUX6IOk^hXo3?Vgk_+f<5-7M<8}kFVFH5|xYPxtY*@vawAd)qa^?L=9J#lq*|f{GH5cK#F8%J)3B3+I}87wt1mNbL4YNZB_M$In%E;kDRFv zyqSM(y_VceQtN$$9zF6pn_1q07u;zrj8ECZ%7`bsx$t{z>exrsWfRbni2I%<-( z@v-vEn-%xA76xtZ^sQ}8-_vKh;%>4u2wDa#-3#U6400d_9`JAguuNu-L z13Yxh$Xn^>2tfFbepR&fto6x9NzfGD9^q(yp3{KBXAi_+!SpeoawaP|Ge^KEKo7H6 zWSkD{q))Jp-i>M%+eXSgE_*!scGM-YCyScN@JMUeV-vnx7>V2 zf)c)pm-;p4xtNB=1rPx(1{d&m4q_+qR$=` zLUoN*%*f~P_@tUzRDG+leUT}CZOe^>p}oz>_+^nvM@L;MDqN%!$V=Z2Q%Vl}%ys`E z>$$n!-nyc`mk-2p9sp+nMWKp-7?(~Y?R)SOX9dgNsIkCZwCS5wN$A-7a_H=3cgVdD zzsji{9h{dVkRVh8APP$bY){6Yp7b?UGgqe6%Dd-eQlKO#CdYE(oOivDqAX9(Jv~%Q zX%}!te=aCA)m5D92FmDR%4DPd+D6)=_GW%PrGiJNtOxFgRezp?tOTFK()sz*CG^=O zoNZVt&1iZpma#8(^nMI8EY??6DJb}3ujOzToII2}Waah}Oqse|oB$;E$`qmI6tKBY zIjIa?#sk9Xc{#UuL<6whIzHQ4nUKa$QO-iimLjbs+|QHMQ^`8Yl}MACoCa-dpX8n{ zQ@A?KDVs51>56fR=Fmgxv7AtS%;xkdw|o8>Lou5U+W=#4*8Zc)BV2r+pg#@G3o9GtQ<)R3{U%Jr_Z@{j+lB9~7H`SkRg=B9{60v#>;?glDd#CO7;O{iFHOs^4G+pJ zT-UbAUduPgJ&kzoEEv)8IkVp0KJ&aK8$*wUS+{tzEJ?>jNnDMbF9tVwN3l3d-J+T_9FPnbtRR@ZCUON_|I?h>(8dut>jUA{Gg7>-y(G zt_5qsQc5HD`H#eUK5BV&jQibd@q$|}(L2|-XI0K7i4p)^wv2Xa7Y_}+6qDGU!s7cP zQ)0M_ff3P){FTWiEy#(_;F8Cna=zwxI95z&60-7`itd(F?$qFFcO|$eF==%w?~4vx zD@GemYUJIrF}OjaPZ~hWcjU1di*V-WC&tsS447>cZ@w_$S(6@V3!TK}FfJ}_LvOAMccEFAf!fyaR8z(FV5*Y^^V2VY)+zcU;x7@>vJ6JE0N`D zckJKtR}ETVxe7P#Hp?NpdmgXEXmmHMz7L*`m5x6A{M;$O8FXX{jA^eSRhB<@UlVG6+&g20xt z1eI{dYN3h=gvqJ%i!;ZwHJ%J~S4>3uzqXET9O;cWI2kUK_&iYV7^_MbUq{+%z{n$& z{)unPJ6#3xQ=Xf)+)-Nd-40XsG*R_}%6UWw{Cu`SBX15YO0R#^ctom`-RX`$G(7J$w-uJO&FZ5O=jrXJQmRC} zzf4Uq`va2!-Q-xK9)@+5Ua6(tGtpz6nN1Aah2ZQ;KA - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index ce60116f634..7b5302824ed 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -1,6 +1,6 @@ + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.sdk-feature/license.html b/features/org.eclipse.tm.terminal.sdk-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.sdk-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.serial-feature/build.properties b/features/org.eclipse.tm.terminal.serial-feature/build.properties index 6c1e50644f2..ec954bc50b0 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/build.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,8 +7,7 @@ # # Contributors: # Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html + feature.properties diff --git a/features/org.eclipse.tm.terminal.serial-feature/epl-v10.html b/features/org.eclipse.tm.terminal.serial-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index c2d51dff017..9f73efec939 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.serial-feature/license.html b/features/org.eclipse.tm.terminal.serial-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.ssh-feature/build.properties b/features/org.eclipse.tm.terminal.ssh-feature/build.properties index ba0e080a990..80806533c4f 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/build.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,8 +7,7 @@ # # Contributors: # Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ############################################################################### bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html + feature.properties diff --git a/features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html b/features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 774680f6a75..33bf431b3ce 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.ssh-feature/license.html b/features/org.eclipse.tm.terminal.ssh-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.telnet-feature/build.properties b/features/org.eclipse.tm.terminal.telnet-feature/build.properties index f3dfb154122..ec954bc50b0 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/build.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,8 +7,7 @@ # # Contributors: # Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html + feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html b/features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 11dd82c70eb..82e6681bc7a 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.telnet-feature/license.html b/features/org.eclipse.tm.terminal.telnet-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.test-feature/build.properties b/features/org.eclipse.tm.terminal.test-feature/build.properties index 1d1df401372..46a8bd01601 100644 --- a/features/org.eclipse.tm.terminal.test-feature/build.properties +++ b/features/org.eclipse.tm.terminal.test-feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2008 IBM Corporation and others. +# Copyright (c) 2005, 2014 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -8,12 +8,10 @@ # Contributors: # IBM Corporation - initial API and implementation # Martin Oberhuber (Wind River) - Adding source plugin for tests +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ############################################################################### bin.includes = feature.xml,\ - feature.properties,\ - epl-v10.html,\ - license.html -src.includes = epl-v10.html,\ - license.html + feature.properties + root=rootfiles generate.plugin@org.eclipse.tm.terminal.test.source=org.eclipse.tm.terminal.test diff --git a/features/org.eclipse.tm.terminal.test-feature/epl-v10.html b/features/org.eclipse.tm.terminal.test-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal.test-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index b4be535d4f9..a352d20b64f 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.test-feature/license.html b/features/org.eclipse.tm.terminal.test-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.test-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - diff --git a/features/org.eclipse.tm.terminal.view-feature/build.properties b/features/org.eclipse.tm.terminal.view-feature/build.properties index 6c1e50644f2..ec954bc50b0 100644 --- a/features/org.eclipse.tm.terminal.view-feature/build.properties +++ b/features/org.eclipse.tm.terminal.view-feature/build.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -7,8 +7,7 @@ # # Contributors: # Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license ################################################################################ bin.includes = feature.xml,\ - epl-v10.html,\ - feature.properties,\ - license.html + feature.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/epl-v10.html b/features/org.eclipse.tm.terminal.view-feature/epl-v10.html deleted file mode 100644 index 9321f4082e7..00000000000 --- a/features/org.eclipse.tm.terminal.view-feature/epl-v10.html +++ /dev/null @@ -1,256 +0,0 @@ - - - - - - -Eclipse Public License - Version 1.0 - - - -

                                  Eclipse Public License - v 1.0

                                  - -

                                  THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE -PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR -DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS -AGREEMENT.

                                  - -

                                  1. DEFINITIONS

                                  - -

                                  "Contribution" means:

                                  - -

                                  a) in the case of the initial Contributor, the initial -code and documentation distributed under this Agreement, and

                                  -

                                  b) in the case of each subsequent Contributor:

                                  -

                                  i) changes to the Program, and

                                  -

                                  ii) additions to the Program;

                                  -

                                  where such changes and/or additions to the Program -originate from and are distributed by that particular Contributor. A -Contribution 'originates' from a Contributor if it was added to the -Program by such Contributor itself or anyone acting on such -Contributor's behalf. Contributions do not include additions to the -Program which: (i) are separate modules of software distributed in -conjunction with the Program under their own license agreement, and (ii) -are not derivative works of the Program.

                                  - -

                                  "Contributor" means any person or entity that distributes -the Program.

                                  - -

                                  "Licensed Patents" mean patent claims licensable by a -Contributor which are necessarily infringed by the use or sale of its -Contribution alone or when combined with the Program.

                                  - -

                                  "Program" means the Contributions distributed in accordance -with this Agreement.

                                  - -

                                  "Recipient" means anyone who receives the Program under -this Agreement, including all Contributors.

                                  - -

                                  2. GRANT OF RIGHTS

                                  - -

                                  a) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free copyright license to reproduce, prepare derivative works -of, publicly display, publicly perform, distribute and sublicense the -Contribution of such Contributor, if any, and such derivative works, in -source code and object code form.

                                  - -

                                  b) Subject to the terms of this Agreement, each -Contributor hereby grants Recipient a non-exclusive, worldwide, -royalty-free patent license under Licensed Patents to make, use, sell, -offer to sell, import and otherwise transfer the Contribution of such -Contributor, if any, in source code and object code form. This patent -license shall apply to the combination of the Contribution and the -Program if, at the time the Contribution is added by the Contributor, -such addition of the Contribution causes such combination to be covered -by the Licensed Patents. The patent license shall not apply to any other -combinations which include the Contribution. No hardware per se is -licensed hereunder.

                                  - -

                                  c) Recipient understands that although each Contributor -grants the licenses to its Contributions set forth herein, no assurances -are provided by any Contributor that the Program does not infringe the -patent or other intellectual property rights of any other entity. Each -Contributor disclaims any liability to Recipient for claims brought by -any other entity based on infringement of intellectual property rights -or otherwise. As a condition to exercising the rights and licenses -granted hereunder, each Recipient hereby assumes sole responsibility to -secure any other intellectual property rights needed, if any. For -example, if a third party patent license is required to allow Recipient -to distribute the Program, it is Recipient's responsibility to acquire -that license before distributing the Program.

                                  - -

                                  d) Each Contributor represents that to its knowledge it -has sufficient copyright rights in its Contribution, if any, to grant -the copyright license set forth in this Agreement.

                                  - -

                                  3. REQUIREMENTS

                                  - -

                                  A Contributor may choose to distribute the Program in object code -form under its own license agreement, provided that:

                                  - -

                                  a) it complies with the terms and conditions of this -Agreement; and

                                  - -

                                  b) its license agreement:

                                  - -

                                  i) effectively disclaims on behalf of all Contributors -all warranties and conditions, express and implied, including warranties -or conditions of title and non-infringement, and implied warranties or -conditions of merchantability and fitness for a particular purpose;

                                  - -

                                  ii) effectively excludes on behalf of all Contributors -all liability for damages, including direct, indirect, special, -incidental and consequential damages, such as lost profits;

                                  - -

                                  iii) states that any provisions which differ from this -Agreement are offered by that Contributor alone and not by any other -party; and

                                  - -

                                  iv) states that source code for the Program is available -from such Contributor, and informs licensees how to obtain it in a -reasonable manner on or through a medium customarily used for software -exchange.

                                  - -

                                  When the Program is made available in source code form:

                                  - -

                                  a) it must be made available under this Agreement; and

                                  - -

                                  b) a copy of this Agreement must be included with each -copy of the Program.

                                  - -

                                  Contributors may not remove or alter any copyright notices contained -within the Program.

                                  - -

                                  Each Contributor must identify itself as the originator of its -Contribution, if any, in a manner that reasonably allows subsequent -Recipients to identify the originator of the Contribution.

                                  - -

                                  4. COMMERCIAL DISTRIBUTION

                                  - -

                                  Commercial distributors of software may accept certain -responsibilities with respect to end users, business partners and the -like. While this license is intended to facilitate the commercial use of -the Program, the Contributor who includes the Program in a commercial -product offering should do so in a manner which does not create -potential liability for other Contributors. Therefore, if a Contributor -includes the Program in a commercial product offering, such Contributor -("Commercial Contributor") hereby agrees to defend and -indemnify every other Contributor ("Indemnified Contributor") -against any losses, damages and costs (collectively "Losses") -arising from claims, lawsuits and other legal actions brought by a third -party against the Indemnified Contributor to the extent caused by the -acts or omissions of such Commercial Contributor in connection with its -distribution of the Program in a commercial product offering. The -obligations in this section do not apply to any claims or Losses -relating to any actual or alleged intellectual property infringement. In -order to qualify, an Indemnified Contributor must: a) promptly notify -the Commercial Contributor in writing of such claim, and b) allow the -Commercial Contributor to control, and cooperate with the Commercial -Contributor in, the defense and any related settlement negotiations. The -Indemnified Contributor may participate in any such claim at its own -expense.

                                  - -

                                  For example, a Contributor might include the Program in a commercial -product offering, Product X. That Contributor is then a Commercial -Contributor. If that Commercial Contributor then makes performance -claims, or offers warranties related to Product X, those performance -claims and warranties are such Commercial Contributor's responsibility -alone. Under this section, the Commercial Contributor would have to -defend claims against the other Contributors related to those -performance claims and warranties, and if a court requires any other -Contributor to pay any damages as a result, the Commercial Contributor -must pay those damages.

                                  - -

                                  5. NO WARRANTY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS -PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS -OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, -ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY -OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely -responsible for determining the appropriateness of using and -distributing the Program and assumes all risks associated with its -exercise of rights under this Agreement , including but not limited to -the risks and costs of program errors, compliance with applicable laws, -damage to or loss of data, programs or equipment, and unavailability or -interruption of operations.

                                  - -

                                  6. DISCLAIMER OF LIABILITY

                                  - -

                                  EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT -NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING -WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR -DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED -HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

                                  - -

                                  7. GENERAL

                                  - -

                                  If any provision of this Agreement is invalid or unenforceable under -applicable law, it shall not affect the validity or enforceability of -the remainder of the terms of this Agreement, and without further action -by the parties hereto, such provision shall be reformed to the minimum -extent necessary to make such provision valid and enforceable.

                                  - -

                                  If Recipient institutes patent litigation against any entity -(including a cross-claim or counterclaim in a lawsuit) alleging that the -Program itself (excluding combinations of the Program with other -software or hardware) infringes such Recipient's patent(s), then such -Recipient's rights granted under Section 2(b) shall terminate as of the -date such litigation is filed.

                                  - -

                                  All Recipient's rights under this Agreement shall terminate if it -fails to comply with any of the material terms or conditions of this -Agreement and does not cure such failure in a reasonable period of time -after becoming aware of such noncompliance. If all Recipient's rights -under this Agreement terminate, Recipient agrees to cease use and -distribution of the Program as soon as reasonably practicable. However, -Recipient's obligations under this Agreement and any licenses granted by -Recipient relating to the Program shall continue and survive.

                                  - -

                                  Everyone is permitted to copy and distribute copies of this -Agreement, but in order to avoid inconsistency the Agreement is -copyrighted and may only be modified in the following manner. The -Agreement Steward reserves the right to publish new versions (including -revisions) of this Agreement from time to time. No one other than the -Agreement Steward has the right to modify this Agreement. The Eclipse -Foundation is the initial Agreement Steward. The Eclipse Foundation may -assign the responsibility to serve as the Agreement Steward to a -suitable separate entity. Each new version of the Agreement will be -given a distinguishing version number. The Program (including -Contributions) may always be distributed subject to the version of the -Agreement under which it was received. In addition, after a new version -of the Agreement is published, Contributor may elect to distribute the -Program (including its Contributions) under the new version. Except as -expressly stated in Sections 2(a) and 2(b) above, Recipient receives no -rights or licenses to the intellectual property of any Contributor under -this Agreement, whether expressly, by implication, estoppel or -otherwise. All rights in the Program not expressly granted under this -Agreement are reserved.

                                  - -

                                  This Agreement is governed by the laws of the State of New York and -the intellectual property laws of the United States of America. No party -to this Agreement will bring a legal action under this Agreement more -than one year after the cause of action arose. Each party waives its -rights to a jury trial in any resulting litigation.

                                  - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 58b321378d0..e30280e2ecf 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -1,6 +1,6 @@ + provider-name="%providerName" + license-feature="org.eclipse.license" + license-feature-version="1.0.1.qualifier"> %description diff --git a/features/org.eclipse.tm.terminal.view-feature/license.html b/features/org.eclipse.tm.terminal.view-feature/license.html deleted file mode 100644 index f19c483b9c8..00000000000 --- a/features/org.eclipse.tm.terminal.view-feature/license.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - - -Eclipse Foundation Software User Agreement - - - -

                                  Eclipse Foundation Software User Agreement

                                  -

                                  February 1, 2011

                                  - -

                                  Usage Of Content

                                  - -

                                  THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS - (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND - CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE - OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR - NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND - CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.

                                  - -

                                  Applicable Licenses

                                  - -

                                  Unless otherwise indicated, all Content made available by the Eclipse Foundation is provided to you under the terms and conditions of the Eclipse Public License Version 1.0 - ("EPL"). A copy of the EPL is provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html. - For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code - repository ("Repository") in software modules ("Modules") and made available as downloadable archives ("Downloads").

                                  - -
                                    -
                                  • Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"), plug-in fragments ("Fragments"), and features ("Features").
                                  • -
                                  • Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java™ ARchive) in a directory named "plugins".
                                  • -
                                  • A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Each Feature may be packaged as a sub-directory in a directory named "features". Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of the Plug-ins - and/or Fragments associated with that Feature.
                                  • -
                                  • Features may also include other Features ("Included Features"). Within a Feature, files named "feature.xml" may contain a list of the names and version numbers of Included Features.
                                  • -
                                  - -

                                  The terms and conditions governing Plug-ins and Fragments should be contained in files named "about.html" ("Abouts"). The terms and conditions governing Features and -Included Features should be contained in files named "license.html" ("Feature Licenses"). Abouts and Feature Licenses may be located in any directory of a Download or Module -including, but not limited to the following locations:

                                  - -
                                    -
                                  • The top-level (root) directory
                                  • -
                                  • Plug-in and Fragment directories
                                  • -
                                  • Inside Plug-ins and Fragments packaged as JARs
                                  • -
                                  • Sub-directories of the directory named "src" of certain Plug-ins
                                  • -
                                  • Feature directories
                                  • -
                                  - -

                                  Note: if a Feature made available by the Eclipse Foundation is installed using the Provisioning Technology (as defined below), you must agree to a license ("Feature Update License") during the -installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or -inform you where you can locate them. Feature Update Licenses may be found in the "license" property of files named "feature.properties" found within a Feature. -Such Abouts, Feature Licenses, and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in -that directory.

                                  - -

                                  THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS. SOME OF THESE -OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):

                                  - - - -

                                  IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License is provided, please -contact the Eclipse Foundation to determine what terms and conditions govern that particular Content.

                                  - - -

                                  Use of Provisioning Technology

                                  - -

                                  The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse - Update Manager ("Provisioning Technology") for the purpose of allowing users to install software, documentation, information and/or - other materials (collectively "Installable Software"). This capability is provided with the intent of allowing such users to - install, extend and update Eclipse-based products. Information about packaging Installable Software is available at http://eclipse.org/equinox/p2/repository_packaging.html - ("Specification").

                                  - -

                                  You may use Provisioning Technology to allow other parties to install Installable Software. You shall be responsible for enabling the - applicable license agreements relating to the Installable Software to be presented to, and accepted by, the users of the Provisioning Technology - in accordance with the Specification. By using Provisioning Technology in such a manner and making it available in accordance with the - Specification, you further acknowledge your agreement to, and the acquisition of all necessary rights to permit the following:

                                  - -
                                    -
                                  1. A series of actions may occur ("Provisioning Process") in which a user may execute the Provisioning Technology - on a machine ("Target Machine") with the intent of installing, extending or updating the functionality of an Eclipse-based - product.
                                  2. -
                                  3. During the Provisioning Process, the Provisioning Technology may cause third party Installable Software or a portion thereof to be - accessed and copied to the Target Machine.
                                  4. -
                                  5. Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable - Software ("Installable Software Agreement") and such Installable Software Agreement shall be accessed from the Target - Machine in accordance with the Specification. Such Installable Software Agreement must inform the user of the terms and conditions that govern - the Installable Software and must solicit acceptance by the end user in the manner prescribed in such Installable Software Agreement. Upon such - indication of agreement by the user, the provisioning Technology will complete installation of the Installable Software.
                                  6. -
                                  - -

                                  Cryptography

                                  - -

                                  Content may contain encryption software. The country in which you are currently may have restrictions on the import, possession, and use, and/or re-export to - another country, of encryption software. BEFORE using any encryption software, please check the country's laws, regulations and policies concerning the import, - possession, or use, and re-export of encryption software, to see if this is permitted.

                                  - -

                                  Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.

                                  - - From 584a99aecda25c8d3ac4efcd7b075bf1bd872672 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 16 May 2014 23:59:02 +0200 Subject: [PATCH 547/843] Terminal: Bug 434939 - Keybinding conflicts when installing into JEE The "Alt+V" key binding reported an error when installed into the Eclipse JEE package. This is resolved by making our TerminalContext a child of the Eclipse Window context. At the same time, provide better human-readable labels for the Terminal Edit Context (menu on Terminal Widget) and Terminal Typing Context. And, register more Alt+Char key bindings after carefully reviewing existing Eclipse Main Menus, shortcuts and expected readline support. Change-Id: I91c932cce428f7a7a3fa829d7776baa135474330 Signed-off-by: Martin Oberhuber --- .../org.eclipse.tm.terminal/plugin.properties | 7 +++- plugins/org.eclipse.tm.terminal/plugin.xml | 39 ++++++++++++++++--- .../emulator/VT100TerminalControl.java | 8 ++++ 3 files changed, 46 insertions(+), 8 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties index c19e3036171..c239a2a2bd2 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal/plugin.properties @@ -21,8 +21,11 @@ pluginName = Target Management Terminal Widget providerName = Eclipse TM Project -terminal.context.name=Terminal widget context -terminal.context.description=Override ALT+x menu access keys +terminal.context.name.edit=Terminal Widget in Focus +terminal.context.description.edit=Show modified keyboard shortcuts in context menu + +terminal.context.name.terminal=Terminal Typing Connected +terminal.context.description.terminal=Override ALT+x menu access keys while typing into the Terminal terminal.insertion.description=Terminal view insertion terminal.insertion.name=Terminal view insert diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 23fb0e4502c..e1dd04d0e2c 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -14,18 +14,20 @@ # Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget # Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND # Martin Oberhuber (Wind River) - [434487] Add key bindings for "maximize view" and "quick access" +# Martin Oberhuber (Wind River) - [434939] Fix Keybinding conflicts with JEE Luna package --> @@ -72,6 +74,21 @@ contextId="org.eclipse.tm.terminal.TerminalContext" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="Alt+A"/> + + + + sequence="Alt+G"/> + + sequence="Alt+P"/> + + + + + + diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 58f17c21318..6f54de48e44 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -24,8 +24,7 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer } public void initializeDefaultPreferences() { - //DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); + IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); migrateTerminalPreferences(); @@ -36,10 +35,10 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer */ public static void migrateTerminalPreferences() { //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - IEclipsePreferences prefs = new InstanceScope().getNode(TerminalPlugin.PLUGIN_ID); + IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); - PreferenceModifyListener.migrateTerminalPreferences(new InstanceScope().getNode("")); //$NON-NLS-1$ + PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ } } From 8293ee73c055715fcde0f49186ec3a67157d5540 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 4 Jun 2014 19:09:17 +0200 Subject: [PATCH 553/843] Bug 436612 - Restore Terminal compatibility with Eclipse 3.4 - Restore Terminal "core" compatibility with Eclipse down to 3.4 - Correctly mark the terminal "local" dependency on Eclipse 3.6 --- .../META-INF/MANIFEST.MF | 2 +- .../terminal/emulator/VT100TerminalControl.java | 15 ++++++++++++++- .../TerminalPreferenceInitializer.java | 14 ++++++++++---- 3 files changed, 25 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index b90ada37d6e..ad5a366b676 100644 --- a/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Bundle-Vendor: %providerName Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)", org.eclipse.core.runtime, - org.eclipse.debug.core, + org.eclipse.debug.core;bundle-version="3.6", org.eclipse.debug.ui, org.eclipse.jface, org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index de4045cbc69..95e36b11ca1 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -36,6 +36,7 @@ * Anton Leherbauer (Wind River) - [434294] Incorrect handling of function keys with modifiers * Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND * Anton Leherbauer (Wind River) - [434749] UnhandledEventLoopException when copying to clipboard while the selection is empty + * Martin Oberhuber (Wind River) - [436612] Restore Eclipse 3.4 compatibility by using Reflection *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -43,6 +44,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; import java.net.SocketException; import org.eclipse.core.commands.ExecutionException; @@ -1172,7 +1174,18 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC cmdEvent.widget = event.widget; cmdEvent.character = event.character; cmdEvent.keyCode = event.keyCode; - cmdEvent.keyLocation = event.keyLocation; + ////Bug - KeyEvent.keyLocation was introduced in Eclipse 3.6 + ////Use reflection for now to remain backward compatible down to Eclipse 3.4 + //cmdEvent.keyLocation = event.keyLocation; + try { + Field f1 = event.getClass().getField("keyLocation"); //$NON-NLS-1$ + Field f2 = cmdEvent.getClass().getField("keyLocation"); //$NON-NLS-1$ + f2.set(cmdEvent, f1.get(event)); + } catch(NoSuchFieldException nsfe) { + /* ignore, this is Eclipse 3.5 or earlier */ + } catch(Throwable t) { + t.printStackTrace(); + } cmdEvent.stateMask = event.stateMask; event.doit = false; try { diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 6f54de48e44..0a1ff32ac4e 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + * Martin Oberhuber (Wind River) - [436612] Restore Eclipse 3.4 compatibility *******************************************************************************/ package org.eclipse.tm.internal.terminal.preferences; @@ -24,7 +25,9 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer } public void initializeDefaultPreferences() { - IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + //DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + //IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); migrateTerminalPreferences(); @@ -35,10 +38,13 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer */ public static void migrateTerminalPreferences() { //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + //IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); + IEclipsePreferences prefs = new InstanceScope().getNode(TerminalPlugin.PLUGIN_ID); if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); - PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ + //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back + //PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ + PreferenceModifyListener.migrateTerminalPreferences(new InstanceScope().getNode("")); //$NON-NLS-1$ } } From 2cdbba52bab9aa699b5809f3623a90d542fbb90f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 6 Jun 2014 11:05:49 +0200 Subject: [PATCH 554/843] Terminal: Remove invalid assertion. Was commented out for a long time but accidently reenabled by commit eacc6dd5ba54b93297f1218cf43e4d1df284ffd1 --- .../tm/internal/terminal/model/TerminalTextDataWindow.java | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java index ebfa656d283..583318a1888 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java @@ -165,7 +165,6 @@ public class TerminalTextDataWindow implements ITerminalTextData { fMaxHeight=height; } public void setWindow(int startLine, int size) { - assert startLine+size<=getHeight()||throwRuntimeException(); fWindowStartLine=startLine; fWindowSize=size; fData.setDimensions(fWindowSize, getWidth()); From f8dc22672e425b6c10ad438c8f9e4f16d8eaabe5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 2 Jul 2014 08:03:21 +0200 Subject: [PATCH 555/843] Fix Bug 435360 - [TERMINALS] [CSS] [Dark] Terminal view should integrate well into the Eclipse dark theme --- .../css/org.eclipse.tm.terminal.stylesheet.dark.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css b/plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css index cd50b799e79..8e7cba8c5b2 100644 --- a/plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css +++ b/plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css @@ -9,7 +9,7 @@ * Lars Vogel - initial API and implementation ******************************************************************************/ -IEclipsePreferences { +IEclipsePreferences#org-eclipse-tm-terminal { preferences: "TerminalPrefInvertColors=true" } From 4824f785c55cebc3801518c8169147f0963c946c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 3 Jul 2014 10:48:30 +0200 Subject: [PATCH 556/843] Releng: Uprev o.e.tm.terminal plug-in and releated features --- features/org.eclipse.tm.terminal-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/feature.xml | 4 ++-- .../org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.test-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 15 files changed, 28 insertions(+), 28 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index 2de575913a9..a246ac6dd44 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,8 +32,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 93f8c5b6091..69271374f86 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.300.qualifier + 3.2.400.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index cfe8c5b4d5d..83ecbe15e11 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,8 +31,8 @@ - - + + org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.300.qualifier + 3.3.400.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 4e16b57b006..03dc1e8dbbf 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -32,8 +32,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 2f8b42affab..bf5ff255c2e 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -32,8 +32,8 @@ - - + + @@ -32,8 +32,8 @@ - - + + org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.300.qualifier + 3.3.400.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index 9f73efec939..5f125c73fee 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 33bf431b3ce..0e5de69b520 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 82e6681bc7a..924a93a9e91 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index a352d20b64f..582c78ea22e 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index e30280e2ecf..cb0e3f09c4b 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -32,8 +32,8 @@ - - + + diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 115ffe45d51..19d3c814b4e 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.300.qualifier +Bundle-Version: 3.2.400.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 4af47f5b8d3..517e362fcf2 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.300.qualifier + 3.2.400.qualifier eclipse-plugin From 4caa36f595efec584c19bb415c6ec42d95beeda3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 4 Jul 2014 09:01:03 +0200 Subject: [PATCH 557/843] Releng: Fix version numbers --- features/org.eclipse.tm.terminal-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index a246ac6dd44..f469cdf27bf 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 69271374f86..07f226c8d34 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.400.qualifier + 3.2.301.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 83ecbe15e11..833977c9bd4 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 51103214443..6434f03bd4e 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.400.qualifier + 3.3.301.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index c857515f844..83081faf852 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 2bb2c6455e4..8d2cf21ea74 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.400.qualifier + 3.3.301.qualifier eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 19d3c814b4e..afaabe2c76e 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.400.qualifier +Bundle-Version: 3.2.301.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 517e362fcf2..ceed05b4adf 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.400.qualifier + 3.2.301.qualifier eclipse-plugin From 7e1a691c02803c796ea6f512bfa1da93177004b4 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Mon, 21 Jul 2014 09:18:10 -0400 Subject: [PATCH 558/843] Update feature versions to 3.6.1. Disable jgit qualifiers for features. Change-Id: I13ae83ce235e395f8db1bc0fa1dac1ee10cb14bb Signed-off-by: Greg Watson --- .../org.eclipse.tm.terminal-feature/feature.xml | 2 +- .../org.eclipse.tm.terminal-feature/pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../org.eclipse.tm.terminal.sdk-feature/pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../org.eclipse.tm.terminal.ssh-feature/pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- .../feature.xml | 2 +- .../pom.xml | 17 ++++++++++++++++- 20 files changed, 170 insertions(+), 20 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index f469cdf27bf..89d2c0dbce0 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 07f226c8d34..3b5f2548cdb 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.2.301.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 833977c9bd4..f02647d0812 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 6434f03bd4e..43485d98b75 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.3.301.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 03dc1e8dbbf..b8d56f6212e 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index ceacdfbd019..0e0f050a87e 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 0.2.300.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index bf5ff255c2e..6a3a3b74015 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 124b1b2a7b1..50081855ce6 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 0.3.100.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 83081faf852..a70f5a9ea76 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 8d2cf21ea74..863293c3650 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.3.301.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index 5f125c73fee..01f5889e74d 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 5189aa953fd..83890ae7295 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.serial - 2.1.300.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 0e5de69b520..27e7f08d948 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 95aaf1c561b..ad27909c100 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 2.1.300.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 924a93a9e91..de9b38755f1 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index 79b3e89ca3f..cb5bf56cec5 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 2.1.300.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index 582c78ea22e..b7156025af6 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 5a22c01ddf7..bb0c74b46c8 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 2.1.100.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index cb0e3f09c4b..3371b38c9c8 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index 6a4956f47e6..a74df51b22f 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,6 +10,21 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 2.4.100.qualifier + 3.6.1.qualifier eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + From 73771f8112af22f849386f8cd890abe76543779a Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 23 Sep 2014 11:46:16 +0200 Subject: [PATCH 559/843] Terminal: Bug 435119 - Make the Alt+Up / Alt+Right keyboard shortcuts discoverable --- .../org.eclipse.tm.terminal-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 2 +- .../org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/plugin.properties | 4 +++- plugins/org.eclipse.tm.terminal/plugin.xml | 15 +++++++++++++-- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 10 files changed, 24 insertions(+), 11 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index 89d2c0dbce0..d227a5f0a0a 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 3b5f2548cdb..c012929912b 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index f02647d0812..ad8394363fc 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 43485d98b75..ec5e20b489e 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index a70f5a9ea76..1cd7ba752bf 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 863293c3650..b634951649e 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index afaabe2c76e..19d3c814b4e 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.301.qualifier +Bundle-Version: 3.2.400.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal/plugin.properties index c239a2a2bd2..6db51558ef0 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2012, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -34,6 +34,8 @@ terminal.view.insertion.description = Terminal view commands terminal.command.copy.name=Copy terminal.command.paste.name=Paste +terminal.command.maximize.name=Maximize Active View or Editor +terminal.command.quickaccess.name=Quick Access terminal.preferences.name = Terminal terminal.font.description = The font for the terminal console. diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index d9ea23975d4..1ec047e252e 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -50,6 +50,15 @@ categoryId="org.eclipse.tm.terminal.category1" id="org.eclipse.tm.terminal.paste" name="%terminal.command.paste.name"/> + + + + + diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index ceed05b4adf..517e362fcf2 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.301.qualifier + 3.2.400.qualifier eclipse-plugin From b7971bec864ea7a78f851767630bfe42a62c93aa Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 17 Nov 2014 07:33:00 +0100 Subject: [PATCH 560/843] Releng: Update update site URL's to point to 3.7 update site --- features/org.eclipse.tm.terminal-feature/feature.xml | 4 ++-- .../org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.local-feature/feature.xml | 4 ++-- .../org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 6 +++--- features/org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.test-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- 10 files changed, 21 insertions(+), 21 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index d227a5f0a0a..8b1c5ecaa4b 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -32,8 +32,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index ad8394363fc..88971bfb17e 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -31,8 +31,8 @@ - - + + - - + + diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 6a3a3b74015..ebeadfee056 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -32,8 +32,8 @@ - - + + @@ -32,8 +32,8 @@ - - + + - - + + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 27e7f08d948..ea29a02864d 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index de9b38755f1..481442d4eb8 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index b7156025af6..bcdeffa8eed 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -31,8 +31,8 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 3371b38c9c8..992b5aac51c 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -32,8 +32,8 @@ - - + + From 126526af065c2b1da4ce944d0676741a2159994d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 17 Nov 2014 07:37:48 +0100 Subject: [PATCH 561/843] Terminal: Remove the old SDK feature, which includes the deprecated "Terminal" view from the repository. --- .../feature.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties index cccf60bc91a..95175d58f99 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -25,7 +25,7 @@ plug-ins for Serial, SSH and Telnet connections. Includes Source Code. providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ From 9ad02d9349832ee6e0f62fb20ff0c948078721d6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 17 Nov 2014 17:54:48 +0100 Subject: [PATCH 562/843] Releng: Fix feature versions in master branch --- features/org.eclipse.tm.terminal-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index 8b1c5ecaa4b..b387aa510c2 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index c012929912b..4180511ff6a 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.6.100.qualifier + 3.6.101.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 88971bfb17e..ff1804f8221 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index ec5e20b489e..f02937614c0 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.6.100.qualifier + 3.6.101.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 982476c1d08..baaddedef7f 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index 0e0f050a87e..2860c1b10f4 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index ebeadfee056..2e4ce073eb9 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 50081855ce6..1e16c2d5e24 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 5b8d7c918b8..131ba4a8d39 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index b634951649e..6348b01a053 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.6.100.qualifier + 3.6.101.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index f47fcf6c435..71fcdb6dc04 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 83890ae7295..4a970a62f49 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.serial - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index ea29a02864d..d6ab82db36c 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index ad27909c100..cd72322f8b2 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 481442d4eb8..85ca0f523a7 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index cb5bf56cec5..025c708bbf2 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index bcdeffa8eed..ab53b53b4d3 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index bb0c74b46c8..6f7d25493bb 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 992b5aac51c..4c8b0b9d331 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index a74df51b22f..96f1d452834 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 3.6.1.qualifier + 3.6.100.qualifier eclipse-feature From c9818b7785b48b46dd3fe50bf2cc1d91e83c91d6 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Tue, 18 Nov 2014 11:50:26 -0600 Subject: [PATCH 563/843] Update feature versions to 3.7.0 Change-Id: I4bb2b4aa14b93544f189a108728730a67a93c136 Signed-off-by: Greg Watson --- features/org.eclipse.tm.terminal-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index b387aa510c2..2234544d1fb 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 4180511ff6a..fb734e67f5b 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.6.101.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index ff1804f8221..11578877e5d 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index f02937614c0..e59f91977be 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.6.101.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index baaddedef7f..8c58ff35dac 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index 2860c1b10f4..f08289b69dd 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 2e4ce073eb9..45716fbb3a4 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 1e16c2d5e24..31bbd129b75 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 131ba4a8d39..5b8d7c918b8 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 6348b01a053..6827936c74a 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.6.101.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index 71fcdb6dc04..84c9fcd210a 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 4a970a62f49..839c76b161a 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.serial - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index d6ab82db36c..e2d51b3d8b4 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index cd72322f8b2..464450b9c27 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 85ca0f523a7..8b7b79724a6 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index 025c708bbf2..fba13dc2c2f 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index ab53b53b4d3..e0e25bd0a4a 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 6f7d25493bb..884ce180a0c 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 4c8b0b9d331..33cae33d036 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -14,7 +14,7 @@ diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index 96f1d452834..cd46cab43f6 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 3.6.100.qualifier + 3.7.0.qualifier eclipse-feature From 39f8017e3dbda4806d3b37a169595686459188a0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 16 Dec 2014 11:04:27 +0100 Subject: [PATCH 564/843] Terminal: Mark all deprecated features as (Deprecated) via their feature names and fix the version ID in the TM update site name --- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 12 +++++++----- .../feature.properties | 12 +++++++----- .../feature.properties | 12 +++++++----- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../sourceTemplateFeature/feature.properties | 2 +- .../feature.properties | 2 +- .../feature.properties | 10 ++++++---- .../sourceTemplateFeature/feature.properties | 12 +++++++----- .../org.eclipse.tm.terminal.view/about.properties | 4 ++-- .../org.eclipse.tm.terminal.view/plugin.properties | 4 ++-- 16 files changed, 47 insertions(+), 37 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.properties b/features/org.eclipse.tm.terminal-feature/feature.properties index 76d4220c4b5..fb2c19a00fc 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.properties +++ b/features/org.eclipse.tm.terminal-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties index cf408dcf5a8..af36110a80d 100644 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Widget Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget. diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.properties b/features/org.eclipse.tm.terminal.local-feature/feature.properties index fe4fd1a2e41..90a5aa59467 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.local-feature/feature.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2013 Mirko Raner and others. +# Copyright (c) 2008, 2014 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,21 +16,23 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Local Terminal (Incubation) +featureName=Local Terminal (Deprecated) # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. +Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2008, 2013 Mirko Raner and others.\n\ +Copyright (c) 2008, 2014 Mirko Raner and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties index 4284998b4cb..531aa31338e 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties @@ -1,5 +1,5 @@ #################################################################################################### -# Copyright (c) 2008, 2013 Mirko Raner and others. +# Copyright (c) 2008, 2014 Mirko Raner and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -16,22 +16,24 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Local Terminal SDK (Incubation) +featureName=Local Terminal SDK (Deprecated) # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A terminal emulation for local shells and external tools.\n\ Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source,\ -and the Terminal View required to drive the plugin. +and the Terminal View required to drive the plugin.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2008, 2013 Mirko Raner and others.\n\ +Copyright (c) 2008, 2014 Mirko Raner and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.sdk-feature/feature.properties index bd23f56c4e7..4d52ee3a86c 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,21 +15,23 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal +featureName=Target Management Terminal (Deprecated) # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal including \ -plug-ins for Serial, SSH and Telnet connections. Includes Source Code. +plug-ins for Serial, SSH and Telnet connections. Includes Source Code.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2014 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/feature.properties index a6a477dfe73..7def3abf561 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Serial Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties index 5abb87f6cd4..e2c2abe8d81 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Serial Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties index 9d10cf376e5..2297493da30 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties index 70727c1a91d..63809d638d4 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal SSH Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties index f2a3629ec18..40821dfaa52 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties index c15c856deec..38e216289fc 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Telnet Connector Source providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.properties b/features/org.eclipse.tm.terminal.test-feature/feature.properties index 09a42466318..8a8bc026157 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.test-feature/feature.properties @@ -21,7 +21,7 @@ featureName=Target Management Terminal Unit Tests providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature description=TM Terminal Unit Tests. Includes Source. diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/feature.properties index 44187fc853a..0a6e4bdc5e7 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view-feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,16 +15,18 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal View +featureName=Target Management Terminal View (Deprecated) # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature -description=An Eclipse Workbench standalone view for the Terminal widget. +description=An Eclipse Workbench standalone view for the Terminal widget.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties index 3682cb42a5e..7fec3cf2fbd 100644 --- a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties +++ b/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,20 +15,22 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal View Source +featureName=Target Management Terminal View Source (Deprecated) # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project # "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.5 Updates +tmUpdateSiteName=Target Management 3.7 Updates # "description" property - description of the feature -description=An Eclipse Workbench standalone view for the Terminal widget. +description=An Eclipse Workbench standalone view for the Terminal widget.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2014 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/plugins/org.eclipse.tm.terminal.view/about.properties b/plugins/org.eclipse.tm.terminal.view/about.properties index 80d86be3092..ade0260762d 100644 --- a/plugins/org.eclipse.tm.terminal.view/about.properties +++ b/plugins/org.eclipse.tm.terminal.view/about.properties @@ -16,10 +16,10 @@ # # Do not translate any values surrounded by {} -blurb=Target Management Terminal View\n\ +blurb=Target Management Terminal View (Deprecated)\n\ \n\ Version: {featureVersion}\n\ Build id: {0}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2014. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.view/plugin.properties b/plugins/org.eclipse.tm.terminal.view/plugin.properties index d2d0bfc8108..a5e6493ad7f 100644 --- a/plugins/org.eclipse.tm.terminal.view/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view/plugin.properties @@ -1,5 +1,5 @@ ########################################################################## -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2014 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -15,7 +15,7 @@ # Martin Oberhuber (Wind River) - fixed copyright headers and beautified # Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget ########################################################################## -pluginName = Target Management Terminal View +pluginName = Target Management Terminal View (Deprecated) providerName = Eclipse TM Project terminal.views.category.name = Terminal terminal.views.view.name = Terminal From d2afa509526454dd0cfc1ad6bba057110a1be7d6 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 27 Nov 2014 17:01:26 +0100 Subject: [PATCH 565/843] Bug 453393 - Add support for copying wrapped lines without line break Change-Id: Id4e836854bffd4f58243018e240cac917bb04c73 Signed-off-by: Anton Leherbauer --- .../feature.xml | 2 +- .../feature.xml | 2 +- .../feature.xml | 2 +- .../feature.xml | 2 +- .../feature.xml | 2 +- .../feature.xml | 2 +- .../META-INF/MANIFEST.MF | 4 +- plugins/org.eclipse.tm.terminal.local/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 4 +- .../org.eclipse.tm.terminal.serial/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 4 +- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 2 +- .../internal/terminal/ssh/SshConnection.java | 7 ++- .../META-INF/MANIFEST.MF | 4 +- .../org.eclipse.tm.terminal.telnet/pom.xml | 2 +- .../terminal/telnet/TelnetConnector.java | 5 +- .../terminal/telnet/TelnetOption.java | 11 ++-- .../META-INF/MANIFEST.MF | 4 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../emulator/VT100EmulatorBackendTest.java | 52 ++++++++++++++++++- .../model/AbstractITerminalTextDataTest.java | 19 ++++++- .../model/TerminalTextDataWindowTest.java | 15 +++++- .../META-INF/MANIFEST.MF | 4 +- plugins/org.eclipse.tm.terminal.view/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- .../emulator/VT100EmulatorBackend.java | 19 ++++--- .../model/SynchronizedTerminalTextData.java | 9 +++- .../terminal/model/TerminalTextData.java | 11 +++- .../model/TerminalTextDataFastScroll.java | 11 +++- .../model/TerminalTextDataSnapshot.java | 6 ++- .../terminal/model/TerminalTextDataStore.java | 29 +++++++---- .../model/TerminalTextDataWindow.java | 12 ++++- .../textcanvas/AbstractTextCanvasModel.java | 2 +- .../tm/terminal/model/ITerminalTextData.java | 26 ++++------ .../model/ITerminalTextDataReadOnly.java | 13 ++++- 36 files changed, 222 insertions(+), 77 deletions(-) diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 8c58ff35dac..65fbbc4272e 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -43,7 +43,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index 84c9fcd210a..d7939c87a65 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -38,7 +38,7 @@ - + - + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index 8b7b79724a6..a4f39c1252a 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -38,7 +38,7 @@ - + - + diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index 33cae33d036..c540c0a6e8b 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -39,7 +39,7 @@ - + org.eclipse.tm org.eclipse.tm.terminal.local - 0.2.200.qualifier + 0.2.300.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 5c007ac824b..af62eba6bc0 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.1.300.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index aff58b57e08..ee07be1d72f 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.serial - 2.1.300.qualifier + 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 55ab410df43..cfbb357f8a4 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,12 +2,12 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.1.300.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index 9f8f166a77f..a2e94c12539 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.ssh - 2.1.300.qualifier + 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java index 38d9608cbad..8bf6f2879d7 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -20,6 +20,7 @@ * Michael Scharf (Wind River) - 240420: [terminal][ssh]Channel is not closed when the connection is closed with the close button * Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting * Andrei Sobolev (Xored) - [250456] Ssh banner message causes IllegalArgumentException popup + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; @@ -137,7 +138,9 @@ class SshConnection extends Thread { if(!isSessionConnected()) return; ChannelShell channel=(ChannelShell) session.openChannel("shell"); //$NON-NLS-1$ - channel.setPtyType("ansi"); //$NON-NLS-1$ + channel.setPtyType("xterm"); //$NON-NLS-1$ + // TERM=xterm implies VT100 line wrapping mode + fControl.setVT100LineWrapping(true); channel.connect(); // maybe the terminal was disconnected while we were connecting diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 44fb88a1e38..f3aea71b33b 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -2,11 +2,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.1.300.qualifier +Bundle-Version: 2.1.400.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)" + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index 559d057d767..018e59a1f82 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal.telnet - 2.1.300.qualifier + 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index d9e57a07039..0fde60e53aa 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,7 @@ * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl * Sean Adams (Cisco) - [231959][terminal][telnet] NPE in TelnetConnector.java * David Sciamma (Anyware-Tech) - [288254][telnet] local echo is always disabled + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -50,6 +51,8 @@ public class TelnetConnector extends TerminalConnectorImpl { super.connect(control); fWidth=-1; fHeight=-1; + // TERM=xterm implies VT100 line wrapping mode + control.setVT100LineWrapping(true); TelnetConnectWorker worker = new TelnetConnectWorker(this,control); worker.start(); } diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java index 76596a4308f..835e2e1da87 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,6 +14,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [267181] Fix telnet option negotiation loop + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; @@ -504,7 +505,7 @@ class TelnetOption implements TelnetCodes /** * This method handles a subnegotiation command received from the remote endpoint. * Currently, the only subnegotiation we handle is when the remote endpoint - * commands us to send our terminal type (which is "ansi"). + * commands us to send our terminal type (which is "xterm"). * * @param subnegotiationData An array of bytes containing a TELNET * subnegotiation command received from the @@ -526,11 +527,11 @@ class TelnetOption implements TelnetCodes // Tell the remote endpoint our terminal type is "ansi" using this sequence // of TELNET protocol bytes: // - // IAC SB TERMINAL-TYPE IS a n s i IAC SE + // IAC SB TERMINAL-TYPE IS x t e r m IAC SE byte[] terminalTypeData = { TELNET_IAC, TELNET_SB, - TELNET_OPTION_TERMINAL_TYPE, TELNET_IS, (byte) 'a', - (byte) 'n', (byte) 's', (byte) 'i', TELNET_IAC, TELNET_SE }; + TELNET_OPTION_TERMINAL_TYPE, TELNET_IS, (byte) 'x', + (byte) 't', (byte) 'e', (byte) 'r', (byte) 'm', TELNET_IAC, TELNET_SE }; try { outputStream.write(terminalTypeData); diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 0b7fa8021a2..f0251b0dbc2 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,11 +2,11 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.2.100.qualifier +Bundle-Version: 2.3.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.3.0)", + org.eclipse.tm.terminal;bundle-version="[3.3.0,4.0.0)", org.eclipse.core.runtime, org.eclipse.ui Bundle-RequiredExecutionEnvironment: J2SE-1.5 diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 7d888117629..5f40291cda5 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm org.eclipse.tm.terminal.test - 2.2.100.qualifier + 2.3.0.qualifier eclipse-test-plugin diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java index 9e711db970e..a7b83e988ca 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -1234,4 +1235,53 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals(3,vt100.getCursorColumn()); } + public void testVT100LineWrappingOn() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(6, 4); + vt100.setVT100LineWrapping(true); + vt100.appendString("abcd"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("1234"); + vt100.setCursorColumn(0); + vt100.processNewline(); + assertEquals(2, vt100.getCursorLine()); + } + + public void testVT100LineWrappingOff() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(6, 4); + vt100.setVT100LineWrapping(false); + vt100.appendString("abcd"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("1234"); + vt100.setCursorColumn(0); + vt100.processNewline(); + assertEquals(4, vt100.getCursorLine()); + } + + public void testWrappedLines() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(6, 4); + vt100.setVT100LineWrapping(true); + vt100.appendString("abcd123"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("abc"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("1234abcd"); + assertEquals(4, vt100.getCursorLine()); + assertTrue(term.isWrappedLine(0)); + assertFalse(term.isWrappedLine(1)); + assertFalse(term.isWrappedLine(2)); + assertTrue(term.isWrappedLine(3)); + } } diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java index 493547a54c9..9eff106efbe 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; import junit.framework.TestCase; @@ -812,6 +813,20 @@ abstract public class AbstractITerminalTextDataTest extends TestCase { fillSimple(term,start); term.scroll(line, n, shift); assertEqualsSimple(result, toSimple(term)); - + } + + public void testWrappedLines() { + ITerminalTextData term=makeITerminalTextData(); + term.setDimensions(4, 4); + for (int i=0; i org.eclipse.tm org.eclipse.tm.terminal.view - 2.4.100.qualifier + 2.4.200.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 19d3c814b4e..b7973c8d0c4 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.2.400.qualifier +Bundle-Version: 3.3.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 517e362fcf2..37830302ee5 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -10,6 +10,6 @@ org.eclipse.tm org.eclipse.tm.terminal - 3.2.400.qualifier + 3.3.0.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index d5958d9c3f6..47b78f68436 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -293,9 +293,7 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { int i=0; while (i < chars.length) { if(fWrapPending) { - doNewline(); - line=toAbsoluteLine(fCursorLine); - setCursorColumn(0); + line = doLineWrap(); } int n=Math.min(fColumns-fCursorColumn,chars.length-i); fTerminal.setChars(line, fCursorColumn, chars, i, n, fStyle); @@ -308,10 +306,7 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { setCursorColumn(col - 1); fWrapPending = true; } else { - // immediate line wrapping - doNewline(); - line=toAbsoluteLine(fCursorLine); - setCursorColumn(0); + line = doLineWrap(); } } else { setCursorColumn(col); @@ -320,6 +315,16 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { } } + private int doLineWrap() { + int line; + line=toAbsoluteLine(fCursorLine); + fTerminal.setWrappedLine(line); + doNewline(); + line=toAbsoluteLine(fCursorLine); + setCursorColumn(0); + return line; + } + /** * MUST be called from a synchronized block! */ diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java index 0bbf8d2572f..96103a4a133 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse synchronized public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -97,4 +98,10 @@ public class SynchronizedTerminalTextData implements ITerminalTextData { synchronized public void setMaxHeight(int height) { fData.setMaxHeight(height); } + synchronized public boolean isWrappedLine(int line) { + return fData.isWrappedLine(line); + } + synchronized public void setWrappedLine(int line) { + fData.setWrappedLine(line); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index 9ec0d1c789c..268999c5d6d 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -262,4 +263,12 @@ public class TerminalTextData implements ITerminalTextData { fCursorLine=line; sendCursorChanged(); } + + public boolean isWrappedLine(int line) { + return fData.isWrappedLine(line); + } + + public void setWrappedLine(int line) { + fData.setWrappedLine(line); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java index 6038241ca48..e6101581c46 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -246,5 +247,13 @@ public class TerminalTextDataFastScroll implements ITerminalTextData { public void setCursorLine(int line) { throw new UnsupportedOperationException(); } + public boolean isWrappedLine(int line) { + assert (line>=0 && line=0 && linefHeight) { for (int i = fHeight; i < height; i++) { - fStyle[i]=null; - fChars[i]=null; + cleanLine(i); } } // set dimensions after successful resize! @@ -209,6 +212,7 @@ public class TerminalTextDataStore implements ITerminalTextData { for (int i = startLine; i < startLine+size+shift; i++) { fChars[i]=fChars[i-shift]; fStyle[i]=fStyle[i-shift]; + fWrappedLines.set(i, fWrappedLines.get(i-shift)); } // then clean the opened lines cleanLines(Math.max(startLine, startLine+size+shift),Math.min(-shift, getHeight()-startLine)); @@ -217,6 +221,7 @@ public class TerminalTextDataStore implements ITerminalTextData { for (int i = startLine+size-1; i >=startLine && i-shift>=0; i--) { fChars[i]=fChars[i-shift]; fStyle[i]=fStyle[i-shift]; + fWrappedLines.set(i, fWrappedLines.get(i-shift)); } cleanLines(startLine, Math.min(shift, getHeight()-startLine)); } @@ -228,8 +233,7 @@ public class TerminalTextDataStore implements ITerminalTextData { */ private void cleanLines(int line, int len) { for (int i = line; i < line+len; i++) { - fChars[i]=null; - fStyle[i]=null; + cleanLine(i); } } @@ -270,8 +274,7 @@ public class TerminalTextDataStore implements ITerminalTextData { fStyle=new Style[n][]; } for (int i = 0; i < n; i++) { - fChars[i]=source.getChars(i); - fStyle[i]=source.getStyles(i); + copyLine(source, i, i); } fHeight=n; fCursorLine=source.getCursorLine(); @@ -279,14 +282,14 @@ public class TerminalTextDataStore implements ITerminalTextData { } public void copyRange(ITerminalTextData source, int sourceStartLine, int destStartLine,int length) { for (int i = 0; i < length; i++) { - fChars[i+destStartLine]=source.getChars(i+sourceStartLine); - fStyle[i+destStartLine]=source.getStyles(i+sourceStartLine); + copyLine(source, i+sourceStartLine, i+destStartLine); } } public void copyLine(ITerminalTextData source, int sourceLine, int destLine) { fChars[destLine]=source.getChars(sourceLine); fStyle[destLine]=source.getStyles(sourceLine); + fWrappedLines.set(destLine, source.isWrappedLine(sourceLine)); } public char[] getChars(int line) { @@ -304,6 +307,7 @@ public class TerminalTextDataStore implements ITerminalTextData { public void setLine(int line, char[] chars, Style[] styles) { fChars[line]=(char[]) chars.clone(); fStyle[line]=(Style[]) styles.clone(); + fWrappedLines.clear(line); } public void setMaxHeight(int height) { @@ -317,6 +321,7 @@ public class TerminalTextDataStore implements ITerminalTextData { public void cleanLine(int line) { fChars[line]=null; fStyle[line]=null; + fWrappedLines.clear(line); } public int getCursorColumn() { return fCursorColumn; @@ -330,4 +335,10 @@ public class TerminalTextDataStore implements ITerminalTextData { public void setCursorLine(int line) { fCursorLine=line; } + public boolean isWrappedLine(int line) { + return fWrappedLines.get(line); + } + public void setWrappedLine(int line) { + fWrappedLines.set(line); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java index 583318a1888..ce2f10373f5 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007 Wind River Systems, Inc. and others. + * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,7 @@ * * Contributors: * Michael Scharf (Wind River) - initial API and implementation + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; @@ -194,4 +195,13 @@ public class TerminalTextDataWindow implements ITerminalTextData { public void setCursorLine(int line) { fData.setCursorLine(line); } + public boolean isWrappedLine(int line) { + if(isInWindow(line)) + return fData.isWrappedLine(line - fWindowStartLine); + return false; + } + public void setWrappedLine(int line) { + if(isInWindow(line)) + fData.setWrappedLine(line - fWindowStartLine); + } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 770db9733bf..1d63b3ae9fe 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -309,7 +309,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { text=""; //$NON-NLS-1$ } buffer.append(text); - if(line < fSeletionEndLine) + if(line < fSeletionEndLine && !fSelectionSnapshot.getTerminalTextData().isWrappedLine(line)) buffer.append('\n'); } return buffer.toString(); diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java index 3ca18158aa3..da4881338da 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.terminal.model; @@ -71,20 +72,6 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { * @param line */ void cleanLine(int line); - // /** - // * @param line - // * @return true if this line belongs to the previous line but is simply - // * wrapped. - // */ - // boolean isWrappedLine(int line); - // - // /** - // * Makes this line an extension to the previous line. Wrapped lines get folded back - // * when the width of the terminal changes - // * @param line - // * @param extendsPreviousLine - // */ - // void setWrappedLine(int line, boolean extendsPreviousLine); /** * Shifts some lines up or down. The "empty" space is filled with '\000' chars @@ -151,4 +138,13 @@ public interface ITerminalTextData extends ITerminalTextDataReadOnly { void setCursorLine(int line); void setCursorColumn(int column); + + /** + * Makes this line a wrapped line which logically continues on next line. + * + * @param line + * @since 3.3 + */ + void setWrappedLine(int line); + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java index 0503b4c1ddc..876ac102bc9 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2009 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [261486][api][cleanup] Mark @noimplement interfaces as @noextend + * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ package org.eclipse.tm.terminal.model; @@ -73,4 +74,12 @@ public interface ITerminalTextDataReadOnly { * @return the column at which the cursor is at the moment */ int getCursorColumn(); -} \ No newline at end of file + + /** + * @param line + * @return true if this line got wrapped, ie. logically continues on next line + * @since 3.3 + */ + boolean isWrappedLine(int line); + +} From 4bba095cef44f23627fdf666e507aafa0c9e372b Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 18 Dec 2014 12:43:08 +0100 Subject: [PATCH 566/843] Follow up on Bug 453393 - Fix occasional RuntimeException Change-Id: Ie922ebbeef0105a4ce0e8e7fb9d1898858e4649e Signed-off-by: Anton Leherbauer --- .../internal/terminal/textcanvas/AbstractTextCanvasModel.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 1d63b3ae9fe..8306f92d9b4 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2010 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -309,7 +309,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { text=""; //$NON-NLS-1$ } buffer.append(text); - if(line < fSeletionEndLine && !fSelectionSnapshot.getTerminalTextData().isWrappedLine(line)) + if(line < fSeletionEndLine && !fSelectionSnapshot.isWrappedLine(line)) buffer.append('\n'); } return buffer.toString(); From a1a63a3c31d55bda9863e175fda7df24889a7e4c Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Mon, 26 Jan 2015 10:12:06 +0100 Subject: [PATCH 567/843] Bug 458218 - [terminal] Add support for ANSI insert mode Change-Id: Iee022b7326da07d3df2b04144416e324f7e73496 Signed-off-by: Anton Leherbauer --- .../emulator/VT100EmulatorBackendTest.java | 25 +++++++++++++- .../emulator/IVT100EmulatorBackend.java | 15 +++++++-- .../emulator/VT100BackendTraceDecorator.java | 8 ++++- .../terminal/emulator/VT100Emulator.java | 33 ++++++++++++++++++- .../emulator/VT100EmulatorBackend.java | 10 +++++- 5 files changed, 85 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java index a7b83e988ca..9ed477ffa51 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break + * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -1284,4 +1285,26 @@ public class VT100EmulatorBackendTest extends TestCase { assertFalse(term.isWrappedLine(2)); assertTrue(term.isWrappedLine(3)); } + + public void testInsertMode() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(4, 6); + // replace mode + vt100.appendString("123"); + vt100.setCursorColumn(0); + vt100.appendString("abc"); + assertEquals("abc", new String(term.getChars(0))); + vt100.clearAll(); + // insert mode + vt100.setCursorColumn(0); + vt100.appendString("123"); + vt100.setCursorColumn(0); + vt100.setInsertMode(true); + vt100.appendString("abc"); + vt100.setInsertMode(false); + assertEquals("abc123", new String(term.getChars(0))); + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java index b3604a2c7d2..ef38f82e0a0 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,11 +8,16 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode + * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; import org.eclipse.tm.terminal.model.Style; +/** + * @author toni + * + */ public interface IVT100EmulatorBackend { /** @@ -186,4 +191,10 @@ public interface IVT100EmulatorBackend { */ boolean isVT100LineWrapping(); -} \ No newline at end of file + /** + * Enables/disables insert mode (IRM). + * + * @param enable whether to enable insert mode + */ + void setInsertMode(boolean enable); +} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java index 0c914a54339..c108986e1a8 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode + * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -151,4 +152,9 @@ public class VT100BackendTraceDecorator implements IVT100EmulatorBackend { return fBackend.isVT100LineWrapping(); } + public void setInsertMode(boolean enable) { + fWriter.println("setInsertMode("+enable+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setInsertMode(enable); + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 83674515868..6a66ee51425 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -21,6 +21,7 @@ * Martin Oberhuber (Wind River) - [401386] Regression: No header on top due to incorrect ESC[K interpretation * Martin Oberhuber (Wind River) - [401480] Handle ESC[39;49m and ESC[G * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode + * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -476,6 +477,11 @@ public class VT100Emulator implements ControlListener { processAnsiCommand_H(); break; + case 'h': + // Reset Mode. + processAnsiCommand_h(); + break; + case 'J': // Erase part or all of display. Cursor does not move. processAnsiCommand_J(); @@ -491,6 +497,11 @@ public class VT100Emulator implements ControlListener { processAnsiCommand_L(); break; + case 'l': + // Set Mode. + processAnsiCommand_l(); + break; + case 'M': // Delete line(s). processAnsiCommand_M(); @@ -620,6 +631,16 @@ public class VT100Emulator implements ControlListener { moveCursor(getAnsiParameter(0) - 1, getAnsiParameter(1) - 1); } + /** + * This method sets terminal modes. + */ + private void processAnsiCommand_h() { + if (getAnsiParameter(0) == 4) { + // set insert mode + text.setInsertMode(true); + } + } + /** * This method deletes some (or all) of the text on the screen without * moving the cursor. @@ -694,6 +715,16 @@ public class VT100Emulator implements ControlListener { text.insertLines(getAnsiParameter(0)); } + /** + * This method resets terminal modes. + */ + private void processAnsiCommand_l() { + if (getAnsiParameter(0) == 4) { + // reset insert mode + text.setInsertMode(false); + } + } + /** * Delete one or more lines of text. Any lines below the deleted lines move * up, which we implement by appending newlines to the end of the text. diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index 47b78f68436..2387d20f666 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [206329] Changing terminal size right after connect does not scroll properly * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode + * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -54,6 +55,7 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { /* true if last output occurred on rightmost column * and next output requires line wrap */ private boolean fWrapPending; + private boolean fInsertMode; private Style fDefaultStyle; private Style fStyle; int fLines; @@ -289,6 +291,8 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { public void appendString(String buffer) { synchronized (fTerminal) { char[] chars=buffer.toCharArray(); + if (fInsertMode) + insertCharacters(chars.length); int line=toAbsoluteLine(fCursorLine); int i=0; while (i < chars.length) { @@ -432,4 +436,8 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { public boolean isVT100LineWrapping() { return fVT100LineWrapping; } + + public void setInsertMode(boolean enable) { + fInsertMode = enable; + } } From c934cb89c92f26f114213684bbd69d2a4344ee91 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Mon, 26 Jan 2015 13:31:37 +0100 Subject: [PATCH 568/843] Bug 458398 - [terminal] Add support for application cursor keys mode Change-Id: Iad40fb34aae2bda478eecde1a6f13a63bc20f88b Signed-off-by: Anton Leherbauer --- .../terminal/test/ui/VT100DataSource.java | 6 +- .../control/impl/ITerminalControlForText.java | 9 ++- .../terminal/emulator/VT100Emulator.java | 65 +++++++++++++++++++ .../emulator/VT100TerminalControl.java | 25 ++++--- 4 files changed, 94 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java index 69e66b8af87..5fc2628d108 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use + * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.test.ui; @@ -108,6 +109,9 @@ final class VT100DataSource implements IDataSource { public void setTerminalTitle(String title) { } + + public void enableApplicationCursorKeys(boolean enable) { + } }, reader); } public int step(ITerminalTextData terminal) { diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java index 52e65c506b7..f15468023e7 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2008 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -8,6 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.control.impl; @@ -31,4 +32,10 @@ public interface ITerminalControlForText { OutputStream getOutputStream(); + /** + * Enable/disable Application Cursor Keys mode (DECCKM) + * @param enable + */ + void enableApplicationCursorKeys(boolean enable); + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 6a66ee51425..cc9e6cfa438 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -22,6 +22,7 @@ * Martin Oberhuber (Wind River) - [401480] Handle ESC[39;49m and ESC[G * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode + * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -70,6 +71,13 @@ public class VT100Emulator implements ControlListener { */ private static final int ANSISTATE_EXPECTING_OS_COMMAND = 3; + /** + * This is a character processing state: We've seen a '[?' after an escape + * character. Expecting a parameter character or a command character next. + */ + private static final int ANSISTATE_EXPECTING_DEC_PRIVATE_COMMAND = 4; + + /** * This field holds the current state of the Finite TerminalState Automaton (FSA) * that recognizes ANSI escape sequences. @@ -364,6 +372,11 @@ public class VT100Emulator implements ControlListener { break; case ANSISTATE_EXPECTING_PARAMETER_OR_COMMAND: + if (character == '?') { + ansiState = ANSISTATE_EXPECTING_DEC_PRIVATE_COMMAND; + break; + } + // Parameters can appear after the '[' in an escape sequence, but they // are optional. @@ -387,6 +400,19 @@ public class VT100Emulator implements ControlListener { } break; + case ANSISTATE_EXPECTING_DEC_PRIVATE_COMMAND: + // Parameters can appear after the '[?' in an escape sequence, but they + // are optional. + + if (character == '@' || (character >= 'A' && character <= 'Z') + || (character >= 'a' && character <= 'z')) { + ansiState = ANSISTATE_INITIAL; + processDecPrivateCommandCharacter(character); + } else { + processAnsiParameterCharacter(character); + } + break; + default: // This should never happen! If it does happen, it means there is a // bug in the FSA. For robustness, we return to the initial @@ -553,6 +579,31 @@ public class VT100Emulator implements ControlListener { } } + /** + * This method dispatches control to various processing methods based on the + * command character found in the most recently received DEC private mode escape + * sequence. This method only handles command characters that follow the + * control sequence CSI ? + */ + private void processDecPrivateCommandCharacter(char commandCharacter) { + switch (commandCharacter) { + case 'h': + // DEC Private Mode Set (DECSET) + processDecPrivateCommand_h(); + break; + + case 'l': + // DEC Private Mode Reset (DECRST) + processDecPrivateCommand_l(); + break; + + default: + Logger.log("Ignoring unsupported DEC private command character: '" + //$NON-NLS-1$ + commandCharacter + "'"); //$NON-NLS-1$ + break; + } + } + /** * This method makes room for N characters on the current line at the cursor * position. Text under the cursor moves right without wrapping at the end @@ -916,6 +967,20 @@ public class VT100Emulator implements ControlListener { text.deleteCharacters(getAnsiParameter(0)); } + private void processDecPrivateCommand_h() { + if (getAnsiParameter(0) == 1) { + // Enable Application Cursor Keys (DECCKM) + terminal.enableApplicationCursorKeys(true); + } + } + + private void processDecPrivateCommand_l() { + if (getAnsiParameter(0) == 1) { + // Enable Normal Cursor Keys (DECCKM) + terminal.enableApplicationCursorKeys(false); + } + } + /** * This method returns one of the numeric ANSI parameters received in the * most recent escape sequence. diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 95e36b11ca1..a5d180b925a 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -37,6 +37,7 @@ * Martin Oberhuber (Wind River) - [434294] Add Mac bindings with COMMAND * Anton Leherbauer (Wind River) - [434749] UnhandledEventLoopException when copying to clipboard while the selection is empty * Martin Oberhuber (Wind River) - [436612] Restore Eclipse 3.4 compatibility by using Reflection + * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -155,6 +156,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private final EditActionAccelerators editActionAccelerators = new EditActionAccelerators(); + private boolean fApplicationCursorKeys; + /** * Listens to changes in the preferences */ @@ -958,22 +961,22 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC switch (event.keyCode) { case 0x1000001: // Up arrow. if (!anyModifierPressed) - escSeq = "\u001b[A"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOA" : "\u001b[A"; //$NON-NLS-1$ //$NON-NLS-2$ break; case 0x1000002: // Down arrow. if (!anyModifierPressed) - escSeq = "\u001b[B"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOB" : "\u001b[B"; //$NON-NLS-1$ //$NON-NLS-2$ break; case 0x1000003: // Left arrow. if (onlyCtrlKeyPressed) { escSeq = "\u001b[1;5D"; //$NON-NLS-1$ } else if (!anyModifierPressed) { - escSeq = "\u001b[D"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOD" : "\u001b[D"; //$NON-NLS-1$ //$NON-NLS-2$ } else if (onlyMacCmdKeyPressed) { // Cmd-Left is "Home" on the Mac - escSeq = "\u001b[H"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOH" : "\u001b[H"; //$NON-NLS-1$ //$NON-NLS-2$ } break; @@ -981,10 +984,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (onlyCtrlKeyPressed) { escSeq = "\u001b[1;5C"; //$NON-NLS-1$ } else if (!anyModifierPressed) { - escSeq = "\u001b[C"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOC" : "\u001b[C"; //$NON-NLS-1$ //$NON-NLS-2$ } else if (onlyMacCmdKeyPressed) { // Cmd-Right is "End" on the Mac - escSeq = "\u001b[F"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOF" : "\u001b[F"; //$NON-NLS-1$ //$NON-NLS-2$ } break; @@ -1000,12 +1003,12 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC case 0x1000007: // Home key. if (!anyModifierPressed) - escSeq = "\u001b[H"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOH" : "\u001b[H"; //$NON-NLS-1$ //$NON-NLS-2$ break; case 0x1000008: // End key. if (!anyModifierPressed) - escSeq = "\u001b[F"; //$NON-NLS-1$ + escSeq = fApplicationCursorKeys ? "\u001bOF" : "\u001b[F"; //$NON-NLS-1$ //$NON-NLS-2$ break; case 0x1000009: // Insert. @@ -1312,5 +1315,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public boolean isVT100LineWrapping() { return getTerminalText().isVT100LineWrapping(); } + + public void enableApplicationCursorKeys(boolean enable) { + fApplicationCursorKeys = enable; + } } From f25972cbdb0496fb4ce08c58ff5aeb77a1dc6956 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Tue, 27 Jan 2015 16:09:11 +0100 Subject: [PATCH 569/843] Bug 458402 - [terminal] Add support for scroll up/down and scroll region Change-Id: If3c955663f664d34d01ada0763de2eec7b36b7d4 Signed-off-by: Anton Leherbauer --- .../emulator/VT100EmulatorBackendTest.java | 71 ++++++++++++++ .../emulator/IVT100EmulatorBackend.java | 24 ++++- .../emulator/VT100BackendTraceDecorator.java | 16 +++ .../terminal/emulator/VT100Emulator.java | 97 +++++++++++++++++-- .../emulator/VT100EmulatorBackend.java | 61 +++++++++++- 5 files changed, 257 insertions(+), 12 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java index 9ed477ffa51..0a65fd7ba2a 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - [168197] Fix Terminal for CDC-1.1/Foundation-1.1 * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode + * Anton Leherbauer (Wind River) - [458402] Add support for scroll up/down and scroll region *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -1307,4 +1308,74 @@ public class VT100EmulatorBackendTest extends TestCase { assertEquals("abc123", new String(term.getChars(0))); } + public void testScrollRegion() { + ITerminalTextData term=makeITerminalTextData(); + IVT100EmulatorBackend vt100=makeBakend(term); + term.setMaxHeight(10); + vt100.setDimensions(8, 6); + vt100.appendString("123"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("456"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("789"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("abc"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("def"); + vt100.setCursorColumn(0); + vt100.processNewline(); + vt100.appendString("ghi"); + + // test scroll within region + vt100.setCursorLine(1); + vt100.setScrollRegion(1, 4); + vt100.scrollUp(1); + assertEquals("123", new String(term.getChars(0))); + assertEquals("789", new String(term.getChars(1))); + assertEquals("abc", new String(term.getChars(2))); + assertEquals("def", new String(term.getChars(3))); + assertNull(term.getChars(4)); + assertEquals("ghi", new String(term.getChars(5))); + vt100.scrollDown(1); + assertEquals("123", new String(term.getChars(0))); + assertNull(term.getChars(1)); + assertEquals("789", new String(term.getChars(2))); + assertEquals("abc", new String(term.getChars(3))); + assertEquals("def", new String(term.getChars(4))); + assertEquals("ghi", new String(term.getChars(5))); + + // test scroll without region + vt100.setScrollRegion(-1, -1); + vt100.scrollDown(1); + assertNull(term.getChars(0)); + assertEquals("123", new String(term.getChars(1))); + assertNull(term.getChars(2)); + assertEquals("789", new String(term.getChars(3))); + assertEquals("abc", new String(term.getChars(4))); + assertEquals("def", new String(term.getChars(5))); + assertEquals("ghi", new String(term.getChars(6))); + vt100.scrollUp(1); + assertEquals("123", new String(term.getChars(0))); + assertNull(term.getChars(1)); + assertEquals("789", new String(term.getChars(2))); + assertEquals("abc", new String(term.getChars(3))); + assertEquals("def", new String(term.getChars(4))); + assertEquals("ghi", new String(term.getChars(5))); + + // test scroll by newline + vt100.setScrollRegion(1, 4); + vt100.setCursorLine(4); + vt100.processNewline(); + assertEquals("123", new String(term.getChars(0))); + assertEquals("789", new String(term.getChars(1))); + assertEquals("abc", new String(term.getChars(2))); + assertEquals("def", new String(term.getChars(3))); + assertNull(term.getChars(4)); + assertEquals("ghi", new String(term.getChars(5))); + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java index ef38f82e0a0..aff90891b6a 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java @@ -9,13 +9,13 @@ * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode + * Anton Leherbauer (Wind River) - [458402] Add support for scroll up/down and scroll region *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; import org.eclipse.tm.terminal.model.Style; /** - * @author toni * */ public interface IVT100EmulatorBackend { @@ -197,4 +197,26 @@ public interface IVT100EmulatorBackend { * @param enable whether to enable insert mode */ void setInsertMode(boolean enable); + + /** + * Set scrolling region. Negative values reset the scroll region. + * + * @param top top line of scroll region + * @param bottom bottom line of scroll region + */ + void setScrollRegion(int top, int bottom); + + /** + * Scroll text upwards. + * + * @param lines number of lines to scroll + */ + void scrollUp(int lines); + + /** + * Scroll text downwards. + * + * @param lines number of lines to scroll + */ + void scrollDown(int lines); } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java index c108986e1a8..78531437ee6 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java @@ -9,6 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode + * Anton Leherbauer (Wind River) - [458402] Add support for scroll up/down and scroll region *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -157,4 +158,19 @@ public class VT100BackendTraceDecorator implements IVT100EmulatorBackend { fBackend.setInsertMode(enable); } + public void setScrollRegion(int top, int bottom) { + fWriter.println("setScrollRegion("+top+','+bottom+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.setScrollRegion(top, bottom); + } + + public void scrollUp(int lines) { + fWriter.println("scrollUp("+lines+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.scrollUp(lines); + } + + public void scrollDown(int lines) { + fWriter.println("scrollDown("+lines+")"); //$NON-NLS-1$ //$NON-NLS-2$ + fBackend.scrollDown(lines); + } + } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index cc9e6cfa438..eba03390cbe 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -23,6 +23,7 @@ * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode + * Anton Leherbauer (Wind River) - [458402] Add support for scroll up/down and scroll region *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -77,6 +78,12 @@ public class VT100Emulator implements ControlListener { */ private static final int ANSISTATE_EXPECTING_DEC_PRIVATE_COMMAND = 4; + /** + * This is a character processing state: We've seen one of ()*+-./ after an escape + * character. Expecting a character set designation character. + */ + private static final int ANSISTATE_EXPECTING_CHARSET_DESIGNATION = 5; + /** * This field holds the current state of the Finite TerminalState Automaton (FSA) @@ -341,6 +348,16 @@ public class VT100Emulator implements ControlListener { ansiOsCommand.delete(0, ansiOsCommand.length()); break; + case ')': + case '(': + case '*': + case '+': + case '-': + case '.': + case '/': + ansiState = ANSISTATE_EXPECTING_CHARSET_DESIGNATION; + break; + case '7': // Save cursor position and character attributes @@ -413,6 +430,12 @@ public class VT100Emulator implements ControlListener { } break; + case ANSISTATE_EXPECTING_CHARSET_DESIGNATION: + if (character != '%') + ansiState = ANSISTATE_INITIAL; + // Character set designation commands are ignored + break; + default: // This should never happen! If it does happen, it means there is a // bug in the FSA. For robustness, we return to the initial @@ -483,6 +506,11 @@ public class VT100Emulator implements ControlListener { processAnsiCommand_D(); break; + case 'd': + // Line Position Absolute [row] (default = [1,column]) (VPA). + processAnsiCommand_d(); + break; + case 'E': // Move cursor to first column of Nth next line (default 1). processAnsiCommand_E(); @@ -548,16 +576,19 @@ public class VT100Emulator implements ControlListener { processAnsiCommand_P(); break; + case 'r': + // Set Scrolling Region. + processAnsiCommand_r(); + break; + case 'S': // Scroll up. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. + processAnsiCommand_S(); break; case 'T': // Scroll down. - // Emacs, vi, and GNU readline don't seem to use this command, so we ignore - // it for now. + processAnsiCommand_T(); break; case 'X': @@ -646,6 +677,14 @@ public class VT100Emulator implements ControlListener { moveCursorBackward(getAnsiParameter(0)); } + /** + * This method moves the cursor to a specific row. + */ + private void processAnsiCommand_d() { + // Line Position Absolute [row] (default = [1,column]) (VPA). + text.setCursorLine(getAnsiParameter(0) - 1); + } + /** * This method moves the cursor to the first column of the Nth next line, * where N is specified by the ANSI parameter (default 1). @@ -967,17 +1006,63 @@ public class VT100Emulator implements ControlListener { text.deleteCharacters(getAnsiParameter(0)); } + /** + * Set Scrolling Region [top;bottom] (default = full size of window) (DECSTBM). + */ + private void processAnsiCommand_r() { + int top = 0; + int bottom = 0; + if (ansiParameters[0].length() > 0 && ansiParameters[1].length() > 0) { + top = getAnsiParameter(0); + bottom = getAnsiParameter(1); + } + text.setScrollRegion(top-1, bottom-1); + } + + /** + * Scroll up n lines (default = 1 line). + */ + private void processAnsiCommand_S() { + text.scrollUp(getAnsiParameter(0)); + } + + /** + * Scroll down n lines (default = 1 line). + */ + private void processAnsiCommand_T() { + text.scrollDown(getAnsiParameter(0)); + } + private void processDecPrivateCommand_h() { - if (getAnsiParameter(0) == 1) { + int param = getAnsiParameter(0); + switch (param) { + case 1: // Enable Application Cursor Keys (DECCKM) terminal.enableApplicationCursorKeys(true); + break; + case 47: + // Use Alternate Screen Buffer (ignored). + break; + default: + Logger.log("Unsupported command parameter: CSI ?" + param + 'h'); //$NON-NLS-1$ + break; } } private void processDecPrivateCommand_l() { - if (getAnsiParameter(0) == 1) { + int param = getAnsiParameter(0); + switch (param) { + case 1: // Enable Normal Cursor Keys (DECCKM) terminal.enableApplicationCursorKeys(false); + break; + case 47: + // Use Normal Screen Buffer (ignored, but reset scroll region). + text.setScrollRegion(-1, -1); + break; + default: + Logger.log("Unsupported command parameter: CSI ?" + param + 'l'); //$NON-NLS-1$ + break; } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index 2387d20f666..36140d60050 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -10,6 +10,7 @@ * Anton Leherbauer (Wind River) - [206329] Changing terminal size right after connect does not scroll properly * Anton Leherbauer (Wind River) - [433751] Add option to enable VT100 line wrapping mode * Anton Leherbauer (Wind River) - [458218] Add support for ANSI insert mode + * Anton Leherbauer (Wind River) - [458402] Add support for scroll up/down and scroll region *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -21,6 +22,28 @@ import org.eclipse.tm.terminal.model.Style; */ public class VT100EmulatorBackend implements IVT100EmulatorBackend { + private static class ScrollRegion { + static final ScrollRegion FULL_WINDOW = new ScrollRegion(0, Integer.MAX_VALUE-1); + private final int fTop; + private final int fBottom; + ScrollRegion(int top, int bottom) { + fTop = top; + fBottom = bottom; + } + boolean contains(int line) { + return line >= fTop && line <= fBottom; + } + int getTopLine() { + return fTop; + } + int getBottomLine() { + return fBottom; + } + int getHeight() { + return fBottom - fTop + 1; + } + } + /** * This field holds the number of the column in which the cursor is * logically positioned. The leftmost column on the screen is column 0, and @@ -62,6 +85,8 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { int fColumns; final private ITerminalTextData fTerminal; private boolean fVT100LineWrapping; + private ScrollRegion fScrollRegion = ScrollRegion.FULL_WINDOW; + public VT100EmulatorBackend(ITerminalTextData terminal) { fTerminal=terminal; } @@ -210,7 +235,7 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { return; assert n>0; int line=toAbsoluteLine(fCursorLine); - int nLines=fTerminal.getHeight()-line; + int nLines=Math.min(fTerminal.getHeight()-line, fScrollRegion.getBottomLine()-fCursorLine+1); fTerminal.scroll(line, nLines, n); } } @@ -240,13 +265,12 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { return; assert n>0; int line=toAbsoluteLine(fCursorLine); - int nLines=fTerminal.getHeight()-line; + int nLines=Math.min(fTerminal.getHeight()-line, fScrollRegion.getBottomLine()-fCursorLine+1); fTerminal.scroll(line, nLines, -n); } } private boolean isCusorInScrollingRegion() { - // TODO Auto-generated method stub - return true; + return fScrollRegion.contains(fCursorLine); } /* (non-Javadoc) @@ -333,7 +357,9 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { * MUST be called from a synchronized block! */ private void doNewline() { - if(fCursorLine+1>=fLines) { + if (fCursorLine == fScrollRegion.getBottomLine()) + scrollUp(1); + else if (fCursorLine+1>=fLines) { int h=fTerminal.getHeight(); fTerminal.addLine(); if(h!=fTerminal.getHeight()) @@ -440,4 +466,29 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { public void setInsertMode(boolean enable) { fInsertMode = enable; } + + public void setScrollRegion(int top, int bottom) { + if (top < 0 || bottom < 0) + fScrollRegion = ScrollRegion.FULL_WINDOW; + else if (top < bottom) + fScrollRegion = new ScrollRegion(top, bottom); + } + + public void scrollUp(int n) { + assert n>0; + synchronized (fTerminal) { + int line = toAbsoluteLine(fScrollRegion.getTopLine()); + int nLines = Math.min(fTerminal.getHeight()-line, fScrollRegion.getHeight()); + fTerminal.scroll(line, nLines, -n); + } + } + + public void scrollDown(int n) { + assert n>0; + synchronized (fTerminal) { + int line = toAbsoluteLine(fScrollRegion.getTopLine()); + int nLines = Math.min(fTerminal.getHeight()-line, fScrollRegion.getHeight()); + fTerminal.scroll(line, nLines, n); + } + } } From 9085089133b1eabb604d60ea37eed7b80ea0c85e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sat, 31 Jan 2015 16:30:07 +0100 Subject: [PATCH 570/843] Releng: Rework maven build files to make them easier to read and to maintain --- features/org.eclipse.tm.terminal-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.local-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.test-feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.view-feature/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.local/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.serial/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.telnet/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.test/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.view/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal/pom.xml | 4 ++-- 17 files changed, 34 insertions(+), 34 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index fb734e67f5b..0af34aedcd1 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index e59f91977be..dd535d12f4e 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index f08289b69dd..af9bd8a4ce3 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.local diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 31bbd129b75..f77d7743af9 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 6827936c74a..38ff28fed0f 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.sdk diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 839c76b161a..93b4f0b3bff 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.serial diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 464450b9c27..49d79f849d4 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.ssh diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index fba13dc2c2f..8daeedcf419 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.telnet diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 884ce180a0c..37062bd352b 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.test diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index cd46cab43f6..13f0b6a0eb2 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.view diff --git a/plugins/org.eclipse.tm.terminal.local/pom.xml b/plugins/org.eclipse.tm.terminal.local/pom.xml index df03713ce30..e9b1599a057 100644 --- a/plugins/org.eclipse.tm.terminal.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.local/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.local diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index ee07be1d72f..19d39859c90 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.serial diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index a2e94c12539..7f83e040de0 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.ssh diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index 018e59a1f82..50fd8d02610 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.telnet diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 5f40291cda5..208a0f05a3b 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.test diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml index c08a08fbd1a..adb4f766919 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.view diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 37830302ee5..c23fac1a386 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -3,10 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4.0.0 - tm-parent + org.eclipse.tm.maven-build org.eclipse.tm 3.8.0-SNAPSHOT - ../../../ + ../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal From 97c6c5986ae56f744fca0998efe51dd8496f8c8b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 3 Feb 2015 08:45:49 +0100 Subject: [PATCH 571/843] Releng: Uprev maven build files to version 4.0.0 --- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.local/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.serial/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.telnet/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view/pom.xml | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 17 files changed, 17 insertions(+), 17 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index 0af34aedcd1..e5f473fce2b 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index dd535d12f4e..3aaaa7f189b 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index af9bd8a4ce3..83b40907d93 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index f77d7743af9..016ef3c140d 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 38ff28fed0f..c797a1c8dfb 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index 93b4f0b3bff..eb61dabde0e 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 49d79f849d4..60ba8d2db66 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index 8daeedcf419..a4ac202bbb6 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 37062bd352b..851c9116917 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index 13f0b6a0eb2..eeb809b681a 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm.features diff --git a/plugins/org.eclipse.tm.terminal.local/pom.xml b/plugins/org.eclipse.tm.terminal.local/pom.xml index e9b1599a057..a61ae8bb06c 100644 --- a/plugins/org.eclipse.tm.terminal.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.local/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index 19d39859c90..d4ae3c31e90 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index 7f83e040de0..a6f6a2a7cf4 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index 50fd8d02610..0b31fe029ac 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 208a0f05a3b..f4ab2492681 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/plugins/org.eclipse.tm.terminal.view/pom.xml index adb4f766919..aee546ea209 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index c23fac1a386..47bb7418331 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -5,7 +5,7 @@ org.eclipse.tm.maven-build org.eclipse.tm - 3.8.0-SNAPSHOT + 4.0.0-SNAPSHOT ../../../admin/pom-build.xml org.eclipse.tm From 69042ba08301ecb27f5f4241e67ff79ef614cf8e Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Mon, 2 Feb 2015 20:22:26 -0500 Subject: [PATCH 572/843] Bug 458686 - Add terminal connector for org.eclipse.remote Change-Id: I054a3b9b2c39d2d20181745ccfa84f5900ca8221 Signed-off-by: Greg Watson --- .../.project | 17 + .../build.properties | 9 + .../feature.properties | 165 ++++++++ .../feature.xml | 57 +++ .../pom.xml | 30 ++ .../.project | 17 + .../build.properties | 12 + .../feature.properties | 165 ++++++++ .../feature.xml | 66 ++++ .../pom.xml | 30 ++ .../org.eclipse.tm.terminal.remote/.classpath | 7 + .../org.eclipse.tm.terminal.remote/.cvsignore | 1 + .../org.eclipse.tm.terminal.remote/.project | 34 ++ .../.settings/org.eclipse.jdt.core.prefs | 74 ++++ .../.settings/org.eclipse.jdt.ui.prefs | 3 + .../META-INF/MANIFEST.MF | 24 ++ .../org.eclipse.tm.terminal.remote/about.html | 28 ++ .../build.properties | 15 + .../plugin.properties | 11 + .../org.eclipse.tm.terminal.remote/plugin.xml | 33 ++ .../org.eclipse.tm.terminal.remote/pom.xml | 16 + .../schema/parsers.exsd | 109 ++++++ .../internal/terminal/remote/Activator.java | 111 ++++++ .../terminal/remote/ArgumentParser.java | 361 ++++++++++++++++++ .../remote/RemoteConnectionManager.java | 179 +++++++++ .../terminal/remote/RemoteConnector.java | 177 +++++++++ .../terminal/remote/RemoteSettings.java | 61 +++ .../terminal/remote/RemoteSettingsPage.java | 62 +++ .../terminal/remote/messages/Messages.java | 29 ++ .../remote/messages/messages.properties | 4 + .../RemoteTerminalPreferenceInitializer.java | 26 ++ .../RemoteTerminalPreferencePage.java | 37 ++ .../tm/terminal/remote/IRemoteSettings.java | 27 ++ .../remote/IRemoteTerminalConstants.java | 12 + .../remote/IRemoteTerminalParser.java | 37 ++ 35 files changed, 2046 insertions(+) create mode 100644 features/org.eclipse.tm.terminal.remote-feature/.project create mode 100644 features/org.eclipse.tm.terminal.remote-feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.remote-feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.remote-feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.remote-feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/.project create mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml create mode 100644 plugins/org.eclipse.tm.terminal.remote/.classpath create mode 100644 plugins/org.eclipse.tm.terminal.remote/.cvsignore create mode 100644 plugins/org.eclipse.tm.terminal.remote/.project create mode 100644 plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tm.terminal.remote/about.html create mode 100644 plugins/org.eclipse.tm.terminal.remote/build.properties create mode 100644 plugins/org.eclipse.tm.terminal.remote/plugin.properties create mode 100644 plugins/org.eclipse.tm.terminal.remote/plugin.xml create mode 100644 plugins/org.eclipse.tm.terminal.remote/pom.xml create mode 100644 plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java create mode 100644 plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java diff --git a/features/org.eclipse.tm.terminal.remote-feature/.project b/features/org.eclipse.tm.terminal.remote-feature/.project new file mode 100644 index 00000000000..311b718d840 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.remote-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.remote-feature/build.properties b/features/org.eclipse.tm.terminal.remote-feature/build.properties new file mode 100644 index 00000000000..cd19ac2ddfd --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote-feature/build.properties @@ -0,0 +1,9 @@ +############################################################################### +# Copyright (c) 2015 IBM Corp. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.remote-feature/feature.properties b/features/org.eclipse.tm.terminal.remote-feature/feature.properties new file mode 100644 index 00000000000..ddc31e1b159 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote-feature/feature.properties @@ -0,0 +1,165 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Remote Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote-feature/feature.xml b/features/org.eclipse.tm.terminal.remote-feature/feature.xml new file mode 100644 index 00000000000..46ffdefffda --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote-feature/feature.xml @@ -0,0 +1,57 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote-feature/pom.xml b/features/org.eclipse.tm.terminal.remote-feature/pom.xml new file mode 100644 index 00000000000..6f4bfe93ad1 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote-feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.remote.feature + 3.7.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/.project b/features/org.eclipse.tm.terminal.remote.sdk-feature/.project new file mode 100644 index 00000000000..1ddaded993b --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.remote.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties new file mode 100644 index 00000000000..6496f1dba2f --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2015 IBM Corp. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### + +bin.includes = feature.xml,\ + feature.properties + +generate.plugin@org.eclipse.tm.terminal.remote.source=org.eclipse.tm.terminal.remote diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties new file mode 100644 index 00000000000..38413c768bc --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties @@ -0,0 +1,165 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Remote Connector SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml new file mode 100644 index 00000000000..424ef3985b0 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml @@ -0,0 +1,66 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml new file mode 100644 index 00000000000..64ce0cd11cc --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.remote.sdk.feature + 3.7.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.remote/.classpath b/plugins/org.eclipse.tm.terminal.remote/.classpath new file mode 100644 index 00000000000..098194ca4b7 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.remote/.cvsignore b/plugins/org.eclipse.tm.terminal.remote/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/plugins/org.eclipse.tm.terminal.remote/.project b/plugins/org.eclipse.tm.terminal.remote/.project new file mode 100644 index 00000000000..772df90ccb9 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.remote + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..a4b6f7df50e --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,74 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..0b831f584d6 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Thu Dec 07 03:43:08 CET 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..73dc4e1da8c --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF @@ -0,0 +1,24 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.remote;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal, + org.eclipse.remote.core, + org.eclipse.remote.ui, + org.eclipse.core.resources, + org.eclipse.tm.terminal.view, + org.eclipse.swt, + org.eclipse.jface +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Export-Package: org.eclipse.tm.internal.terminal.remote;x-internal:=true, + org.eclipse.tm.terminal.remote +Bundle-Activator: org.eclipse.tm.internal.terminal.remote.Activator +Bundle-ActivationPolicy: lazy +Eclipse-LazyStart: true +Import-Package: org.eclipse.core.resources, + org.eclipse.ui.ide diff --git a/plugins/org.eclipse.tm.terminal.remote/about.html b/plugins/org.eclipse.tm.terminal.remote/about.html new file mode 100644 index 00000000000..d4cc693f9f0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  June 5, 2007

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.remote/build.properties b/plugins/org.eclipse.tm.terminal.remote/build.properties new file mode 100644 index 00000000000..3ca651cc829 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/build.properties @@ -0,0 +1,15 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + about.html + diff --git a/plugins/org.eclipse.tm.terminal.remote/plugin.properties b/plugins/org.eclipse.tm.terminal.remote/plugin.properties new file mode 100644 index 00000000000..e20f519925c --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/plugin.properties @@ -0,0 +1,11 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +pluginName = Target Management Terminal Remote Services Connector +providerName = Eclipse PTP +connectionName = Remote Services +RemoteTerminalPage.name = Remote Terminal diff --git a/plugins/org.eclipse.tm.terminal.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.remote/plugin.xml new file mode 100644 index 00000000000..c3aa141f19e --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/plugin.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.remote/pom.xml b/plugins/org.eclipse.tm.terminal.remote/pom.xml new file mode 100644 index 00000000000..6b257540a07 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + + org.eclipse.tm + org.eclipse.tm.maven-build + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm + org.eclipse.tm.terminal.remote + 1.0.0-SNAPSHOT + eclipse-plugin + diff --git a/plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd b/plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd new file mode 100644 index 00000000000..4fa0ed65b15 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd @@ -0,0 +1,109 @@ + + + + + + + + + Extension point that allows a parser to be added to the terminal view. The parser is intended to process output generated by the remote shell and perform an action based on the content. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Unique identifier for this parser + + + + + + + + + + + + + + + + + + + + + + [Enter the first release in which this extension point appears.] + + + + + + + + + [Enter extension point usage example here.] + + + + + + + + + [Enter API information here.] + + + + + + + + + [Enter information about supplied implementation of this extension point.] + + + + + diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java new file mode 100644 index 00000000000..577abd3410d --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Plugin; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.remote.messages.Messages; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends Plugin { + + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.remote"; //$NON-NLS-1$ + private static Activator plugin; + + /** + * The constructor + */ + public Activator() { + super(); + plugin = this; + } + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + } + + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Returns an image descriptor for the image file at the given plug-in relative path. + * + * @param path + * the path + * @return the image descriptor + */ + public static ImageDescriptor getImageDescriptor(String path) { + return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path); + } + + /** + * Create log entry from an IStatus + * + * @param status + * status to log + */ + public static void log(IStatus status) { + getDefault().getLog().log(status); + } + + /** + * Create log entry from a string + * + * @param msg + * message to log + */ + public static void log(String msg) { + log(new Status(IStatus.ERROR, getUniqueIdentifier(), IStatus.ERROR, msg, null)); + } + + /** + * Create log entry from a Throwable + * + * @param e + * throwable to log + */ + public static void log(Throwable e) { + log(new Status(IStatus.ERROR, getUniqueIdentifier(), IStatus.ERROR, Messages.TERMINAL_EXCEPTION, e)); + } + + // Get rid of edu.lsu.cct tags + + /** + * Generate a unique identifier + * + * @return unique identifier string + */ + public static String getUniqueIdentifier() { + if (getDefault() == null) { + // If the default instance is not yet initialized, + // return a static identifier. This identifier must + // match the plugin id defined in plugin.xml + return PLUGIN_ID; + } + return getDefault().getBundle().getSymbolicName(); + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java new file mode 100644 index 00000000000..28add0f3f99 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java @@ -0,0 +1,361 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import java.text.CharacterIterator; +import java.text.StringCharacterIterator; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +/** + * Utility class for managing command line arguments. + */ +public class ArgumentParser { + private final List tokens; + + /** + * Create a command line representation from the string with a shell command + * line. The command line is parsed and split on spaces. Quoted or escaped + * spaces are preserved.. + */ + public ArgumentParser(String commandline) { + this.tokens = parseCommandline(commandline); + } + + /** + * Create a command line representation from an array of strings. The first + * element of the array is assumed to be the command, the remaining, the + * arguments. The elements are not parsed not (un)escaped., but taked as the + * are. + */ + public ArgumentParser(String tokenArray[]) { + this(Arrays.asList(tokenArray)); + } + + /** + * Create a command line representation from an array of strings. The first + * element of the list is assumed to be the command, the remaining, the + * arguments. The elements are not parsed not (un)escaped., but taked as the + * are. + */ + public ArgumentParser(List tokenList) { + this.tokens = new ArrayList(tokenList); + } + + /** + * Create a command line representation from the command and an array of + * parameters. The elements are not parsed not (un)escaped., but taked as + * the are. + */ + public ArgumentParser(String command, String parameterArray[]) { + this(command, Arrays.asList(parameterArray)); + } + + /** + * Create a command line representation from the command and an list of + * parameters. The elements are not parsed not (un)escaped., but taked as + * the are. + */ + public ArgumentParser(String command, List parameterList) { + this.tokens = new ArrayList(); + this.tokens.add(command); + this.tokens.addAll(parameterList); + } + + private static List parseCommandline(String commandline) { + ArrayList result = new ArrayList(); + StringCharacterIterator iterator = new StringCharacterIterator(commandline); + + for (iterator.first(); iterator.current() != CharacterIterator.DONE; iterator.next()) { + + // Restart to skip white space + if (Character.isWhitespace(iterator.current())) { + continue; + } + + // Read token + StringBuffer buffer = new StringBuffer(); + token_reader: for (; iterator.current() != CharacterIterator.DONE; iterator.next()) { + char tokenChar = iterator.current(); + + // A white space terminates the token + if (Character.isWhitespace(tokenChar)) { + break token_reader; + } + + // Handle character that composes the token + switch (tokenChar) { + case '"': { + /* + * Read all text within double quotes or until end of + * string. Allows escaping. + */ + iterator.next(); // Skip quote + quoted_reader: while ((iterator.current() != CharacterIterator.DONE) && (iterator.current() != '"')) { + char innerChar = iterator.current(); + switch (innerChar) { + case '\\': + char nextChar = iterator.next(); + switch (nextChar) { + case CharacterIterator.DONE: + break quoted_reader; + case '"': + // Add the character, but remove the escape + buffer.append(nextChar); + iterator.next(); + continue quoted_reader; + default: + // Add the character and keep escape + buffer.append(innerChar); + buffer.append(nextChar); + iterator.next(); + continue quoted_reader; + } + default: + buffer.append(innerChar); + iterator.next(); + continue quoted_reader; + } + } + continue token_reader; + } + case '\'': { + /* + * Read all text within single quotes or until end of + * string. No escaping. + */ + iterator.next(); // Skip the quote + while ((iterator.current() != CharacterIterator.DONE) && (iterator.current() != '\'')) { + buffer.append(iterator.current()); + iterator.next(); + } + continue token_reader; + } + case '\\': { + /* + * Read escaped char. + */ + char nextChar = iterator.next(); + switch (nextChar) { + case CharacterIterator.DONE: + break token_reader; + case '\n': + // Ignore newline. Both lines are concatenated. + continue token_reader; + default: + // Add the character, but remove the escape + buffer.append(nextChar); + continue token_reader; + } + } + default: + /* + * Any other char, add to the buffer. + */ + buffer.append(tokenChar); + continue token_reader; + } + } + result.add(buffer.toString()); + } + + return result; + } + + /** + * Convert all tokens in a full command line that can be executed in a + * shell. + * + * @param fullEscape + * If every special character shall be escaped. If false, only + * white spaces are escaped and the shell will interpret the + * special chars. If true, then all special chars are quoted. + */ + public String getCommandLine(boolean fullEscape) { + StringBuffer buffer = new StringBuffer(); + Iterator iterator = this.tokens.iterator(); + boolean first = true; + while (iterator.hasNext()) { + String token = iterator.next(); + if (!first) { + buffer.append(' '); + } else { + first = false; + } + buffer.append(escapeToken(token, fullEscape)); + } + return buffer.toString(); + } + + private StringBuffer escapeToken(String token, boolean fullEscape) { + StringBuffer buffer = new StringBuffer(); + StringCharacterIterator iter = new StringCharacterIterator(token); + for (char c = iter.first(); c != CharacterIterator.DONE; c = iter.next()) { + if (Character.isWhitespace(c)) { + buffer.append('\\'); + buffer.append(c); + continue; + } + switch (c) { + case '(': + case ')': + case '[': + case ']': + case '{': + case '}': + case '|': + case '\\': + case '*': + case '&': + case '^': + case '%': + case '$': + case '#': + case '@': + case '!': + case '~': + case '`': + case '\'': + case '"': + case ':': + case ';': + case '?': + case '>': + case '<': + case '\n': + if (fullEscape) { + buffer.append('\\'); + } + buffer.append(c); + continue; + case ' ': + buffer.append('\\'); + buffer.append(c); + continue; + default: + buffer.append(c); + continue; + } + } + return buffer; + } + + /** + * Returns a List of all entries of the command line. + * + * @return The Array + */ + public String[] getTokenArray() { + return this.tokens.toArray(new String[this.tokens.size()]); + } + + /** + * Returns a List of all entries of the command line. + * + * @return The List + */ + public List getTokenList() { + return new ArrayList(this.tokens); + } + + /** + * Returns the command of the command line, assuming that the first entry is + * always the command. + * + * @return The command or null if the command lines has no command nor + * arguments. + */ + public String getCommand() { + if (this.tokens.size() == 0) { + return null; + } + return this.tokens.get(0); + } + + /** + * Returns the command of the command line, assuming that the first entry is + * always the command. + * + * @return The command or null if the command lines has no command nor + * arguments. + * @param fullEscape + * If every special character shall be escaped. If false, only + * white spaces are escaped and the shell will interpret the + * special chars. If true, then all special chars are quoted. + */ + public String getEscapedCommand(boolean fullEscape) { + if (this.tokens.size() == 0) { + return null; + } + return escapeToken(this.tokens.get(0), fullEscape).toString(); + } + + /** + * Returns a list of all arguments, assuming that the first entry is the + * command name. + * + * @return The Array or null if the command lines has no command nor + * arguments. + */ + public String[] getParameterArray() { + if (this.tokens.size() == 0) { + return null; + } + return this.tokens.subList(1, this.tokens.size()).toArray(new String[this.tokens.size() - 1]); + } + + /** + * Returns a list of all arguments, assuming that the first entry is the + * command name. + * + * @return The List or null if the command lines has no command nor + * arguments. + */ + public List getParameterList() { + if (this.tokens.size() == 0) { + return null; + } + return new ArrayList(this.tokens.subList(1, this.tokens.size())); + } + + /** + * Returns the total number of entries. + * + * @return the total number of entries + */ + public int getSize() { + return this.tokens.size(); + } + + /** + * Returns a representation of the command line for debug purposes. + */ + @Override + public String toString() { + StringBuffer buffer = new StringBuffer(); + buffer.append("<"); //$NON-NLS-1$ + Iterator iterator = this.tokens.iterator(); + boolean first = true; + while (iterator.hasNext()) { + String token = iterator.next(); + if (!first) { + buffer.append('\n'); + } else { + first = false; + } + buffer.append(token); + } + buffer.append(">"); //$NON-NLS-1$ + return buffer.toString(); + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java new file mode 100644 index 00000000000..74ac4835e66 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java @@ -0,0 +1,179 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import java.io.IOException; +import java.io.InputStream; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtension; +import org.eclipse.core.runtime.IExtensionPoint; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.RegistryFactory; +import org.eclipse.core.runtime.Status; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.core.runtime.preferences.InstanceScope; +import org.eclipse.osgi.util.NLS; +import org.eclipse.remote.core.IRemoteConnection; +import org.eclipse.remote.core.IRemoteConnectionManager; +import org.eclipse.remote.core.IRemoteProcess; +import org.eclipse.remote.core.IRemoteProcessBuilder; +import org.eclipse.remote.core.IRemoteServices; +import org.eclipse.remote.core.RemoteServices; +import org.eclipse.remote.core.exception.RemoteConnectionException; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.remote.messages.Messages; +import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.remote.IRemoteTerminalParser; + +@SuppressWarnings("restriction") +public class RemoteConnectionManager extends Job { + private final static String PARSERS_EXTENSION_POINT = "parsers"; //$NON-NLS-1$ + private final static String PARSER_ELEMENT = "parser"; //$NON-NLS-1$ + private static int fgNo; + + private final ITerminalControl control; + private final RemoteConnector connector; + + private IRemoteTerminalParser parser; + + protected RemoteConnectionManager(RemoteConnector conn, ITerminalControl control) { + super("Remote Terminal-" + fgNo++); //$NON-NLS-1$ + this.control = control; + this.connector = conn; + setSystem(true); + loadParserExtension(); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor) + */ + @Override + protected IStatus run(IProgressMonitor monitor) { + IRemoteProcess remoteProcess = null; + IRemoteConnection remoteConnection = null; + + try { + String remoteServices = connector.getSshSettings().getRemoteServices(); + IRemoteServices services = RemoteServices.getRemoteServices(remoteServices); + if (services != null) { + IRemoteConnectionManager connMgr = services.getConnectionManager(); + if (connMgr != null) { + remoteConnection = connMgr.getConnection(connector.getSshSettings().getConnectionName()); + } + } + if (remoteConnection == null) { + throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getSshSettings() + .getConnectionName())); + } + + if (!remoteConnection.isOpen()) { + remoteConnection.open(monitor); + if (!remoteConnection.isOpen()) { + throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_1, connector.getSshSettings() + .getConnectionName())); + } + } + + if (parser != null) { + remoteProcess = parser.initialize(remoteConnection); + } else { + /* + * Check the terminal shell command preference. If the preference is empty and we support a command shell, + * just use that. Otherwise use the preference value if it is set, or fall back to a default if not. + */ + IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(Activator.getUniqueIdentifier()); + String terminalShellCommand = prefs.get(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, ""); //$NON-NLS-1$ + if (!("".equals(terminalShellCommand)) //$NON-NLS-1$ + && (remoteConnection.getRemoteServices().getCapabilities() & IRemoteServices.CAPABILITY_SUPPORTS_COMMAND_SHELL) != 0) { + remoteProcess = remoteConnection.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + } else { + if ("".equals(terminalShellCommand)) { //$NON-NLS-1$ + terminalShellCommand = "/bin/bash -l"; //$NON-NLS-1$ + } + IRemoteProcessBuilder processBuilder = remoteConnection.getProcessBuilder(new ArgumentParser( + terminalShellCommand).getTokenList()); + remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + } + } + + connector.setInputStream(remoteProcess.getInputStream()); + control.setState(TerminalState.CONNECTED); + control.setTerminalTitle(remoteConnection.getName()); + connector.setOutputStream(remoteProcess.getOutputStream()); + + // read data until the connection gets terminated + readData(connector.getInputStream()); + } catch (IOException e) { + return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), e.getMessage()); + } catch (RemoteConnectionException e) { + return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), e.getMessage()); + } finally { + // make sure the terminal is disconnected when the thread ends + connector.disconnect(); + synchronized (this) { + if (remoteProcess != null && !remoteProcess.isCompleted()) { + remoteProcess.destroy(); + } + } + } + return Status.OK_STATUS; + } + + public void setTerminalSize(int cols, int rows, int width, int height) { + // Enable for org.eclipse.remote v1.2 + // if (remoteProcess instanceof IRemoteTerminal) { + // ((IRemoteTerminal) remoteProcess).setTerminalSize(cols, rows, width, height); + // } + } + + /** + * Read the data from the connection and display it in the terminal. + * + * @param in + * @throws IOException + */ + private void readData(InputStream in) throws IOException { + byte[] buf = new byte[32 * 1024]; + while (getState() == Job.RUNNING) { + int n = in.read(buf, 0, buf.length); + if (n <= 0) { + break; + } + if (parser == null || parser.parse(buf)) { + control.getRemoteToTerminalOutputStream().write(buf, 0, n); + } + } + } + + private void loadParserExtension() { + IExtensionPoint point = RegistryFactory.getRegistry().getExtensionPoint(Activator.getUniqueIdentifier(), + PARSERS_EXTENSION_POINT); + if (point != null) { + IExtension[] extensions = point.getExtensions(); + for (IExtension extension : extensions) { + IConfigurationElement[] elements = extension.getConfigurationElements(); + for (IConfigurationElement element : elements) { + if (PARSER_ELEMENT.equals(element.getName())) { + try { + parser = (IRemoteTerminalParser) element.createExecutableExtension("class"); //$NON-NLS-1$ + } catch (CoreException e) { + Activator.log(e); + } + } + } + } + } + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java new file mode 100644 index 00000000000..f97ec007898 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java @@ -0,0 +1,177 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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.tm.terminal.remote.IRemoteSettings; + +@SuppressWarnings("restriction") +public class RemoteConnector extends TerminalConnectorImpl { + private OutputStream fOutputStream; + private InputStream fInputStream; + private RemoteConnectionManager fConnection; + private int fWidth; + private int fHeight; + private final RemoteSettings fSettings; + + public RemoteConnector() { + this(new RemoteSettings()); + } + + public RemoteConnector(RemoteSettings 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 + public void connect(ITerminalControl control) { + super.connect(control); + fControl.setState(TerminalState.CONNECTING); + fConnection = new RemoteConnectionManager(this, control); + fConnection.schedule(); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + */ + @Override + public synchronized void doDisconnect() { + if (getInputStream() != null) { + try { + getInputStream().close(); + } catch (Exception exception) { + Activator.log(exception); + } + } + + if (getTerminalToRemoteStream() != null) { + try { + getTerminalToRemoteStream().close(); + } catch (Exception exception) { + Activator.log(exception); + } + } + + fConnection.cancel(); + } + + public InputStream getInputStream() { + return fInputStream; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() + */ + @Override + public String getSettingsSummary() { + return fSettings.getSummary(); + } + + /** + * Return the SSH Settings. + * + * @return the settings for a concrete connection. + * @since org.eclipse.tm.terminal.ssh 2.0 renamed from getTelnetSettings() + */ + public IRemoteSettings getSshSettings() { + return fSettings; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream() + */ + @Override + public OutputStream getTerminalToRemoteStream() { + return fOutputStream; + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#initialize() + */ + @Override + public void initialize() throws Exception { + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tm.internal.terminal.provisional + * .api.ISettingsStore) + */ + @Override + public void load(ISettingsStore store) { + fSettings.load(store); + } + + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() + */ + @Override + public ISettingsPage makeSettingsPage() { + return new RemoteSettingsPage(fSettings); + } + + /* + * (non-Javadoc) + * + * @see + * org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tm.internal.terminal.provisional + * .api.ISettingsStore) + */ + @Override + public void save(ISettingsStore store) { + fSettings.save(store); + } + + public void setInputStream(InputStream inputStream) { + fInputStream = inputStream; + } + + public void setOutputStream(OutputStream outputStream) { + 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)) { + // avoid excessive communications due to change size requests by caching previous size + fConnection.setTerminalSize(newWidth, newHeight, 8 * newWidth, 8 * newHeight); + fWidth = newWidth; + fHeight = newHeight; + } + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java new file mode 100644 index 00000000000..e71e9f65eb9 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java @@ -0,0 +1,61 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.terminal.remote.IRemoteSettings; + +@SuppressWarnings("restriction") +public class RemoteSettings implements IRemoteSettings { + protected String fRemoteServices; + protected String fConnectionName; + + public RemoteSettings() { + } + + public String getConnectionName() { + return fConnectionName; + } + + public String getRemoteServices() { + return fRemoteServices; + } + + public String getSummary() { + return "Remote:" + getRemoteServices() + '_' + getConnectionName(); //$NON-NLS-1$ + } + + @Override + public String toString() { + return getSummary(); + } + + /** + * Load information into the RemoteSettings object. + */ + public void load(ISettingsStore store) { + fRemoteServices = store.get(REMOTE_SERVICES); + fConnectionName = store.get(CONNECTION_NAME); + } + + /** + * Extract information from the RemoteSettings object. + */ + public void save(ISettingsStore store) { + store.put(REMOTE_SERVICES, fRemoteServices); + store.put(CONNECTION_NAME, fConnectionName); + } + + public void setConnectionName(String name) { + fConnectionName = name; + } + + public void setRemoteServices(String remoteServices) { + fRemoteServices = remoteServices; + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java new file mode 100644 index 00000000000..e49d8097e47 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote; + +import org.eclipse.remote.ui.widgets.RemoteConnectionWidget; +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.tm.internal.terminal.provisional.api.AbstractSettingsPage; + +@SuppressWarnings("restriction") +public class RemoteSettingsPage extends AbstractSettingsPage { + private final RemoteSettings fTerminalSettings; + private RemoteConnectionWidget fRemoteConnectionWidget; + + public RemoteSettingsPage(RemoteSettings settings) { + fTerminalSettings = settings; + } + + public void saveSettings() { + fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getRemoteServices().getId()); + fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); + } + + public void loadSettings() { + if (fTerminalSettings != null) { + fRemoteConnectionWidget.setConnection(fTerminalSettings.getRemoteServices(), fTerminalSettings.getConnectionName()); + } + } + + String get(String value, String def) { + if (value == null || value.length() == 0) { + return def; + } + return value; + } + + public boolean validateSettings() { + if (fRemoteConnectionWidget.getConnection() == null) { + return false; + } + return true; + } + + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + + composite.setLayout(gridLayout); + composite.setLayoutData(gridData); + + fRemoteConnectionWidget = new RemoteConnectionWidget(composite, SWT.NONE, null, 0); + loadSettings(); + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java new file mode 100644 index 00000000000..a0df4052781 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote.messages; + +import org.eclipse.osgi.util.NLS; + +public class Messages extends NLS { + private static final String BUNDLE_NAME = "org.eclipse.tm.internal.terminal.remote.messages.messages"; //$NON-NLS-1$ + + public static String RemoteConnectionManager_0; + + public static String RemoteConnectionManager_1; + + public static String RemoteTerminalPreferencePage_0; + + public static String TERMINAL_EXCEPTION; + static { + // initialize resource bundle + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + private Messages() { + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties new file mode 100644 index 00000000000..562a8886498 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties @@ -0,0 +1,4 @@ +RemoteConnectionManager_0=Unable to create connection: {0} +RemoteConnectionManager_1=Unable to to open connection: {0} +RemoteTerminalPreferencePage_0=Initial Shell Command +TERMINAL_EXCEPTION=Remote Terminal Exception diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java new file mode 100644 index 00000000000..99d3a8ac91c --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.core.runtime.preferences.DefaultScope; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.tm.internal.terminal.remote.Activator; +import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; + +public class RemoteTerminalPreferenceInitializer extends AbstractPreferenceInitializer { + + public RemoteTerminalPreferenceInitializer() { + } + + @Override + public void initializeDefaultPreferences() { + IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(Activator.getUniqueIdentifier()); + defaultPrefs.put(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, ""); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java new file mode 100644 index 00000000000..cfc75187ddf --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.remote.preferences; + +import org.eclipse.core.runtime.preferences.InstanceScope; +import org.eclipse.jface.preference.FieldEditorPreferencePage; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.preference.StringFieldEditor; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.internal.terminal.remote.Activator; +import org.eclipse.tm.internal.terminal.remote.messages.Messages; +import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.eclipse.ui.preferences.ScopedPreferenceStore; + +public class RemoteTerminalPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + protected void createFieldEditors() { + Composite parent = getFieldEditorParent(); + addField(new StringFieldEditor(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, + Messages.RemoteTerminalPreferencePage_0, parent)); + } + + @Override + public IPreferenceStore doGetPreferenceStore() { + return new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.getUniqueIdentifier()); + } + + public void init(IWorkbench workbench) { + // Nothing + } +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java new file mode 100644 index 00000000000..22b07d0107d --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.terminal.remote; + +public interface IRemoteSettings { + public static final String CONNECTION_NAME = "ConnectionName"; //$NON-NLS-1$ + public static final String REMOTE_SERVICES = "RemoteServices"; //$NON-NLS-1$ + + /** + * Get the host name or IP address of remote system to connect. + * + * @return host name or IP address of the remote system. + */ + String getRemoteServices(); + + /** + * Get the login name for connecting to the remote system. + * + * @return remote login name + */ + String getConnectionName(); +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java new file mode 100644 index 00000000000..d0f29e085c8 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java @@ -0,0 +1,12 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.terminal.remote; + +public interface IRemoteTerminalConstants { + public static final String PREF_TERMINAL_SHELL_COMMAND = "TERMINAL_SHELL_COMMAND"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java new file mode 100644 index 00000000000..f951e2309e8 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.tm.terminal.remote; + +import java.io.IOException; + +import org.eclipse.remote.core.IRemoteConnection; +import org.eclipse.remote.core.IRemoteProcess; + +public interface IRemoteTerminalParser { + /** + * Initialize the remote shell. This method will be called after the connection has been initialized. Implementors can assume + * that the connection is open when this is called. + * + * @param connection + * terminal shell connection + * @return IRemoteProcess a remote process corresponding to the remote shell + * @throws IOException + * if the remote shell fails to start for some reason + */ + IRemoteProcess initialize(IRemoteConnection connection) throws IOException; + + /** + * Parse the input stream. This method will be called with a buffer of characters read from the input stream. If the method + * returns true, the characters will be displayed in the terminal view, otherwise they will be ignored. + * + * @param buf + * buffer containing characters from the terminal input stream + * @return true if the characters should be displayed in the terminal + */ + boolean parse(byte[] buf); +} From 8fe5912caffc2ed4aa1b4483370fed6feda149e9 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Wed, 4 Feb 2015 16:17:54 -0500 Subject: [PATCH 573/843] Update feature/pom versions to 4.0.0 Change-Id: I2e23f2319fd17051ffd69de8a0e1108b1641699c Signed-off-by: Greg Watson --- features/org.eclipse.tm.terminal-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.local-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.local.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.remote-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.remote-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.remote.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.serial-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.serial-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.ssh-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.ssh-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.telnet-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.telnet-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.test-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view-feature/feature.xml | 4 ++-- features/org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- 24 files changed, 36 insertions(+), 36 deletions(-) diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml index 2234544d1fb..61657eb56d8 100644 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ b/features/org.eclipse.tm.terminal-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml index e5f473fce2b..67af8894dd8 100644 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ b/features/org.eclipse.tm.terminal-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 11578877e5d..3166627b905 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index 3aaaa7f189b..a08009edc55 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/features/org.eclipse.tm.terminal.local-feature/feature.xml index 65fbbc4272e..855f121dbe4 100644 --- a/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/features/org.eclipse.tm.terminal.local-feature/pom.xml index 83b40907d93..be91b64974a 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml index 45716fbb3a4..3ca9d8ef761 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 016ef3c140d..2b013a9d578 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote-feature/feature.xml b/features/org.eclipse.tm.terminal.remote-feature/feature.xml index 46ffdefffda..73c3587227d 100644 --- a/features/org.eclipse.tm.terminal.remote-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote-feature/feature.xml @@ -12,7 +12,7 @@ @@ -30,7 +30,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.remote-feature/pom.xml b/features/org.eclipse.tm.terminal.remote-feature/pom.xml index 6f4bfe93ad1..db3f4eba50e 100644 --- a/features/org.eclipse.tm.terminal.remote-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.remote-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.remote.feature - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml index 424ef3985b0..7f91c521e8e 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml @@ -12,7 +12,7 @@ @@ -30,7 +30,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml index 64ce0cd11cc..23827bd677b 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.remote.sdk.feature - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index 5b8d7c918b8..50dfb626704 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index c797a1c8dfb..81a7bfaacd8 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.sdk - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml index d7939c87a65..864a0edeab8 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml index eb61dabde0e..d283a7da65a 100644 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.serial - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml index 189124c5fab..18fb09d318c 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml index 60ba8d2db66..20e2e993aa4 100644 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.ssh - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml index a4f39c1252a..fc674ce79e0 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml index a4ac202bbb6..2d5e57b6afe 100644 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.telnet - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/features/org.eclipse.tm.terminal.test-feature/feature.xml index 76c2333727c..e279ca16736 100644 --- a/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/features/org.eclipse.tm.terminal.test-feature/pom.xml index 851c9116917..625bb965588 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.test - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/features/org.eclipse.tm.terminal.view-feature/feature.xml index c540c0a6e8b..378b4cc70f0 100644 --- a/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/features/org.eclipse.tm.terminal.view-feature/pom.xml index eeb809b681a..cdf0e8fbd9e 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -10,7 +10,7 @@ org.eclipse.tm.features org.eclipse.tm.terminal.view - 3.7.0.qualifier + 4.0.0.qualifier eclipse-feature From d01d7f9260f79db6738fdba98db71c298bd4eeba Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 5 Feb 2015 10:54:09 +0100 Subject: [PATCH 574/843] Terminal: Move deprecated Terminal features and plug-ins into separate "deprecated" folder. --- .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 2 +- .../org.eclipse.tm.terminal.local-feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../org.eclipse.tm.terminal.local-feature/pom.xml | 2 +- .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 2 +- .../org.eclipse.tm.terminal.sdk-feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../org.eclipse.tm.terminal.sdk-feature/feature.xml | 0 .../org.eclipse.tm.terminal.sdk-feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.test-feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../org.eclipse.tm.terminal.test-feature/pom.xml | 2 +- .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../org.eclipse.tm.terminal.view-feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../org.eclipse.tm.terminal.view-feature/pom.xml | 2 +- .../sourceTemplateFeature/feature.properties | 0 .../sourceTemplatePlugin/about.html | 0 .../sourceTemplatePlugin/about.ini | 0 .../sourceTemplatePlugin/about.mappings | 0 .../sourceTemplatePlugin/about.properties | 0 .../sourceTemplatePlugin/build.properties | 0 .../sourceTemplatePlugin/plugin.properties | 0 .../sourceTemplatePlugin/tm32.png | Bin .../org.eclipse.tm.terminal.local/.classpath | 0 .../org.eclipse.tm.terminal.local/.cvsignore | 0 .../plugins}/org.eclipse.tm.terminal.local/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.local/about.html | 0 .../org.eclipse.tm.terminal.local/about.ini | 0 .../org.eclipse.tm.terminal.local/about.mappings | 0 .../org.eclipse.tm.terminal.local/about.properties | 0 .../org.eclipse.tm.terminal.local/build.properties | 0 .../icons/terminal-launch.gif | Bin .../org.eclipse.tm.terminal.local/plugin.properties | 0 .../org.eclipse.tm.terminal.local/plugin.xml | 0 .../plugins}/org.eclipse.tm.terminal.local/pom.xml | 2 +- .../terminal/local/ILocalTerminalSettings.java | 0 .../terminal/local/LocalTerminalActivator.java | 0 .../terminal/local/LocalTerminalConnector.java | 0 .../local/LocalTerminalLaunchLabelProvider.java | 0 .../local/LocalTerminalLaunchListProvider.java | 0 .../terminal/local/LocalTerminalMessages.java | 0 .../terminal/local/LocalTerminalMessages.properties | 0 .../terminal/local/LocalTerminalOutputListener.java | 0 .../terminal/local/LocalTerminalOutputStream.java | 0 .../terminal/local/LocalTerminalSettings.java | 0 .../terminal/local/LocalTerminalSettingsPage.java | 0 .../terminal/local/LocalTerminalUtilities.java | 0 .../local/launch/LocalTerminalLaunchDelegate.java | 0 .../local/launch/LocalTerminalLaunchUtilities.java | 0 .../launch/LocalTerminalStillRunningListener.java | 0 .../launch/ui/LocalTerminalLaunchTabGroup.java | 0 .../local/launch/ui/LocalTerminalSettingsTab.java | 0 .../launch/ui/LocalTerminalStillRunningDialog.java | 0 .../local/process/LocalTerminalProcess.java | 0 .../local/process/LocalTerminalProcessFactory.java | 0 .../local/process/LocalTerminalProcessRegistry.java | 0 .../terminal/local/ui/DependentHeightComposite.java | 0 .../plugins}/org.eclipse.tm.terminal.local/tm32.png | Bin .../org.eclipse.tm.terminal.view/.classpath | 0 .../org.eclipse.tm.terminal.view/.cvsignore | 0 .../plugins}/org.eclipse.tm.terminal.view/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../org.eclipse.tm.terminal.view/HelpContexts.xml | 0 .../META-INF/MANIFEST.MF | 0 .../TerminalContexts.xml | 0 .../org.eclipse.tm.terminal.view/about.html | 0 .../plugins}/org.eclipse.tm.terminal.view/about.ini | 0 .../org.eclipse.tm.terminal.view/about.mappings | 0 .../org.eclipse.tm.terminal.view/about.properties | 0 .../org.eclipse.tm.terminal.view/build.properties | 0 .../org.eclipse.tm.terminal.view/doc/book.css | 0 .../doc/html/01_terminalview.html | 0 .../doc/html/02_terminal_page.html | 0 .../doc/html/03_terminal_settings.html | 0 .../doc/html/04_terminal_emulation.html | 0 .../doc/html/notice.html | 0 .../icons/clcl16/command_input_field.gif | Bin .../icons/clcl16/connect_co.gif | Bin .../icons/clcl16/disconnect_co.gif | Bin .../icons/clcl16/lock_co.gif | Bin .../icons/clcl16/newterminal.gif | Bin .../icons/clcl16/properties_tsk.gif | Bin .../icons/cview16/terminal_view.gif | Bin .../icons/dlcl16/command_input_field.gif | Bin .../icons/dlcl16/connect_co.gif | Bin .../icons/dlcl16/disconnect_co.gif | Bin .../icons/dlcl16/lock_co.gif | Bin .../icons/dlcl16/newterminal.gif | Bin .../icons/dlcl16/properties_tsk.gif | Bin .../icons/dlcl16/rem_co.gif | Bin .../icons/elcl16/command_input_field.gif | Bin .../icons/elcl16/connect_co.gif | Bin .../icons/elcl16/disconnect_co.gif | Bin .../icons/elcl16/lock_co.gif | Bin .../icons/elcl16/newterminal.gif | Bin .../icons/elcl16/properties_tsk.gif | Bin .../icons/elcl16/rem_co.gif | Bin .../icons/eview16/terminal_view.gif | Bin .../org.eclipse.tm.terminal.view/plugin.properties | 0 .../org.eclipse.tm.terminal.view/plugin.xml | 0 .../plugins}/org.eclipse.tm.terminal.view/pom.xml | 2 +- .../internal/terminal/actions/ActionMessages.java | 0 .../terminal/actions/ActionMessages.properties | 0 .../actions/ShowTerminalConnectionAction.java | 0 .../internal/terminal/actions/TerminalAction.java | 0 .../terminal/actions/TerminalActionConnect.java | 0 .../terminal/actions/TerminalActionDisconnect.java | 0 .../terminal/actions/TerminalActionNewTerminal.java | 0 .../terminal/actions/TerminalActionRemove.java | 0 .../terminal/actions/TerminalActionScrollLock.java | 0 .../actions/TerminalActionSelectionDropDown.java | 0 .../terminal/actions/TerminalActionSettings.java | 0 .../TerminalActionToggleCommandInputField.java | 0 .../tm/internal/terminal/view/ITerminalView.java | 0 .../terminal/view/ITerminalViewConnection.java | 0 .../view/ITerminalViewConnectionManager.java | 0 .../tm/internal/terminal/view/ImageConsts.java | 0 .../eclipse/tm/internal/terminal/view/PageBook.java | 0 .../terminal/view/SettingStorePrefixDecorator.java | 0 .../tm/internal/terminal/view/SettingsStore.java | 0 .../internal/terminal/view/TerminalSettingsDlg.java | 0 .../tm/internal/terminal/view/TerminalView.java | 0 .../terminal/view/TerminalViewConnection.java | 0 .../view/TerminalViewConnectionManager.java | 0 .../terminal/view/TerminalViewControlDecorator.java | 0 .../internal/terminal/view/TerminalViewPlugin.java | 0 .../tm/internal/terminal/view/ViewMessages.java | 0 .../internal/terminal/view/ViewMessages.properties | 0 .../plugins}/org.eclipse.tm.terminal.view/tm32.png | Bin .../plugins}/org.eclipse.tm.terminal.view/toc.xml | 0 151 files changed, 8 insertions(+), 8 deletions(-) rename {features => deprecated/features}/org.eclipse.tm.terminal.core.sdk-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.core.sdk-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.core.sdk-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.core.sdk-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.core.sdk-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local.sdk-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local.sdk-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local.sdk-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local.sdk-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.local.sdk-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.sdk-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.sdk-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.sdk-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.sdk-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.sdk-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/.project (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/feature.xml (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/pom.xml (93%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties (100%) rename {features => deprecated/features}/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/.classpath (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/.cvsignore (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/.project (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/about.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/about.ini (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/about.mappings (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/about.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/build.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/icons/terminal-launch.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/plugin.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/plugin.xml (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/pom.xml (90%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.local/tm32.png (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/.classpath (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/.cvsignore (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/.project (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/HelpContexts.xml (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/TerminalContexts.xml (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/about.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/about.ini (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/about.mappings (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/about.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/build.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/book.css (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/doc/html/notice.html (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/plugin.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/plugin.xml (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/pom.xml (90%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/tm32.png (100%) rename {plugins => deprecated/plugins}/org.eclipse.tm.terminal.view/toc.xml (100%) diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.core.sdk-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.core.sdk-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml index a08009edc55..4609c075ad9 100644 --- a/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.core.sdk diff --git a/features/org.eclipse.tm.terminal.local-feature/.project b/deprecated/features/org.eclipse.tm.terminal.local-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.local-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.local-feature/.project diff --git a/features/org.eclipse.tm.terminal.local-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.local-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.local-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.local-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.local-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.local-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.local-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml index be91b64974a..e8192c4c55a 100644 --- a/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.local diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.local.sdk-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.local.sdk-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml index 2b013a9d578..ee1ccbea2d0 100644 --- a/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.local.sdk diff --git a/features/org.eclipse.tm.terminal.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.sdk-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project diff --git a/features/org.eclipse.tm.terminal.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.sdk-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.sdk-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.sdk-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.sdk-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml index 81a7bfaacd8..eb957301c59 100644 --- a/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.sdk diff --git a/features/org.eclipse.tm.terminal.test-feature/.project b/deprecated/features/org.eclipse.tm.terminal.test-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.test-feature/.project diff --git a/features/org.eclipse.tm.terminal.test-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.test-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.test-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.test-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml index 625bb965588..57c325814c9 100644 --- a/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.test diff --git a/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html rename to deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html diff --git a/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties rename to deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties diff --git a/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties rename to deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/.project b/deprecated/features/org.eclipse.tm.terminal.view-feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/.project rename to deprecated/features/org.eclipse.tm.terminal.view-feature/.project diff --git a/features/org.eclipse.tm.terminal.view-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/build.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/feature.xml rename to deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.view-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.view-feature/pom.xml rename to deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml index cdf0e8fbd9e..27352ba805b 100644 --- a/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm.features org.eclipse.tm.terminal.view diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties diff --git a/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png similarity index 100% rename from features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png rename to deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.local/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.local/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/.classpath rename to deprecated/plugins/org.eclipse.tm.terminal.local/.classpath diff --git a/plugins/org.eclipse.tm.terminal.local/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/.cvsignore rename to deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.local/.project b/deprecated/plugins/org.eclipse.tm.terminal.local/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/.project rename to deprecated/plugins/org.eclipse.tm.terminal.local/.project diff --git a/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs rename to deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF rename to deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.local/about.html b/deprecated/plugins/org.eclipse.tm.terminal.local/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/about.html rename to deprecated/plugins/org.eclipse.tm.terminal.local/about.html diff --git a/plugins/org.eclipse.tm.terminal.local/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.local/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/about.ini rename to deprecated/plugins/org.eclipse.tm.terminal.local/about.ini diff --git a/plugins/org.eclipse.tm.terminal.local/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/about.mappings rename to deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings diff --git a/plugins/org.eclipse.tm.terminal.local/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/about.properties rename to deprecated/plugins/org.eclipse.tm.terminal.local/about.properties diff --git a/plugins/org.eclipse.tm.terminal.local/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/build.properties rename to deprecated/plugins/org.eclipse.tm.terminal.local/build.properties diff --git a/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif b/deprecated/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif rename to deprecated/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif diff --git a/plugins/org.eclipse.tm.terminal.local/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/plugin.properties rename to deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.local/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/plugin.xml rename to deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.local/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml similarity index 90% rename from plugins/org.eclipse.tm.terminal.local/pom.xml rename to deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml index a61ae8bb06c..fdc1b866b80 100644 --- a/plugins/org.eclipse.tm.terminal.local/pom.xml +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.local diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java diff --git a/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java rename to deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java diff --git a/plugins/org.eclipse.tm.terminal.local/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.local/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.local/tm32.png rename to deprecated/plugins/org.eclipse.tm.terminal.local/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.view/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/.classpath rename to deprecated/plugins/org.eclipse.tm.terminal.view/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/.cvsignore rename to deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.view/.project b/deprecated/plugins/org.eclipse.tm.terminal.view/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/.project rename to deprecated/plugins/org.eclipse.tm.terminal.view/.project diff --git a/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs rename to deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs rename to deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/HelpContexts.xml rename to deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml diff --git a/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF rename to deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml rename to deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml diff --git a/plugins/org.eclipse.tm.terminal.view/about.html b/deprecated/plugins/org.eclipse.tm.terminal.view/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/about.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/about.html diff --git a/plugins/org.eclipse.tm.terminal.view/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/about.ini rename to deprecated/plugins/org.eclipse.tm.terminal.view/about.ini diff --git a/plugins/org.eclipse.tm.terminal.view/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/about.mappings rename to deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings diff --git a/plugins/org.eclipse.tm.terminal.view/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/about.properties rename to deprecated/plugins/org.eclipse.tm.terminal.view/about.properties diff --git a/plugins/org.eclipse.tm.terminal.view/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/build.properties rename to deprecated/plugins/org.eclipse.tm.terminal.view/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view/doc/book.css b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/book.css rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css diff --git a/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html diff --git a/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html diff --git a/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html diff --git a/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html diff --git a/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/doc/html/notice.html rename to deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif diff --git a/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif rename to deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/plugin.properties rename to deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/plugin.xml rename to deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.view/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml similarity index 90% rename from plugins/org.eclipse.tm.terminal.view/pom.xml rename to deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml index aee546ea209..4ae0aaa1199 100644 --- a/plugins/org.eclipse.tm.terminal.view/pom.xml +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -6,7 +6,7 @@ org.eclipse.tm.maven-build org.eclipse.tm 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../../../admin/pom-build.xml org.eclipse.tm org.eclipse.tm.terminal.view diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java diff --git a/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.view/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/tm32.png rename to deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.view/toc.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view/toc.xml rename to deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml From 1a184c67f6c97fe743f0cc18659bc997c3d3c8c4 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 9 Feb 2015 15:22:05 +0100 Subject: [PATCH 575/843] Terminal: Clean out terminal feature structure --- .../build.properties | 5 - .../feature.properties | 2 +- .../feature.xml | 33 +--- .../feature.xml | 12 +- .../feature.xml | 21 +-- .../feature.xml | 58 +----- .../feature.properties | 2 +- .../feature.xml | 7 +- .../feature.xml | 1 + .../sourceTemplateFeature/feature.properties | 170 ------------------ .../sourceTemplatePlugin/about.html | 33 ---- .../sourceTemplatePlugin/about.ini | 27 --- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 12 -- .../sourceTemplatePlugin/plugin.properties | 12 -- .../sourceTemplatePlugin/tm32.png | Bin 2275 -> 0 bytes .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal-feature/.project | 17 -- .../build.properties | 13 -- .../feature.properties | 169 ----------------- .../feature.xml | 51 ------ .../org.eclipse.tm.terminal-feature/pom.xml | 30 ---- .../sourceTemplateFeature/feature.properties | 168 ----------------- .../sourceTemplatePlugin/about.html | 33 ---- .../sourceTemplatePlugin/about.ini | 27 --- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 12 -- .../sourceTemplatePlugin/plugin.properties | 12 -- .../sourceTemplatePlugin/tm32.png | Bin 2275 -> 0 bytes .../.project | 17 -- .../build.properties | 9 - .../feature.properties | 165 ----------------- .../feature.xml | 57 ------ .../pom.xml | 30 ---- .../.project | 17 -- .../build.properties | 12 -- .../feature.properties | 165 ----------------- .../feature.xml | 66 ------- .../pom.xml | 30 ---- .../.project | 17 -- .../build.properties | 13 -- .../feature.properties | 168 ----------------- .../feature.xml | 51 ------ .../pom.xml | 30 ---- .../sourceTemplateFeature/feature.properties | 168 ----------------- .../sourceTemplatePlugin/about.html | 33 ---- .../sourceTemplatePlugin/about.ini | 27 --- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 12 -- .../sourceTemplatePlugin/plugin.properties | 12 -- .../sourceTemplatePlugin/tm32.png | Bin 2275 -> 0 bytes .../.project | 17 -- .../build.properties | 13 -- .../feature.properties | 168 ----------------- .../feature.xml | 53 ------ .../pom.xml | 30 ---- .../sourceTemplateFeature/feature.properties | 168 ----------------- .../sourceTemplatePlugin/about.html | 33 ---- .../sourceTemplatePlugin/about.ini | 27 --- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 12 -- .../sourceTemplatePlugin/plugin.properties | 12 -- .../sourceTemplatePlugin/tm32.png | Bin 2275 -> 0 bytes .../.project | 17 -- .../build.properties | 13 -- .../feature.properties | 168 ----------------- .../feature.xml | 51 ------ .../pom.xml | 30 ---- .../sourceTemplateFeature/feature.properties | 168 ----------------- .../sourceTemplatePlugin/about.html | 33 ---- .../sourceTemplatePlugin/about.ini | 27 --- .../sourceTemplatePlugin/about.mappings | 6 - .../sourceTemplatePlugin/about.properties | 25 --- .../sourceTemplatePlugin/build.properties | 12 -- .../sourceTemplatePlugin/plugin.properties | 12 -- .../sourceTemplatePlugin/tm32.png | Bin 2275 -> 0 bytes .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 2 +- 84 files changed, 35 insertions(+), 3220 deletions(-) delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplateFeature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.html delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png delete mode 100644 features/org.eclipse.tm.terminal-feature/.project delete mode 100644 features/org.eclipse.tm.terminal-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png delete mode 100644 features/org.eclipse.tm.terminal.remote-feature/.project delete mode 100644 features/org.eclipse.tm.terminal.remote-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal.remote-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.remote-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal.remote-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/.project delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/.project delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/.project delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/.project delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/build.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/feature.xml delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/pom.xml delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties index abb78c66353..3827d2e0577 100644 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties +++ b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties @@ -11,8 +11,3 @@ ################################################################################ bin.includes = feature.xml,\ feature.properties - -generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal -generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial -generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh -generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties index 95175d58f99..ce83ddadf66 100644 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties +++ b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal (Core SDK) +featureName=Target Management Terminal (Core SDK, Deprecated) # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal control including \ diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml index 3166627b905..7e73f41a107 100644 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml @@ -51,32 +51,11 @@ id="org.eclipse.tm.terminal.telnet" version="0.0.0"/> - - - - - - - + + + + + + diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml index 855f121dbe4..5c44192d0ba 100644 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml @@ -37,16 +37,18 @@ - - + - + - - + + + + + - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - + + + + + + + diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties index 8a8bc026157..483a59d89ce 100644 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties +++ b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Unit Tests +featureName=Target Management Terminal Unit Tests (Deprecated) # "providerName" property - name of the company that provides the feature providerName=Eclipse TM Project diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml index e279ca16736..a67ce1ad361 100644 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml @@ -36,11 +36,10 @@ - - - - + + + +
                                  - - - -About - - -

                                  About This Content

                                  - -

                                  June 5, 2007

                                  -

                                  License

                                  - -

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                  - -

                                  Source Code

                                  -

                                  This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                  - - - \ No newline at end of file diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index 0fbf2788f09..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal View Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 71728ad4c00..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index dacd048bccb..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal View Source -providerName=Eclipse TM Project diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png b/deprecated/features/org.eclipse.tm.terminal.view-feature/sourceTemplatePlugin/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF index 1848fa724fb..ab9c6b889c9 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 0.2.300.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator Bundle-Localization: plugin Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)", +Require-Bundle: org.eclipse.tm.terminal;bundle-version="3.3.0", org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)", org.eclipse.core.runtime, org.eclipse.debug.core;bundle-version="3.6", diff --git a/features/org.eclipse.tm.terminal-feature/.project b/features/org.eclipse.tm.terminal-feature/.project deleted file mode 100644 index c93208eb484..00000000000 --- a/features/org.eclipse.tm.terminal-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal-feature/build.properties b/features/org.eclipse.tm.terminal-feature/build.properties deleted file mode 100644 index 62d6eee8ff4..00000000000 --- a/features/org.eclipse.tm.terminal-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/features/org.eclipse.tm.terminal-feature/feature.properties b/features/org.eclipse.tm.terminal-feature/feature.properties deleted file mode 100644 index fb2c19a00fc..00000000000 --- a/features/org.eclipse.tm.terminal-feature/feature.properties +++ /dev/null @@ -1,169 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Widget - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal widget \ -with RCP-only dependencies. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal-feature/feature.xml b/features/org.eclipse.tm.terminal-feature/feature.xml deleted file mode 100644 index 61657eb56d8..00000000000 --- a/features/org.eclipse.tm.terminal-feature/feature.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal-feature/pom.xml b/features/org.eclipse.tm.terminal-feature/pom.xml deleted file mode 100644 index 67af8894dd8..00000000000 --- a/features/org.eclipse.tm.terminal-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties deleted file mode 100644 index af36110a80d..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplateFeature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Widget Source - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal widget. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index e7b57cffff2..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

                                  About This Content

                                  - -

                                  June 5, 2007

                                  -

                                  License

                                  - -

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                  - -

                                  Source Code

                                  -

                                  This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                  - - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index 35f004c354f..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Widget Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 71728ad4c00..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index 6da6b94ccc6..00000000000 --- a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal Widget Source -providerName=Eclipse TM Project diff --git a/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal-feature/sourceTemplatePlugin/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/features/org.eclipse.tm.terminal.remote-feature/.project b/features/org.eclipse.tm.terminal.remote-feature/.project deleted file mode 100644 index 311b718d840..00000000000 --- a/features/org.eclipse.tm.terminal.remote-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.remote-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.remote-feature/build.properties b/features/org.eclipse.tm.terminal.remote-feature/build.properties deleted file mode 100644 index cd19ac2ddfd..00000000000 --- a/features/org.eclipse.tm.terminal.remote-feature/build.properties +++ /dev/null @@ -1,9 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corp. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### -bin.includes = feature.xml,\ - feature.properties diff --git a/features/org.eclipse.tm.terminal.remote-feature/feature.properties b/features/org.eclipse.tm.terminal.remote-feature/feature.properties deleted file mode 100644 index ddc31e1b159..00000000000 --- a/features/org.eclipse.tm.terminal.remote-feature/feature.properties +++ /dev/null @@ -1,165 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Remote Connector - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An remote connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2015 IBM Corporation and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote-feature/feature.xml b/features/org.eclipse.tm.terminal.remote-feature/feature.xml deleted file mode 100644 index 73c3587227d..00000000000 --- a/features/org.eclipse.tm.terminal.remote-feature/feature.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.remote-feature/pom.xml b/features/org.eclipse.tm.terminal.remote-feature/pom.xml deleted file mode 100644 index db3f4eba50e..00000000000 --- a/features/org.eclipse.tm.terminal.remote-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.remote.feature - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/.project b/features/org.eclipse.tm.terminal.remote.sdk-feature/.project deleted file mode 100644 index 1ddaded993b..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.remote.sdk-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties b/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties deleted file mode 100644 index 6496f1dba2f..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corp. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### - -bin.includes = feature.xml,\ - feature.properties - -generate.plugin@org.eclipse.tm.terminal.remote.source=org.eclipse.tm.terminal.remote diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties deleted file mode 100644 index 38413c768bc..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.properties +++ /dev/null @@ -1,165 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Remote Connector SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An remote connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2015 IBM Corporation and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml deleted file mode 100644 index 7f91c521e8e..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/feature.xml +++ /dev/null @@ -1,66 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml b/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml deleted file mode 100644 index 23827bd677b..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.remote.sdk.feature - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal.serial-feature/.project b/features/org.eclipse.tm.terminal.serial-feature/.project deleted file mode 100644 index 44409931fb6..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.serial-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.serial-feature/build.properties b/features/org.eclipse.tm.terminal.serial-feature/build.properties deleted file mode 100644 index ec954bc50b0..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/feature.properties deleted file mode 100644 index 7def3abf561..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Serial Connector - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A serial line connector for the Terminal using RXTX API - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.serial-feature/feature.xml b/features/org.eclipse.tm.terminal.serial-feature/feature.xml deleted file mode 100644 index 864a0edeab8..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/feature.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.serial-feature/pom.xml b/features/org.eclipse.tm.terminal.serial-feature/pom.xml deleted file mode 100644 index d283a7da65a..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.serial - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties deleted file mode 100644 index e2c2abe8d81..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplateFeature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Serial Connector Source - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A serial line connector for the Terminal using RXTX API - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index e7b57cffff2..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

                                  About This Content

                                  - -

                                  June 5, 2007

                                  -

                                  License

                                  - -

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                  - -

                                  Source Code

                                  -

                                  This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                  - - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index 0c51d2b9b22..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Serial Connector Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 71728ad4c00..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index 0ccc6d5446f..00000000000 --- a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal Serial Connector Source -providerName=Eclipse TM Project diff --git a/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal.serial-feature/sourceTemplatePlugin/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/features/org.eclipse.tm.terminal.ssh-feature/.project b/features/org.eclipse.tm.terminal.ssh-feature/.project deleted file mode 100644 index b9b4f4daa53..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.ssh-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.ssh-feature/build.properties b/features/org.eclipse.tm.terminal.ssh-feature/build.properties deleted file mode 100644 index 80806533c4f..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -############################################################################### -bin.includes = feature.xml,\ - feature.properties diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/feature.properties deleted file mode 100644 index 2297493da30..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal SSH Connector - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An SSH connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml b/features/org.eclipse.tm.terminal.ssh-feature/feature.xml deleted file mode 100644 index 18fb09d318c..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/feature.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml b/features/org.eclipse.tm.terminal.ssh-feature/pom.xml deleted file mode 100644 index 20e2e993aa4..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.ssh - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties deleted file mode 100644 index 63809d638d4..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplateFeature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal SSH Connector Source - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An SSH connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index e7b57cffff2..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

                                  About This Content

                                  - -

                                  June 5, 2007

                                  -

                                  License

                                  - -

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                  - -

                                  Source Code

                                  -

                                  This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                  - - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index ac4f5d131b2..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal SSH Connector Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2013. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 71728ad4c00..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index 16d0b6ace3b..00000000000 --- a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal SSH Connector Source -providerName=Eclipse TM Project diff --git a/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal.ssh-feature/sourceTemplatePlugin/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/features/org.eclipse.tm.terminal.telnet-feature/.project b/features/org.eclipse.tm.terminal.telnet-feature/.project deleted file mode 100644 index c78da8d1f85..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.telnet-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.telnet-feature/build.properties b/features/org.eclipse.tm.terminal.telnet-feature/build.properties deleted file mode 100644 index ec954bc50b0..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/feature.properties deleted file mode 100644 index 40821dfaa52..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml b/features/org.eclipse.tm.terminal.telnet-feature/feature.xml deleted file mode 100644 index fc674ce79e0..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/feature.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml b/features/org.eclipse.tm.terminal.telnet-feature/pom.xml deleted file mode 100644 index 2d5e57b6afe..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.telnet - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties deleted file mode 100644 index 38e216289fc..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplateFeature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector Source - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index e7b57cffff2..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

                                  About This Content

                                  - -

                                  June 5, 2007

                                  -

                                  License

                                  - -

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                  - -

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                  - -

                                  Source Code

                                  -

                                  This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                  - - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties deleted file mode 100644 index e0c780d034f..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Telnet Connector Source\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2013. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 71728ad4c00..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, about.ini, about.mappings, about.properties, tm32.png, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index e0041f10113..00000000000 --- a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal Telnet Connector Source -providerName=Eclipse TM Project diff --git a/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png b/features/org.eclipse.tm.terminal.telnet-feature/sourceTemplatePlugin/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index af62eba6bc0..5e8cf83952b 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" + org.eclipse.tm.terminal;bundle-version="3.3.0" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index cfbb357f8a4..cb4228c2770 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)", + org.eclipse.tm.terminal;bundle-version="3.3.0", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" Bundle-RequiredExecutionEnvironment: J2SE-1.4 diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index f3aea71b33b..111fa979b3d 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -7,6 +7,6 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" + org.eclipse.tm.terminal;bundle-version="3.3.0" Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index f0251b0dbc2..7164d348c6a 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 2.3.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal;bundle-version="[3.3.0,4.0.0)", + org.eclipse.tm.terminal;bundle-version="3.3.0", org.eclipse.core.runtime, org.eclipse.ui Bundle-RequiredExecutionEnvironment: J2SE-1.5 From d0a8f76acea1c17ab67a5029a0ed1eb3471367b2 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 9 Feb 2015 15:23:23 +0100 Subject: [PATCH 576/843] Terminal: Clean out terminal feature structure --- .../org.eclipse.tm.terminal.feature/.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 169 ++++++++++++++++++ .../feature.xml | 51 ++++++ .../org.eclipse.tm.terminal.feature/pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 9 + .../feature.properties | 165 +++++++++++++++++ .../feature.xml | 59 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 12 ++ .../feature.properties | 165 +++++++++++++++++ .../feature.xml | 57 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 169 ++++++++++++++++++ .../feature.xml | 50 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 52 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 50 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 54 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 50 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 52 ++++++ .../pom.xml | 30 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 168 +++++++++++++++++ .../feature.xml | 50 ++++++ .../pom.xml | 30 ++++ 50 files changed, 2796 insertions(+) create mode 100644 features/org.eclipse.tm.terminal.feature/.project create mode 100644 features/org.eclipse.tm.terminal.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.remote.feature/.project create mode 100644 features/org.eclipse.tm.terminal.remote.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.remote.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.remote.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.remote.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.serial.feature/.project create mode 100644 features/org.eclipse.tm.terminal.serial.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.serial.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.serial.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.serial.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.ssh.feature/.project create mode 100644 features/org.eclipse.tm.terminal.ssh.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.ssh.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.ssh.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.ssh.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.telnet.feature/.project create mode 100644 features/org.eclipse.tm.terminal.telnet.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.telnet.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.telnet.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.telnet.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.telnet.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.feature/.project b/features/org.eclipse.tm.terminal.feature/.project new file mode 100644 index 00000000000..c72dafff564 --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.feature/build.properties b/features/org.eclipse.tm.terminal.feature/build.properties new file mode 100644 index 00000000000..62d6eee8ff4 --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.feature/feature.properties b/features/org.eclipse.tm.terminal.feature/feature.properties new file mode 100644 index 00000000000..fb2c19a00fc --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/feature.properties @@ -0,0 +1,169 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Widget + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal widget \ +with RCP-only dependencies. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/features/org.eclipse.tm.terminal.feature/feature.xml new file mode 100644 index 00000000000..17ac8b4b86c --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/feature.xml @@ -0,0 +1,51 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml new file mode 100644 index 00000000000..da1106db887 --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.feature/.project b/features/org.eclipse.tm.terminal.remote.feature/.project new file mode 100644 index 00000000000..311b718d840 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.remote-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.remote.feature/build.properties b/features/org.eclipse.tm.terminal.remote.feature/build.properties new file mode 100644 index 00000000000..cd19ac2ddfd --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.feature/build.properties @@ -0,0 +1,9 @@ +############################################################################### +# Copyright (c) 2015 IBM Corp. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.remote.feature/feature.properties new file mode 100644 index 00000000000..ddc31e1b159 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.properties @@ -0,0 +1,165 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Remote Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.feature/feature.xml new file mode 100644 index 00000000000..8cb45b077c3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.xml @@ -0,0 +1,59 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.remote.feature/pom.xml new file mode 100644 index 00000000000..db3f4eba50e --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.remote.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/.project b/features/org.eclipse.tm.terminal.remote.sdk.feature/.project new file mode 100644 index 00000000000..1ddaded993b --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.remote.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties new file mode 100644 index 00000000000..6496f1dba2f --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2015 IBM Corp. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### + +bin.includes = feature.xml,\ + feature.properties + +generate.plugin@org.eclipse.tm.terminal.remote.source=org.eclipse.tm.terminal.remote diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties new file mode 100644 index 00000000000..2bd5c2af108 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties @@ -0,0 +1,165 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Remote Connector, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml new file mode 100644 index 00000000000..c909318d462 --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml @@ -0,0 +1,57 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml new file mode 100644 index 00000000000..23827bd677b --- /dev/null +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.remote.sdk.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/.project b/features/org.eclipse.tm.terminal.sdk.feature/.project new file mode 100644 index 00000000000..074cff92746 --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.sdk.feature/build.properties new file mode 100644 index 00000000000..62d6eee8ff4 --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties new file mode 100644 index 00000000000..9dace5c2764 --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties @@ -0,0 +1,169 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Widget, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal widget \ +with RCP-only dependencies. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml new file mode 100644 index 00000000000..67e29c617ea --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -0,0 +1,50 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml new file mode 100644 index 00000000000..f0544bbf64f --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.sdk.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.serial.feature/.project b/features/org.eclipse.tm.terminal.serial.feature/.project new file mode 100644 index 00000000000..4664f91a3e3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.serial.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.serial.feature/build.properties b/features/org.eclipse.tm.terminal.serial.feature/build.properties new file mode 100644 index 00000000000..ec954bc50b0 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.serial.feature/feature.properties b/features/org.eclipse.tm.terminal.serial.feature/feature.properties new file mode 100644 index 00000000000..7def3abf561 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Serial Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using RXTX API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.serial.feature/feature.xml b/features/org.eclipse.tm.terminal.serial.feature/feature.xml new file mode 100644 index 00000000000..8fe62a9eb38 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.feature/feature.xml @@ -0,0 +1,52 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.serial.feature/pom.xml new file mode 100644 index 00000000000..04701647b9a --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.serial.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/.project b/features/org.eclipse.tm.terminal.serial.sdk.feature/.project new file mode 100644 index 00000000000..36ee0af9873 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.serial.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties new file mode 100644 index 00000000000..ec954bc50b0 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.properties new file mode 100644 index 00000000000..261c8a3a5f3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Serial Connector, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using RXTX API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml new file mode 100644 index 00000000000..4749e583d0a --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml @@ -0,0 +1,50 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml new file mode 100644 index 00000000000..15eb72bbbb8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.serial.sdk.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/.project b/features/org.eclipse.tm.terminal.ssh.feature/.project new file mode 100644 index 00000000000..e3330c4a45b --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.ssh.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/build.properties b/features/org.eclipse.tm.terminal.ssh.feature/build.properties new file mode 100644 index 00000000000..80806533c4f --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.feature/build.properties @@ -0,0 +1,13 @@ +############################################################################### +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +############################################################################### +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.ssh.feature/feature.properties b/features/org.eclipse.tm.terminal.ssh.feature/feature.properties new file mode 100644 index 00000000000..2297493da30 --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal SSH Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.ssh.feature/feature.xml b/features/org.eclipse.tm.terminal.ssh.feature/feature.xml new file mode 100644 index 00000000000..16fb4336f85 --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.feature/feature.xml @@ -0,0 +1,54 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.ssh.feature/pom.xml new file mode 100644 index 00000000000..1e6ef93121b --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.ssh.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/.project b/features/org.eclipse.tm.terminal.ssh.sdk.feature/.project new file mode 100644 index 00000000000..5559076f138 --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.ssh.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties new file mode 100644 index 00000000000..80806533c4f --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties @@ -0,0 +1,13 @@ +############################################################################### +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +############################################################################### +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties new file mode 100644 index 00000000000..9b939844de7 --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal SSH Connector, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2000, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml new file mode 100644 index 00000000000..7c550ec251c --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml @@ -0,0 +1,50 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml new file mode 100644 index 00000000000..3f0f7429bc7 --- /dev/null +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.ssh.sdk.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet.feature/.project b/features/org.eclipse.tm.terminal.telnet.feature/.project new file mode 100644 index 00000000000..4d78b79db3c --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.telnet.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.telnet.feature/build.properties b/features/org.eclipse.tm.terminal.telnet.feature/build.properties new file mode 100644 index 00000000000..ec954bc50b0 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet.feature/feature.properties b/features/org.eclipse.tm.terminal.telnet.feature/feature.properties new file mode 100644 index 00000000000..40821dfaa52 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Telnet Connector + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.telnet.feature/feature.xml b/features/org.eclipse.tm.terminal.telnet.feature/feature.xml new file mode 100644 index 00000000000..d99fea4f71a --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.feature/feature.xml @@ -0,0 +1,52 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.telnet.feature/pom.xml new file mode 100644 index 00000000000..c82be495822 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.telnet.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/.project b/features/org.eclipse.tm.terminal.telnet.sdk.feature/.project new file mode 100644 index 00000000000..7c3cd363468 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.telnet.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties new file mode 100644 index 00000000000..ec954bc50b0 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties new file mode 100644 index 00000000000..49c7495e3bf --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties @@ -0,0 +1,168 @@ +############################################################################### +# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal Telnet Connector, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml new file mode 100644 index 00000000000..6041e27dbf1 --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml @@ -0,0 +1,50 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml new file mode 100644 index 00000000000..7d2150e6ece --- /dev/null +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.telnet.sdk.feature + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + From 86420140f45f4ca13d76d479d1c6ad0fafe27855 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 10 Feb 2015 07:30:24 +0100 Subject: [PATCH 577/843] Terminal: Fix findbugs warnings --- .../terminal/control/impl/TerminalPlugin.java | 22 ++++++++++++++++--- .../terminal/emulator/VT100Emulator.java | 9 +++++++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java index d76858230e4..b5a371b145b 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java @@ -26,9 +26,10 @@ import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.internal.terminal.control.actions.ImageConsts; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; public class TerminalPlugin extends AbstractUIPlugin { - protected static TerminalPlugin fDefault; + private static TerminalPlugin plugin; public static final String PLUGIN_ID = "org.eclipse.tm.terminal"; //$NON-NLS-1$ public static final String HELP_VIEW = PLUGIN_ID + ".terminal_view"; //$NON-NLS-1$ @@ -36,13 +37,28 @@ public class TerminalPlugin extends AbstractUIPlugin { * The constructor. */ public TerminalPlugin() { - fDefault = this; } /** * Returns the shared instance. */ public static TerminalPlugin getDefault() { - return fDefault; + return plugin; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); } public static boolean isLogInfoEnabled() { diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index eba03390cbe..2d75c086a8c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -987,12 +987,19 @@ public class VT100Emulator implements ControlListener { String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ + OutputStreamWriter streamWriter = null; try { - OutputStreamWriter streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ + streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ streamWriter.write(positionReport, 0, positionReport.length()); streamWriter.flush(); } catch (IOException ex) { Logger.log("Caught IOException!"); //$NON-NLS-1$ + } finally { + if (streamWriter != null) { + try { + streamWriter.close(); + } catch (IOException e) { /* ignored on purpose */ } + } } } From 13be2bd4d0673eb2ed4c80dd7ff2572e1279d323 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 10 Feb 2015 07:49:52 +0100 Subject: [PATCH 578/843] Terminal: A terminal widget connector must not have a dependency to any view implementation the terminal widget might be embedded into. --- features/org.eclipse.tm.terminal.remote.feature/feature.xml | 1 - features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml | 1 - plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF | 1 - 3 files changed, 3 deletions(-) diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.feature/feature.xml index 8cb45b077c3..7806820e851 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.xml @@ -46,7 +46,6 @@ -
                                  -
                                  Date: Fri, 13 Feb 2015 15:58:37 +0100 Subject: [PATCH 579/843] Terminal: Make terminal settings store more flexible to allow to store non-string objects too --- .../terminal/local/LocalTerminalSettings.java | 6 +- .../launch/LocalTerminalLaunchDelegate.java | 4 +- .../launch/LocalTerminalLaunchUtilities.java | 5 +- .../LocalTerminalStillRunningListener.java | 4 +- .../local/process/LocalTerminalProcess.java | 8 +- .../process/LocalTerminalProcessFactory.java | 3 +- .../process/LocalTerminalProcessRegistry.java | 7 +- .../terminal/view}/LayeredSettingsStore.java | 27 +- .../view}/PreferenceSettingStore.java | 21 +- .../view/SettingStorePrefixDecorator.java | 15 +- .../internal/terminal/view/SettingsStore.java | 32 +- .../internal/terminal/view/TerminalView.java | 16 +- .../terminal/view/TerminalViewConnection.java | 28 +- .../view/TerminalViewConnectionManager.java | 8 +- .../org.eclipse.tm.terminal.remote/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/remote/RemoteSettings.java | 8 +- .../org.eclipse.tm.terminal.serial/.classpath | 8 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/serial/SerialSettings.java | 26 +- .../org.eclipse.tm.terminal.ssh/.classpath | 4 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../tm/internal/terminal/ssh/SshSettings.java | 22 +- .../org.eclipse.tm.terminal.telnet/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/telnet/TelnetSettings.java | 12 +- .../org.eclipse.tm.terminal.test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- .../META-INF/MANIFEST.MF | 2 +- .../TerminalConnectorFactoryTest.java | 19 +- .../connector/TerminalConnectorTest.java | 20 +- .../terminal/speedtest/SpeedTestSettings.java | 12 +- plugins/org.eclipse.tm.terminal/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 52 +-- .../.settings/org.eclipse.jdt.ui.prefs | 56 +++ .../META-INF/MANIFEST.MF | 2 +- .../provisional/api/AbstractSettingsPage.java | 4 + .../provisional/api/ISettingsStore.java | 229 ++++++++++- .../terminal/provisional/api/Logger.java | 23 +- .../provisional/api/SettingsStore.java | 360 ++++++++++++++++++ 44 files changed, 824 insertions(+), 277 deletions(-) rename {plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api => deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view}/LayeredSettingsStore.java (73%) rename {plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api => deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view}/PreferenceSettingStore.java (78%) create mode 100644 plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java index 3d0d834cefb..cc21437a7b0 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java @@ -45,8 +45,8 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { for (int index = 0; index < numberOfFields; index++) { Field field = declaredField[index]; - Class type = field.getType(); - Object value = store.get(field.getName()); + Class type = field.getType(); + Object value = store.getProperty(field.getName()); if (type.equals(boolean.class)) { value = Boolean.valueOf((String)value); @@ -81,7 +81,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { try { field.setAccessible(true); - store.put(field.getName(), String.valueOf(field.get(this))); + store.setProperty(field.getName(), String.valueOf(field.get(this))); } catch (IllegalAccessException illegalAccess) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java index bbcca6d2762..23ad9ede7b6 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java @@ -15,6 +15,7 @@ import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; + import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.cdt.utils.spawner.ProcessFactory; import org.eclipse.core.runtime.CoreException; @@ -79,6 +80,7 @@ public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { * @param launch the {@link ILaunch} object * @exception CoreException if launching fails */ + @SuppressWarnings("deprecation") public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor progressMonitor) throws CoreException { @@ -179,7 +181,7 @@ public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { // Use program name as "process type" attribute: // - Map processAttributes = new HashMap(); + Map processAttributes = new HashMap(); String programName = location.lastSegment(); String extension = location.getFileExtension(); if (extension != null) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java index 26105e58220..c13bf5124ed 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java @@ -18,6 +18,7 @@ import java.text.MessageFormat; import java.util.Collections; import java.util.HashMap; import java.util.Map; + import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; @@ -65,7 +66,7 @@ public class LocalTerminalLaunchUtilities { private final static String STRING = null; private final static String TERM = "TERM"; //$NON-NLS-1$ private final static String ANSI = "ansi"; //$NON-NLS-1$ - private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); + private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); // These constants were copied from IExternalToolConstants to avoid references to internal API: // @@ -241,7 +242,7 @@ public class LocalTerminalLaunchUtilities { name = terminalLaunchName.format(new Object[] {name}); name = manager.generateLaunchConfigurationName(name); workingCopy = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE.newInstance(null, name); - workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); + workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); workingCopy.setAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, true); workingCopy.setAttribute(ATTR_LOCATION, defaultShell); workingCopy.setAttribute(ATTR_WORKING_DIRECTORY, userHome); diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java index 497d9160811..e9224561e66 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java @@ -81,7 +81,7 @@ public class LocalTerminalStillRunningListener implements IWorkbenchListener { return true; } - List notTerminated = new ArrayList(); + List notTerminated = new ArrayList(); ILaunch launches[] = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunches(); ILaunchConfigurationType configurationType; ILaunchConfiguration configuration; @@ -109,7 +109,7 @@ public class LocalTerminalStillRunningListener implements IWorkbenchListener { if (!notTerminated.isEmpty()) { IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); - ILaunch[] launch = (ILaunch[])notTerminated.toArray(new ILaunch[notTerminated.size()]); + ILaunch[] launch = notTerminated.toArray(new ILaunch[notTerminated.size()]); return LocalTerminalStillRunningDialog.openDialog(window.getShell(), launch); } return true; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java index f0f2e11c5f9..2320222d47c 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java @@ -14,6 +14,7 @@ package org.eclipse.tm.internal.terminal.local.process; import java.util.HashMap; import java.util.Map; + import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.cdt.utils.spawner.Spawner; import org.eclipse.debug.core.ILaunch; @@ -69,6 +70,7 @@ import org.eclipse.debug.core.model.RuntimeProcess; * @author Mirko Raner * @version $Revision: 1.2 $ */ +@SuppressWarnings("restriction") public final class LocalTerminalProcess extends RuntimeProcess { /** @@ -88,7 +90,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { * @param name the process name * @param attributes additional attributes of the process */ - protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { + protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { super(launch, process, name, setProcessType(attributes)); enableStreamsProxy = true; @@ -172,7 +174,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { //------------------------------------- PRIVATE SECTION --------------------------------------// - private static Map setProcessType(Map attributes) { + private static Map setProcessType(Map attributes) { // The process type used to be set by the LocalTerminalProcessFactory. However, if some // client code managed to instantiate a LocalTerminalProcess directly (instead of going @@ -182,7 +184,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { // if (attributes == null) { - attributes = new HashMap(1); + attributes = new HashMap(1); } attributes.put(IProcess.ATTR_PROCESS_TYPE, PROCESS_TYPE); return attributes; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java index 7faff8dfa83..63c24c63d1f 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java @@ -12,6 +12,7 @@ package org.eclipse.tm.internal.terminal.local.process; import java.util.Map; + import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.IProcessFactory; import org.eclipse.debug.core.model.IProcess; @@ -33,7 +34,7 @@ public class LocalTerminalProcessFactory implements IProcessFactory { /** * @see IProcessFactory#newProcess(ILaunch, Process, String, Map) */ - public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { + public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { return new LocalTerminalProcess(launch, process, label, attributes); } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java index 8383ba600b0..a29750a51dc 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java @@ -13,6 +13,7 @@ package org.eclipse.tm.internal.terminal.local.process; import java.util.IdentityHashMap; import java.util.Map; + import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchesListener2; import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; @@ -31,7 +32,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { private final static LocalTerminalProcessRegistry INSTANCE = new LocalTerminalProcessRegistry(); - private Map processes; + private Map processes; private LocalTerminalProcessRegistry() { @@ -40,7 +41,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { // hash code value if the object changes internally. To be safe in those cases, an // IdentityHashMap is used: // - processes = new IdentityHashMap(); + processes = new IdentityHashMap(); } /** @@ -53,7 +54,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { */ public static LocalTerminalProcess getFromLaunch(ILaunch launch) { - return (LocalTerminalProcess)INSTANCE.processes.get(launch); + return INSTANCE.processes.get(launch); } /** diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java similarity index 73% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java index 8559224eec5..48feb91b44f 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java @@ -8,7 +8,10 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.SettingsStore; /** * Uses an array of {@link ISettingsStore} to find a value. @@ -19,13 +22,13 @@ package org.eclipse.tm.internal.terminal.provisional.api; * the Target Management team. *

                                  */ -public class LayeredSettingsStore implements ISettingsStore { +public class LayeredSettingsStore extends SettingsStore { private final ISettingsStore[] fStores; /** * @param stores the stores used to search the values. - * {@link #put(String, String)} will put the value in the + * {@link #setProperty(String, Object)} will put the value in the * first store in the list. */ public LayeredSettingsStore(ISettingsStore[] stores) { @@ -39,24 +42,18 @@ public class LayeredSettingsStore implements ISettingsStore { public LayeredSettingsStore(ISettingsStore s1, ISettingsStore s2) { this(new ISettingsStore[]{s1,s2}); } - public String get(String key) { + + public Object getProperty(String key) { for (int i = 0; i < fStores.length; i++) { - String value=fStores[i].get(key); - if(value!=null) + Object value=fStores[i].getProperty(key); + if (value!=null) return value; } return null; } - public String get(String key, String defaultValue) { - String value=get(key); - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - return defaultValue; - return value; - } - - public void put(String key, String value) { - fStores[0].put(key,value); + public boolean setProperty(String key, Object value) { + return fStores[0].setProperty(key,value); } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java similarity index 78% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java rename to deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java index ff0e6f8585a..38a01b7eaf4 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java @@ -8,7 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; +package org.eclipse.tm.internal.terminal.view; import org.eclipse.core.runtime.Preferences; @@ -21,7 +21,7 @@ import org.eclipse.core.runtime.Preferences; * the Target Management team. *

                                  */ -public class PreferenceSettingStore implements ISettingsStore { +public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { private final String fPrefix; private final Preferences fPreferences; @@ -35,19 +35,16 @@ public class PreferenceSettingStore implements ISettingsStore { fPreferences=preferences; fPrefix=prefix; } - public String get(String key) { + + public Object getProperty(String key) { return fPreferences.getString(makeKey(key)); } - public String get(String key, String defaultValue) { - String value=get(key); - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - return defaultValue; - return value; - } - - public void put(String key, String value) { - fPreferences.setValue(makeKey(key), value); + public boolean setProperty(String key, Object value) { + if (value instanceof String) { + fPreferences.setValue(makeKey(key), (String)value); + } + return true; } /** * @param key diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java index 0d7ccfad4b7..ff948fb2de2 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -12,7 +12,7 @@ package org.eclipse.tm.internal.terminal.view; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -public class SettingStorePrefixDecorator implements ISettingsStore { +public class SettingStorePrefixDecorator extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { private final String fPrefix; private final ISettingsStore fStore; SettingStorePrefixDecorator(ISettingsStore store,String prefix) { @@ -20,16 +20,11 @@ public class SettingStorePrefixDecorator implements ISettingsStore { fStore=store; } - public String get(String key) { - return fStore.get(fPrefix+key); + public Object getProperty(String key) { + return fStore.getProperty(fPrefix+key); } - public String get(String key, String defaultValue) { - return fStore.get(fPrefix+key,defaultValue); + public boolean setProperty(String key, Object value) { + return super.setProperty(fPrefix+key,value); } - - public void put(String key, String value) { - fStore.put(fPrefix+key,value); - } - } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index f74f4a24b79..800dcf683a8 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -11,7 +11,6 @@ package org.eclipse.tm.internal.terminal.view; import java.util.Arrays; -import java.util.HashMap; import java.util.Map; import org.eclipse.jface.dialogs.IDialogSettings; @@ -27,10 +26,10 @@ import org.eclipse.ui.IMemento; * * @author Michael Scharf */ -class SettingsStore implements ISettingsStore { +class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { private static final String KEYS = "_keys_"; //$NON-NLS-1$ - final private Map fMap=new HashMap(); + public SettingsStore(IMemento memento) { if(memento==null) return; @@ -50,40 +49,27 @@ class SettingsStore implements ISettingsStore { } if(m!=null) { // cache the value in the map - fMap.put(key,m.getString(path[path.length-1])); + setProperty(key,m.getString(path[path.length-1])); } } } } } - public String get(String key) { - return get(key,null); - } - public String get(String key, String defaultValue) { - String value = (String) fMap.get(key); - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - return defaultValue; - - return value; - } - - public void put(String key, String value) { + public boolean setProperty(String key, Object value) { if(!key.matches("^[\\w.]+$")) //$NON-NLS-1$ throw new IllegalArgumentException("Key '"+key+"' is not alpha numeric or '.'!"); //$NON-NLS-1$ //$NON-NLS-2$ - // null values remove the key from the map - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - fMap.remove(key); - else - fMap.put(key, value); + return super.setProperty(key, value); } + /** * Save the state into memento. * * @param memento Memento to save state into. */ public void saveState(IMemento memento) { - String[] keyNames=(String[]) fMap.keySet().toArray(new String[fMap.size()]); + Map map = getProperties(); + String[] keyNames=(String[]) map.keySet().toArray(new String[map.size()]); Arrays.sort(keyNames); StringBuffer buffer=new StringBuffer(); for (int i = 0; i < keyNames.length; i++) { @@ -99,7 +85,7 @@ class SettingsStore implements ISettingsStore { m=child; } // use the last element in path as key of the child memento - m.putString(path[path.length-1], (String) fMap.get(key)); + m.putString(path[path.length-1], (String) map.get(key)); // construct the string for the keys if(i>0) buffer.append(","); //$NON-NLS-1$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 247d7fcad1f..a517b46ca94 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -71,9 +71,7 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; 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.LayeredSettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; @@ -489,7 +487,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { ITerminalConnector connector=null; - String connectionType=store.get(STORE_CONNECTION_TYPE); + String connectionType=store.getStringProperty(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); if(connectors[i].getId().equals(connectionType)) @@ -523,7 +521,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi if(connector!=null) { connector.save(getStore(store, connector)); // the last saved connector becomes the default - store.put(STORE_CONNECTION_TYPE,connector.getId()); + store.setProperty(STORE_CONNECTION_TYPE,connector.getId()); } } @@ -533,7 +531,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } public void saveState(IMemento memento) { super.saveState(memento); - fStore.put(STORE_TITLE,getPartName()); + fStore.setProperty(STORE_TITLE,getPartName()); fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } @@ -685,10 +683,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacyLoadState() { // TODO legacy: load the old title.... - String summary=fStore.get(STORE_SETTING_SUMMARY); + String summary=fStore.getStringProperty(STORE_SETTING_SUMMARY); if(summary!=null) { getActiveConnection().setSummary(summary); - fStore.put(STORE_SETTING_SUMMARY,null); + fStore.setProperty(STORE_SETTING_SUMMARY,null); } } /** @@ -699,10 +697,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacySetTitle() { // restore the title of this view - String title=fStore.get(STORE_TITLE); + String title=fStore.getStringProperty(STORE_TITLE); if(title!=null && title.length()>0) { setViewTitle(title); - fStore.put(STORE_TITLE, null); + fStore.setProperty(STORE_TITLE, null); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index aa90041f355..1603b5bff90 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -93,13 +93,13 @@ class TerminalViewConnection implements ITerminalViewConnection { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } public void loadState(ISettingsStore store) { - fPartName=store.get(STORE_PART_NAME); - fSummary=store.get(STORE_SUMMARY); - fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); - fEncoding=store.get(STORE_ENCODING); + fPartName=store.getStringProperty(STORE_PART_NAME); + fSummary=store.getStringProperty(STORE_SUMMARY); + fHistory=store.getStringProperty(STORE_COMMAND_INPUT_FIELD_HISTORY); + fEncoding=store.getStringProperty(STORE_ENCODING); // load the state of the connection types ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - String connectionType=store.get(STORE_CONNECTION_TYPE); + String connectionType=store.getStringProperty(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); // if this is active connection type @@ -107,26 +107,26 @@ class TerminalViewConnection implements ITerminalViewConnection { fCtlTerminal.setConnector(connectors[i]); } - if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ + if("true".equals(store.getStringProperty(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ setCommandInputField(true); } public void saveState(ISettingsStore store) { - store.put(STORE_PART_NAME, fPartName); - store.put(STORE_SUMMARY,fSummary); - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_ENCODING, fEncoding); + store.setProperty(STORE_PART_NAME, fPartName); + store.setProperty(STORE_SUMMARY,fSummary); + store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.setProperty(STORE_ENCODING, fEncoding); if(fCommandInputField!=null) - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); else - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ + store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.setProperty(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { connectors[i].save(getStore(store,connectors[i])); } if(fCtlTerminal.getTerminalConnector()!=null) { - store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); + store.setProperty(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); } } public boolean hasCommandInputField() { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java index 88af3056b68..84a0f7f3c79 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -109,7 +109,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan } public void saveState(ISettingsStore store) { - store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ + store.setProperty(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ // save all connections int n=0; for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { @@ -119,7 +119,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan n++; // remember the active connection by its prefix if(connection.equals(fActiveConnection)) - store.put(STORE_ACTIVE_CONNECTION,prefix); + store.setProperty(STORE_ACTIVE_CONNECTION,prefix); connection.saveState(new SettingStorePrefixDecorator(store,prefix)); } } @@ -127,13 +127,13 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { int size=0; try { - size=Integer.parseInt(store.get(STORE_SIZE)); + size=Integer.parseInt(store.getStringProperty(STORE_SIZE)); } catch(Exception e) { // ignore } if(size>0) { // a slot for the connections - String active=store.get(STORE_ACTIVE_CONNECTION); + String active=store.getStringProperty(STORE_ACTIVE_CONNECTION); int n=0; for (int i=0;i - + diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs index a4b6f7df50e..c2dc3aa2f47 100644 --- a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF index 3afcf44025b..03f058c1d27 100644 --- a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.swt, org.eclipse.jface -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.remote;x-internal:=true, org.eclipse.tm.terminal.remote Bundle-Activator: org.eclipse.tm.internal.terminal.remote.Activator diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java index e71e9f65eb9..fd9a31341f4 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java @@ -39,16 +39,16 @@ public class RemoteSettings implements IRemoteSettings { * Load information into the RemoteSettings object. */ public void load(ISettingsStore store) { - fRemoteServices = store.get(REMOTE_SERVICES); - fConnectionName = store.get(CONNECTION_NAME); + fRemoteServices = store.getStringProperty(REMOTE_SERVICES); + fConnectionName = store.getStringProperty(CONNECTION_NAME); } /** * Extract information from the RemoteSettings object. */ public void save(ISettingsStore store) { - store.put(REMOTE_SERVICES, fRemoteServices); - store.put(CONNECTION_NAME, fConnectionName); + store.getStringProperty(REMOTE_SERVICES, fRemoteServices); + store.getStringProperty(CONNECTION_NAME, fConnectionName); } public void setConnectionName(String name) { diff --git a/plugins/org.eclipse.tm.terminal.serial/.classpath b/plugins/org.eclipse.tm.terminal.serial/.classpath index b978e78e121..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.classpath +++ b/plugins/org.eclipse.tm.terminal.serial/.classpath @@ -1,11 +1,7 @@ - - - - - - + + diff --git a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..c2dc3aa2f47 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 5e8cf83952b..b27bc126daa 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . Bundle-Activator: org.eclipse.tm.internal.terminal.serial.Activator Export-Package: org.eclipse.tm.internal.terminal.serial;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java index 7980b7afe5d..7e25a055714 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java @@ -154,22 +154,22 @@ public class SerialSettings implements ISerialSettings { } public void load(ISettingsStore store) { - fSerialPort = store.get("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ - fBaudRate = store.get("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ - fDataBits = store.get("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ - fStopBits = store.get("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ - fParity = store.get("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ - fFlowControl = store.get("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ - fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ + fSerialPort = store.getStringProperty("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ + fBaudRate = store.getStringProperty("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ + fDataBits = store.getStringProperty("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ + fStopBits = store.getStringProperty("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ + fParity = store.getStringProperty("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ + fFlowControl = store.getStringProperty("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ + fTimeout = store.getStringProperty("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ } public void save(ISettingsStore store) { - store.put("SerialPort", fSerialPort); //$NON-NLS-1$ - store.put("BaudRate", fBaudRate); //$NON-NLS-1$ - store.put("DataBits", fDataBits); //$NON-NLS-1$ - store.put("StopBits", fStopBits); //$NON-NLS-1$ - store.put("Parity", fParity); //$NON-NLS-1$ - store.put("FlowControl", fFlowControl); //$NON-NLS-1$ + store.setProperty("SerialPort", fSerialPort); //$NON-NLS-1$ + store.setProperty("BaudRate", fBaudRate); //$NON-NLS-1$ + store.setProperty("DataBits", fDataBits); //$NON-NLS-1$ + store.setProperty("StopBits", fStopBits); //$NON-NLS-1$ + store.setProperty("Parity", fParity); //$NON-NLS-1$ + store.setProperty("FlowControl", fFlowControl); //$NON-NLS-1$ } public SerialProperties getProperties() { diff --git a/plugins/org.eclipse.tm.terminal.ssh/.classpath b/plugins/org.eclipse.tm.terminal.ssh/.classpath index ce73933404a..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.classpath +++ b/plugins/org.eclipse.tm.terminal.ssh/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..c2dc3aa2f47 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index cb4228c2770..4f15d9c50aa 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="3.3.0", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true Bundle-Activator: org.eclipse.tm.internal.terminal.ssh.Activator Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index 8a1e21ad7bb..fc87c272fdc 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -40,27 +40,27 @@ public class SshSettings implements ISshSettings { } public void load(ISettingsStore store) { - fHost = store.get("Host");//$NON-NLS-1$ - fUser = store.get("User");//$NON-NLS-1$ + fHost = store.getStringProperty("Host");//$NON-NLS-1$ + fUser = store.getStringProperty("User");//$NON-NLS-1$ // ISettingsStore providers have to make sure that // the password is not saved in some as plain text // on disk. [bug 313991] - fPassword = store.get("Password");//$NON-NLS-1$ - fPort = store.get("Port");//$NON-NLS-1$ - fTimeout = store.get("Timeout");//$NON-NLS-1$ - fKeepalive = store.get("Keepalive");//$NON-NLS-1$ + fPassword = store.getStringProperty("Password");//$NON-NLS-1$ + fPort = store.getStringProperty("Port");//$NON-NLS-1$ + fTimeout = store.getStringProperty("Timeout");//$NON-NLS-1$ + fKeepalive = store.getStringProperty("Keepalive");//$NON-NLS-1$ } public void save(ISettingsStore store) { - store.put("Host", fHost);//$NON-NLS-1$ - store.put("User", fUser);//$NON-NLS-1$ - store.put("Port", fPort);//$NON-NLS-1$ + store.setProperty("Host", fHost);//$NON-NLS-1$ + store.setProperty("User", fUser);//$NON-NLS-1$ + store.setProperty("Port", fPort);//$NON-NLS-1$ // We do *not* store the password in the settings because // this can cause the password to be stored as plain text // in some settings file - store.put("Timeout", fTimeout);//$NON-NLS-1$ - store.put("Keepalive", fKeepalive);//$NON-NLS-1$ + store.setProperty("Timeout", fTimeout);//$NON-NLS-1$ + store.setProperty("Keepalive", fKeepalive);//$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.telnet/.classpath b/plugins/org.eclipse.tm.terminal.telnet/.classpath index 37d5094e3a9..25d360efcad 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.classpath +++ b/plugins/org.eclipse.tm.terminal.telnet/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..c2dc3aa2f47 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 111fa979b3d..ea631367c33 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -8,5 +8,5 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="3.3.0" -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java index 0518b25d6cc..f37179e4513 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java @@ -52,15 +52,15 @@ public class TelnetSettings implements ITelnetSettings { } public void load(ISettingsStore store) { - fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ - fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ - fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ + fHost = store.getStringProperty("Host", fProperties.getDefaultHost());//$NON-NLS-1$ + fNetworkPort = store.getStringProperty("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ + fTimeout = store.getStringProperty("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } public void save(ISettingsStore store) { - store.put("Host", fHost);//$NON-NLS-1$ - store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ - store.put("Timeout", fTimeout);//$NON-NLS-1$ + store.setProperty("Host", fHost);//$NON-NLS-1$ + store.setProperty("NetworkPort", fNetworkPort);//$NON-NLS-1$ + store.setProperty("Timeout", fTimeout);//$NON-NLS-1$ } public TelnetProperties getProperties() { diff --git a/plugins/org.eclipse.tm.terminal.test/.classpath b/plugins/org.eclipse.tm.terminal.test/.classpath index 64c5e31b7a2..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.test/.classpath +++ b/plugins/org.eclipse.tm.terminal.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index 40c9c1aa311..fcd7b940075 100644 --- a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -79,4 +79,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 7164d348c6a..eabe482ba35 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: org.junit, org.eclipse.tm.terminal;bundle-version="3.3.0", org.eclipse.core.runtime, org.eclipse.ui -Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index b9c4d3c6a74..1cd90528560 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -24,24 +24,11 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.SettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TerminalConnectorFactoryTest extends TestCase { - public class SettingsMock implements ISettingsStore { - - public String get(String key) { - return null; - } - - public String get(String key, String defaultValue) { - return null; - } - - public void put(String key, String value) { - } - - } public static class TerminalControlMock implements ITerminalControl { public void setEncoding(String encoding) { @@ -245,7 +232,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettingsStore s=new SettingsMock(); + ISettingsStore s=new SettingsStore(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -256,7 +243,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettingsStore s=new SettingsMock(); + ISettingsStore s=new SettingsStore(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 10863867a20..26c68f34ef7 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -15,6 +15,7 @@ package org.eclipse.tm.internal.terminal.connector; import java.io.OutputStream; +import java.util.Map; import junit.framework.TestCase; @@ -24,24 +25,11 @@ import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.SettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TerminalConnectorTest extends TestCase { - public class SettingsMock implements ISettingsStore { - - public String get(String key) { - return null; - } - - public String get(String key, String defaultValue) { - return null; - } - - public void put(String key, String value) { - } - - } public static class TerminalControlMock implements ITerminalControl { public void setEncoding(String encoding) { @@ -224,7 +212,7 @@ public class TerminalConnectorTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettingsStore s=new SettingsMock(); + ISettingsStore s=new SettingsStore(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -235,7 +223,7 @@ public class TerminalConnectorTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettingsStore s=new SettingsMock(); + ISettingsStore s=new SettingsStore(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index 84f94226ce0..a8afd136ee7 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -37,14 +37,14 @@ public class SpeedTestSettings { fInputFile = testFile; } public void load(ISettingsStore store) { - fInputFile=store.get("inputFile"); - fBufferSize=store.get("bufferSize"); - fThrottle=store.get("throttle"); + fInputFile=store.getStringProperty("inputFile"); + fBufferSize=store.getStringProperty("bufferSize"); + fThrottle=store.getStringProperty("throttle"); } public void save(ISettingsStore store) { - store.put("inputFile", fInputFile); - store.put("bufferSize", fBufferSize); - store.put("throttle", fThrottle); + store.setProperty("inputFile", fInputFile); + store.setProperty("bufferSize", fBufferSize); + store.setProperty("throttle", fThrottle); } public String getThrottleString() { return fThrottle; diff --git a/plugins/org.eclipse.tm.terminal/.classpath b/plugins/org.eclipse.tm.terminal/.classpath index 37d5094e3a9..25d360efcad 100644 --- a/plugins/org.eclipse.tm.terminal/.classpath +++ b/plugins/org.eclipse.tm.terminal/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index d86e9d88ef7..6a5966a2f19 100644 --- a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -7,13 +7,12 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning @@ -24,42 +23,29 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning @@ -75,9 +61,9 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled @@ -85,30 +71,30 @@ org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index b7973c8d0c4..5a60876bd84 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java index 40353718f18..b64c6c0d694 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java @@ -37,6 +37,7 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#addListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) */ + @Override public void addListener(Listener listener) { Assert.isNotNull(listener); listeners.add(listener); @@ -45,6 +46,7 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#removeListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) */ + @Override public void removeListener(Listener listener) { Assert.isNotNull(listener); listeners.remove(listener); @@ -67,6 +69,7 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() */ + @Override public final String getMessage() { return message; } @@ -74,6 +77,7 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() */ + @Override public final int getMessageType() { return messageType; } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java index 8822af3df71..d7fef966dbd 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java @@ -8,13 +8,20 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Uwe Stieber (Wind River) - Extend API to allow storage of non-string settings *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; +import java.util.Map; + +import org.eclipse.core.runtime.IAdaptable; + /** - * A simple interface to a store to persist the state of a connection. - * - * @author Michael Scharf + * The settings store contains the state of a connection. The content of the + * settings store is not the persisted state of the connection. Storing data + * in the settings store does not make any assumption about possibly persisting + * the connection state. Connection persistence has to be implemented by the UI + * container embedding the Terminal control. *

                                  * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will @@ -22,24 +29,216 @@ package org.eclipse.tm.internal.terminal.provisional.api; * consulting with the Target Management team. *

                                  */ -public interface ISettingsStore { +public interface ISettingsStore extends IAdaptable { + /** - * @param key alpha numeric key, may contain dots (.) - * @return value + * Set the properties from the given map. Calling this method + * will overwrite all previous set properties. + *

                                  + * Note: The method will have no effect if the given properties are the + * same as the already set properties. + * + * @param properties The map of properties to set. Must not be null. */ - String get(String key); + public void setProperties(Map properties); /** - * @param key alpha numeric key, may contain dots (.) - * @param defaultValue - * @return the value or the default + * Adds all properties from the given map. If a property already exist + * in the properties container, than the value of the property is overwritten. + * + * @param properties The map of properties to add. Must not be null. */ - String get(String key, String defaultValue); + public void addProperties(Map properties); /** - * Save a string value - * @param key alpha numeric key, may contain dots (.) - * @param value + * Stores the property under the given property key using the given property value. + * If the current property value is equal to the given property value, no store + * operation will be executed. If the property value is not null and + * is different from the current property value, the new value will be written to + * the property store and a property change event is fired. If the property value + * is null, the property key and the currently stored value are removed + * from the property store. + * + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. */ - void put(String key, String value); + public boolean setProperty(String key, Object value); + + /** + * Stores the property under the given property key using the given long + * property value. The given long value is transformed to an Long + * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. + * + * @see setProperty(java.lang.String, java.lang.Object) + */ + public boolean setProperty(String key, long value); + + /** + * Stores the property under the given property key using the given integer + * property value. The given integer value is transformed to an Integer + * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. + * + * @see setProperty(java.lang.String, java.lang.Object) + */ + public boolean setProperty(String key, int value); + + /** + * Stores the property under the given property key using the given boolean + * property value. The given boolean value is transformed to an Boolean + * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. + * + * @see setProperty(java.lang.String, java.lang.Object) + */ + public boolean setProperty(String key, boolean value); + + /** + * Stores the property under the given property key using the given float + * property value. The given float value is transformed to an Float + * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. + * + * @see setProperty(java.lang.String, java.lang.Object) + */ + public boolean setProperty(String key, float value); + + /** + * Stores the property under the given property key using the given double + * property value. The given double value is transformed to an Double + * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * + * @param key The property key. Must not be null! + * @param value The property value. + * @return true if the property value had been applied to the property store, false otherwise. + * + * @see setProperty(java.lang.String, java.lang.Object) + */ + public boolean setProperty(String key, double value); + + /** + * Return all properties. The result map is read-only. + * + * @return A map containing all properties. + */ + public Map getProperties(); + + /** + * Queries the property value stored under the given property key. If the property + * does not exist, null is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value or null. + */ + public Object getProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.String, the property value casted to + * java.lang.String is returned. In all other cases, null + * is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value casted java.lang.String or null. + */ + public String getStringProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.String, the property value casted to + * java.lang.String is returned. In all other cases, the given default + * value is returned. + * + * @param key The property key. Must not be null! + * @param defaultValue The default value or null. + * + * @return The stored property value casted java.lang.String or null. + */ + public String getStringProperty(String key, String defaultValue); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.Long, the property value converted + * to an long value is returned. In all other cases, -1 is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value converted to a long value or -1. + */ + public long getLongProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.Integer, the property value converted + * to an integer value is returned. In all other cases, -1 is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value converted to an integer value or -1. + */ + public int getIntProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.Boolean, the property value converted + * to an boolean value is returned. In all other cases, false is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value converted to an boolean value or false. + */ + public boolean getBooleanProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.Float, the property value converted + * to an float value is returned. In all other cases, Float.NaN is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value converted to a float value or Float.NaN. + */ + public float getFloatProperty(String key); + + /** + * Queries the property value stored under the given property key. If the property + * exist and is of type java.lang.Double, the property value converted + * to an double value is returned. In all other cases, Double.NaN is returned. + * + * @param key The property key. Must not be null! + * @return The stored property value converted to a double value or Double.NaN. + */ + public double getDoubleProperty(String key); + + /** + * Remove all properties from the properties store. The method does not fire any + * properties changed event. + */ + public void clearProperties(); + + /** + * Returns whether this properties container is empty or not. + * + * @return True if the properties container is empty, false if not. + */ + public boolean isEmpty(); + + /** + * Returns whether this properties container contains the given key. + * + * @param key The key. Must not be null. + * @return True if the properties container contains the key, false if not. + */ + public boolean containsKey(String key); } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index fa6fee91f87..e703482bb90 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -13,11 +13,12 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; -import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; @@ -50,24 +51,14 @@ public final class Logger { private static PrintStream logStream; static { - String logFile = null; - //TODO I think this should go into the workspace metadata instead. - File logDirWindows = new File("C:\\eclipselogs"); //$NON-NLS-1$ - File logDirUNIX = new File("/tmp/eclipselogs"); //$NON-NLS-1$ - - if (logDirWindows.isDirectory()) { - logFile = logDirWindows + "\\tmterminal.log"; //$NON-NLS-1$ - } else if (logDirUNIX.isDirectory()) { - logFile = logDirUNIX + "/tmterminal.log"; //$NON-NLS-1$ - } - - if (logFile != null) { + IPath logFile = Platform.getStateLocation(TerminalPlugin.getDefault().getBundle()); + if (logFile != null && logFile.toFile().isDirectory()) { + logFile = logFile.append("tmterminal.log"); //$NON-NLS-1$ try { - logStream = new PrintStream(new FileOutputStream(logFile, true)); + logStream = new PrintStream(new FileOutputStream(logFile.toFile(), true)); } catch (Exception ex) { logStream = System.err; - logStream - .println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ + logStream.println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ ex.printStackTrace(logStream); } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java new file mode 100644 index 00000000000..002e2d8fd38 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java @@ -0,0 +1,360 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; + +/** + * Terminal connection settings store implementation. + */ +public class SettingsStore extends PlatformObject implements ISettingsStore { + /** + * A map of settings. The keys are always strings, the value might be any object. + */ + private Map settings = new HashMap(); + + /** + * Constructor. + */ + public SettingsStore() { + super(); + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + boolean equals = super.equals(obj); + if (!equals && obj instanceof SettingsStore) { + return settings.equals(((SettingsStore)obj).settings); + } + return equals; + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + return settings.hashCode(); + } + + /* (non-Javadoc) + * @see java.lang.Object#toString() + */ + @Override + public String toString() { + final StringBuilder buffer = new StringBuilder(); + + // print the first level of the properties map only + buffer.append("settings={"); //$NON-NLS-1$ + for (String key : settings.keySet()) { + buffer.append(key); + buffer.append("="); //$NON-NLS-1$ + + Object value = settings.get(key); + if (value instanceof Map || value instanceof ISettingsStore) { + buffer.append("{...}"); //$NON-NLS-1$ + } else { + buffer.append(value); + } + + buffer.append(", "); //$NON-NLS-1$ + } + if (buffer.toString().endsWith(", ")) { //$NON-NLS-1$ + buffer.deleteCharAt(buffer.length() - 1); + buffer.deleteCharAt(buffer.length() - 1); + } + buffer.append("}"); //$NON-NLS-1$ + + return buffer.toString(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getProperties() + */ + @Override + public Map getProperties() { + return Collections.unmodifiableMap(new HashMap(settings)); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getProperty(java.lang.String) + */ + @Override + public Object getProperty(String key) { + return settings.get(key); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getBooleanProperty(java.lang.String) + */ + @Override + public final boolean getBooleanProperty(String key) { + Object value = getProperty(key); + if (value instanceof Boolean) { + return ((Boolean)value).booleanValue(); + } + if (value instanceof String) { + String val = ((String)value).trim(); + return "TRUE".equalsIgnoreCase(val) || "1".equals(val) || "Y".equalsIgnoreCase(val) || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + "JA".equalsIgnoreCase(val) || "YES".equalsIgnoreCase(val); //$NON-NLS-1$ //$NON-NLS-2$ + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getLongProperty(java.lang.String) + */ + @Override + public final long getLongProperty(String key) { + Object value = getProperty(key); + try { + if (value instanceof Long) { + return ((Long)value).longValue(); + } + if (value instanceof Number) { + return ((Number)value).longValue(); + } + if (value != null) { + return Long.decode(value.toString()).longValue(); + } + } catch (Exception e) { + /* ignored on purpose */ + } + + return -1; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getIntProperty(java.lang.String) + */ + @Override + public final int getIntProperty(String key) { + Object value = getProperty(key); + try { + if (value instanceof Integer) { + return ((Integer)value).intValue(); + } + if (value instanceof Number) { + return ((Number)value).intValue(); + } + if (value != null) { + return Integer.decode(value.toString()).intValue(); + } + } catch (Exception e) { + /* ignored on purpose */ + } + + return -1; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getStringProperty(java.lang.String) + */ + @Override + public final String getStringProperty(String key) { + Object value = getProperty(key); + return value instanceof String ? (String)value : + (value != null ? value.toString() : null); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getStringProperty(java.lang.String, java.lang.String) + */ + @Override + public String getStringProperty(String key, String defaultValue) { + String value = getStringProperty(key); + return value != null ? value : defaultValue; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getFloatProperty(java.lang.String) + */ + @Override + public final float getFloatProperty(String key) { + Object value = getProperty(key); + try { + if (value instanceof Float) { + return ((Float)value).floatValue(); + } + if (value instanceof Number) { + return ((Number)value).floatValue(); + } + if (value != null) { + return Float.parseFloat(value.toString()); + } + } catch (Exception e) { + /* ignored on purpose */ + } + + return Float.NaN; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getDoubleProperty(java.lang.String) + */ + @Override + public final double getDoubleProperty(String key) { + Object value = getProperty(key); + try { + if (value instanceof Double) { + return ((Double)value).doubleValue(); + } + if (value instanceof Number) { + return ((Number)value).doubleValue(); + } + if (value != null) { + return Double.parseDouble(value.toString()); + } + } catch (Exception e) { + /* ignored on purpose */ + } + + return Double.NaN; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperties(java.util.Map) + */ + @Override + public final void setProperties(Map properties) { + Assert.isNotNull(properties); + + // Change the properties only if they have changed really + if (this.settings.equals(properties)) { + return; + } + + // Clear out all old properties + this.settings.clear(); + // Apply everything from the given properties + this.settings.putAll(properties); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#addProperties(java.util.Map) + */ + @Override + public final void addProperties(Map properties) { + // Apply everything from the given properties + this.settings.putAll(properties); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, boolean) + */ + @Override + public final boolean setProperty(String key, boolean value) { + boolean oldValue = getBooleanProperty(key); + if (oldValue != value) { + return setProperty(key, Boolean.valueOf(value)); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, long) + */ + @Override + public final boolean setProperty(String key, long value) { + long oldValue = getLongProperty(key); + if (oldValue != value) { + return setProperty(key, Long.valueOf(value)); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, int) + */ + @Override + public final boolean setProperty(String key, int value) { + int oldValue = getIntProperty(key); + if (oldValue != value) { + return setProperty(key, Integer.valueOf(value)); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, float) + */ + @Override + public final boolean setProperty(String key, float value) { + float oldValue = getFloatProperty(key); + if (oldValue != value) { + return setProperty(key, Float.valueOf(value)); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, double) + */ + @Override + public final boolean setProperty(String key, double value) { + double oldValue = getDoubleProperty(key); + if (oldValue != value) { + return setProperty(key, Double.valueOf(value)); + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, java.lang.Object) + */ + @Override + public boolean setProperty(String key, Object value) { + Assert.isNotNull(key); + + Object oldValue = settings.get(key); + if ((oldValue == null && value != null) || (oldValue != null && !oldValue.equals(value))) { + if (value != null) { + settings.put(key, value); + } else { + settings.remove(key); + } + return true; + } + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#clearProperties() + */ + @Override + public final void clearProperties() { + settings.clear(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#isEmpty() + */ + @Override + public boolean isEmpty() { + return settings.isEmpty(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#containsKey(java.lang.String) + */ + @Override + public boolean containsKey(String key) { + Assert.isNotNull(key); + return settings.containsKey(key); + } +} From d8ef37a2ce813b2c577d2ec70b5a2b68bca0dd10 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 16 Feb 2015 09:06:40 +0100 Subject: [PATCH 580/843] Terminal: Fix build error --- .../local/ILocalTerminalSettings.java | 18 ++++++------ .../local/LocalTerminalConnector.java | 16 +++++------ .../terminal/local/LocalTerminalSettings.java | 20 ++++++------- .../view/ITerminalViewConnection.java | 6 ++-- .../view/ITerminalViewConnectionManager.java | 8 +++--- .../terminal/view/LayeredSettingsStore.java | 16 +++++------ .../terminal/view/PreferenceSettingStore.java | 2 +- .../view/SettingStorePrefixDecorator.java | 8 +++--- .../internal/terminal/view/SettingsStore.java | 6 ++-- .../internal/terminal/view/TerminalView.java | 10 +++---- .../terminal/view/TerminalViewConnection.java | 8 +++--- .../view/TerminalViewConnectionManager.java | 6 ++-- .../terminal/remote/RemoteConnector.java | 6 ++-- .../terminal/remote/RemoteSettings.java | 6 ++-- .../terminal/serial/ISerialSettings.java | 6 ++-- .../terminal/serial/SerialConnector.java | 6 ++-- .../terminal/serial/SerialSettings.java | 6 ++-- .../internal/terminal/ssh/ISshSettings.java | 6 ++-- .../internal/terminal/ssh/SshConnector.java | 6 ++-- .../tm/internal/terminal/ssh/SshSettings.java | 6 ++-- .../build.properties | 3 -- .../terminal/telnet/ITelnetSettings.java | 6 ++-- .../terminal/telnet/TelnetConnector.java | 6 ++-- .../terminal/telnet/TelnetSettings.java | 6 ++-- .../build.properties | 2 -- .../TerminalConnectorFactoryTest.java | 16 +++++------ .../connector/TerminalConnectorTest.java | 16 +++++------ .../speedtest/SpeedTestConnector.java | 6 ++-- .../terminal/speedtest/SpeedTestSettings.java | 6 ++-- .../org.eclipse.tm.terminal/build.properties | 2 -- .../terminal/connector/TerminalConnector.java | 12 ++++---- .../{ISettingsStore.java => ISettings.java} | 28 +++++++++---------- .../provisional/api/ITerminalConnector.java | 6 ++-- .../api/{SettingsStore.java => Settings.java} | 16 +++++------ .../api/provider/TerminalConnectorImpl.java | 8 +++--- 35 files changed, 152 insertions(+), 159 deletions(-) rename plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/{ISettingsStore.java => ISettings.java} (94%) rename plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/{SettingsStore.java => Settings.java} (96%) diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java index 4e41e3bc99b..a253a3568de 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java @@ -11,7 +11,7 @@ package org.eclipse.tm.internal.terminal.local; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; /** * The interface {@link ILocalTerminalSettings} defines the public interface for connector-specific @@ -40,24 +40,24 @@ public interface ILocalTerminalSettings { public final static String LINE_SEPARATOR_LF = "\\n"; //$NON-NLS-1$ /** - * Loads the settings from a specified {@link ISettingsStore}. + * Loads the settings from a specified {@link ISettings}. * - * TODO: the {@link #load(ISettingsStore)} method should probably extracted to a super-interface + * TODO: the {@link #load(ISettings)} method should probably extracted to a super-interface * as it appears to be common to all customized settings interfaces * - * @param store the {@link ISettingsStore} to load the settings from + * @param store the {@link ISettings} to load the settings from */ - public abstract void load(ISettingsStore store); + public abstract void load(ISettings store); /** - * Saves the settings to a specified {@link ISettingsStore}. + * Saves the settings to a specified {@link ISettings}. * - * TODO: the {@link #save(ISettingsStore)} method should probably extracted to a super-interface + * TODO: the {@link #save(ISettings)} method should probably extracted to a super-interface * as it appears to be common to all customized settings interfaces * - * @param store the {@link ISettingsStore} for storing the settings + * @param store the {@link ISettings} for storing the settings */ - public abstract void save(ISettingsStore store); + public abstract void save(ISettings store); /** * Gets the name of the launch configuration that will be started in the terminal. diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java index 757f04c7212..aee9f24cad8 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java @@ -41,7 +41,7 @@ import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -105,9 +105,9 @@ implements IDebugEventSetListener { /** * Loads the connector's settings from the specified store. * - * @param store the {@link ISettingsStore} + * @param store the {@link ISettings} * - * @see TerminalConnectorImpl#load(ISettingsStore) + * @see TerminalConnectorImpl#load(ISettings) * * TODO: the load(ISettingsStore) method should probably be made abstract in * TerminalConnectorImpl, otherwise it is not immediately clear that clients need to @@ -120,20 +120,20 @@ implements IDebugEventSetListener { * by the framework in a uniform way. Maybe a configuration mechanism using attributes * (like, for example, ILaunchConfiguration) might be beneficial here. */ - public void load(ISettingsStore store) { + public void load(ISettings store) { settings.load(store); } /** * Stores the connector's settings into the specified store. - * See {@link #load(ISettingsStore)} for additional notes. + * See {@link #load(ISettings)} for additional notes. * - * @param store the {@link ISettingsStore} + * @param store the {@link ISettings} * - * @see TerminalConnectorImpl#save(ISettingsStore) + * @see TerminalConnectorImpl#save(ISettings) */ - public void save(ISettingsStore store) { + public void save(ISettings store) { settings.save(store); } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java index cc21437a7b0..3f8fe43929f 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java @@ -12,7 +12,7 @@ package org.eclipse.tm.internal.terminal.local; import java.lang.reflect.Field; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.Logger; /** @@ -27,7 +27,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { private String launchConfiguration; /** - * Loads the settings from the given {@link ISettingsStore}. + * Loads the settings from the given {@link ISettings}. * This method loads the store contents by means of reflection. This is clearly overkill for * the few settings supported by this class, but the code is much more reusable. Pretty much * every implementation of a custom settings store is implemented in the same fashion and @@ -35,10 +35,10 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { * * TODO: check for possibilities to reuse this code! * - * @param store the {@link ISettingsStore} - * @see ILocalTerminalSettings#load(ISettingsStore) + * @param store the {@link ISettings} + * @see ILocalTerminalSettings#load(ISettings) */ - public void load(ISettingsStore store) { + public void load(ISettings store) { Field[] declaredField = getClass().getDeclaredFields(); int numberOfFields = declaredField.length; @@ -64,14 +64,14 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { } /** - * Saves the settings to the specified {@link ISettingsStore}. - * See {@link #load(ISettingsStore)} for further implementation notes. + * Saves the settings to the specified {@link ISettings}. + * See {@link #load(ISettings)} for further implementation notes. * - * @param store the {@link ISettingsStore} + * @param store the {@link ISettings} * - * @see ILocalTerminalSettings#save(ISettingsStore) + * @see ILocalTerminalSettings#save(ISettings) */ - public void save(ISettingsStore store) { + public void save(ISettings store) { Field[] declaredField = getClass().getDeclaredFields(); int numberOfFields = declaredField.length; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java index cb7ab54966d..640caa46b82 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java @@ -13,7 +13,7 @@ package org.eclipse.tm.internal.terminal.view; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -47,9 +47,9 @@ public interface ITerminalViewConnection { */ ITerminalViewControl getCtlTerminal(); - void saveState(ISettingsStore store); + void saveState(ISettings store); - void loadState(ISettingsStore store); + void loadState(ISettings store); /** * @return true if the input field is visible diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java index 12348480d25..2576370c8f6 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; /** @@ -31,7 +31,7 @@ public interface ITerminalViewConnectionManager { } /** * Used to create instances of the ITerminalViewConnection - * when the state is read from the {@link ISettingsStore} + * when the state is read from the {@link ISettings} * */ interface ITerminalViewConnectionFactory { @@ -73,11 +73,11 @@ public interface ITerminalViewConnectionManager { void addListener(ITerminalViewConnectionListener listener); void removeListener(ITerminalViewConnectionListener listener); - void saveState(ISettingsStore store); + void saveState(ISettings store); /** * @param store * @param factory used to create new {@link ITerminalViewConnection} */ - void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); + void loadState(ISettings store,ITerminalViewConnectionFactory factory); } \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java index 48feb91b44f..e0939453bb6 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java @@ -10,11 +10,11 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.SettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.Settings; /** - * Uses an array of {@link ISettingsStore} to find a value. + * Uses an array of {@link ISettings} to find a value. *

                                  * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that @@ -22,16 +22,16 @@ import org.eclipse.tm.internal.terminal.provisional.api.SettingsStore; * the Target Management team. *

                                  */ -public class LayeredSettingsStore extends SettingsStore { +public class LayeredSettingsStore extends Settings { - private final ISettingsStore[] fStores; + private final ISettings[] fStores; /** * @param stores the stores used to search the values. * {@link #setProperty(String, Object)} will put the value in the * first store in the list. */ - public LayeredSettingsStore(ISettingsStore[] stores) { + public LayeredSettingsStore(ISettings[] stores) { fStores=stores; } /** @@ -39,8 +39,8 @@ public class LayeredSettingsStore extends SettingsStore { * @param s1 first store * @param s2 second store */ - public LayeredSettingsStore(ISettingsStore s1, ISettingsStore s2) { - this(new ISettingsStore[]{s1,s2}); + public LayeredSettingsStore(ISettings s1, ISettings s2) { + this(new ISettings[]{s1,s2}); } public Object getProperty(String key) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java index 38a01b7eaf4..c10a4831a07 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java @@ -21,7 +21,7 @@ import org.eclipse.core.runtime.Preferences; * the Target Management team. *

                                  */ -public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { +public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.provisional.api.Settings { private final String fPrefix; private final Preferences fPreferences; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java index ff948fb2de2..807336ee23f 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -10,12 +10,12 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; -public class SettingStorePrefixDecorator extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { +public class SettingStorePrefixDecorator extends org.eclipse.tm.internal.terminal.provisional.api.Settings { private final String fPrefix; - private final ISettingsStore fStore; - SettingStorePrefixDecorator(ISettingsStore store,String prefix) { + private final ISettings fStore; + SettingStorePrefixDecorator(ISettings store,String prefix) { fPrefix=prefix; fStore=store; } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index 800dcf683a8..5959ebb90dc 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -14,11 +14,11 @@ import java.util.Arrays; import java.util.Map; import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.ui.IMemento; /** - * A {@link IDialogSettings} based {@link ISettingsStore}. + * A {@link IDialogSettings} based {@link ISettings}. * * Setting Store based on IMemento. IMemento documentations says only alpha numeric * values may be used as keys. Therefore the implementation converts dots (.) into @@ -26,7 +26,7 @@ import org.eclipse.ui.IMemento; * * @author Michael Scharf */ -class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.SettingsStore { +class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Settings { private static final String KEYS = "_keys_"; //$NON-NLS-1$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index a517b46ca94..7af36b752bb 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -69,7 +69,7 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; @@ -400,7 +400,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // sequence. fPageBook=new PageBook(wndParent,SWT.NONE); - ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ + ISettings s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { public ITerminalViewConnection create() { return makeViewConnection(); @@ -485,7 +485,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi * @param connectors loads the data from store * @return null or the currently selected connector */ - private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { + private ITerminalConnector loadSettings(ISettings store, ITerminalConnector[] connectors) { ITerminalConnector connector=null; String connectionType=store.getStringProperty(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { @@ -517,7 +517,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi * @param store the settings will be saved in this store * @param connector the connector that will be saved. Can be null. */ - private void saveSettings(ISettingsStore store, ITerminalConnector connector) { + private void saveSettings(ISettings store, ITerminalConnector connector) { if(connector!=null) { connector.save(getStore(store, connector)); // the last saved connector becomes the default @@ -535,7 +535,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } - private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { + private ISettings getStore(ISettings store, ITerminalConnector connector) { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index 1603b5bff90..a6d27366e06 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -25,7 +25,7 @@ import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -89,10 +89,10 @@ class TerminalViewConnection implements ITerminalViewConnection { public ITerminalViewControl getCtlTerminal() { return fCtlTerminal; } - private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { + private ISettings getStore(ISettings store,ITerminalConnector connector) { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } - public void loadState(ISettingsStore store) { + public void loadState(ISettings store) { fPartName=store.getStringProperty(STORE_PART_NAME); fSummary=store.getStringProperty(STORE_SUMMARY); fHistory=store.getStringProperty(STORE_COMMAND_INPUT_FIELD_HISTORY); @@ -111,7 +111,7 @@ class TerminalViewConnection implements ITerminalViewConnection { setCommandInputField(true); } - public void saveState(ISettingsStore store) { + public void saveState(ISettings store) { store.setProperty(STORE_PART_NAME, fPartName); store.setProperty(STORE_SUMMARY,fSummary); store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java index 84a0f7f3c79..39e812d880e 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -16,7 +16,7 @@ import java.util.List; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ @@ -108,7 +108,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan } } - public void saveState(ISettingsStore store) { + public void saveState(ISettings store) { store.setProperty(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ // save all connections int n=0; @@ -124,7 +124,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan } } - public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { + public void loadState(ISettings store,ITerminalViewConnectionFactory factory) { int size=0; try { size=Integer.parseInt(store.getStringProperty(STORE_SIZE)); diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java index f97ec007898..56bda029317 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java @@ -11,7 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; 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; @@ -126,7 +126,7 @@ public class RemoteConnector extends TerminalConnectorImpl { * .api.ISettingsStore) */ @Override - public void load(ISettingsStore store) { + public void load(ISettings store) { fSettings.load(store); } @@ -148,7 +148,7 @@ public class RemoteConnector extends TerminalConnectorImpl { * .api.ISettingsStore) */ @Override - public void save(ISettingsStore store) { + public void save(ISettings store) { fSettings.save(store); } diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java index fd9a31341f4..f618e361822 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java @@ -7,7 +7,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.remote; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.terminal.remote.IRemoteSettings; @SuppressWarnings("restriction") @@ -38,7 +38,7 @@ public class RemoteSettings implements IRemoteSettings { /** * Load information into the RemoteSettings object. */ - public void load(ISettingsStore store) { + public void load(ISettings store) { fRemoteServices = store.getStringProperty(REMOTE_SERVICES); fConnectionName = store.getStringProperty(CONNECTION_NAME); } @@ -46,7 +46,7 @@ public class RemoteSettings implements IRemoteSettings { /** * Extract information from the RemoteSettings object. */ - public void save(ISettingsStore store) { + public void save(ISettings store) { store.getStringProperty(REMOTE_SERVICES, fRemoteServices); store.getStringProperty(CONNECTION_NAME, fConnectionName); } diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java index 5fc3a02902c..f6659aa23ed 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java @@ -11,7 +11,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public interface ISerialSettings { @@ -23,6 +23,6 @@ public interface ISerialSettings { int getFlowControl(); int getTimeout(); String getSummary(); - void load(ISettingsStore store); - void save(ISettingsStore store); + void load(ISettings store); + void save(ISettings store); } \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index 9d431499080..c3b87a8c8a7 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -30,7 +30,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -221,10 +221,10 @@ public class SerialConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + public void load(ISettings store) { fSettings.load(store); } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java index 7e25a055714..46bba3fed5e 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java @@ -18,7 +18,7 @@ package org.eclipse.tm.internal.terminal.serial; import gnu.io.SerialPort; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public class SerialSettings implements ISerialSettings { protected String fSerialPort; @@ -153,7 +153,7 @@ public class SerialSettings implements ISerialSettings { getFlowControlString(); } - public void load(ISettingsStore store) { + public void load(ISettings store) { fSerialPort = store.getStringProperty("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ fBaudRate = store.getStringProperty("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ fDataBits = store.getStringProperty("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ @@ -163,7 +163,7 @@ public class SerialSettings implements ISerialSettings { fTimeout = store.getStringProperty("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ } - public void save(ISettingsStore store) { + public void save(ISettings store) { store.setProperty("SerialPort", fSerialPort); //$NON-NLS-1$ store.setProperty("BaudRate", fBaudRate); //$NON-NLS-1$ store.setProperty("DataBits", fDataBits); //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java index 4c389be56df..c56faa61feb 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java @@ -12,7 +12,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public interface ISshSettings { /** @@ -68,11 +68,11 @@ public interface ISshSettings { * Load connection data from a settings store. * @param store the settings store to access. */ - void load(ISettingsStore store); + void load(ISettings store); /** * Store connection data into a settings store. * @param store the settings store to access. */ - void save(ISettingsStore store); + void save(ISettings store); } diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 0ebfb5968e3..3530c823572 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -17,7 +17,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; @@ -101,10 +101,10 @@ public class SshConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + public void load(ISettings store) { fSettings.load(store); } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSettings.save(store); } protected JSch getJsch() { diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index fc87c272fdc..a8f55f768d3 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -14,7 +14,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public class SshSettings implements ISshSettings { protected String fHost; @@ -39,7 +39,7 @@ public class SshSettings implements ISshSettings { return settings; } - public void load(ISettingsStore store) { + public void load(ISettings store) { fHost = store.getStringProperty("Host");//$NON-NLS-1$ fUser = store.getStringProperty("User");//$NON-NLS-1$ // ISettingsStore providers have to make sure that @@ -52,7 +52,7 @@ public class SshSettings implements ISshSettings { } - public void save(ISettingsStore store) { + public void save(ISettings store) { store.setProperty("Host", fHost);//$NON-NLS-1$ store.setProperty("User", fUser);//$NON-NLS-1$ store.setProperty("Port", fPort);//$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.telnet/build.properties b/plugins/org.eclipse.tm.terminal.telnet/build.properties index aaf3b659f0e..409ecf091b8 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/build.properties +++ b/plugins/org.eclipse.tm.terminal.telnet/build.properties @@ -24,7 +24,4 @@ bin.includes = .,\ source.. = src/ output.. = bin/ src.includes = about.html -javacTarget = 1.4 -javacSource = 1.4 -javacErrors.. = -assertIdentifier diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java index c18879d45db..f255131e6df 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java @@ -11,13 +11,13 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public interface ITelnetSettings { String getHost(); int getNetworkPort(); int getTimeout(); String getSummary(); - void load(ISettingsStore store); - void save(ISettingsStore store); + void load(ISettings store); + void save(ISettings store); } diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index 0fde60e53aa..ded0f45c95c 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -26,7 +26,7 @@ import java.io.OutputStream; import java.net.Socket; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -151,10 +151,10 @@ public class TelnetConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + public void load(ISettings store) { fSettings.load(store); } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java index f37179e4513..6ebab9556fe 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java @@ -16,7 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public class TelnetSettings implements ITelnetSettings { protected String fHost; @@ -51,13 +51,13 @@ public class TelnetSettings implements ITelnetSettings { return getHost() + ":" + getNetworkPortString(); //$NON-NLS-1$ } - public void load(ISettingsStore store) { + public void load(ISettings store) { fHost = store.getStringProperty("Host", fProperties.getDefaultHost());//$NON-NLS-1$ fNetworkPort = store.getStringProperty("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ fTimeout = store.getStringProperty("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } - public void save(ISettingsStore store) { + public void save(ISettings store) { store.setProperty("Host", fHost);//$NON-NLS-1$ store.setProperty("NetworkPort", fNetworkPort);//$NON-NLS-1$ store.setProperty("Timeout", fTimeout);//$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.test/build.properties b/plugins/org.eclipse.tm.terminal.test/build.properties index e42cc2f222a..16c8ce62da4 100644 --- a/plugins/org.eclipse.tm.terminal.test/build.properties +++ b/plugins/org.eclipse.tm.terminal.test/build.properties @@ -20,8 +20,6 @@ bin.includes = META-INF/,\ tm32.png,\ test.xml,\ about.html -javacSource=1.4 -javacTarget=1.4 src.includes = .settings/,\ build.properties,\ teamConfig/,\ diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 1cd90528560..40373f8051e 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -22,9 +22,9 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.SettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.Settings; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; @@ -85,8 +85,8 @@ public class TerminalConnectorFactoryTest extends TestCase { public int fWidth; public int fHeight; public ITerminalControl fControl; - public ISettingsStore fSaveStore; - public ISettingsStore fLoadStore; + public ISettings fSaveStore; + public ISettings fLoadStore; public boolean fDisconnect; public boolean isLocalEcho() { @@ -112,7 +112,7 @@ public class TerminalConnectorFactoryTest extends TestCase { return "Summary"; } - public void load(ISettingsStore store) { + public void load(ISettings store) { fLoadStore=store; } @@ -133,7 +133,7 @@ public class TerminalConnectorFactoryTest extends TestCase { }}; } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSaveStore=store; } } @@ -232,7 +232,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettingsStore s=new SettingsStore(); + ISettings s=new Settings(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -243,7 +243,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettingsStore s=new SettingsStore(); + ISettings s=new Settings(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 26c68f34ef7..e7040756db8 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -23,9 +23,9 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.SettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.Settings; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; @@ -86,8 +86,8 @@ public class TerminalConnectorTest extends TestCase { public int fWidth; public int fHeight; public ITerminalControl fControl; - public ISettingsStore fSaveStore; - public ISettingsStore fLoadStore; + public ISettings fSaveStore; + public ISettings fLoadStore; public boolean fDisconnect; public boolean isLocalEcho() { @@ -113,7 +113,7 @@ public class TerminalConnectorTest extends TestCase { return "Summary"; } - public void load(ISettingsStore store) { + public void load(ISettings store) { fLoadStore=store; } @@ -135,7 +135,7 @@ public class TerminalConnectorTest extends TestCase { } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSaveStore=store; } } @@ -212,7 +212,7 @@ public class TerminalConnectorTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettingsStore s=new SettingsStore(); + ISettings s=new Settings(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -223,7 +223,7 @@ public class TerminalConnectorTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettingsStore s=new SettingsStore(); + ISettings s=new Settings(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index 88e9b5a5d13..bc37435449e 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -18,7 +18,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -86,7 +86,7 @@ public class SpeedTestConnector extends TerminalConnectorImpl { //throw new RuntimeException("XXX problems\nSpeedTest\nXXX!"); } - public void load(ISettingsStore store) { + public void load(ISettings store) { fSettings.load(store); } @@ -94,7 +94,7 @@ public class SpeedTestConnector extends TerminalConnectorImpl { return new SpeedTestSettingsPage(fSettings); } - public void save(ISettingsStore store) { + public void save(ISettings store) { fSettings.save(store); } diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index a8afd136ee7..a6e67057e9e 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -11,7 +11,7 @@ package org.eclipse.tm.internal.terminal.speedtest; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; public class SpeedTestSettings { String fInputFile=""; @@ -36,12 +36,12 @@ public class SpeedTestSettings { void setInputFile(String testFile) { fInputFile = testFile; } - public void load(ISettingsStore store) { + public void load(ISettings store) { fInputFile=store.getStringProperty("inputFile"); fBufferSize=store.getStringProperty("bufferSize"); fThrottle=store.getStringProperty("throttle"); } - public void save(ISettingsStore store) { + public void save(ISettings store) { store.setProperty("inputFile", fInputFile); store.setProperty("bufferSize", fBufferSize); store.setProperty("throttle", fThrottle); diff --git a/plugins/org.eclipse.tm.terminal/build.properties b/plugins/org.eclipse.tm.terminal/build.properties index 48cda7c3c5b..b9e1b67ce54 100644 --- a/plugins/org.eclipse.tm.terminal/build.properties +++ b/plugins/org.eclipse.tm.terminal/build.properties @@ -34,6 +34,4 @@ source.. = src/ output.. = bin/ src.includes = schema/,\ about.html -javacSource=1.4 -javacTarget=1.4 diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 86ebca265c1..3017e1a60d5 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -19,7 +19,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.Platform; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; @@ -37,8 +37,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * provided {@link TerminalConnector.Factory} interface when needed. class, and * delegates to the actual implementation when needed. The following methods can * be called without initializing the contributed implementation class: - * {@link #getId()}, {@link #getName()}, {@link #getSettingsSummary()},{@link #load(ISettingsStore)}, - * {@link #setTerminalSize(int, int)}, {@link #save(ISettingsStore)}, + * {@link #getId()}, {@link #getName()}, {@link #getSettingsSummary()},{@link #load(ISettings)}, + * {@link #setTerminalSize(int, int)}, {@link #save(ISettings)}, * {@link #getAdapter(Class)} * * @noextend This class is not intended to be subclassed by clients. @@ -93,7 +93,7 @@ public class TerminalConnector implements ITerminalConnector { * The store might be set before the real connector is initialized. * This keeps the value until the connector is created. */ - private ISettingsStore fStore; + private ISettings fStore; /** * Constructor for the terminal connector. * @@ -173,7 +173,7 @@ public class TerminalConnector implements ITerminalConnector { public boolean isLocalEcho() { return getConnectorImpl().isLocalEcho(); } - public void load(ISettingsStore store) { + public void load(ISettings store) { if(fConnector==null) { fStore=store; } else { @@ -183,7 +183,7 @@ public class TerminalConnector implements ITerminalConnector { public ISettingsPage makeSettingsPage() { return getConnectorImpl().makeSettingsPage(); } - public void save(ISettingsStore store) { + public void save(ISettings store) { // no need to save the settings: it cannot have changed // because we are not initialized.... if(fConnector!=null) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java similarity index 94% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java index d7fef966dbd..e20f08a76d5 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Uwe Stieber (Wind River) - Extend API to allow storage of non-string settings @@ -17,11 +17,11 @@ import java.util.Map; import org.eclipse.core.runtime.IAdaptable; /** - * The settings store contains the state of a connection. The content of the - * settings store is not the persisted state of the connection. Storing data - * in the settings store does not make any assumption about possibly persisting - * the connection state. Connection persistence has to be implemented by the UI - * container embedding the Terminal control. + * The settings contains the state of a connection. The content of the settings + * is not the persisted state of the connection. Storing data in the settings + * does not make any assumption about possibly persisting the connection state. + * Connection persistence has to be implemented by the UI container embedding + * the Terminal control. *

                                  * EXPERIMENTAL. This class or interface has been added as * part of a work in progress. There is no guarantee that this API will @@ -29,8 +29,8 @@ import org.eclipse.core.runtime.IAdaptable; * consulting with the Target Management team. *

                                  */ -public interface ISettingsStore extends IAdaptable { - +public interface ISettings extends IAdaptable { + /** * Set the properties from the given map. Calling this method * will overwrite all previous set properties. @@ -166,7 +166,7 @@ public interface ISettingsStore extends IAdaptable { * * @param key The property key. Must not be null! * @param defaultValue The default value or null. - * + * * @return The stored property value casted java.lang.String or null. */ public String getStringProperty(String key, String defaultValue); diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 43a4de2994d..2ee0ca1b581 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -124,14 +124,14 @@ public interface ITerminalConnector extends IAdaptable { * @param store a string based data store. Short keys like "foo" can be used to * store the state of the connection. */ - void load(ISettingsStore store); + void load(ISettings store); /** * When the view or dialog containing the terminal is closed, * the state of the connection is saved into the settings store store * @param store */ - void save(ISettingsStore store); + void save(ISettings store); /** * FIXME should not have UI related stuff in ITerminalConnector, since @@ -140,7 +140,7 @@ public interface ITerminalConnector extends IAdaptable { * * @return a new page that can be used in a dialog to setup this connection. * The dialog should persist its settings with the - * {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)} + * {@link #load(ISettings)} and {@link #save(ISettings)} * methods. */ ISettingsPage makeSettingsPage(); diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java similarity index 96% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java index 002e2d8fd38..746c3fb1b27 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/SettingsStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java @@ -17,9 +17,9 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.PlatformObject; /** - * Terminal connection settings store implementation. + * Terminal connection settings implementation. */ -public class SettingsStore extends PlatformObject implements ISettingsStore { +public class Settings extends PlatformObject implements ISettings { /** * A map of settings. The keys are always strings, the value might be any object. */ @@ -28,18 +28,18 @@ public class SettingsStore extends PlatformObject implements ISettingsStore { /** * Constructor. */ - public SettingsStore() { + public Settings() { super(); } - + /* (non-Javadoc) * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { boolean equals = super.equals(obj); - if (!equals && obj instanceof SettingsStore) { - return settings.equals(((SettingsStore)obj).settings); + if (!equals && obj instanceof Settings) { + return settings.equals(((Settings)obj).settings); } return equals; } @@ -66,7 +66,7 @@ public class SettingsStore extends PlatformObject implements ISettingsStore { buffer.append("="); //$NON-NLS-1$ Object value = settings.get(key); - if (value instanceof Map || value instanceof ISettingsStore) { + if (value instanceof Map || value instanceof ISettings) { buffer.append("{...}"); //$NON-NLS-1$ } else { buffer.append(value); @@ -171,7 +171,7 @@ public class SettingsStore extends PlatformObject implements ISettingsStore { return value instanceof String ? (String)value : (value != null ? value.toString() : null); } - + /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getStringProperty(java.lang.String, java.lang.String) */ diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 27e5557339d..5fc2a866a7c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -14,7 +14,7 @@ package org.eclipse.tm.internal.terminal.provisional.api.provider; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettings; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -109,7 +109,7 @@ public abstract class TerminalConnectorImpl { * null if it cannot be configured. * * The dialog should persist its settings with the - * {@link #load(ISettingsStore)} and {@link #save(ISettingsStore)} methods. + * {@link #load(ISettings)} and {@link #save(ISettings)} methods. * * @return a new page that can be used in a dialog to setup this connection, * or null. @@ -130,7 +130,7 @@ public abstract class TerminalConnectorImpl { * @param store a string based data store. Short keys like "foo" can be used * to store the state of the connection. */ - public void load(ISettingsStore store) { + public void load(ISettings store) { // do nothing by default } @@ -143,7 +143,7 @@ public abstract class TerminalConnectorImpl { * * @param store the store for persisting settings. */ - public void save(ISettingsStore store) { + public void save(ISettings store) { // do nothing by default } From efe57108782d648ad0bc0317e063b9effd878f1e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 16 Feb 2015 11:38:20 +0100 Subject: [PATCH 581/843] Terminal: Clean out ISettings API --- .../terminal/local/LocalTerminalSettings.java | 4 +- .../terminal/view/LayeredSettingsStore.java | 10 +- .../terminal/view/PreferenceSettingStore.java | 4 +- .../view/SettingStorePrefixDecorator.java | 8 +- .../internal/terminal/view/SettingsStore.java | 8 +- .../internal/terminal/view/TerminalView.java | 14 +- .../terminal/view/TerminalViewConnection.java | 28 +- .../view/TerminalViewConnectionManager.java | 8 +- .../terminal/remote/RemoteSettings.java | 8 +- .../terminal/serial/SerialSettings.java | 26 +- .../tm/internal/terminal/ssh/SshSettings.java | 22 +- .../terminal/telnet/TelnetSettings.java | 12 +- .../interfaces/ITelnetSettingConstants.java | 17 ++ .../terminal/speedtest/SpeedTestSettings.java | 12 +- .../terminal/provisional/api/ISettings.java | 240 +++++++++--------- .../terminal/provisional/api/Settings.java | 131 +++++----- 16 files changed, 284 insertions(+), 268 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/terminal/telnet/interfaces/ITelnetSettingConstants.java diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java index 3f8fe43929f..ee96afc1385 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java @@ -46,7 +46,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { Field field = declaredField[index]; Class type = field.getType(); - Object value = store.getProperty(field.getName()); + Object value = store.get(field.getName()); if (type.equals(boolean.class)) { value = Boolean.valueOf((String)value); @@ -81,7 +81,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { try { field.setAccessible(true); - store.setProperty(field.getName(), String.valueOf(field.get(this))); + store.set(field.getName(), String.valueOf(field.get(this))); } catch (IllegalAccessException illegalAccess) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java index e0939453bb6..be7ebbfbd5c 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java @@ -28,7 +28,7 @@ public class LayeredSettingsStore extends Settings { /** * @param stores the stores used to search the values. - * {@link #setProperty(String, Object)} will put the value in the + * {@link #set(String, Object)} will put the value in the * first store in the list. */ public LayeredSettingsStore(ISettings[] stores) { @@ -43,17 +43,17 @@ public class LayeredSettingsStore extends Settings { this(new ISettings[]{s1,s2}); } - public Object getProperty(String key) { + public Object get(String key) { for (int i = 0; i < fStores.length; i++) { - Object value=fStores[i].getProperty(key); + Object value=fStores[i].get(key); if (value!=null) return value; } return null; } - public boolean setProperty(String key, Object value) { - return fStores[0].setProperty(key,value); + public boolean set(String key, Object value) { + return fStores[0].set(key,value); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java index c10a4831a07..4b25960bc3c 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java @@ -36,11 +36,11 @@ public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.pro fPrefix=prefix; } - public Object getProperty(String key) { + public Object get(String key) { return fPreferences.getString(makeKey(key)); } - public boolean setProperty(String key, Object value) { + public boolean set(String key, Object value) { if (value instanceof String) { fPreferences.setValue(makeKey(key), (String)value); } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java index 807336ee23f..51731bffc53 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -20,11 +20,11 @@ public class SettingStorePrefixDecorator extends org.eclipse.tm.internal.termina fStore=store; } - public Object getProperty(String key) { - return fStore.getProperty(fPrefix+key); + public Object get(String key) { + return fStore.get(fPrefix+key); } - public boolean setProperty(String key, Object value) { - return super.setProperty(fPrefix+key,value); + public boolean set(String key, Object value) { + return super.set(fPrefix+key,value); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index 5959ebb90dc..b2cc5fd4a08 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -49,17 +49,17 @@ class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Set } if(m!=null) { // cache the value in the map - setProperty(key,m.getString(path[path.length-1])); + set(key,m.getString(path[path.length-1])); } } } } } - public boolean setProperty(String key, Object value) { + public boolean set(String key, Object value) { if(!key.matches("^[\\w.]+$")) //$NON-NLS-1$ throw new IllegalArgumentException("Key '"+key+"' is not alpha numeric or '.'!"); //$NON-NLS-1$ //$NON-NLS-2$ - return super.setProperty(key, value); + return super.set(key, value); } /** @@ -68,7 +68,7 @@ class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Set * @param memento Memento to save state into. */ public void saveState(IMemento memento) { - Map map = getProperties(); + Map map = getAll(); String[] keyNames=(String[]) map.keySet().toArray(new String[map.size()]); Arrays.sort(keyNames); StringBuffer buffer=new StringBuffer(); diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index 7af36b752bb..d27e50a26a8 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -487,7 +487,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private ITerminalConnector loadSettings(ISettings store, ITerminalConnector[] connectors) { ITerminalConnector connector=null; - String connectionType=store.getStringProperty(STORE_CONNECTION_TYPE); + String connectionType=store.getString(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); if(connectors[i].getId().equals(connectionType)) @@ -521,7 +521,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi if(connector!=null) { connector.save(getStore(store, connector)); // the last saved connector becomes the default - store.setProperty(STORE_CONNECTION_TYPE,connector.getId()); + store.set(STORE_CONNECTION_TYPE,connector.getId()); } } @@ -531,7 +531,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } public void saveState(IMemento memento) { super.saveState(memento); - fStore.setProperty(STORE_TITLE,getPartName()); + fStore.set(STORE_TITLE,getPartName()); fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } @@ -683,10 +683,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacyLoadState() { // TODO legacy: load the old title.... - String summary=fStore.getStringProperty(STORE_SETTING_SUMMARY); + String summary=fStore.getString(STORE_SETTING_SUMMARY); if(summary!=null) { getActiveConnection().setSummary(summary); - fStore.setProperty(STORE_SETTING_SUMMARY,null); + fStore.set(STORE_SETTING_SUMMARY,null); } } /** @@ -697,10 +697,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacySetTitle() { // restore the title of this view - String title=fStore.getStringProperty(STORE_TITLE); + String title=fStore.getString(STORE_TITLE); if(title!=null && title.length()>0) { setViewTitle(title); - fStore.setProperty(STORE_TITLE, null); + fStore.set(STORE_TITLE, null); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index a6d27366e06..e4b1117f042 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -93,13 +93,13 @@ class TerminalViewConnection implements ITerminalViewConnection { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } public void loadState(ISettings store) { - fPartName=store.getStringProperty(STORE_PART_NAME); - fSummary=store.getStringProperty(STORE_SUMMARY); - fHistory=store.getStringProperty(STORE_COMMAND_INPUT_FIELD_HISTORY); - fEncoding=store.getStringProperty(STORE_ENCODING); + fPartName=store.getString(STORE_PART_NAME); + fSummary=store.getString(STORE_SUMMARY); + fHistory=store.getString(STORE_COMMAND_INPUT_FIELD_HISTORY); + fEncoding=store.getString(STORE_ENCODING); // load the state of the connection types ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - String connectionType=store.getStringProperty(STORE_CONNECTION_TYPE); + String connectionType=store.getString(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); // if this is active connection type @@ -107,26 +107,26 @@ class TerminalViewConnection implements ITerminalViewConnection { fCtlTerminal.setConnector(connectors[i]); } - if("true".equals(store.getStringProperty(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ + if("true".equals(store.getString(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ setCommandInputField(true); } public void saveState(ISettings store) { - store.setProperty(STORE_PART_NAME, fPartName); - store.setProperty(STORE_SUMMARY,fSummary); - store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.setProperty(STORE_ENCODING, fEncoding); + store.set(STORE_PART_NAME, fPartName); + store.set(STORE_SUMMARY,fSummary); + store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.set(STORE_ENCODING, fEncoding); if(fCommandInputField!=null) - store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); else - store.setProperty(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.setProperty(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ + store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.set(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { connectors[i].save(getStore(store,connectors[i])); } if(fCtlTerminal.getTerminalConnector()!=null) { - store.setProperty(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); + store.set(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); } } public boolean hasCommandInputField() { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java index 39e812d880e..dad081de5f4 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -109,7 +109,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan } public void saveState(ISettings store) { - store.setProperty(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ + store.set(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ // save all connections int n=0; for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { @@ -119,7 +119,7 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan n++; // remember the active connection by its prefix if(connection.equals(fActiveConnection)) - store.setProperty(STORE_ACTIVE_CONNECTION,prefix); + store.set(STORE_ACTIVE_CONNECTION,prefix); connection.saveState(new SettingStorePrefixDecorator(store,prefix)); } } @@ -127,13 +127,13 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan public void loadState(ISettings store,ITerminalViewConnectionFactory factory) { int size=0; try { - size=Integer.parseInt(store.getStringProperty(STORE_SIZE)); + size=Integer.parseInt(store.getString(STORE_SIZE)); } catch(Exception e) { // ignore } if(size>0) { // a slot for the connections - String active=store.getStringProperty(STORE_ACTIVE_CONNECTION); + String active=store.getString(STORE_ACTIVE_CONNECTION); int n=0; for (int i=0;i - * Note: The method will have no effect if the given properties are the - * same as the already set properties. + * Note: The method will have no effect if the given settings are the + * same as the already set settings. * - * @param properties The map of properties to set. Must not be null. + * @param settings The map of settings to set. Must not be null. */ - public void setProperties(Map properties); + public void set(Map settings); /** - * Adds all properties from the given map. If a property already exist - * in the properties container, than the value of the property is overwritten. + * Adds all settings from the given map. If a setting already exist + * in the settings, than the value of the setting is overwritten. * - * @param properties The map of properties to add. Must not be null. + * @param settings The map of settings to add. Must not be null. */ - public void addProperties(Map properties); + public void addAll(Map settings); /** - * Stores the property under the given property key using the given property value. - * If the current property value is equal to the given property value, no store - * operation will be executed. If the property value is not null and - * is different from the current property value, the new value will be written to - * the property store and a property change event is fired. If the property value - * is null, the property key and the currently stored value are removed - * from the property store. + * Stores the setting under the given key using the given value. If the current + * value is equal to the given value, no store operation will be executed. If the + * value is not null and is different from the current value, the new + * value will be written to the settings. If the value is null, the + * key and the currently stored value are removed from the settings. * + * @param key The key. Must not be null! + * @param value The value. * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @return true if the value had been applied to the settings, false otherwise. */ - public boolean setProperty(String key, Object value); + public boolean set(String key, Object value); /** - * Stores the property under the given property key using the given long - * property value. The given long value is transformed to an Long - * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * Stores the setting under the given key using the given long value. The given + * long value is transformed to an Long object and stored to the + * settings store via set(java.lang.String, java.lang.Object). * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @param key The key. Must not be null! + * @param value The value. * - * @see setProperty(java.lang.String, java.lang.Object) + * @return true if the value had been applied to the settings, false otherwise. + * + * @see set(java.lang.String, java.lang.Object) */ - public boolean setProperty(String key, long value); + public boolean set(String key, long value); /** - * Stores the property under the given property key using the given integer - * property value. The given integer value is transformed to an Integer - * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * Stores the setting under the given key using the given integer value. The given + * integer value is transformed to an Integer object and stored to the + * settings via set(java.lang.String, java.lang.Object). * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @param key The key. Must not be null! + * @param value The value. * - * @see setProperty(java.lang.String, java.lang.Object) + * @return true if the value had been applied to the settings, false otherwise. + * + * @see set(java.lang.String, java.lang.Object) */ - public boolean setProperty(String key, int value); + public boolean set(String key, int value); /** - * Stores the property under the given property key using the given boolean - * property value. The given boolean value is transformed to an Boolean - * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * Stores the setting under the given key using the given boolean value. The given + * boolean value is transformed to an Boolean object and stored to the + * settings via set(java.lang.String, java.lang.Object). * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @param key The key. Must not be null! + * @param value The value. * - * @see setProperty(java.lang.String, java.lang.Object) + * @return true if the value had been applied to the settings, false otherwise. + * + * @see set(java.lang.String, java.lang.Object) */ - public boolean setProperty(String key, boolean value); + public boolean set(String key, boolean value); /** - * Stores the property under the given property key using the given float - * property value. The given float value is transformed to an Float - * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * Stores the setting under the given key using the given float value. The given + * float value is transformed to an Float object and stored to the + * settings via set(java.lang.String, java.lang.Object). * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @param key The key. Must not be null! + * @param value The value. * - * @see setProperty(java.lang.String, java.lang.Object) + * @return true if the value had been applied to the settings, false otherwise. + * + * @see set(java.lang.String, java.lang.Object) */ - public boolean setProperty(String key, float value); + public boolean set(String key, float value); /** - * Stores the property under the given property key using the given double - * property value. The given double value is transformed to an Double - * object and stored to the properties store via setProperty(java.lang.String, java.lang.Object). + * Stores the setting under the given key using the given double value. The given + * double value is transformed to an Double object and stored to the + * settings via set(java.lang.String, java.lang.Object). * - * @param key The property key. Must not be null! - * @param value The property value. - * @return true if the property value had been applied to the property store, false otherwise. + * @param key The key. Must not be null! + * @param value The value. * - * @see setProperty(java.lang.String, java.lang.Object) + * @return true if the value had been applied to the settings, false otherwise. + * + * @see set(java.lang.String, java.lang.Object) */ - public boolean setProperty(String key, double value); + public boolean set(String key, double value); /** - * Return all properties. The result map is read-only. + * Return all settings. The result map is read-only. * - * @return A map containing all properties. + * @return A map containing all settings. */ - public Map getProperties(); + public Map getAll(); /** - * Queries the property value stored under the given property key. If the property - * does not exist, null is returned. + * Queries the value stored under the given key. If the setting does not exist, + * null is returned. * - * @param key The property key. Must not be null! - * @return The stored property value or null. + * @param key The key. Must not be null! + * @return The stored value or null. */ - public Object getProperty(String key); + public Object get(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.String, the property value casted to - * java.lang.String is returned. In all other cases, null - * is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.String, the value casted to java.lang.String + * is returned. In all other cases, null is returned. * - * @param key The property key. Must not be null! - * @return The stored property value casted java.lang.String or null. + * @param key The key. Must not be null! + * @return The stored value casted java.lang.String or null. */ - public String getStringProperty(String key); + public String getString(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.String, the property value casted to - * java.lang.String is returned. In all other cases, the given default - * value is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.String, the value casted to java.lang.String + * is returned. In all other cases, the given default value is returned. * - * @param key The property key. Must not be null! + * @param key The key. Must not be null! * @param defaultValue The default value or null. * - * @return The stored property value casted java.lang.String or null. + * @return The stored value casted java.lang.String or the default value. */ - public String getStringProperty(String key, String defaultValue); + public String getString(String key, String defaultValue); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.Long, the property value converted - * to an long value is returned. In all other cases, -1 is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.Long, the value converted to an long value is returned. In + * all other cases, -1 is returned. * - * @param key The property key. Must not be null! - * @return The stored property value converted to a long value or -1. + * @param key The key. Must not be null! + * @return The stored value converted to a long value or -1. */ - public long getLongProperty(String key); + public long getLong(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.Integer, the property value converted - * to an integer value is returned. In all other cases, -1 is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.Integer, the value converted to an integer value is returned. + * In all other cases, -1 is returned. * - * @param key The property key. Must not be null! - * @return The stored property value converted to an integer value or -1. + * @param key The key. Must not be null! + * @return The stored value converted to an integer value or -1. */ - public int getIntProperty(String key); + public int getInt(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.Boolean, the property value converted - * to an boolean value is returned. In all other cases, false is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.Boolean, the value converted to an boolean value is returned. + * In all other cases, false is returned. * - * @param key The property key. Must not be null! - * @return The stored property value converted to an boolean value or false. + * @param key The key. Must not be null! + * @return The stored value converted to an boolean value or false. */ - public boolean getBooleanProperty(String key); + public boolean getBoolean(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.Float, the property value converted - * to an float value is returned. In all other cases, Float.NaN is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.Float, the value converted to an float value is returned. + * In all other cases, Float.NaN is returned. * - * @param key The property key. Must not be null! - * @return The stored property value converted to a float value or Float.NaN. + * @param key The key. Must not be null! + * @return The stored value converted to a float value or Float.NaN. */ - public float getFloatProperty(String key); + public float getFloat(String key); /** - * Queries the property value stored under the given property key. If the property - * exist and is of type java.lang.Double, the property value converted - * to an double value is returned. In all other cases, Double.NaN is returned. + * Queries the value stored under the given key. If the setting exist and is of type + * java.lang.Double, the value converted to an double value is returned. + * In all other cases, Double.NaN is returned. * - * @param key The property key. Must not be null! - * @return The stored property value converted to a double value or Double.NaN. + * @param key The key. Must not be null! + * @return The stored value converted to a double value or Double.NaN. */ - public double getDoubleProperty(String key); + public double getDouble(String key); /** - * Remove all properties from the properties store. The method does not fire any - * properties changed event. + * Remove all settings. */ - public void clearProperties(); + public void clear(); /** - * Returns whether this properties container is empty or not. + * Returns whether the settings are empty or not. * - * @return True if the properties container is empty, false if not. + * @return True if the settings are empty, false if not. */ public boolean isEmpty(); /** - * Returns whether this properties container contains the given key. + * Returns whether the settings contains the given key. * * @param key The key. Must not be null. - * @return True if the properties container contains the key, false if not. + * @return True if the settings contains the key, false if not. */ public boolean containsKey(String key); } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java index 746c3fb1b27..ee3fe04ab94 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java @@ -59,7 +59,7 @@ public class Settings extends PlatformObject implements ISettings { public String toString() { final StringBuilder buffer = new StringBuilder(); - // print the first level of the properties map only + // print the first level of the settings map only buffer.append("settings={"); //$NON-NLS-1$ for (String key : settings.keySet()) { buffer.append(key); @@ -84,27 +84,27 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getProperties() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getAll() */ @Override - public Map getProperties() { + public Map getAll() { return Collections.unmodifiableMap(new HashMap(settings)); } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#get(java.lang.String) */ @Override - public Object getProperty(String key) { + public Object get(String key) { return settings.get(key); } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getBooleanProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getBoolean(java.lang.String) */ @Override - public final boolean getBooleanProperty(String key) { - Object value = getProperty(key); + public final boolean getBoolean(String key) { + Object value = get(key); if (value instanceof Boolean) { return ((Boolean)value).booleanValue(); } @@ -117,11 +117,11 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getLongProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getLong(java.lang.String) */ @Override - public final long getLongProperty(String key) { - Object value = getProperty(key); + public final long getLong(String key) { + Object value = get(key); try { if (value instanceof Long) { return ((Long)value).longValue(); @@ -140,11 +140,11 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getIntProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getInt(java.lang.String) */ @Override - public final int getIntProperty(String key) { - Object value = getProperty(key); + public final int getInt(String key) { + Object value = get(key); try { if (value instanceof Integer) { return ((Integer)value).intValue(); @@ -163,30 +163,29 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getStringProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getString(java.lang.String) */ @Override - public final String getStringProperty(String key) { - Object value = getProperty(key); - return value instanceof String ? (String)value : - (value != null ? value.toString() : null); + public final String getString(String key) { + Object value = get(key); + return value instanceof String ? (String)value : null; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getStringProperty(java.lang.String, java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getString(java.lang.String, java.lang.String) */ @Override - public String getStringProperty(String key, String defaultValue) { - String value = getStringProperty(key); + public String getString(String key, String defaultValue) { + String value = getString(key); return value != null ? value : defaultValue; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getFloatProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getFloat(java.lang.String) */ @Override - public final float getFloatProperty(String key) { - Object value = getProperty(key); + public final float getFloat(String key) { + Object value = get(key); try { if (value instanceof Float) { return ((Float)value).floatValue(); @@ -205,11 +204,11 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#getDoubleProperty(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getDouble(java.lang.String) */ @Override - public final double getDoubleProperty(String key) { - Object value = getProperty(key); + public final double getDouble(String key) { + Object value = get(key); try { if (value instanceof Double) { return ((Double)value).doubleValue(); @@ -228,97 +227,97 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperties(java.util.Map) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.util.Map) */ @Override - public final void setProperties(Map properties) { - Assert.isNotNull(properties); + public final void set(Map settings) { + Assert.isNotNull(settings); - // Change the properties only if they have changed really - if (this.settings.equals(properties)) { + // Change the settings only if they have changed really + if (this.settings.equals(settings)) { return; } - // Clear out all old properties + // Clear out all old settings this.settings.clear(); - // Apply everything from the given properties - this.settings.putAll(properties); + // Apply everything from the given settings + this.settings.putAll(settings); } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#addProperties(java.util.Map) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#addAll(java.util.Map) */ @Override - public final void addProperties(Map properties) { - // Apply everything from the given properties - this.settings.putAll(properties); + public final void addAll(Map settings) { + // Apply everything from the given settings + this.settings.putAll(settings); } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, boolean) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, boolean) */ @Override - public final boolean setProperty(String key, boolean value) { - boolean oldValue = getBooleanProperty(key); + public final boolean set(String key, boolean value) { + boolean oldValue = getBoolean(key); if (oldValue != value) { - return setProperty(key, Boolean.valueOf(value)); + return set(key, Boolean.valueOf(value)); } return false; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, long) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, long) */ @Override - public final boolean setProperty(String key, long value) { - long oldValue = getLongProperty(key); + public final boolean set(String key, long value) { + long oldValue = getLong(key); if (oldValue != value) { - return setProperty(key, Long.valueOf(value)); + return set(key, Long.valueOf(value)); } return false; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, int) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, int) */ @Override - public final boolean setProperty(String key, int value) { - int oldValue = getIntProperty(key); + public final boolean set(String key, int value) { + int oldValue = getInt(key); if (oldValue != value) { - return setProperty(key, Integer.valueOf(value)); + return set(key, Integer.valueOf(value)); } return false; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, float) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, float) */ @Override - public final boolean setProperty(String key, float value) { - float oldValue = getFloatProperty(key); + public final boolean set(String key, float value) { + float oldValue = getFloat(key); if (oldValue != value) { - return setProperty(key, Float.valueOf(value)); + return set(key, Float.valueOf(value)); } return false; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, double) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, double) */ @Override - public final boolean setProperty(String key, double value) { - double oldValue = getDoubleProperty(key); + public final boolean set(String key, double value) { + double oldValue = getDouble(key); if (oldValue != value) { - return setProperty(key, Double.valueOf(value)); + return set(key, Double.valueOf(value)); } return false; } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#setProperty(java.lang.String, java.lang.Object) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, java.lang.Object) */ @Override - public boolean setProperty(String key, Object value) { + public boolean set(String key, Object value) { Assert.isNotNull(key); Object oldValue = settings.get(key); @@ -334,15 +333,15 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#clearProperties() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#clear() */ @Override - public final void clearProperties() { + public final void clear() { settings.clear(); } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#isEmpty() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#isEmpty() */ @Override public boolean isEmpty() { @@ -350,7 +349,7 @@ public class Settings extends PlatformObject implements ISettings { } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#containsKey(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#containsKey(java.lang.String) */ @Override public boolean containsKey(String key) { From 97fa9878813250606c055933359e9750e802ada9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 16 Feb 2015 12:36:23 +0100 Subject: [PATCH 582/843] Terminal: Revert commits 91db4b63c971b32ef2a505711dfb470387128225 and 2c2dbb710b7d9cd86ffd20d20e4b437301e37d52 --- .../local/ILocalTerminalSettings.java | 6 +- .../local/LocalTerminalConnector.java | 6 +- .../local/LocalTerminalOutputListener.java | 1 + .../local/LocalTerminalOutputStream.java | 1 + .../terminal/local/LocalTerminalSettings.java | 11 +- .../launch/LocalTerminalLaunchDelegate.java | 3 +- .../launch/LocalTerminalLaunchUtilities.java | 4 +- .../LocalTerminalStillRunningListener.java | 5 +- .../local/process/LocalTerminalProcess.java | 7 +- .../process/LocalTerminalProcessFactory.java | 2 +- .../process/LocalTerminalProcessRegistry.java | 6 +- .../actions/TerminalActionRemove.java | 2 +- .../TerminalActionSelectionDropDown.java | 2 +- .../view/ITerminalViewConnection.java | 6 +- .../view/ITerminalViewConnectionManager.java | 6 +- .../view/SettingStorePrefixDecorator.java | 19 +- .../internal/terminal/view/SettingsStore.java | 36 +- .../internal/terminal/view/TerminalView.java | 26 +- .../terminal/view/TerminalViewConnection.java | 36 +- .../view/TerminalViewConnectionManager.java | 14 +- .../org.eclipse.tm.terminal.remote/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/remote/RemoteConnector.java | 6 +- .../terminal/remote/RemoteSettings.java | 14 +- .../org.eclipse.tm.terminal.serial/.classpath | 8 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/serial/ISerialSettings.java | 6 +- .../terminal/serial/SerialConnector.java | 6 +- .../terminal/serial/SerialProperties.java | 4 +- .../terminal/serial/SerialSettings.java | 32 +- .../org.eclipse.tm.terminal.ssh/.classpath | 4 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../internal/terminal/ssh/ISshSettings.java | 6 +- .../internal/terminal/ssh/SshConnector.java | 6 +- .../tm/internal/terminal/ssh/SshSettings.java | 28 +- .../org.eclipse.tm.terminal.telnet/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 10 +- .../META-INF/MANIFEST.MF | 2 +- .../terminal/telnet/ITelnetSettings.java | 6 +- .../terminal/telnet/TelnetConnector.java | 6 +- .../terminal/telnet/TelnetSettings.java | 18 +- .../interfaces/ITelnetSettingConstants.java | 17 - .../org.eclipse.tm.terminal.test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 6 +- .../META-INF/MANIFEST.MF | 2 +- .../TerminalConnectorFactoryTest.java | 29 +- .../connector/TerminalConnectorTest.java | 30 +- .../terminal/model/SnapshotChangesTest.java | 4 +- .../speedtest/SpeedTestConnector.java | 6 +- .../terminal/speedtest/SpeedTestSettings.java | 18 +- .../test/terminalcanvas/Snippet48.java | 17 +- plugins/org.eclipse.tm.terminal/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 52 ++- .../.settings/org.eclipse.jdt.ui.prefs | 56 --- .../META-INF/MANIFEST.MF | 2 +- .../terminal/connector/TerminalConnector.java | 8 +- .../provisional/api/AbstractSettingsPage.java | 4 - .../terminal/provisional/api/ISettings.java | 244 ------------ .../provisional/api/ISettingsStore.java | 45 +++ .../provisional/api/ITerminalConnector.java | 4 +- .../api}/LayeredSettingsStore.java | 37 +- .../terminal/provisional/api/Logger.java | 23 +- .../api}/PreferenceSettingStore.java | 21 +- .../terminal/provisional/api/Settings.java | 359 ------------------ .../api/provider/TerminalConnectorImpl.java | 6 +- 68 files changed, 423 insertions(+), 968 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/terminal/telnet/interfaces/ITelnetSettingConstants.java delete mode 100644 plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java create mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java rename {deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view => plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api}/LayeredSettingsStore.java (60%) rename {deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view => plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api}/PreferenceSettingStore.java (78%) delete mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java index a253a3568de..c4ef10b5f22 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java @@ -11,7 +11,7 @@ package org.eclipse.tm.internal.terminal.local; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; /** * The interface {@link ILocalTerminalSettings} defines the public interface for connector-specific @@ -47,7 +47,7 @@ public interface ILocalTerminalSettings { * * @param store the {@link ISettings} to load the settings from */ - public abstract void load(ISettings store); + public abstract void load(ISettingsStore store); /** * Saves the settings to a specified {@link ISettings}. @@ -57,7 +57,7 @@ public interface ILocalTerminalSettings { * * @param store the {@link ISettings} for storing the settings */ - public abstract void save(ISettings store); + public abstract void save(ISettingsStore store); /** * Gets the name of the launch configuration that will be started in the terminal. diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java index aee9f24cad8..52f59f710b0 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java @@ -41,7 +41,7 @@ import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -120,7 +120,7 @@ implements IDebugEventSetListener { * by the framework in a uniform way. Maybe a configuration mechanism using attributes * (like, for example, ILaunchConfiguration) might be beneficial here. */ - public void load(ISettings store) { + public void load(ISettingsStore store) { settings.load(store); } @@ -133,7 +133,7 @@ implements IDebugEventSetListener { * * @see TerminalConnectorImpl#save(ISettings) */ - public void save(ISettings store) { + public void save(ISettingsStore store) { settings.save(store); } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java index b6d0c734677..3e9ff6bb1ae 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java @@ -12,6 +12,7 @@ package org.eclipse.tm.internal.terminal.local; import java.io.PrintStream; + import org.eclipse.debug.core.IStreamListener; import org.eclipse.debug.core.model.IStreamMonitor; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java index 1bdcb1587b2..3005eddadd8 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java @@ -13,6 +13,7 @@ package org.eclipse.tm.internal.terminal.local; import java.io.IOException; import java.io.OutputStream; + import org.eclipse.debug.core.model.IProcess; import org.eclipse.debug.core.model.IStreamsProxy; import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java index ee96afc1385..6f27d26fba3 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java @@ -12,7 +12,8 @@ package org.eclipse.tm.internal.terminal.local; import java.lang.reflect.Field; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.Logger; /** @@ -38,14 +39,14 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { * @param store the {@link ISettings} * @see ILocalTerminalSettings#load(ISettings) */ - public void load(ISettings store) { + public void load(ISettingsStore store) { Field[] declaredField = getClass().getDeclaredFields(); int numberOfFields = declaredField.length; for (int index = 0; index < numberOfFields; index++) { Field field = declaredField[index]; - Class type = field.getType(); + Class type = field.getType(); Object value = store.get(field.getName()); if (type.equals(boolean.class)) { @@ -71,7 +72,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { * * @see ILocalTerminalSettings#save(ISettings) */ - public void save(ISettings store) { + public void save(ISettingsStore store) { Field[] declaredField = getClass().getDeclaredFields(); int numberOfFields = declaredField.length; @@ -81,7 +82,7 @@ public class LocalTerminalSettings implements ILocalTerminalSettings { try { field.setAccessible(true); - store.set(field.getName(), String.valueOf(field.get(this))); + store.put(field.getName(), String.valueOf(field.get(this))); } catch (IllegalAccessException illegalAccess) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java index 23ad9ede7b6..999371af27b 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java @@ -80,7 +80,6 @@ public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { * @param launch the {@link ILaunch} object * @exception CoreException if launching fails */ - @SuppressWarnings("deprecation") public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, IProgressMonitor progressMonitor) throws CoreException { @@ -181,7 +180,7 @@ public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { // Use program name as "process type" attribute: // - Map processAttributes = new HashMap(); + Map processAttributes = new HashMap(); String programName = location.lastSegment(); String extension = location.getFileExtension(); if (extension != null) { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java index c13bf5124ed..79db5cd278f 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java @@ -66,7 +66,7 @@ public class LocalTerminalLaunchUtilities { private final static String STRING = null; private final static String TERM = "TERM"; //$NON-NLS-1$ private final static String ANSI = "ansi"; //$NON-NLS-1$ - private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); + private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); // These constants were copied from IExternalToolConstants to avoid references to internal API: // @@ -242,7 +242,7 @@ public class LocalTerminalLaunchUtilities { name = terminalLaunchName.format(new Object[] {name}); name = manager.generateLaunchConfigurationName(name); workingCopy = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE.newInstance(null, name); - workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); + workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); workingCopy.setAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, true); workingCopy.setAttribute(ATTR_LOCATION, defaultShell); workingCopy.setAttribute(ATTR_WORKING_DIRECTORY, userHome); diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java index e9224561e66..17478b61e85 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java @@ -13,6 +13,7 @@ package org.eclipse.tm.internal.terminal.local.launch; import java.util.ArrayList; import java.util.List; + import org.eclipse.core.runtime.CoreException; import org.eclipse.debug.core.ILaunch; import org.eclipse.debug.core.ILaunchConfiguration; @@ -81,7 +82,7 @@ public class LocalTerminalStillRunningListener implements IWorkbenchListener { return true; } - List notTerminated = new ArrayList(); + List notTerminated = new ArrayList(); ILaunch launches[] = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunches(); ILaunchConfigurationType configurationType; ILaunchConfiguration configuration; @@ -109,7 +110,7 @@ public class LocalTerminalStillRunningListener implements IWorkbenchListener { if (!notTerminated.isEmpty()) { IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); - ILaunch[] launch = notTerminated.toArray(new ILaunch[notTerminated.size()]); + ILaunch[] launch = (ILaunch[])notTerminated.toArray(new ILaunch[notTerminated.size()]); return LocalTerminalStillRunningDialog.openDialog(window.getShell(), launch); } return true; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java index 2320222d47c..3b4b6b1c28d 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java @@ -70,7 +70,6 @@ import org.eclipse.debug.core.model.RuntimeProcess; * @author Mirko Raner * @version $Revision: 1.2 $ */ -@SuppressWarnings("restriction") public final class LocalTerminalProcess extends RuntimeProcess { /** @@ -90,7 +89,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { * @param name the process name * @param attributes additional attributes of the process */ - protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { + protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { super(launch, process, name, setProcessType(attributes)); enableStreamsProxy = true; @@ -174,7 +173,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { //------------------------------------- PRIVATE SECTION --------------------------------------// - private static Map setProcessType(Map attributes) { + private static Map setProcessType(Map attributes) { // The process type used to be set by the LocalTerminalProcessFactory. However, if some // client code managed to instantiate a LocalTerminalProcess directly (instead of going @@ -184,7 +183,7 @@ public final class LocalTerminalProcess extends RuntimeProcess { // if (attributes == null) { - attributes = new HashMap(1); + attributes = new HashMap(1); } attributes.put(IProcess.ATTR_PROCESS_TYPE, PROCESS_TYPE); return attributes; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java index 63c24c63d1f..7932a779ac2 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java @@ -34,7 +34,7 @@ public class LocalTerminalProcessFactory implements IProcessFactory { /** * @see IProcessFactory#newProcess(ILaunch, Process, String, Map) */ - public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { + public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { return new LocalTerminalProcess(launch, process, label, attributes); } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java index a29750a51dc..7f30d43aef1 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java @@ -32,7 +32,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { private final static LocalTerminalProcessRegistry INSTANCE = new LocalTerminalProcessRegistry(); - private Map processes; + private Map processes; private LocalTerminalProcessRegistry() { @@ -41,7 +41,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { // hash code value if the object changes internally. To be safe in those cases, an // IdentityHashMap is used: // - processes = new IdentityHashMap(); + processes = new IdentityHashMap(); } /** @@ -54,7 +54,7 @@ public class LocalTerminalProcessRegistry implements ILaunchesListener2 { */ public static LocalTerminalProcess getFromLaunch(ILaunch launch) { - return INSTANCE.processes.get(launch); + return (LocalTerminalProcess)INSTANCE.processes.get(launch); } /** diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java index a3d6e3659d6..c94f57be614 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java @@ -11,8 +11,8 @@ package org.eclipse.tm.internal.terminal.actions; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; -import org.eclipse.tm.internal.terminal.view.ImageConsts; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; +import org.eclipse.tm.internal.terminal.view.ImageConsts; public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java index b5af7b6de14..653ad66b090 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java @@ -20,9 +20,9 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Menu; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; import org.eclipse.tm.internal.terminal.view.ImageConsts; import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; /** * Drop down action in the console to select the console to display. diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java index 640caa46b82..cb7ab54966d 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java @@ -13,7 +13,7 @@ package org.eclipse.tm.internal.terminal.view; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** @@ -47,9 +47,9 @@ public interface ITerminalViewConnection { */ ITerminalViewControl getCtlTerminal(); - void saveState(ISettings store); + void saveState(ISettingsStore store); - void loadState(ISettings store); + void loadState(ISettingsStore store); /** * @return true if the input field is visible diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java index 2576370c8f6..97a78d8c25c 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; /** @@ -73,11 +73,11 @@ public interface ITerminalViewConnectionManager { void addListener(ITerminalViewConnectionListener listener); void removeListener(ITerminalViewConnectionListener listener); - void saveState(ISettings store); + void saveState(ISettingsStore store); /** * @param store * @param factory used to create new {@link ITerminalViewConnection} */ - void loadState(ISettings store,ITerminalViewConnectionFactory factory); + void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); } \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java index 51731bffc53..0d7ccfad4b7 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -10,21 +10,26 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.view; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -public class SettingStorePrefixDecorator extends org.eclipse.tm.internal.terminal.provisional.api.Settings { +public class SettingStorePrefixDecorator implements ISettingsStore { private final String fPrefix; - private final ISettings fStore; - SettingStorePrefixDecorator(ISettings store,String prefix) { + private final ISettingsStore fStore; + SettingStorePrefixDecorator(ISettingsStore store,String prefix) { fPrefix=prefix; fStore=store; } - public Object get(String key) { + public String get(String key) { return fStore.get(fPrefix+key); } - public boolean set(String key, Object value) { - return super.set(fPrefix+key,value); + public String get(String key, String defaultValue) { + return fStore.get(fPrefix+key,defaultValue); } + + public void put(String key, String value) { + fStore.put(fPrefix+key,value); + } + } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java index b2cc5fd4a08..f74f4a24b79 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -11,14 +11,15 @@ package org.eclipse.tm.internal.terminal.view; import java.util.Arrays; +import java.util.HashMap; import java.util.Map; import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.ui.IMemento; /** - * A {@link IDialogSettings} based {@link ISettings}. + * A {@link IDialogSettings} based {@link ISettingsStore}. * * Setting Store based on IMemento. IMemento documentations says only alpha numeric * values may be used as keys. Therefore the implementation converts dots (.) into @@ -26,10 +27,10 @@ import org.eclipse.ui.IMemento; * * @author Michael Scharf */ -class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Settings { +class SettingsStore implements ISettingsStore { private static final String KEYS = "_keys_"; //$NON-NLS-1$ - + final private Map fMap=new HashMap(); public SettingsStore(IMemento memento) { if(memento==null) return; @@ -49,27 +50,40 @@ class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Set } if(m!=null) { // cache the value in the map - set(key,m.getString(path[path.length-1])); + fMap.put(key,m.getString(path[path.length-1])); } } } } } - public boolean set(String key, Object value) { + public String get(String key) { + return get(key,null); + } + public String get(String key, String defaultValue) { + String value = (String) fMap.get(key); + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; + + return value; + } + + public void put(String key, String value) { if(!key.matches("^[\\w.]+$")) //$NON-NLS-1$ throw new IllegalArgumentException("Key '"+key+"' is not alpha numeric or '.'!"); //$NON-NLS-1$ //$NON-NLS-2$ - return super.set(key, value); + // null values remove the key from the map + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + fMap.remove(key); + else + fMap.put(key, value); } - /** * Save the state into memento. * * @param memento Memento to save state into. */ public void saveState(IMemento memento) { - Map map = getAll(); - String[] keyNames=(String[]) map.keySet().toArray(new String[map.size()]); + String[] keyNames=(String[]) fMap.keySet().toArray(new String[fMap.size()]); Arrays.sort(keyNames); StringBuffer buffer=new StringBuffer(); for (int i = 0; i < keyNames.length; i++) { @@ -85,7 +99,7 @@ class SettingsStore extends org.eclipse.tm.internal.terminal.provisional.api.Set m=child; } // use the last element in path as key of the child memento - m.putString(path[path.length-1], (String) map.get(key)); + m.putString(path[path.length-1], (String) fMap.get(key)); // construct the string for the keys if(i>0) buffer.append(","); //$NON-NLS-1$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java index d27e50a26a8..247d7fcad1f 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -69,9 +69,11 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.LayeredSettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; @@ -400,7 +402,7 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi // sequence. fPageBook=new PageBook(wndParent,SWT.NONE); - ISettings s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ + ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { public ITerminalViewConnection create() { return makeViewConnection(); @@ -485,9 +487,9 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi * @param connectors loads the data from store * @return null or the currently selected connector */ - private ITerminalConnector loadSettings(ISettings store, ITerminalConnector[] connectors) { + private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { ITerminalConnector connector=null; - String connectionType=store.getString(STORE_CONNECTION_TYPE); + String connectionType=store.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); if(connectors[i].getId().equals(connectionType)) @@ -517,11 +519,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi * @param store the settings will be saved in this store * @param connector the connector that will be saved. Can be null. */ - private void saveSettings(ISettings store, ITerminalConnector connector) { + private void saveSettings(ISettingsStore store, ITerminalConnector connector) { if(connector!=null) { connector.save(getStore(store, connector)); // the last saved connector becomes the default - store.set(STORE_CONNECTION_TYPE,connector.getId()); + store.put(STORE_CONNECTION_TYPE,connector.getId()); } } @@ -531,11 +533,11 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi } public void saveState(IMemento memento) { super.saveState(memento); - fStore.set(STORE_TITLE,getPartName()); + fStore.put(STORE_TITLE,getPartName()); fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ fStore.saveState(memento); } - private ISettings getStore(ISettings store, ITerminalConnector connector) { + private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } @@ -683,10 +685,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacyLoadState() { // TODO legacy: load the old title.... - String summary=fStore.getString(STORE_SETTING_SUMMARY); + String summary=fStore.get(STORE_SETTING_SUMMARY); if(summary!=null) { getActiveConnection().setSummary(summary); - fStore.set(STORE_SETTING_SUMMARY,null); + fStore.put(STORE_SETTING_SUMMARY,null); } } /** @@ -697,10 +699,10 @@ public class TerminalView extends ViewPart implements ITerminalView, ITerminalVi */ private void legacySetTitle() { // restore the title of this view - String title=fStore.getString(STORE_TITLE); + String title=fStore.get(STORE_TITLE); if(title!=null && title.length()>0) { setViewTitle(title); - fStore.set(STORE_TITLE, null); + fStore.put(STORE_TITLE, null); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java index e4b1117f042..aa90041f355 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -25,7 +25,7 @@ import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -89,17 +89,17 @@ class TerminalViewConnection implements ITerminalViewConnection { public ITerminalViewControl getCtlTerminal() { return fCtlTerminal; } - private ISettings getStore(ISettings store,ITerminalConnector connector) { + private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ } - public void loadState(ISettings store) { - fPartName=store.getString(STORE_PART_NAME); - fSummary=store.getString(STORE_SUMMARY); - fHistory=store.getString(STORE_COMMAND_INPUT_FIELD_HISTORY); - fEncoding=store.getString(STORE_ENCODING); + public void loadState(ISettingsStore store) { + fPartName=store.get(STORE_PART_NAME); + fSummary=store.get(STORE_SUMMARY); + fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); + fEncoding=store.get(STORE_ENCODING); // load the state of the connection types ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - String connectionType=store.getString(STORE_CONNECTION_TYPE); + String connectionType=store.get(STORE_CONNECTION_TYPE); for (int i = 0; i < connectors.length; i++) { connectors[i].load(getStore(store,connectors[i])); // if this is active connection type @@ -107,26 +107,26 @@ class TerminalViewConnection implements ITerminalViewConnection { fCtlTerminal.setConnector(connectors[i]); } - if("true".equals(store.getString(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ + if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ setCommandInputField(true); } - public void saveState(ISettings store) { - store.set(STORE_PART_NAME, fPartName); - store.set(STORE_SUMMARY,fSummary); - store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.set(STORE_ENCODING, fEncoding); + public void saveState(ISettingsStore store) { + store.put(STORE_PART_NAME, fPartName); + store.put(STORE_SUMMARY,fSummary); + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_ENCODING, fEncoding); if(fCommandInputField!=null) - store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); else - store.set(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.set(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); for (int i = 0; i < connectors.length; i++) { connectors[i].save(getStore(store,connectors[i])); } if(fCtlTerminal.getTerminalConnector()!=null) { - store.set(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); + store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); } } public boolean hasCommandInputField() { diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java index dad081de5f4..88af3056b68 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -16,7 +16,7 @@ import java.util.List; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ @@ -108,8 +108,8 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan } } - public void saveState(ISettings store) { - store.set(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ + public void saveState(ISettingsStore store) { + store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ // save all connections int n=0; for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { @@ -119,21 +119,21 @@ public class TerminalViewConnectionManager implements ITerminalViewConnectionMan n++; // remember the active connection by its prefix if(connection.equals(fActiveConnection)) - store.set(STORE_ACTIVE_CONNECTION,prefix); + store.put(STORE_ACTIVE_CONNECTION,prefix); connection.saveState(new SettingStorePrefixDecorator(store,prefix)); } } - public void loadState(ISettings store,ITerminalViewConnectionFactory factory) { + public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { int size=0; try { - size=Integer.parseInt(store.getString(STORE_SIZE)); + size=Integer.parseInt(store.get(STORE_SIZE)); } catch(Exception e) { // ignore } if(size>0) { // a slot for the connections - String active=store.getString(STORE_ACTIVE_CONNECTION); + String active=store.get(STORE_ACTIVE_CONNECTION); int n=0; for (int i=0;i - + diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs index c2dc3aa2f47..a4b6f7df50e 100644 --- a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF index 03f058c1d27..3afcf44025b 100644 --- a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.swt, org.eclipse.jface -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Export-Package: org.eclipse.tm.internal.terminal.remote;x-internal:=true, org.eclipse.tm.terminal.remote Bundle-Activator: org.eclipse.tm.internal.terminal.remote.Activator diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java index 56bda029317..f97ec007898 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java @@ -11,7 +11,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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; @@ -126,7 +126,7 @@ public class RemoteConnector extends TerminalConnectorImpl { * .api.ISettingsStore) */ @Override - public void load(ISettings store) { + public void load(ISettingsStore store) { fSettings.load(store); } @@ -148,7 +148,7 @@ public class RemoteConnector extends TerminalConnectorImpl { * .api.ISettingsStore) */ @Override - public void save(ISettings store) { + public void save(ISettingsStore store) { fSettings.save(store); } diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java index 53bf5f26d28..e71e9f65eb9 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java @@ -7,7 +7,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.remote; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.tm.terminal.remote.IRemoteSettings; @SuppressWarnings("restriction") @@ -38,17 +38,17 @@ public class RemoteSettings implements IRemoteSettings { /** * Load information into the RemoteSettings object. */ - public void load(ISettings store) { - fRemoteServices = store.getString(REMOTE_SERVICES); - fConnectionName = store.getString(CONNECTION_NAME); + public void load(ISettingsStore store) { + fRemoteServices = store.get(REMOTE_SERVICES); + fConnectionName = store.get(CONNECTION_NAME); } /** * Extract information from the RemoteSettings object. */ - public void save(ISettings store) { - store.getString(REMOTE_SERVICES, fRemoteServices); - store.getString(CONNECTION_NAME, fConnectionName); + public void save(ISettingsStore store) { + store.put(REMOTE_SERVICES, fRemoteServices); + store.put(CONNECTION_NAME, fConnectionName); } public void setConnectionName(String name) { diff --git a/plugins/org.eclipse.tm.terminal.serial/.classpath b/plugins/org.eclipse.tm.terminal.serial/.classpath index ad32c83a788..b978e78e121 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.classpath +++ b/plugins/org.eclipse.tm.terminal.serial/.classpath @@ -1,7 +1,11 @@ - - + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index c2dc3aa2f47..f1f183d2609 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index b27bc126daa..5e8cf83952b 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Bundle-Activator: org.eclipse.tm.internal.terminal.serial.Activator Export-Package: org.eclipse.tm.internal.terminal.serial;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java index f6659aa23ed..5fc3a02902c 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/ISerialSettings.java @@ -11,7 +11,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ISerialSettings { @@ -23,6 +23,6 @@ public interface ISerialSettings { int getFlowControl(); int getTimeout(); String getSummary(); - void load(ISettings store); - void save(ISettings store); + void load(ISettingsStore store); + void save(ISettingsStore store); } \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java index c3b87a8c8a7..9d431499080 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java @@ -30,7 +30,7 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -221,10 +221,10 @@ public class SerialConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettings store) { + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java index 8be28ba6760..8e2457cfc1f 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java @@ -16,13 +16,13 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.serial; +import gnu.io.CommPortIdentifier; + import java.util.Collections; import java.util.Enumeration; import java.util.List; import java.util.Vector; -import gnu.io.CommPortIdentifier; - public class SerialProperties { protected List fSerialPortTable; protected List fBaudRateTable; diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java index 6b80f8b3f1b..7980b7afe5d 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java @@ -18,7 +18,7 @@ package org.eclipse.tm.internal.terminal.serial; import gnu.io.SerialPort; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class SerialSettings implements ISerialSettings { protected String fSerialPort; @@ -153,23 +153,23 @@ public class SerialSettings implements ISerialSettings { getFlowControlString(); } - public void load(ISettings store) { - fSerialPort = store.getString("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ - fBaudRate = store.getString("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ - fDataBits = store.getString("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ - fStopBits = store.getString("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ - fParity = store.getString("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ - fFlowControl = store.getString("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ - fTimeout = store.getString("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ + public void load(ISettingsStore store) { + fSerialPort = store.get("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ + fBaudRate = store.get("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ + fDataBits = store.get("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ + fStopBits = store.get("StopBits", fProperties.getDefaultStopBits());//$NON-NLS-1$ + fParity = store.get("Parity", fProperties.getDefaultParity());//$NON-NLS-1$ + fFlowControl = store.get("FlowControl", fProperties.getDefaultFlowControl());//$NON-NLS-1$ + fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ } - public void save(ISettings store) { - store.set("SerialPort", fSerialPort); //$NON-NLS-1$ - store.set("BaudRate", fBaudRate); //$NON-NLS-1$ - store.set("DataBits", fDataBits); //$NON-NLS-1$ - store.set("StopBits", fStopBits); //$NON-NLS-1$ - store.set("Parity", fParity); //$NON-NLS-1$ - store.set("FlowControl", fFlowControl); //$NON-NLS-1$ + public void save(ISettingsStore store) { + store.put("SerialPort", fSerialPort); //$NON-NLS-1$ + store.put("BaudRate", fBaudRate); //$NON-NLS-1$ + store.put("DataBits", fDataBits); //$NON-NLS-1$ + store.put("StopBits", fStopBits); //$NON-NLS-1$ + store.put("Parity", fParity); //$NON-NLS-1$ + store.put("FlowControl", fFlowControl); //$NON-NLS-1$ } public SerialProperties getProperties() { diff --git a/plugins/org.eclipse.tm.terminal.ssh/.classpath b/plugins/org.eclipse.tm.terminal.ssh/.classpath index ad32c83a788..ce73933404a 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.classpath +++ b/plugins/org.eclipse.tm.terminal.ssh/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index c2dc3aa2f47..f1f183d2609 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 4f15d9c50aa..cb4228c2770 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="3.3.0", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true Bundle-Activator: org.eclipse.tm.internal.terminal.ssh.Activator Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java index c56faa61feb..4c389be56df 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java @@ -12,7 +12,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ISshSettings { /** @@ -68,11 +68,11 @@ public interface ISshSettings { * Load connection data from a settings store. * @param store the settings store to access. */ - void load(ISettings store); + void load(ISettingsStore store); /** * Store connection data into a settings store. * @param store the settings store to access. */ - void save(ISettings store); + void save(ISettingsStore store); } diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java index 3530c823572..0ebfb5968e3 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java @@ -17,7 +17,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; @@ -101,10 +101,10 @@ public class SshConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettings store) { + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSettings.save(store); } protected JSch getJsch() { diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java index b94f66ad58b..8a1e21ad7bb 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java @@ -14,7 +14,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.ssh; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class SshSettings implements ISshSettings { protected String fHost; @@ -39,28 +39,28 @@ public class SshSettings implements ISshSettings { return settings; } - public void load(ISettings store) { - fHost = store.getString("Host");//$NON-NLS-1$ - fUser = store.getString("User");//$NON-NLS-1$ + public void load(ISettingsStore store) { + fHost = store.get("Host");//$NON-NLS-1$ + fUser = store.get("User");//$NON-NLS-1$ // ISettingsStore providers have to make sure that // the password is not saved in some as plain text // on disk. [bug 313991] - fPassword = store.getString("Password");//$NON-NLS-1$ - fPort = store.getString("Port");//$NON-NLS-1$ - fTimeout = store.getString("Timeout");//$NON-NLS-1$ - fKeepalive = store.getString("Keepalive");//$NON-NLS-1$ + fPassword = store.get("Password");//$NON-NLS-1$ + fPort = store.get("Port");//$NON-NLS-1$ + fTimeout = store.get("Timeout");//$NON-NLS-1$ + fKeepalive = store.get("Keepalive");//$NON-NLS-1$ } - public void save(ISettings store) { - store.set("Host", fHost);//$NON-NLS-1$ - store.set("User", fUser);//$NON-NLS-1$ - store.set("Port", fPort);//$NON-NLS-1$ + public void save(ISettingsStore store) { + store.put("Host", fHost);//$NON-NLS-1$ + store.put("User", fUser);//$NON-NLS-1$ + store.put("Port", fPort);//$NON-NLS-1$ // We do *not* store the password in the settings because // this can cause the password to be stored as plain text // in some settings file - store.set("Timeout", fTimeout);//$NON-NLS-1$ - store.set("Keepalive", fKeepalive);//$NON-NLS-1$ + store.put("Timeout", fTimeout);//$NON-NLS-1$ + store.put("Keepalive", fKeepalive);//$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.telnet/.classpath b/plugins/org.eclipse.tm.terminal.telnet/.classpath index 25d360efcad..37d5094e3a9 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.classpath +++ b/plugins/org.eclipse.tm.terminal.telnet/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index c2dc3aa2f47..f1f183d2609 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.3 diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index ea631367c33..111fa979b3d 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -8,5 +8,5 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="3.3.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: J2SE-1.4 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java index f255131e6df..c18879d45db 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java @@ -11,13 +11,13 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ITelnetSettings { String getHost(); int getNetworkPort(); int getTimeout(); String getSummary(); - void load(ISettings store); - void save(ISettings store); + void load(ISettingsStore store); + void save(ISettingsStore store); } diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java index ded0f45c95c..0fde60e53aa 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java @@ -26,7 +26,7 @@ import java.io.OutputStream; import java.net.Socket; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -151,10 +151,10 @@ public class TelnetConnector extends TerminalConnectorImpl { public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettings store) { + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java index fc5157dee86..0518b25d6cc 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java @@ -16,7 +16,7 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.telnet; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class TelnetSettings implements ITelnetSettings { protected String fHost; @@ -51,16 +51,16 @@ public class TelnetSettings implements ITelnetSettings { return getHost() + ":" + getNetworkPortString(); //$NON-NLS-1$ } - public void load(ISettings store) { - fHost = store.getString("Host", fProperties.getDefaultHost());//$NON-NLS-1$ - fNetworkPort = store.getString("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ - fTimeout = store.getString("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ + public void load(ISettingsStore store) { + fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ + fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ + fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } - public void save(ISettings store) { - store.set("Host", fHost);//$NON-NLS-1$ - store.set("NetworkPort", fNetworkPort);//$NON-NLS-1$ - store.set("Timeout", fTimeout);//$NON-NLS-1$ + public void save(ISettingsStore store) { + store.put("Host", fHost);//$NON-NLS-1$ + store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ + store.put("Timeout", fTimeout);//$NON-NLS-1$ } public TelnetProperties getProperties() { diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/terminal/telnet/interfaces/ITelnetSettingConstants.java b/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/terminal/telnet/interfaces/ITelnetSettingConstants.java deleted file mode 100644 index 4397f5d2938..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/terminal/telnet/interfaces/ITelnetSettingConstants.java +++ /dev/null @@ -1,17 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.telnet.interfaces; - -/** - * Telnet terminal connection settings constants. - */ -public interface ITelnetSettingConstants { - -} diff --git a/plugins/org.eclipse.tm.terminal.test/.classpath b/plugins/org.eclipse.tm.terminal.test/.classpath index ad32c83a788..64c5e31b7a2 100644 --- a/plugins/org.eclipse.tm.terminal.test/.classpath +++ b/plugins/org.eclipse.tm.terminal.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index fcd7b940075..40c9c1aa311 100644 --- a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,8 +1,8 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate @@ -79,4 +79,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index eabe482ba35..7164d348c6a 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: org.junit, org.eclipse.tm.terminal;bundle-version="3.3.0", org.eclipse.core.runtime, org.eclipse.ui -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: J2SE-1.5 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 40373f8051e..b9c4d3c6a74 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -22,13 +22,26 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Settings; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TerminalConnectorFactoryTest extends TestCase { + public class SettingsMock implements ISettingsStore { + + public String get(String key) { + return null; + } + + public String get(String key, String defaultValue) { + return null; + } + + public void put(String key, String value) { + } + + } public static class TerminalControlMock implements ITerminalControl { public void setEncoding(String encoding) { @@ -85,8 +98,8 @@ public class TerminalConnectorFactoryTest extends TestCase { public int fWidth; public int fHeight; public ITerminalControl fControl; - public ISettings fSaveStore; - public ISettings fLoadStore; + public ISettingsStore fSaveStore; + public ISettingsStore fLoadStore; public boolean fDisconnect; public boolean isLocalEcho() { @@ -112,7 +125,7 @@ public class TerminalConnectorFactoryTest extends TestCase { return "Summary"; } - public void load(ISettings store) { + public void load(ISettingsStore store) { fLoadStore=store; } @@ -133,7 +146,7 @@ public class TerminalConnectorFactoryTest extends TestCase { }}; } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSaveStore=store; } } @@ -232,7 +245,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettings s=new Settings(); + ISettingsStore s=new SettingsMock(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -243,7 +256,7 @@ public class TerminalConnectorFactoryTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - ISettings s=new Settings(); + ISettingsStore s=new SettingsMock(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index e7040756db8..10863867a20 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -15,7 +15,6 @@ package org.eclipse.tm.internal.terminal.connector; import java.io.OutputStream; -import java.util.Map; import junit.framework.TestCase; @@ -23,13 +22,26 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Settings; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TerminalConnectorTest extends TestCase { + public class SettingsMock implements ISettingsStore { + + public String get(String key) { + return null; + } + + public String get(String key, String defaultValue) { + return null; + } + + public void put(String key, String value) { + } + + } public static class TerminalControlMock implements ITerminalControl { public void setEncoding(String encoding) { @@ -86,8 +98,8 @@ public class TerminalConnectorTest extends TestCase { public int fWidth; public int fHeight; public ITerminalControl fControl; - public ISettings fSaveStore; - public ISettings fLoadStore; + public ISettingsStore fSaveStore; + public ISettingsStore fLoadStore; public boolean fDisconnect; public boolean isLocalEcho() { @@ -113,7 +125,7 @@ public class TerminalConnectorTest extends TestCase { return "Summary"; } - public void load(ISettings store) { + public void load(ISettingsStore store) { fLoadStore=store; } @@ -135,7 +147,7 @@ public class TerminalConnectorTest extends TestCase { } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSaveStore=store; } } @@ -212,7 +224,7 @@ public class TerminalConnectorTest extends TestCase { public void testLoad() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettings s=new Settings(); + ISettingsStore s=new SettingsMock(); c.load(s); // the load is called after the connect... assertNull(mock.fLoadStore); @@ -223,7 +235,7 @@ public class TerminalConnectorTest extends TestCase { public void testSave() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - ISettings s=new Settings(); + ISettingsStore s=new SettingsMock(); c.save(s); assertNull(mock.fSaveStore); c.connect(new TerminalControlMock()); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java index 464f0d71147..c4bf4387e60 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java @@ -10,10 +10,10 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.model; -import org.eclipse.tm.terminal.model.ITerminalTextData; - import junit.framework.TestCase; +import org.eclipse.tm.terminal.model.ITerminalTextData; + public class SnapshotChangesTest extends TestCase { /** * @param change diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index bc37435449e..88e9b5a5d13 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -18,7 +18,7 @@ import java.io.InputStream; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -86,7 +86,7 @@ public class SpeedTestConnector extends TerminalConnectorImpl { //throw new RuntimeException("XXX problems\nSpeedTest\nXXX!"); } - public void load(ISettings store) { + public void load(ISettingsStore store) { fSettings.load(store); } @@ -94,7 +94,7 @@ public class SpeedTestConnector extends TerminalConnectorImpl { return new SpeedTestSettingsPage(fSettings); } - public void save(ISettings store) { + public void save(ISettingsStore store) { fSettings.save(store); } diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index 2db9f3fd822..84f94226ce0 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -11,7 +11,7 @@ package org.eclipse.tm.internal.terminal.speedtest; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public class SpeedTestSettings { String fInputFile=""; @@ -36,15 +36,15 @@ public class SpeedTestSettings { void setInputFile(String testFile) { fInputFile = testFile; } - public void load(ISettings store) { - fInputFile=store.getString("inputFile"); - fBufferSize=store.getString("bufferSize"); - fThrottle=store.getString("throttle"); + public void load(ISettingsStore store) { + fInputFile=store.get("inputFile"); + fBufferSize=store.get("bufferSize"); + fThrottle=store.get("throttle"); } - public void save(ISettings store) { - store.set("inputFile", fInputFile); - store.set("bufferSize", fBufferSize); - store.set("throttle", fThrottle); + public void save(ISettingsStore store) { + store.put("inputFile", fInputFile); + store.put("bufferSize", fBufferSize); + store.put("throttle", fThrottle); } public String getThrottleString() { return fThrottle; diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java index 604d8b58bd2..473115c278b 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java @@ -17,10 +17,19 @@ package org.eclipse.tm.internal.terminal.test.terminalcanvas; * For a list of all SWT example snippets see * http://www.eclipse.org/swt/snippets/ */ -import org.eclipse.swt.*; -import org.eclipse.swt.graphics.*; -import org.eclipse.swt.layout.*; -import org.eclipse.swt.widgets.*; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Canvas; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Event; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.swt.widgets.ScrollBar; +import org.eclipse.swt.widgets.Shell; public class Snippet48 { diff --git a/plugins/org.eclipse.tm.terminal/.classpath b/plugins/org.eclipse.tm.terminal/.classpath index 25d360efcad..37d5094e3a9 100644 --- a/plugins/org.eclipse.tm.terminal/.classpath +++ b/plugins/org.eclipse.tm.terminal/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index 6a5966a2f19..d86e9d88ef7 100644 --- a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -7,12 +7,13 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning @@ -23,29 +24,42 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=error org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning @@ -61,9 +75,9 @@ org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled @@ -71,30 +85,30 @@ org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled org.eclipse.jdt.core.compiler.problem.unusedImport=warning org.eclipse.jdt.core.compiler.problem.unusedLabel=warning org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.compiler.source=1.4 diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 88bb9570e83..00000000000 --- a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,56 +0,0 @@ -eclipse.preferences.version=1 -editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true -formatter_profile=_Target Explorer Java STD -formatter_settings_version=12 -sp_cleanup.add_default_serial_version_id=true -sp_cleanup.add_generated_serial_version_id=false -sp_cleanup.add_missing_annotations=true -sp_cleanup.add_missing_deprecated_annotations=true -sp_cleanup.add_missing_methods=false -sp_cleanup.add_missing_nls_tags=false -sp_cleanup.add_missing_override_annotations=true -sp_cleanup.add_missing_override_annotations_interface_methods=true -sp_cleanup.add_serial_version_id=false -sp_cleanup.always_use_blocks=true -sp_cleanup.always_use_parentheses_in_expressions=false -sp_cleanup.always_use_this_for_non_static_field_access=false -sp_cleanup.always_use_this_for_non_static_method_access=false -sp_cleanup.convert_to_enhanced_for_loop=false -sp_cleanup.correct_indentation=false -sp_cleanup.format_source_code=false -sp_cleanup.format_source_code_changes_only=false -sp_cleanup.make_local_variable_final=false -sp_cleanup.make_parameters_final=false -sp_cleanup.make_private_fields_final=true -sp_cleanup.make_type_abstract_if_missing_method=false -sp_cleanup.make_variable_declarations_final=false -sp_cleanup.never_use_blocks=false -sp_cleanup.never_use_parentheses_in_expressions=true -sp_cleanup.on_save_use_additional_actions=true -sp_cleanup.organize_imports=true -sp_cleanup.qualify_static_field_accesses_with_declaring_class=false -sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true -sp_cleanup.qualify_static_member_accesses_with_declaring_class=false -sp_cleanup.qualify_static_method_accesses_with_declaring_class=false -sp_cleanup.remove_private_constructors=true -sp_cleanup.remove_trailing_whitespaces=true -sp_cleanup.remove_trailing_whitespaces_all=true -sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true -sp_cleanup.remove_unnecessary_nls_tags=true -sp_cleanup.remove_unused_imports=true -sp_cleanup.remove_unused_local_variables=false -sp_cleanup.remove_unused_private_fields=true -sp_cleanup.remove_unused_private_members=false -sp_cleanup.remove_unused_private_methods=true -sp_cleanup.remove_unused_private_types=true -sp_cleanup.sort_members=false -sp_cleanup.sort_members_all=false -sp_cleanup.use_blocks=false -sp_cleanup.use_blocks_only_for_return_and_throw=false -sp_cleanup.use_parentheses_in_expressions=false -sp_cleanup.use_this_for_non_static_field_access=false -sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true -sp_cleanup.use_this_for_non_static_method_access=false -sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index 5a60876bd84..b7973c8d0c4 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-RequiredExecutionEnvironment: J2SE-1.4 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 3017e1a60d5..8864d69495c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -19,7 +19,7 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.Platform; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; @@ -93,7 +93,7 @@ public class TerminalConnector implements ITerminalConnector { * The store might be set before the real connector is initialized. * This keeps the value until the connector is created. */ - private ISettings fStore; + private ISettingsStore fStore; /** * Constructor for the terminal connector. * @@ -173,7 +173,7 @@ public class TerminalConnector implements ITerminalConnector { public boolean isLocalEcho() { return getConnectorImpl().isLocalEcho(); } - public void load(ISettings store) { + public void load(ISettingsStore store) { if(fConnector==null) { fStore=store; } else { @@ -183,7 +183,7 @@ public class TerminalConnector implements ITerminalConnector { public ISettingsPage makeSettingsPage() { return getConnectorImpl().makeSettingsPage(); } - public void save(ISettings store) { + public void save(ISettingsStore store) { // no need to save the settings: it cannot have changed // because we are not initialized.... if(fConnector!=null) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java index b64c6c0d694..40353718f18 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java @@ -37,7 +37,6 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#addListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) */ - @Override public void addListener(Listener listener) { Assert.isNotNull(listener); listeners.add(listener); @@ -46,7 +45,6 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#removeListener(org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage.Listener) */ - @Override public void removeListener(Listener listener) { Assert.isNotNull(listener); listeners.remove(listener); @@ -69,7 +67,6 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() */ - @Override public final String getMessage() { return message; } @@ -77,7 +74,6 @@ public abstract class AbstractSettingsPage implements ISettingsPage, IMessagePro /* (non-Javadoc) * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() */ - @Override public final int getMessageType() { return messageType; } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java deleted file mode 100644 index 78434716ebc..00000000000 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettings.java +++ /dev/null @@ -1,244 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Uwe Stieber (Wind River) - Extend API to allow storage of non-string settings - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; - -import java.util.Map; - -import org.eclipse.core.runtime.IAdaptable; - -/** - * The settings contains the state of a connection. The content of the settings - * is not the persisted state of the connection. Storing data in the settings - * does not make any assumption about possibly persisting the connection state. - * Connection persistence has to be implemented by the UI container embedding - * the Terminal control. - *

                                  - * EXPERIMENTAL. This class or interface has been added as - * part of a work in progress. There is no guarantee that this API will - * work or that it will remain the same. Please do not use this API without - * consulting with the Target Management team. - *

                                  - */ -public interface ISettings extends IAdaptable { - - /** - * Set the settings from the given map. Calling this method - * will overwrite all previous set settings. - *

                                  - * Note: The method will have no effect if the given settings are the - * same as the already set settings. - * - * @param settings The map of settings to set. Must not be null. - */ - public void set(Map settings); - - /** - * Adds all settings from the given map. If a setting already exist - * in the settings, than the value of the setting is overwritten. - * - * @param settings The map of settings to add. Must not be null. - */ - public void addAll(Map settings); - - /** - * Stores the setting under the given key using the given value. If the current - * value is equal to the given value, no store operation will be executed. If the - * value is not null and is different from the current value, the new - * value will be written to the settings. If the value is null, the - * key and the currently stored value are removed from the settings. - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - */ - public boolean set(String key, Object value); - - /** - * Stores the setting under the given key using the given long value. The given - * long value is transformed to an Long object and stored to the - * settings store via set(java.lang.String, java.lang.Object). - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - * - * @see set(java.lang.String, java.lang.Object) - */ - public boolean set(String key, long value); - - /** - * Stores the setting under the given key using the given integer value. The given - * integer value is transformed to an Integer object and stored to the - * settings via set(java.lang.String, java.lang.Object). - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - * - * @see set(java.lang.String, java.lang.Object) - */ - public boolean set(String key, int value); - - /** - * Stores the setting under the given key using the given boolean value. The given - * boolean value is transformed to an Boolean object and stored to the - * settings via set(java.lang.String, java.lang.Object). - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - * - * @see set(java.lang.String, java.lang.Object) - */ - public boolean set(String key, boolean value); - - /** - * Stores the setting under the given key using the given float value. The given - * float value is transformed to an Float object and stored to the - * settings via set(java.lang.String, java.lang.Object). - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - * - * @see set(java.lang.String, java.lang.Object) - */ - public boolean set(String key, float value); - - /** - * Stores the setting under the given key using the given double value. The given - * double value is transformed to an Double object and stored to the - * settings via set(java.lang.String, java.lang.Object). - * - * @param key The key. Must not be null! - * @param value The value. - * - * @return true if the value had been applied to the settings, false otherwise. - * - * @see set(java.lang.String, java.lang.Object) - */ - public boolean set(String key, double value); - - /** - * Return all settings. The result map is read-only. - * - * @return A map containing all settings. - */ - public Map getAll(); - - /** - * Queries the value stored under the given key. If the setting does not exist, - * null is returned. - * - * @param key The key. Must not be null! - * @return The stored value or null. - */ - public Object get(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.String, the value casted to java.lang.String - * is returned. In all other cases, null is returned. - * - * @param key The key. Must not be null! - * @return The stored value casted java.lang.String or null. - */ - public String getString(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.String, the value casted to java.lang.String - * is returned. In all other cases, the given default value is returned. - * - * @param key The key. Must not be null! - * @param defaultValue The default value or null. - * - * @return The stored value casted java.lang.String or the default value. - */ - public String getString(String key, String defaultValue); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.Long, the value converted to an long value is returned. In - * all other cases, -1 is returned. - * - * @param key The key. Must not be null! - * @return The stored value converted to a long value or -1. - */ - public long getLong(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.Integer, the value converted to an integer value is returned. - * In all other cases, -1 is returned. - * - * @param key The key. Must not be null! - * @return The stored value converted to an integer value or -1. - */ - public int getInt(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.Boolean, the value converted to an boolean value is returned. - * In all other cases, false is returned. - * - * @param key The key. Must not be null! - * @return The stored value converted to an boolean value or false. - */ - public boolean getBoolean(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.Float, the value converted to an float value is returned. - * In all other cases, Float.NaN is returned. - * - * @param key The key. Must not be null! - * @return The stored value converted to a float value or Float.NaN. - */ - public float getFloat(String key); - - /** - * Queries the value stored under the given key. If the setting exist and is of type - * java.lang.Double, the value converted to an double value is returned. - * In all other cases, Double.NaN is returned. - * - * @param key The key. Must not be null! - * @return The stored value converted to a double value or Double.NaN. - */ - public double getDouble(String key); - - /** - * Remove all settings. - */ - public void clear(); - - /** - * Returns whether the settings are empty or not. - * - * @return True if the settings are empty, false if not. - */ - public boolean isEmpty(); - - /** - * Returns whether the settings contains the given key. - * - * @param key The key. Must not be null. - * @return True if the settings contains the key, false if not. - */ - public boolean containsKey(String key); -} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java new file mode 100644 index 00000000000..8822af3df71 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java @@ -0,0 +1,45 @@ +/******************************************************************************* + * Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +/** + * A simple interface to a store to persist the state of a connection. + * + * @author Michael Scharf + *

                                  + * EXPERIMENTAL. This class or interface has been added as + * part of a work in progress. There is no guarantee that this API will + * work or that it will remain the same. Please do not use this API without + * consulting with the Target Management team. + *

                                  + */ +public interface ISettingsStore { + /** + * @param key alpha numeric key, may contain dots (.) + * @return value + */ + String get(String key); + + /** + * @param key alpha numeric key, may contain dots (.) + * @param defaultValue + * @return the value or the default + */ + String get(String key, String defaultValue); + + /** + * Save a string value + * @param key alpha numeric key, may contain dots (.) + * @param value + */ + void put(String key, String value); +} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 2ee0ca1b581..17932058ef5 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -124,14 +124,14 @@ public interface ITerminalConnector extends IAdaptable { * @param store a string based data store. Short keys like "foo" can be used to * store the state of the connection. */ - void load(ISettings store); + void load(ISettingsStore store); /** * When the view or dialog containing the terminal is closed, * the state of the connection is saved into the settings store store * @param store */ - void save(ISettings store); + void save(ISettingsStore store); /** * FIXME should not have UI related stuff in ITerminalConnector, since diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java similarity index 60% rename from deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java index be7ebbfbd5c..8559224eec5 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/LayeredSettingsStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java @@ -8,13 +8,10 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; -import org.eclipse.tm.internal.terminal.provisional.api.Settings; +package org.eclipse.tm.internal.terminal.provisional.api; /** - * Uses an array of {@link ISettings} to find a value. + * Uses an array of {@link ISettingsStore} to find a value. *

                                  * EXPERIMENTAL. This class or interface has been added as part * of a work in progress. There is no guarantee that this API will work or that @@ -22,16 +19,16 @@ import org.eclipse.tm.internal.terminal.provisional.api.Settings; * the Target Management team. *

                                  */ -public class LayeredSettingsStore extends Settings { +public class LayeredSettingsStore implements ISettingsStore { - private final ISettings[] fStores; + private final ISettingsStore[] fStores; /** * @param stores the stores used to search the values. - * {@link #set(String, Object)} will put the value in the + * {@link #put(String, String)} will put the value in the * first store in the list. */ - public LayeredSettingsStore(ISettings[] stores) { + public LayeredSettingsStore(ISettingsStore[] stores) { fStores=stores; } /** @@ -39,21 +36,27 @@ public class LayeredSettingsStore extends Settings { * @param s1 first store * @param s2 second store */ - public LayeredSettingsStore(ISettings s1, ISettings s2) { - this(new ISettings[]{s1,s2}); + public LayeredSettingsStore(ISettingsStore s1, ISettingsStore s2) { + this(new ISettingsStore[]{s1,s2}); } - - public Object get(String key) { + public String get(String key) { for (int i = 0; i < fStores.length; i++) { - Object value=fStores[i].get(key); - if (value!=null) + String value=fStores[i].get(key); + if(value!=null) return value; } return null; } - public boolean set(String key, Object value) { - return fStores[0].set(key,value); + public String get(String key, String defaultValue) { + String value=get(key); + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; + return value; + } + + public void put(String key, String value) { + fStores[0].put(key,value); } } diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index e703482bb90..fa6fee91f87 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -13,12 +13,11 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; +import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; -import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; @@ -51,14 +50,24 @@ public final class Logger { private static PrintStream logStream; static { - IPath logFile = Platform.getStateLocation(TerminalPlugin.getDefault().getBundle()); - if (logFile != null && logFile.toFile().isDirectory()) { - logFile = logFile.append("tmterminal.log"); //$NON-NLS-1$ + String logFile = null; + //TODO I think this should go into the workspace metadata instead. + File logDirWindows = new File("C:\\eclipselogs"); //$NON-NLS-1$ + File logDirUNIX = new File("/tmp/eclipselogs"); //$NON-NLS-1$ + + if (logDirWindows.isDirectory()) { + logFile = logDirWindows + "\\tmterminal.log"; //$NON-NLS-1$ + } else if (logDirUNIX.isDirectory()) { + logFile = logDirUNIX + "/tmterminal.log"; //$NON-NLS-1$ + } + + if (logFile != null) { try { - logStream = new PrintStream(new FileOutputStream(logFile.toFile(), true)); + logStream = new PrintStream(new FileOutputStream(logFile, true)); } catch (Exception ex) { logStream = System.err; - logStream.println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ + logStream + .println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ ex.printStackTrace(logStream); } } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java similarity index 78% rename from deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java rename to plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java index 4b25960bc3c..ff0e6f8585a 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PreferenceSettingStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java @@ -8,7 +8,7 @@ * Contributors: * Michael Scharf (Wind River) - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; +package org.eclipse.tm.internal.terminal.provisional.api; import org.eclipse.core.runtime.Preferences; @@ -21,7 +21,7 @@ import org.eclipse.core.runtime.Preferences; * the Target Management team. *

                                  */ -public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.provisional.api.Settings { +public class PreferenceSettingStore implements ISettingsStore { private final String fPrefix; private final Preferences fPreferences; @@ -35,16 +35,19 @@ public class PreferenceSettingStore extends org.eclipse.tm.internal.terminal.pro fPreferences=preferences; fPrefix=prefix; } - - public Object get(String key) { + public String get(String key) { return fPreferences.getString(makeKey(key)); } + public String get(String key, String defaultValue) { + String value=get(key); + if ((value == null) || (value.equals(""))) //$NON-NLS-1$ + return defaultValue; - public boolean set(String key, Object value) { - if (value instanceof String) { - fPreferences.setValue(makeKey(key), (String)value); - } - return true; + return value; + } + + public void put(String key, String value) { + fPreferences.setValue(makeKey(key), value); } /** * @param key diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java deleted file mode 100644 index ee3fe04ab94..00000000000 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Settings.java +++ /dev/null @@ -1,359 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; - -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.PlatformObject; - -/** - * Terminal connection settings implementation. - */ -public class Settings extends PlatformObject implements ISettings { - /** - * A map of settings. The keys are always strings, the value might be any object. - */ - private Map settings = new HashMap(); - - /** - * Constructor. - */ - public Settings() { - super(); - } - - /* (non-Javadoc) - * @see java.lang.Object#equals(java.lang.Object) - */ - @Override - public boolean equals(Object obj) { - boolean equals = super.equals(obj); - if (!equals && obj instanceof Settings) { - return settings.equals(((Settings)obj).settings); - } - return equals; - } - - /* (non-Javadoc) - * @see java.lang.Object#hashCode() - */ - @Override - public int hashCode() { - return settings.hashCode(); - } - - /* (non-Javadoc) - * @see java.lang.Object#toString() - */ - @Override - public String toString() { - final StringBuilder buffer = new StringBuilder(); - - // print the first level of the settings map only - buffer.append("settings={"); //$NON-NLS-1$ - for (String key : settings.keySet()) { - buffer.append(key); - buffer.append("="); //$NON-NLS-1$ - - Object value = settings.get(key); - if (value instanceof Map || value instanceof ISettings) { - buffer.append("{...}"); //$NON-NLS-1$ - } else { - buffer.append(value); - } - - buffer.append(", "); //$NON-NLS-1$ - } - if (buffer.toString().endsWith(", ")) { //$NON-NLS-1$ - buffer.deleteCharAt(buffer.length() - 1); - buffer.deleteCharAt(buffer.length() - 1); - } - buffer.append("}"); //$NON-NLS-1$ - - return buffer.toString(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getAll() - */ - @Override - public Map getAll() { - return Collections.unmodifiableMap(new HashMap(settings)); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#get(java.lang.String) - */ - @Override - public Object get(String key) { - return settings.get(key); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getBoolean(java.lang.String) - */ - @Override - public final boolean getBoolean(String key) { - Object value = get(key); - if (value instanceof Boolean) { - return ((Boolean)value).booleanValue(); - } - if (value instanceof String) { - String val = ((String)value).trim(); - return "TRUE".equalsIgnoreCase(val) || "1".equals(val) || "Y".equalsIgnoreCase(val) || //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - "JA".equalsIgnoreCase(val) || "YES".equalsIgnoreCase(val); //$NON-NLS-1$ //$NON-NLS-2$ - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getLong(java.lang.String) - */ - @Override - public final long getLong(String key) { - Object value = get(key); - try { - if (value instanceof Long) { - return ((Long)value).longValue(); - } - if (value instanceof Number) { - return ((Number)value).longValue(); - } - if (value != null) { - return Long.decode(value.toString()).longValue(); - } - } catch (Exception e) { - /* ignored on purpose */ - } - - return -1; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getInt(java.lang.String) - */ - @Override - public final int getInt(String key) { - Object value = get(key); - try { - if (value instanceof Integer) { - return ((Integer)value).intValue(); - } - if (value instanceof Number) { - return ((Number)value).intValue(); - } - if (value != null) { - return Integer.decode(value.toString()).intValue(); - } - } catch (Exception e) { - /* ignored on purpose */ - } - - return -1; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getString(java.lang.String) - */ - @Override - public final String getString(String key) { - Object value = get(key); - return value instanceof String ? (String)value : null; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getString(java.lang.String, java.lang.String) - */ - @Override - public String getString(String key, String defaultValue) { - String value = getString(key); - return value != null ? value : defaultValue; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getFloat(java.lang.String) - */ - @Override - public final float getFloat(String key) { - Object value = get(key); - try { - if (value instanceof Float) { - return ((Float)value).floatValue(); - } - if (value instanceof Number) { - return ((Number)value).floatValue(); - } - if (value != null) { - return Float.parseFloat(value.toString()); - } - } catch (Exception e) { - /* ignored on purpose */ - } - - return Float.NaN; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#getDouble(java.lang.String) - */ - @Override - public final double getDouble(String key) { - Object value = get(key); - try { - if (value instanceof Double) { - return ((Double)value).doubleValue(); - } - if (value instanceof Number) { - return ((Number)value).doubleValue(); - } - if (value != null) { - return Double.parseDouble(value.toString()); - } - } catch (Exception e) { - /* ignored on purpose */ - } - - return Double.NaN; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.util.Map) - */ - @Override - public final void set(Map settings) { - Assert.isNotNull(settings); - - // Change the settings only if they have changed really - if (this.settings.equals(settings)) { - return; - } - - // Clear out all old settings - this.settings.clear(); - // Apply everything from the given settings - this.settings.putAll(settings); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#addAll(java.util.Map) - */ - @Override - public final void addAll(Map settings) { - // Apply everything from the given settings - this.settings.putAll(settings); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, boolean) - */ - @Override - public final boolean set(String key, boolean value) { - boolean oldValue = getBoolean(key); - if (oldValue != value) { - return set(key, Boolean.valueOf(value)); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, long) - */ - @Override - public final boolean set(String key, long value) { - long oldValue = getLong(key); - if (oldValue != value) { - return set(key, Long.valueOf(value)); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, int) - */ - @Override - public final boolean set(String key, int value) { - int oldValue = getInt(key); - if (oldValue != value) { - return set(key, Integer.valueOf(value)); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, float) - */ - @Override - public final boolean set(String key, float value) { - float oldValue = getFloat(key); - if (oldValue != value) { - return set(key, Float.valueOf(value)); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, double) - */ - @Override - public final boolean set(String key, double value) { - double oldValue = getDouble(key); - if (oldValue != value) { - return set(key, Double.valueOf(value)); - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#set(java.lang.String, java.lang.Object) - */ - @Override - public boolean set(String key, Object value) { - Assert.isNotNull(key); - - Object oldValue = settings.get(key); - if ((oldValue == null && value != null) || (oldValue != null && !oldValue.equals(value))) { - if (value != null) { - settings.put(key, value); - } else { - settings.remove(key); - } - return true; - } - return false; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#clear() - */ - @Override - public final void clear() { - settings.clear(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#isEmpty() - */ - @Override - public boolean isEmpty() { - return settings.isEmpty(); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ISettings#containsKey(java.lang.String) - */ - @Override - public boolean containsKey(String key) { - Assert.isNotNull(key); - return settings.containsKey(key); - } -} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 5fc2a866a7c..abed5dd6373 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -14,7 +14,7 @@ package org.eclipse.tm.internal.terminal.provisional.api.provider; import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettings; +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.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -130,7 +130,7 @@ public abstract class TerminalConnectorImpl { * @param store a string based data store. Short keys like "foo" can be used * to store the state of the connection. */ - public void load(ISettings store) { + public void load(ISettingsStore store) { // do nothing by default } @@ -143,7 +143,7 @@ public abstract class TerminalConnectorImpl { * * @param store the store for persisting settings. */ - public void save(ISettings store) { + public void save(ISettingsStore store) { // do nothing by default } From c12b5e67361e3c5b40886ecfa8fded3ef3d3cfde Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 10:32:24 +0100 Subject: [PATCH 583/843] Terminals: Move terminals plugins and features into separate directory structure --- .../.project | 28 + .../build.properties | 13 + .../feature.properties | 38 + .../feature.xml | 95 +++ .../p2.inf | 22 + .../pom.xml | 21 + .../.project | 28 + .../build.properties | 12 + .../feature.properties | 37 + .../feature.xml | 48 ++ .../pom.xml | 21 + .../.project | 33 + .../build.properties | 12 + .../feature.properties | 37 + .../feature.xml | 38 + .../pom.xml | 21 + .../.project | 33 + .../build.properties | 12 + .../feature.properties | 38 + .../feature.xml | 80 ++ .../pom.xml | 21 + .../.classpath | 7 + .../.options | 1 + .../.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 29 + .../META-INF/p2.inf | 82 ++ .../about.html | 28 + .../build.properties | 17 + .../contexts.xml | 6 + .../icons/eview16/terminal_view.gif | Bin 0 -> 938 bytes .../plugin.properties | 23 + .../plugin.xml | 130 +++ .../pom.xml | 17 + .../terminals/local/activator/UIPlugin.java | 127 +++ .../LocalWizardConfigurationPanel.java | 195 +++++ .../terminals/local/help/IContextHelpIds.java | 29 + .../local/launcher/LocalLauncherDelegate.java | 374 +++++++++ .../local/launcher/LocalLauncherHandler.java | 60 ++ .../local/launcher/LocalMementoHandler.java | 40 + .../te/ui/terminals/local/nls/Messages.java | 58 ++ .../terminals/local/nls/Messages.properties | 38 + .../showin/DynamicContributionItems.java | 129 +++ .../showin/ExternalExecutablesDialog.java | 460 ++++++++++ .../ExternalExecutablesInitializer.java | 88 ++ .../showin/ExternalExecutablesManager.java | 181 ++++ .../IExternalExecutablesProperties.java | 41 + .../showin/interfaces/IPreferenceKeys.java | 40 + .../showin/preferences/PreferencePage.java | 490 +++++++++++ .../preferences/PreferencesInitializer.java | 37 + .../.classpath | 7 + .../.options | 1 + .../.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 24 + .../META-INF/p2.inf | 82 ++ .../about.html | 28 + .../build.properties | 16 + .../plugin.properties | 22 + .../plugin.xml | 24 + .../pom.xml | 17 + .../terminals/process/ProcessConnector.java | 301 +++++++ .../process/ProcessLauncherDelegate.java | 134 +++ .../ui/terminals/process/ProcessMonitor.java | 106 +++ .../ui/terminals/process/ProcessSettings.java | 299 +++++++ .../process/ProcessSettingsPage.java | 196 +++++ .../terminals/process/activator/UIPlugin.java | 113 +++ .../process/help/IContextHelpIds.java | 31 + .../te/ui/terminals/process/nls/Messages.java | 34 + .../terminals/process/nls/Messages.properties | 12 + .../.classpath | 7 + .../.options | 1 + .../.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 23 + .../about.html | 28 + .../build.properties | 17 + .../icons/eview16/terminal_view.gif | Bin 0 -> 938 bytes .../plugin.properties | 22 + .../plugin.xml | 111 +++ .../pom.xml | 17 + .../ui/terminals/rse/activator/UIPlugin.java | 113 +++ .../rse/internal/LaunchTerminalHandler.java | 90 ++ .../rse/internal/PropertyTester.java | 60 ++ .../TerminalContextPropertiesProvider.java | 67 ++ .../tcf/te/ui/terminals/rse/nls/Messages.java | 32 + .../ui/terminals/rse/nls/Messages.properties | 10 + .../.classpath | 7 + .../.options | 2 + .../.project | 28 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 25 + .../about.html | 28 + .../build.properties | 16 + .../plugin.properties | 16 + .../plugin.xml | 24 + .../pom.xml | 17 + .../terminals/serial/activator/UIPlugin.java | 111 +++ .../controls/SerialConfigurationPanel.java | 134 +++ .../serial/controls/SerialLinePanel.java | 789 +++++++++++++++++ .../controls/SerialPortAddressDialog.java | 689 +++++++++++++++ .../serial/interfaces/ITraceIds.java | 22 + .../serial/interfaces/IWireTypeSerial.java | 51 ++ .../launcher/SerialLauncherDelegate.java | 160 ++++ .../serial/launcher/SerialMementoHandler.java | 64 ++ .../te/ui/terminals/serial/nls/Messages.java | 68 ++ .../terminals/serial/nls/Messages.properties | 46 + .../.classpath | 7 + .../.options | 1 + .../.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 23 + .../about.html | 28 + .../build.properties | 16 + .../plugin.properties | 20 + .../plugin.xml | 24 + .../pom.xml | 17 + .../ui/terminals/ssh/activator/UIPlugin.java | 111 +++ .../controls/SshWizardConfigurationPanel.java | 425 ++++++++++ .../ssh/launcher/SshLauncherDelegate.java | 181 ++++ .../ssh/launcher/SshMementoHandler.java | 133 +++ .../tcf/te/ui/terminals/ssh/nls/Messages.java | 37 + .../ui/terminals/ssh/nls/Messages.properties | 14 + .../.classpath | 7 + .../.options | 1 + .../.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 23 + .../about.html | 28 + .../build.properties | 16 + .../plugin.properties | 16 + .../plugin.xml | 24 + .../pom.xml | 17 + .../terminals/telnet/activator/UIPlugin.java | 112 +++ .../TelnetWizardConfigurationPanel.java | 214 +++++ .../launcher/TelnetLauncherDelegate.java | 171 ++++ .../telnet/launcher/TelnetMementoHandler.java | 56 ++ .../te/ui/terminals/telnet/nls/Messages.java | 35 + .../terminals/telnet/nls/Messages.properties | 12 + .../.classpath | 7 + .../org.eclipse.tcf.te.ui.terminals/.options | 3 + .../org.eclipse.tcf.te.ui.terminals/.project | 39 + .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 ++ .../.settings/org.eclipse.pde.prefs | 32 + .../META-INF/MANIFEST.MF | 35 + .../about.html | 28 + .../build.properties | 19 + .../contexts.xml | 9 + .../icons/clcl16/command_input_field.gif | Bin 0 -> 385 bytes .../icons/dlcl16/command_input_field.gif | Bin 0 -> 239 bytes .../icons/dlcl16/disconnect.gif | Bin 0 -> 139 bytes .../icons/elcl16/command_input_field.gif | Bin 0 -> 239 bytes .../icons/elcl16/disconnect.gif | Bin 0 -> 890 bytes .../icons/eview16/terminal_view.gif | Bin 0 -> 938 bytes .../plugin.properties | 53 ++ .../plugin.xml | 315 +++++++ .../org.eclipse.tcf.te.ui.terminals/pom.xml | 17 + .../schema/launcherDelegates.exsd | 215 +++++ .../ui/terminals/actions/AbstractAction.java | 189 +++++ .../terminals/actions/PinTerminalAction.java | 49 ++ .../actions/SelectEncodingAction.java | 80 ++ .../actions/TabScrollLockAction.java | 59 ++ .../actions/ToggleCommandFieldAction.java | 85 ++ .../te/ui/terminals/activator/UIPlugin.java | 265 ++++++ .../controls/ConfigurationPanelControl.java | 448 ++++++++++ .../controls/NoteCompositeHelper.java | 173 ++++ .../te/ui/terminals/help/IContextHelpIds.java | 34 + .../interfaces/IConfigurationPanel.java | 141 ++++ .../IConfigurationPanelContainer.java | 35 + .../interfaces/ILauncherDelegate.java | 93 ++ .../terminals/interfaces/IMementoHandler.java | 36 + .../terminals/interfaces/IPreferenceKeys.java | 25 + .../terminals/interfaces/ITerminalsView.java | 52 ++ .../ui/terminals/interfaces/IUIConstants.java | 21 + .../ui/terminals/interfaces/ImageConsts.java | 96 +++ .../interfaces/tracing/ITraceIds.java | 26 + .../internal/PreferencesInitializer.java | 37 + .../ui/terminals/internal/PropertyTester.java | 59 ++ .../ui/terminals/internal/SettingsStore.java | 69 ++ .../dialogs/EncodingSelectionDialog.java | 231 +++++ .../dialogs/LaunchTerminalSettingsDialog.java | 569 +++++++++++++ .../AbstractTriggerCommandHandler.java | 67 ++ .../DisconnectTerminalCommandHandler.java | 62 ++ .../handler/LaunchTerminalCommandHandler.java | 157 ++++ .../internal/handler/MaximizeViewHandler.java | 29 + .../internal/handler/QuickAccessHandler.java | 29 + .../launcher/AbstractLauncherDelegate.java | 143 ++++ .../launcher/LauncherDelegateManager.java | 421 ++++++++++ .../listeners/AbstractWindowListener.java | 130 +++ .../listeners/WorkbenchPartListener.java | 112 +++ .../listeners/WorkbenchWindowListener.java | 27 + .../ui/terminals/manager/ConsoleManager.java | 641 ++++++++++++++ .../tcf/te/ui/terminals/nls/Messages.java | 115 +++ .../te/ui/terminals/nls/Messages.properties | 75 ++ .../panels/AbstractConfigurationPanel.java | 202 +++++ .../AbstractExtendedConfigurationPanel.java | 615 ++++++++++++++ .../terminals/services/TerminalService.java | 359 ++++++++ .../streams/AbstractStreamsConnector.java | 174 ++++ .../terminals/streams/InputStreamMonitor.java | 368 ++++++++ .../streams/OutputStreamMonitor.java | 319 +++++++ .../terminals/streams/StreamsConnector.java | 117 +++ .../streams/StreamsLauncherDelegate.java | 115 +++ .../ui/terminals/streams/StreamsSettings.java | 202 +++++ .../tabs/TabCommandFieldHandler.java | 102 +++ .../ui/terminals/tabs/TabDisposeListener.java | 73 ++ .../ui/terminals/tabs/TabFolderManager.java | 794 ++++++++++++++++++ .../terminals/tabs/TabFolderMenuHandler.java | 385 +++++++++ .../tabs/TabFolderSelectionListener.java | 55 ++ .../tabs/TabFolderToolbarHandler.java | 371 ++++++++ .../terminals/tabs/TabTerminalListener.java | 132 +++ .../te/ui/terminals/view/TerminalsView.java | 705 ++++++++++++++++ .../view/TerminalsViewMementoHandler.java | 210 +++++ 225 files changed, 23789 insertions(+) create mode 100644 features/org.eclipse.tcf.te.terminals.feature/.project create mode 100644 features/org.eclipse.tcf.te.terminals.feature/build.properties create mode 100644 features/org.eclipse.tcf.te.terminals.feature/feature.properties create mode 100644 features/org.eclipse.tcf.te.terminals.feature/feature.xml create mode 100644 features/org.eclipse.tcf.te.terminals.feature/p2.inf create mode 100644 features/org.eclipse.tcf.te.terminals.feature/pom.xml create mode 100644 features/org.eclipse.tcf.te.terminals.rse.feature/.project create mode 100644 features/org.eclipse.tcf.te.terminals.rse.feature/build.properties create mode 100644 features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties create mode 100644 features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml create mode 100644 features/org.eclipse.tcf.te.terminals.rse.feature/pom.xml create mode 100644 features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project create mode 100644 features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties create mode 100644 features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tcf.te.terminals.rse.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tcf.te.terminals.sdk.feature/.project create mode 100644 features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties create mode 100644 features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tcf.te.terminals.sdk.feature/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/icons/eview16/terminal_view.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/icons/eview16/terminal_view.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.classpath create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.options create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.project create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/about.html create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/build.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/clcl16/command_input_field.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/command_input_field.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/disconnect.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/command_input_field.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/disconnect.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/icons/eview16/terminal_view.gif create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java create mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java diff --git a/features/org.eclipse.tcf.te.terminals.feature/.project b/features/org.eclipse.tcf.te.terminals.feature/.project new file mode 100644 index 00000000000..9c5ef5a018f --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tcf.te.terminals.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/features/org.eclipse.tcf.te.terminals.feature/build.properties b/features/org.eclipse.tcf.te.terminals.feature/build.properties new file mode 100644 index 00000000000..c8eb6010921 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/build.properties @@ -0,0 +1,13 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +bin.includes = feature.xml,\ + feature.properties,\ + p2.inf +src.includes = feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.properties b/features/org.eclipse.tcf.te.terminals.feature/feature.properties new file mode 100644 index 00000000000..2a3a75ea8ed --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/feature.properties @@ -0,0 +1,38 @@ +################################################################################## +# Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminals View + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Explorer + +# "updateSiteName" property - label for the update site +updateSiteName=Eclipse Update Site + +# "description" property - description of the feature +description=An integrated Eclipse View for the local command prompt (console) or \ + remote hosts (SSH, Telnet, Serial, TCF). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2011, 2014 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html + +################ end of copyright property #################################### diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.feature/feature.xml new file mode 100644 index 00000000000..3da816208d3 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/feature.xml @@ -0,0 +1,95 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tcf.te.terminals.feature/p2.inf b/features/org.eclipse.tcf.te.terminals.feature/p2.inf new file mode 100644 index 00000000000..86a0e388bbc --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/p2.inf @@ -0,0 +1,22 @@ +############################################################################### +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +# Make the org.eclipse.cdt.native feature dependency "optional" since it didn't +# exist in CDT 8.3 and we can also work on top of CDT 8.3. + +# The real dependencies are all properly managed via p2.inf in the +# org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf file. +# The only benefit of requesting the feature here is that it allow pulling in +# additional fragments that we are not aware of in the bundle's p2.inf. + +requires.0.namespace = org.eclipse.equinox.p2.iu +requires.0.name = org.eclipse.cdt.native.feature.group +requires.0.greedy = true +requires.0.optional = true diff --git a/features/org.eclipse.tcf.te.terminals.feature/pom.xml b/features/org.eclipse.tcf.te.terminals.feature/pom.xml new file mode 100644 index 00000000000..b00a96bf5ae --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.feature/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.terminals.feature + eclipse-feature + + + true + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/.project b/features/org.eclipse.tcf.te.terminals.rse.feature/.project new file mode 100644 index 00000000000..70a2da45c60 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.feature/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tcf.te.terminals.rse.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/build.properties b/features/org.eclipse.tcf.te.terminals.rse.feature/build.properties new file mode 100644 index 00000000000..d9e56c50b07 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.feature/build.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +bin.includes = feature.xml,\ + feature.properties +src.includes = feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties b/features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties new file mode 100644 index 00000000000..8713fe75228 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties @@ -0,0 +1,37 @@ +################################################################################## +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Remote System Explorer Terminals View add-in + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Explorer + +# "updateSiteName" property - label for the update site +updateSiteName=Eclipse Update Site + +# "description" property - description of the feature +description=Integrates the Terminals view into the Remote System Explorer. \ + Works on Windows, Linux, Mac and Solaris. Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2014 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html + +################ end of copyright property #################################### diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml new file mode 100644 index 00000000000..4fab2752fc4 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml @@ -0,0 +1,48 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/pom.xml b/features/org.eclipse.tcf.te.terminals.rse.feature/pom.xml new file mode 100644 index 00000000000..00e31fdcebc --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.feature/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.terminals.rse.feature + eclipse-feature + + + true + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project new file mode 100644 index 00000000000..a750dc9c205 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project @@ -0,0 +1,33 @@ + + + org.eclipse.tcf.te.terminals.rse.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + org.eclipse.pde.ds.core.builder + + + + + + org.eclipse.pde.FeatureNature + + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties new file mode 100644 index 00000000000..d9e56c50b07 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +bin.includes = feature.xml,\ + feature.properties +src.includes = feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties new file mode 100644 index 00000000000..23361eb9e6e --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties @@ -0,0 +1,37 @@ +################################################################################## +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Remote System Explorer Terminals View add-in, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Explorer + +# "updateSiteName" property - label for the update site +updateSiteName=Eclipse Update Site + +# "description" property - description of the feature +description=Integrates the Terminals view into the Remote System Explorer. \ + Works on Windows, Linux, Mac and Solaris. Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2014 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html + +################ end of copyright property #################################### diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml new file mode 100644 index 00000000000..b1bfa84c7a7 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml @@ -0,0 +1,38 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/pom.xml b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/pom.xml new file mode 100644 index 00000000000..69a6bdc6c48 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.terminals.rse.sdk.feature + eclipse-feature + + + true + + diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/.project b/features/org.eclipse.tcf.te.terminals.sdk.feature/.project new file mode 100644 index 00000000000..22f1191393b --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.sdk.feature/.project @@ -0,0 +1,33 @@ + + + org.eclipse.tcf.te.terminals.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + org.eclipse.pde.ds.core.builder + + + + + + org.eclipse.pde.FeatureNature + + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties b/features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties new file mode 100644 index 00000000000..d9e56c50b07 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +bin.includes = feature.xml,\ + feature.properties +src.includes = feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties b/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties new file mode 100644 index 00000000000..0ba33f07709 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties @@ -0,0 +1,38 @@ +################################################################################## +# Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Terminals View, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Explorer + +# "updateSiteName" property - label for the update site +updateSiteName=Eclipse Update Site + +# "description" property - description of the feature +description=An integrated Eclipse View for the local command prompt (console) or \ + remote hosts via (SSH, Telnet, Serial, TCF). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2011, 2014 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html + +################ end of copyright property #################################### diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml new file mode 100644 index 00000000000..9cf77cfb5f3 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml @@ -0,0 +1,80 @@ + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/pom.xml b/features/org.eclipse.tcf.te.terminals.sdk.feature/pom.xml new file mode 100644 index 00000000000..57048c75ed8 --- /dev/null +++ b/features/org.eclipse.tcf.te.terminals.sdk.feature/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.terminals.sdk.feature + eclipse-feature + + + true + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.options b/plugins/org.eclipse.tcf.te.ui.terminals.local/.options new file mode 100644 index 00000000000..b396734183f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.ui.terminals.local/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.project b/plugins/org.eclipse.tcf.te.ui.terminals.local/.project new file mode 100644 index 00000000000..f86fbb751ca --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals.local + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 0 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..24dad4464e4 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Tue Oct 11 11:53:38 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..a389bc2fcd7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF @@ -0,0 +1,29 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.local;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin +Bundle-Vendor: %providerName +Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, + org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals.process;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.local.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.local.controls, + org.eclipse.tcf.te.ui.terminals.local.help, + org.eclipse.tcf.te.ui.terminals.local.launcher, + org.eclipse.tcf.te.ui.terminals.local.nls;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.local.showin, + org.eclipse.tcf.te.ui.terminals.local.showin.interfaces, + org.eclipse.tcf.te.ui.terminals.local.showin.preferences diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf new file mode 100644 index 00000000000..9bd5194fa74 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf @@ -0,0 +1,82 @@ +############################################################################### +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +# Most of the dependencies exposed here are actually covered in the feature.xml +# This file ensures that the current bundle has all it needs, even if installed +# without the enclosing org.eclipse.tcf.te.terminals.feature . +# See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 . + +# 1. Make the optional cdt.core dependency non-greedy: Use (or update to proper +# version!) when installed, but do not install automatically since the newer +# org.eclipse.cdt.core.native can satisfy the dependency better. We use this +# trick since CDT 8.3 had no version on export-package yet but we do want +# a version constraint. +requires.0.namespace = org.eclipse.equinox.p2.iu +requires.0.name = org.eclipse.cdt.core +#requires.0.range = [5.6, 6.0) +requires.0.greedy = false +requires.0.optional = true + +#requires.1.namespace = org.eclipse.equinox.p2.iu +#requires.1.name = org.eclipse.cdt.core.native +#requires.1.range = [5.6, 6.0) +#requires.1.greedy = true +#requires.1.optional = true + +# 2. Add the required fragments for local terminal support with proper version. +requires.2.namespace = org.eclipse.equinox.p2.iu +requires.2.name = org.eclipse.cdt.core.aix +#requires.2.range = [5.3, 6.0) +requires.2.filter = (osgi.os=aix) + +requires.3.namespace = org.eclipse.equinox.p2.iu +requires.3.name = org.eclipse.cdt.core.linux +#requires.3.range = [5.2, 6.0) +requires.3.filter = (osgi.os=linux) + +requires.4.namespace = org.eclipse.equinox.p2.iu +requires.4.name = org.eclipse.cdt.core.linux.ppc64 +#requires.4.range = [5.1, 6.0) +requires.4.filter = (&(osgi.os=linux)(osgi.arch=ppc64)) + +requires.5.namespace = org.eclipse.equinox.p2.iu +requires.5.name = org.eclipse.cdt.core.linux.x86 +#requires.5.range = [5.2, 6.0) +requires.5.filter = (&(osgi.os=linux)(osgi.arch=x86)) + +requires.6.namespace = org.eclipse.equinox.p2.iu +requires.6.name = org.eclipse.cdt.core.linux.x86_64 +#requires.6.range = [5.2, 6.0) +requires.6.filter = (&(osgi.os=linux)(osgi.arch=x86_64)) + +requires.7.namespace = org.eclipse.equinox.p2.iu +requires.7.name = org.eclipse.cdt.core.macosx +#requires.7.range = [5.2, 6.0) +requires.7.filter = (osgi.os=macosx) + +requires.8.namespace = org.eclipse.equinox.p2.iu +requires.8.name = org.eclipse.cdt.core.solaris +#requires.8.range = [5.2, 6.0) +requires.8.filter = (&(osgi.os=solaris)(osgi.arch=sparc)) + +requires.9.namespace = org.eclipse.equinox.p2.iu +requires.9.name = org.eclipse.cdt.core.win32 +#requires.9.range = [5.3, 6.0) +requires.9.filter = (osgi.os=win32) + +requires.10.namespace = org.eclipse.equinox.p2.iu +requires.10.name = org.eclipse.cdt.core.win32.x86 +#requires.10.range = [5.2, 6.0) +requires.10.filter = (&(osgi.os=win32)(osgi.arch=x86)) + +requires.11.namespace = org.eclipse.equinox.p2.iu +requires.11.name = org.eclipse.cdt.core.win32.x86_64 +#requires.11.range = [5.2, 6.0) +requires.11.filter = (&(osgi.os=win32)(osgi.arch=x86_64)) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.local/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties new file mode 100644 index 00000000000..a17f48f7453 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties @@ -0,0 +1,17 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + about.html,\ + icons/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml b/plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml new file mode 100644 index 00000000000..2dbe1516c5b --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml @@ -0,0 +1,6 @@ + + + + Add or modify an external executable added to the 'Show In' context menu. + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tcf.te.ui.terminals.local/icons/eview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties new file mode 100644 index 00000000000..2219f89d76e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties @@ -0,0 +1,23 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Terminals Local Connector +providerName = Eclipse.org - Target Explorer + +# ----- Commands and Menu contributions ----- +LocalLauncherDelegate.label=Local Terminal + +command.launch.name=Open Local Terminal on Selection + +menu.showIn.localterminal.label = Terminals + +# ----- Preference Pages ----- + +preference.page.name=Terminals diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml new file mode 100644 index 00000000000..22e2af1c24d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml @@ -0,0 +1,130 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml new file mode 100644 index 00000000000..144c83e1fc1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.local + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java new file mode 100644 index 00000000000..80de64f1c4c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java @@ -0,0 +1,127 @@ +/******************************************************************************* + * Copyright (c) 2012 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + // The scoped preferences instance + private static volatile ScopedEclipsePreferences scopedPreferences; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plug-in. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.local"; //$NON-NLS-1$ + } + + /** + * Return the scoped preferences for this plug-in. + */ + public static ScopedEclipsePreferences getScopedPreferences() { + if (scopedPreferences == null) { + scopedPreferences = new ScopedEclipsePreferences(getUniqueIdentifier()); + } + return scopedPreferences; + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + scopedPreferences = null; + traceHandler = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + super.initializeImageRegistry(registry); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java new file mode 100644 index 00000000000..37b0b12b286 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java @@ -0,0 +1,195 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.controls; + +import java.util.Map; + +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; +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.swt.widgets.Label; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.ui.ISelectionService; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.WorkbenchEncoding; +import org.eclipse.ui.forms.widgets.FormToolkit; +import org.osgi.framework.Bundle; + +/** + * Serial wizard configuration panel implementation. + */ +public class LocalWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { + + private Object resource; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public LocalWizardConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + panel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + // Create the encoding selection combo + createEncodingUI(panel, false); + + // Set the default encoding: + // Default UTF-8 on Mac or Windows for Local, Preferences:Platform encoding otherwise + if (Platform.OS_MACOSX.equals(Platform.getOS()) || Platform.OS_WIN32.equals(Platform.getOS())) { + setEncoding("UTF-8"); //$NON-NLS-1$ + } else { + String encoding = WorkbenchEncoding.getWorkbenchDefaultEncoding(); + if (encoding != null && !"".equals(encoding)) setEncoding(encoding); //$NON-NLS-1$ + } + + // Fill the rest of the panel with a label to be able to + // set a height and width hint for the dialog + Label label = new Label(panel, SWT.HORIZONTAL); + GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + layoutData.widthHint = 300; + layoutData.heightHint = 80; + label.setLayoutData(layoutData); + + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + resource = getSelectionResource(); + } + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + if (data == null) return; + + String value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) setEncoding(value); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + // set the terminal connector id for local terminal + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tcf.te.ui.terminals.local.LocalConnector"); //$NON-NLS-1$ + + // Store the encoding + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + // if we have a IResource selection use the location for working directory + if (resource instanceof org.eclipse.core.resources.IResource){ + String dir = ((org.eclipse.core.resources.IResource)resource).getProject().getLocation().toString(); + data.put(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR, dir); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host){ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add){ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + */ + @Override + public boolean isValid(){ + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + // Save the encodings widget values + doSaveEncodingsWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + // Restore the encodings widget values + doRestoreEncodingsWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isWithHostList() + */ + @Override + public boolean isWithHostList() { + return false; + } + + /** + * Returns the IResource from the current selection + * + * @return the IResource, or null. + */ + private org.eclipse.core.resources.IResource getSelectionResource() { + ISelectionService selectionService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); + ISelection selection = selectionService != null ? selectionService.getSelection() : StructuredSelection.EMPTY; + + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection) selection).getFirstElement(); + if (element instanceof org.eclipse.core.resources.IResource){ + return ((org.eclipse.core.resources.IResource)element); + } + if (element instanceof IAdaptable) { + return (org.eclipse.core.resources.IResource) ((IAdaptable) element).getAdapter(org.eclipse.core.resources.IResource.class); + } + } + return null; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java new file mode 100644 index 00000000000..5f7b4108173 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.help; + +import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; + + +/** + * UI Context help id definitions. + */ +public interface IContextHelpIds { + + /** + * UI plug-in common context help id prefix. + */ + public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$ + + /** + * External executables dialog. + */ + public final static String EXTERNAL_EXECUTABLES_DIALOG = PREFIX + "ExternalExecutablesDialog"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java new file mode 100644 index 00000000000..a6b30a6077e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java @@ -0,0 +1,374 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.launcher; + +import java.io.File; +import java.net.InetAddress; +import java.net.URI; +import java.net.URISyntaxException; +import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.URIUtil; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.local.controls.LocalWizardConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tcf.te.ui.terminals.process.ProcessSettings; +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.ui.ISelectionService; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.WorkbenchEncoding; +import org.osgi.framework.Bundle; + +/** + * Serial launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class LocalLauncherDelegate extends AbstractLauncherDelegate { + + private final IMementoHandler mementoHandler = new LocalMementoHandler(); + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new LocalWizardConfigurationPanel(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // If not configured, set the default encodings for the local terminal + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) { + String encoding = null; + // Set the default encoding: + // Default UTF-8 on Mac or Windows for Local, Preferences:Platform encoding otherwise + if (Platform.OS_MACOSX.equals(Platform.getOS()) || Platform.OS_WIN32.equals(Platform.getOS())) { + encoding = "UTF-8"; //$NON-NLS-1$ + } else { + encoding = WorkbenchEncoding.getWorkbenchDefaultEncoding(); + } + if (encoding != null && !"".equals(encoding)) properties.put(ITerminalsConnectorConstants.PROP_ENCODING, encoding); //$NON-NLS-1$ + } + + // For local terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + // Initialize the local terminal working directory. + // By default, start the local terminal in the users home directory + String initialCwd = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); + String cwd = null; + if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ + cwd = System.getProperty("user.home"); //$NON-NLS-1$ + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd)) { + String eclipseHomeLocation = System.getProperty("eclipse.home.location"); //$NON-NLS-1$ + if (eclipseHomeLocation != null) { + try { + URI uri = URIUtil.fromString(eclipseHomeLocation); + File f = URIUtil.toFile(uri); + cwd = f.getAbsolutePath(); + } catch (URISyntaxException ex) { /* ignored on purpose */ } + } + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd)) { + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation() != null) { + cwd = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString(); + } + } + } else { + IPath p = new Path(initialCwd); + if (p.toFile().canRead() && p.toFile().isDirectory()) { + cwd = p.toOSString(); + } + } + + if (cwd != null && !"".equals(cwd)) { //$NON-NLS-1$ + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR, cwd); + } + + // If the current selection resolved to an folder, default the working directory + // to that folder and update the terminal title + ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); + if ((service != null && service.getSelection() != null) || properties.containsKey(ITerminalsConnectorConstants.PROP_SELECTION)) { + ISelection selection = (ISelection)properties.get(ITerminalsConnectorConstants.PROP_SELECTION); + if (selection == null) selection = service.getSelection(); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + String dir = null; + Iterator iter = ((IStructuredSelection)selection).iterator(); + while (iter.hasNext()) { + Object element = iter.next(); + + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + // If the element is not an IResource, try to adapt to IResource + if (!(element instanceof org.eclipse.core.resources.IResource)) { + Object adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(org.eclipse.core.resources.IResource.class) : null; + if (adapted == null) adapted = Platform.getAdapterManager().getAdapter(element, org.eclipse.core.resources.IResource.class); + if (adapted != null) element = adapted; + } + + if (element instanceof org.eclipse.core.resources.IResource && ((org.eclipse.core.resources.IResource)element).exists()) { + IPath location = ((org.eclipse.core.resources.IResource)element).getLocation(); + if (location == null) continue; + if (location.toFile().isFile()) location = location.removeLastSegments(1); + if (location.toFile().isDirectory() && location.toFile().canRead()) { + dir = location.toFile().getAbsolutePath(); + break; + } + } + } + } + if (dir != null) { + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR, dir); + + String basename = new Path(dir).lastSegment(); + properties.put(ITerminalsConnectorConstants.PROP_TITLE, basename + " (" + terminalTitle + ")"); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /** + * Returns the terminal title string. + *

                                  + * The default implementation constructs a title like "Serial <port> (Start time) ". + * + * @return The terminal title string or null. + */ + private String getTerminalTitle(Map properties) { + try { + String hostname = InetAddress.getLocalHost().getHostName(); + if (hostname != null && !"".equals(hostname.trim())) { //$NON-NLS-1$ + return hostname; + } + } catch (UnknownHostException e) { /* ignored on purpose */ } + return "Local"; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (IMementoHandler.class.equals(adapter)) { + return mementoHandler; + } + return super.getAdapter(adapter); + } + + /** + * Returns the default shell to launch. Looks at the environment + * variable "SHELL" first before assuming some default default values. + * + * @return The default shell to launch. + */ + private final File defaultShell() { + String shell = null; + if (Platform.OS_WIN32.equals(Platform.getOS())) { + if (System.getenv("ComSpec") != null && !"".equals(System.getenv("ComSpec").trim())) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + shell = System.getenv("ComSpec").trim(); //$NON-NLS-1$ + } else { + shell = "cmd.exe"; //$NON-NLS-1$ + } + } + if (shell == null) { + if (System.getenv("SHELL") != null && !"".equals(System.getenv("SHELL").trim())) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + shell = System.getenv("SHELL").trim(); //$NON-NLS-1$ + } else { + shell = "/bin/sh"; //$NON-NLS-1$ + } + } + + return new File(shell); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.local.LocalConnector"; //$NON-NLS-1$ + + // Extract the process properties using defaults + String image; + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_PROCESS_PATH) + || properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH) == null) { + File defaultShell = defaultShell(); + image = defaultShell.isAbsolute() ? defaultShell.getAbsolutePath() : defaultShell.getPath(); + } else { + image = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH); + } + + // Determine if a PTY will be used + boolean isUsingPTY = (properties.get(ITerminalsConnectorConstants.PROP_PROCESS_OBJ) == null && PTY.isSupported(PTY.Mode.TERMINAL)) + || properties.get(ITerminalsConnectorConstants.PROP_PTY_OBJ) instanceof PTY; + + boolean localEcho = false; + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_LOCAL_ECHO) + || !(properties.get(ITerminalsConnectorConstants.PROP_LOCAL_ECHO) instanceof Boolean)) { + // On Windows, turn on local echo by default if no PTY is used (bug 433645) + if (Platform.OS_WIN32.equals(Platform.getOS())) { + localEcho = !isUsingPTY; + } + } else { + localEcho = ((Boolean)properties.get(ITerminalsConnectorConstants.PROP_LOCAL_ECHO)).booleanValue(); + } + + String lineSeparator = null; + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR) + || !(properties.get(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR) instanceof String)) { + // No line separator will be set if a PTY is used + if (!isUsingPTY) { + lineSeparator = Platform.OS_WIN32.equals(Platform.getOS()) ? ILineSeparatorConstants.LINE_SEPARATOR_CRLF : ILineSeparatorConstants.LINE_SEPARATOR_LF; + } + } else { + lineSeparator = (String)properties.get(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR); + } + + String arguments = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ARGS); + Process process = (Process)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_OBJ); + PTY pty = (PTY)properties.get(ITerminalsConnectorConstants.PROP_PTY_OBJ); + ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDOUT_LISTENERS); + ITerminalServiceOutputStreamMonitorListener[] stderrListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDERR_LISTENERS); + String workingDir = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR); + + String[] envp = null; + if (properties.containsKey(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) && + properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) != null && + properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) instanceof String[]){ + envp = (String[])properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT); + } + + // Set the ECLIPSE_HOME and ECLIPSE_WORKSPACE environment variables + List envpList = new ArrayList(); + if (envp != null) envpList.addAll(Arrays.asList(envp)); + + // ECLIPSE_HOME + String eclipseHomeLocation = System.getProperty("eclipse.home.location"); //$NON-NLS-1$ + if (eclipseHomeLocation != null) { + try { + URI uri = URIUtil.fromString(eclipseHomeLocation); + File f = URIUtil.toFile(uri); + envpList.add("ECLIPSE_HOME=" + f.getAbsolutePath()); //$NON-NLS-1$ + } catch (URISyntaxException e) { /* ignored on purpose */ } + } + + // ECLIPSE_WORKSPACE + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation() != null) { + envpList.add("ECLIPSE_WORKSPACE=" + org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); //$NON-NLS-1$ + } + } + + // Convert back into a string array + envp = envpList.toArray(new String[envpList.size()]); + + Assert.isTrue(image != null || process != null); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the process settings + ProcessSettings processSettings = new ProcessSettings(); + processSettings.setImage(image); + processSettings.setArguments(arguments); + processSettings.setProcess(process); + processSettings.setPTY(pty); + processSettings.setLocalEcho(localEcho); + processSettings.setLineSeparator(lineSeparator); + processSettings.setStdOutListeners(stdoutListeners); + processSettings.setStdErrListeners(stderrListeners); + processSettings.setWorkingDir(workingDir); + processSettings.setEnvironment(envp); + + if (properties.containsKey(ITerminalsConnectorConstants.PROP_PROCESS_MERGE_ENVIRONMENT)) { + Object value = properties.get(ITerminalsConnectorConstants.PROP_PROCESS_MERGE_ENVIRONMENT); + processSettings.setMergeWithNativeEnvironment(value instanceof Boolean ? ((Boolean)value).booleanValue() : false); + } + + // And save the settings to the store + processSettings.save(store); + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java new file mode 100644 index 00000000000..00525774d6f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.launcher; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Local terminal launcher handler implementation. + */ +public class LocalLauncherHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + // Get the current selection + ISelection selection = HandlerUtil.getCurrentSelection(event); + + // Get all applicable launcher delegates for the current selection + ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); + // Find the local terminal launcher delegate + ILauncherDelegate delegate = null; + for (ILauncherDelegate candidate : delegates) { + if ("org.eclipse.tcf.te.ui.terminals.local.launcher.local".equals(candidate.getId())) { //$NON-NLS-1$ + delegate = candidate; + break; + } + } + + // Launch the local terminal + if (delegate != null) { + Map properties = new HashMap(); + properties.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegate.getId()); + properties.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + + delegate.execute(properties, null); + } + + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java new file mode 100644 index 00000000000..f4cbb513e43 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.launcher; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.ui.IMemento; + +/** + * SSH terminal connection memento handler implementation. + */ +public class LocalMementoHandler implements IMementoHandler { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void saveState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void restoreState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java new file mode 100644 index 00000000000..5052f96cfb5 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java @@ -0,0 +1,58 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Process terminal connector plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.local.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String ProcessConnector_error_creatingProcess; + + public static String PreferencePage_label; + public static String PreferencePage_executables_label; + public static String PreferencePage_executables_column_name_label; + public static String PreferencePage_executables_column_path_label; + public static String PreferencePage_executables_button_add_label; + public static String PreferencePage_executables_button_edit_label; + public static String PreferencePage_executables_button_remove_label; + public static String PreferencePage_workingDir_label; + public static String PreferencePage_workingDir_userhome_label; + public static String PreferencePage_workingDir_eclipsehome_label; + public static String PreferencePage_workingDir_eclipsews_label; + public static String PreferencePage_workingDir_button_browse; + public static String PreferencePage_workingDir_note_label; + public static String PreferencePage_workingDir_note_text; + + public static String ExternalExecutablesDialog_title_add; + public static String ExternalExecutablesDialog_title_edit; + public static String ExternalExecutablesDialog_button_add; + public static String ExternalExecutablesDialog_button_browse; + public static String ExternalExecutablesDialog_field_path; + public static String ExternalExecutablesDialog_field_name; + public static String ExternalExecutablesDialog_field_args; + public static String ExternalExecutablesDialog_field_icon; + public static String ExternalExecutablesDialog_field_translate; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties new file mode 100644 index 00000000000..626196402ed --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties @@ -0,0 +1,38 @@ +############################################################################### +# Copyright (c) 2012 - 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +ProcessConnector_error_creatingProcess=Exception when creating process. Possibly caused by: {0} + +ExternalExecutablesDialog_title_add=Add External Executable +ExternalExecutablesDialog_title_edit=Edit External Executable +ExternalExecutablesDialog_button_add=Add +ExternalExecutablesDialog_button_browse=Browse... +ExternalExecutablesDialog_field_path=Path: +ExternalExecutablesDialog_field_name=Name: +ExternalExecutablesDialog_field_args=Arguments: +ExternalExecutablesDialog_field_icon=Icon: +ExternalExecutablesDialog_field_translate=Translate Backslashes on Paste + +# ***** Preference Pages ***** + +PreferencePage_label=General settings for Terminals: +PreferencePage_executables_label="Show In ..." Custom Entries +PreferencePage_executables_column_name_label=Name +PreferencePage_executables_column_path_label=Path +PreferencePage_executables_button_add_label=Add... +PreferencePage_executables_button_edit_label=Edit... +PreferencePage_executables_button_remove_label=Remove +PreferencePage_workingDir_label=Local Terminal Initial Working Directory +PreferencePage_workingDir_userhome_label=User home +PreferencePage_workingDir_eclipsehome_label=Eclipse home +PreferencePage_workingDir_eclipsews_label=Eclipse workspace +PreferencePage_workingDir_button_browse=Browse... +PreferencePage_workingDir_note_label=Note: +PreferencePage_workingDir_note_text=The chosen initial working directory might be overwritten by the current selection of the active view. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java new file mode 100644 index 00000000000..6be5842e924 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java @@ -0,0 +1,129 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.ui.ISelectionService; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.actions.CompoundContributionItem; +import org.eclipse.ui.menus.IWorkbenchContribution; +import org.eclipse.ui.services.IServiceLocator; + +/** + * Dynamic "Show In" contribution items implementation. + */ +public class DynamicContributionItems extends CompoundContributionItem implements IWorkbenchContribution { + // Service locator to located the handler service. + protected IServiceLocator serviceLocator; + // Reference to the local terminal launcher delegate + /* default */ ILauncherDelegate delegate; + + /* (non-Javadoc) + * @see org.eclipse.ui.menus.IWorkbenchContribution#initialize(org.eclipse.ui.services.IServiceLocator) + */ + @Override + public void initialize(IServiceLocator serviceLocator) { + this.serviceLocator = serviceLocator; + + // Get the local terminal launcher delegate + delegate = LauncherDelegateManager.getInstance().getLauncherDelegate("org.eclipse.tcf.te.ui.terminals.local.launcher.local", false); //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems() + */ + @Override + protected IContributionItem[] getContributionItems() { + List items = new ArrayList(); + + if (delegate != null) { + List> l = ExternalExecutablesManager.load(); + if (l != null && !l.isEmpty()) { + for (Map executableData : l) { + String name = executableData.get(IExternalExecutablesProperties.PROP_NAME); + String path = executableData.get(IExternalExecutablesProperties.PROP_PATH); + String args = executableData.get(IExternalExecutablesProperties.PROP_ARGS); + String icon = executableData.get(IExternalExecutablesProperties.PROP_ICON); + + String strTranslate = executableData.get(IExternalExecutablesProperties.PROP_TRANSLATE); + boolean translate = strTranslate != null ? Boolean.parseBoolean(strTranslate) : false; + + if (name != null && !"".equals(name) && path != null && !"".equals(path)) { //$NON-NLS-1$ //$NON-NLS-2$ + IAction action = createAction(name, path, args, translate); + + ImageData id = icon != null ? ExternalExecutablesManager.loadImage(icon) : null; + if (id != null) { + ImageDescriptor desc = ImageDescriptor.createFromImageData(id); + if (desc != null) action.setImageDescriptor(desc); + } + + IContributionItem item = new ActionContributionItem(action); + items.add(item); + } + } + } + } + + return items.toArray(new IContributionItem[items.size()]); + } + + /** + * Creates the action to execute. + * + * @param label The label. Must not be null. + * @param path The executable path. Must not be null. + * @param args The executable arguments or null. + * @param translate Translate backslashes. + * + * @return The action to execute. + */ + protected IAction createAction(final String label, final String path, final String args, final boolean translate) { + Assert.isNotNull(label); + Assert.isNotNull(path); + + IAction action = new Action(label) { + @Override + public void run() { + Assert.isNotNull(delegate); + + ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); + ISelection selection = service != null ? service.getSelection() : null; + if (selection != null && selection.isEmpty()) selection = null; + + Map properties = new HashMap(); + properties.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegate.getId()); + if (selection != null) properties.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_PATH, path); + if (args != null) properties.put(ITerminalsConnectorConstants.PROP_PROCESS_ARGS, args); + properties.put(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE, Boolean.valueOf(translate)); + + delegate.execute(properties, null); + } + }; + + return action; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java new file mode 100644 index 00000000000..99aa5b100d5 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java @@ -0,0 +1,460 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin; + +import java.io.File; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tcf.te.ui.terminals.local.help.IContextHelpIds; +import org.eclipse.tcf.te.ui.terminals.local.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.ui.PlatformUI; +import org.osgi.framework.Bundle; + +/** + * External executables dialog implementation. + */ +public class ExternalExecutablesDialog extends TrayDialog { + private String contextHelpId = null; + private final boolean edit; + + private Text name; + /* default */ Text path; + private Text args; + /* default */ Text icon; + private Button translate; + + /* default */ String last_filter_path = null; + /* default */ String last_filter_icon = null; + + private Map executableData; + + /** + * Constructor. + * + * @param shell The parent shell or null. + */ + public ExternalExecutablesDialog(Shell shell, boolean edit) { + super(shell); + this.edit = edit; + + this.contextHelpId = IContextHelpIds.EXTERNAL_EXECUTABLES_DIALOG; + setHelpAvailable(true); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + @Override + protected final Control createDialogArea(Composite parent) { + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, contextHelpId); + } + + // Let the super implementation create the dialog area control + Control control = super.createDialogArea(parent); + // Setup the inner panel as scrollable composite + if (control instanceof Composite) { + ScrolledComposite sc = new ScrolledComposite((Composite)control, SWT.V_SCROLL); + + GridLayout layout = new GridLayout(1, true); + layout.marginHeight = 0; layout.marginWidth = 0; + layout.verticalSpacing = 0; layout.horizontalSpacing = 0; + + sc.setLayout(layout); + sc.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true)); + + sc.setExpandHorizontal(true); + sc.setExpandVertical(true); + + Composite composite = new Composite(sc, SWT.NONE); + composite.setLayout(new GridLayout()); + + // Setup the dialog area content + createDialogAreaContent(composite); + + sc.setContent(composite); + sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); + + // Return the scrolled composite as new dialog area control + control = sc; + } + + return control; + } + + /** + * Creates the dialog area content. + * + * @param parent The parent composite. Must not be null. + */ + protected void createDialogAreaContent(Composite parent) { + Assert.isNotNull(parent); + + setDialogTitle(edit ? Messages.ExternalExecutablesDialog_title_edit : Messages.ExternalExecutablesDialog_title_add); + + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + GridData layoutData = new GridData(SWT.FILL, SWT.CENTER, true, true); + layoutData.widthHint = convertWidthInCharsToPixels(50); + panel.setLayoutData(layoutData); + + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ExternalExecutablesDialog_field_name); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + label.setLayoutData(layoutData); + + name = new Text(panel, SWT.HORIZONTAL | SWT.SINGLE | SWT.BORDER); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = convertWidthInCharsToPixels(30); + name.setLayoutData(layoutData); + name.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + validate(); + } + }); + + label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ExternalExecutablesDialog_field_path); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + label.setLayoutData(layoutData); + + Composite panel2 = new Composite(panel, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel2.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + panel2.setLayoutData(layoutData); + + path = new Text(panel2, SWT.HORIZONTAL | SWT.SINGLE | SWT.BORDER); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = convertWidthInCharsToPixels(30); + path.setLayoutData(layoutData); + path.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + validate(); + } + }); + + Button button = new Button(panel2, SWT.PUSH); + button.setText(Messages.ExternalExecutablesDialog_button_browse); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + layoutData.widthHint = convertWidthInCharsToPixels(10); + button.setLayoutData(layoutData); + button.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + FileDialog dialog = new FileDialog(getShell(), SWT.OPEN); + + String selectedFile = path.getText(); + if (selectedFile != null && selectedFile.trim().length() > 0) { + IPath filePath = new Path(selectedFile); + // If the selected file points to an directory, use the directory as is + IPath filterPath = filePath.toFile().isDirectory() ? filePath : filePath.removeLastSegments(1); + while (filterPath != null && filterPath.segmentCount() > 1 && !filterPath.toFile().exists()) { + filterPath = filterPath.removeLastSegments(1); + } + String filterFileName = filePath.toFile().isDirectory() || !filePath.toFile().exists() ? null : filePath.lastSegment(); + + if (filterPath != null && !filterPath.isEmpty()) dialog.setFilterPath(filterPath.toString()); + if (filterFileName != null) dialog.setFileName(filterFileName); + } else { + String workspace = null; + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + workspace = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString(); + } + + String filterPath = last_filter_path != null ? last_filter_path : workspace; + dialog.setFilterPath(filterPath); + } + + selectedFile = dialog.open(); + if (selectedFile != null) { + last_filter_path = dialog.getFilterPath(); + path.setText(selectedFile); + } + } + }); + + label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ExternalExecutablesDialog_field_args); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + label.setLayoutData(layoutData); + + args = new Text(panel, SWT.HORIZONTAL | SWT.SINGLE | SWT.BORDER); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = convertWidthInCharsToPixels(30); + args.setLayoutData(layoutData); + args.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + validate(); + } + }); + + label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ExternalExecutablesDialog_field_icon); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + label.setLayoutData(layoutData); + + panel2 = new Composite(panel, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel2.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + panel2.setLayoutData(layoutData); + + icon = new Text(panel2, SWT.HORIZONTAL | SWT.SINGLE | SWT.BORDER); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = convertWidthInCharsToPixels(30); + icon.setLayoutData(layoutData); + icon.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + validate(); + } + }); + + button = new Button(panel2, SWT.PUSH); + button.setText(Messages.ExternalExecutablesDialog_button_browse); + layoutData = new GridData(SWT.BEGINNING, SWT.CENTER, false, false); + layoutData.widthHint = convertWidthInCharsToPixels(10); + button.setLayoutData(layoutData); + button.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + FileDialog dialog = new FileDialog(getShell(), SWT.OPEN); + + String selectedFile = icon.getText(); + if (selectedFile != null && selectedFile.trim().length() > 0) { + IPath filePath = new Path(selectedFile); + // If the selected file points to an directory, use the directory as is + IPath filterPath = filePath.toFile().isDirectory() ? filePath : filePath.removeLastSegments(1); + while (filterPath != null && filterPath.segmentCount() > 1 && !filterPath.toFile().exists()) { + filterPath = filterPath.removeLastSegments(1); + } + String filterFileName = filePath.toFile().isDirectory() || !filePath.toFile().exists() ? null : filePath.lastSegment(); + + if (filterPath != null && !filterPath.isEmpty()) dialog.setFilterPath(filterPath.toString()); + if (filterFileName != null) dialog.setFileName(filterFileName); + } else { + String workspace = null; + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + workspace = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString(); + } + + String filterPath = last_filter_icon != null ? last_filter_icon : workspace; + dialog.setFilterPath(filterPath); + } + + selectedFile = dialog.open(); + if (selectedFile != null) { + last_filter_icon = dialog.getFilterPath(); + icon.setText(selectedFile); + } + } + }); + + translate = new Button(panel, SWT.CHECK); + translate.setText(Messages.ExternalExecutablesDialog_field_translate); + layoutData = new GridData(SWT.FILL, SWT.TOP, true, false); + layoutData.horizontalSpan = 2; + translate.setLayoutData(layoutData); + translate.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + validate(); + } + }); + + if (executableData != null) { + String value = executableData.get(IExternalExecutablesProperties.PROP_NAME); + name.setText(value != null && !"".equals(value.trim()) ? value : ""); //$NON-NLS-1$ //$NON-NLS-2$ + value = executableData.get(IExternalExecutablesProperties.PROP_PATH); + path.setText(value != null && !"".equals(value.trim()) ? value : ""); //$NON-NLS-1$ //$NON-NLS-2$ + value = executableData.get(IExternalExecutablesProperties.PROP_ARGS); + args.setText(value != null && !"".equals(value.trim()) ? value : ""); //$NON-NLS-1$ //$NON-NLS-2$ + value = executableData.get(IExternalExecutablesProperties.PROP_ICON); + icon.setText(value != null && !"".equals(value.trim()) ? value : ""); //$NON-NLS-1$ //$NON-NLS-2$ + value = executableData.get(IExternalExecutablesProperties.PROP_TRANSLATE); + translate.setSelection(value != null ? Boolean.parseBoolean(value) : false); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.TrayDialog#createButtonBar(org.eclipse.swt.widgets.Composite) + */ + @Override + protected Control createButtonBar(Composite parent) { + Control control = super.createButtonBar(parent); + validate(); + return control; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createButton(org.eclipse.swt.widgets.Composite, int, java.lang.String, boolean) + */ + @Override + protected Button createButton(Composite parent, int id, String label, boolean defaultButton) { + if (IDialogConstants.OK_ID == id && !edit) { + label = Messages.ExternalExecutablesDialog_button_add; + } + return super.createButton(parent, id, label, defaultButton); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.jface.dialogs.CustomTrayDialog#okPressed() + */ + @Override + protected void okPressed() { + if (name != null && path != null) { + // Extract the executable properties + if (executableData == null) executableData = new HashMap(); + + String value = name.getText(); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + executableData.put(IExternalExecutablesProperties.PROP_NAME, value); + } else { + executableData.remove(IExternalExecutablesProperties.PROP_NAME); + } + + value = path.getText(); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + executableData.put(IExternalExecutablesProperties.PROP_PATH, value); + } else { + executableData.remove(IExternalExecutablesProperties.PROP_PATH); + } + + value = args.getText(); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + executableData.put(IExternalExecutablesProperties.PROP_ARGS, value); + } else { + executableData.remove(IExternalExecutablesProperties.PROP_ARGS); + } + + value = icon.getText(); + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + executableData.put(IExternalExecutablesProperties.PROP_ICON, value); + } else { + executableData.remove(IExternalExecutablesProperties.PROP_ICON); + } + + if (translate.getSelection()) { + executableData.put(IExternalExecutablesProperties.PROP_TRANSLATE, Boolean.TRUE.toString()); + } else { + executableData.remove(IExternalExecutablesProperties.PROP_TRANSLATE); + } + } else { + executableData = null; + } + super.okPressed(); + } + + @Override + protected void cancelPressed() { + // If the user pressed cancel, the dialog needs to return null + executableData = null; + super.cancelPressed(); + } + + /** + * Returns the executable properties the user entered. + * + * @return The executable properties or null. + */ + public Map getExecutableData() { + return executableData; + } + + /** + * Set or reset the executable properties. This method has effect + * only if called before opening the dialog. + * + * @param data The executable properties or null. + */ + public void setExecutableData(Map data) { + if (data == null) { + executableData = data; + } else { + executableData = new HashMap(data); + } + } + + /** + * Validate the dialog. + */ + public void validate() { + boolean valid = true; + + if (name != null && !name.isDisposed()) { + valid = !"".equals(name.getText()); //$NON-NLS-1$ + } + + if (path != null && !path.isDisposed()) { + String value = path.getText(); + if (!"".equals(value)) { //$NON-NLS-1$ + File f = new File(value); + valid |= f.isAbsolute() && f.canRead(); + } else { + valid = false; + } + } + + if (icon != null && !icon.isDisposed()) { + String value = icon.getText(); + if (!"".equals(value)) { //$NON-NLS-1$ + File f = new File(value); + valid |= f.isAbsolute() && f.canRead(); + } + } + + Button okButton = getButton(IDialogConstants.OK_ID); + if (okButton != null) okButton.setEnabled(valid); + } + + /** + * Sets the title for this dialog. + * + * @param title The title. + */ + public void setDialogTitle(String title) { + if (getShell() != null && !getShell().isDisposed()) { + getShell().setText(title); + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java new file mode 100644 index 00000000000..1bcca4a52c1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin; + +import java.io.File; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.StringTokenizer; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.ui.IStartup; + +/** + * External executables data initializer. + */ +public class ExternalExecutablesInitializer implements IStartup { + + /* (non-Javadoc) + * @see org.eclipse.ui.IStartup#earlyStartup() + */ + @Override + public void earlyStartup() { + // On Windows, initialize the "Git Bash" custom "Show In" menu entry + if (Platform.OS_WIN32.equals(Platform.getOS())) { + String gitPath = null; + String iconPath = null; + + String path = System.getenv("PATH"); //$NON-NLS-1$ + if (path != null) { + StringTokenizer tokenizer = new StringTokenizer(path, ";"); //$NON-NLS-1$ + while (tokenizer.hasMoreTokens()) { + String token = tokenizer.nextToken(); + File f = new File(token, "git.exe"); //$NON-NLS-1$ + if (f.canRead()) { + File f2 = new File(f.getParentFile().getParentFile(), "bin/sh.exe"); //$NON-NLS-1$ + if (f2.canExecute()) { + gitPath = f2.getAbsolutePath(); + } + + f2 = new File(f.getParentFile().getParentFile(), "etc/git.ico"); //$NON-NLS-1$ + if (f2.canRead()) { + iconPath = f2.getAbsolutePath(); + } + + break; + } + } + } + + if (gitPath != null) { + // Load the configured external executables + List> l = ExternalExecutablesManager.load(); + if (l == null) l = new ArrayList>(); + // Find a entry labeled "Git Bash" + Map m = null; + for (Map candidate : l) { + String name = candidate.get(IExternalExecutablesProperties.PROP_NAME); + if ("Git Bash".equals(name)) { //$NON-NLS-1$ + m = candidate; + break; + } + } + + if (m == null) { + m = new HashMap(); + m.put(IExternalExecutablesProperties.PROP_NAME, "Git Bash"); //$NON-NLS-1$ + m.put(IExternalExecutablesProperties.PROP_PATH, gitPath); + m.put(IExternalExecutablesProperties.PROP_ARGS, "--login -i"); //$NON-NLS-1$ + if (iconPath != null) m.put(IExternalExecutablesProperties.PROP_ICON, iconPath); + m.put(IExternalExecutablesProperties.PROP_TRANSLATE, Boolean.TRUE.toString()); + + l.add(m); + ExternalExecutablesManager.save(l); + } + } + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java new file mode 100644 index 00000000000..1e797d92f08 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin; + +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Properties; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Platform; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.ImageLoader; +import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; + +/** + * External executables manager implementation. + */ +public class ExternalExecutablesManager { + + /** + * Loads the list of all saved external executables. + * + * @return The list of all saved external executables or null. + */ + public static List> load() { + List> l = new ArrayList>(); + + IPath stateLocation = UIPlugin.getDefault().getStateLocation(); + if (stateLocation != null) { + File f = stateLocation.append(".executables/data.properties").toFile(); //$NON-NLS-1$ + if (f.canRead()) { + FileReader r = null; + + try { + Properties data = new Properties(); + r= new FileReader(f); + data.load(r); + + Map> c = new HashMap>(); + for (String name : data.stringPropertyNames()) { + if (name == null || name.indexOf('.') == -1) continue; + int ix = name.indexOf('.'); + String n = name.substring(0, ix); + String k = (ix + 1) < name.length() ? name.substring(ix + 1) : null; + if (n == null || k == null) continue; + + Integer i = null; + try { i = Integer.decode(n); } catch (NumberFormatException e) { /* ignored on purpose */ } + if (i == null) continue; + + Map m = c.get(i); + if (m == null) { + m = new HashMap(); + c.put(i, m); + } + Assert.isNotNull(m); + + m.put(k, data.getProperty(name)); + } + + List k = new ArrayList(c.keySet()); + Collections.sort(k); + for (Integer i : k) { + Map m = c.get(i); + if (m != null && !m.isEmpty()) l.add(m); + } + } catch (Exception e) { + if (Platform.inDebugMode()) { + e.printStackTrace(); + } + } finally { + if (r != null) try { r.close(); } catch (IOException e) { /* ignored on purpose */ } + } + } + } + + return l; + } + + /** + * Saves the list of external executables. + * + * @param l The list of external executables or null. + */ + public static void save(List> l) { + IPath stateLocation = UIPlugin.getDefault().getStateLocation(); + if (stateLocation != null) { + File f = stateLocation.append(".executables/data.properties").toFile(); //$NON-NLS-1$ + if (f.isFile() && (l == null || l.isEmpty())) { + @SuppressWarnings("unused") + boolean s = f.delete(); + } else { + FileWriter w = null; + + try { + Properties data = new Properties(); + for (int i = 0; i < l.size(); i++) { + Map m = l.get(i); + for (Entry e : m.entrySet()) { + String key = Integer.toString(i) + "." + e.getKey(); //$NON-NLS-1$ + data.setProperty(key, e.getValue()); + } + } + + if (!f.exists()) { + @SuppressWarnings("unused") + boolean s = f.getParentFile().mkdirs(); + s = f.createNewFile(); + } + w = new FileWriter(f); + data.store(w, null); + } catch (Exception e) { + if (Platform.inDebugMode()) { + e.printStackTrace(); + } + } finally { + if (w != null) { + try { + w.flush(); + w.close(); + } catch (IOException e) { + /* ignored on purpose */ + } + } + } + } + } + } + + /** + * Loads the image data suitable for showing an icon in a menu + * (16 x 16, 8bit depth) from the given file. + * + * @param path The image file path. Must not be null. + * @return The image data or null. + */ + public static ImageData loadImage(String path) { + Assert.isNotNull(path); + + ImageData id = null; + + ImageLoader loader = new ImageLoader(); + ImageData[] data = loader.load(path); + + if (data != null) { + for (ImageData d : data) { + if (d.height == 16 && d.width == 16) { + if (id == null || id.height != 16 && id.width != 16) { + id = d; + } else if (d.depth < id.depth && d.depth >= 8){ + id = d; + } + } else { + if (id == null) { + id = d; + } else if (id.height != 16 && d.height < id.height && id.width != 16 && d.width < id.width) { + id = d; + } + } + } + } + + return id; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java new file mode 100644 index 00000000000..daf625d045c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin.interfaces; + +/** + * External executables data property names. + */ +public interface IExternalExecutablesProperties { + + /** + * The name/label of the external executable. + */ + public final String PROP_NAME = "Name"; //$NON-NLS-1$ + + /** + * The absolute path of the external executable. + */ + public final String PROP_PATH = "Path"; //$NON-NLS-1$ + + /** + * The arguments to pass to the external executable. + */ + public final String PROP_ARGS = "Args"; //$NON-NLS-1$ + + /** + * The absolute path to the icon representing the external executable. + */ + public final String PROP_ICON = "Icon"; //$NON-NLS-1$ + + /** + * If set, backslashes are translated to forward slashes on paste. + */ + public final String PROP_TRANSLATE = "Translate"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java new file mode 100644 index 00000000000..6bf6c3444cf --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin.interfaces; + +/** + * Terminals plug-in preference key definitions. + */ +public interface IPreferenceKeys { + /** + * Preference keys family prefix. + */ + public final String PREF_TERMINAL = "terminals"; //$NON-NLS-1$ + + /** + * Preference key: Remove terminated terminals when a new terminal is created. + */ + public final String PREF_LOCAL_TERMINAL_INITIAL_CWD = PREF_TERMINAL + ".localTerminalInitialCwd"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "User home" + */ + public final String PREF_INITIAL_CWD_USER_HOME = "userhome"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "Eclipse home" + */ + public final String PREF_INITIAL_CWD_ECLIPSE_HOME = "eclipsehome"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "Eclipse workspace" + */ + public final String PREF_INITIAL_CWD_ECLIPSE_WS = "eclipsews"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java new file mode 100644 index 00000000000..9b4470a86bb --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java @@ -0,0 +1,490 @@ +/******************************************************************************* + * Copyright (c) 2014 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin.preferences; + +import java.io.File; +import java.net.URI; +import java.net.URISyntaxException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.URIUtil; +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.viewers.ColumnViewerToolTipSupport; +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ILabelProviderListener; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredContentProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ITableLabelProvider; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.Viewer; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.GC; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.DirectoryDialog; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.tcf.te.ui.terminals.controls.NoteCompositeHelper; +import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.local.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.local.showin.ExternalExecutablesDialog; +import org.eclipse.tcf.te.ui.terminals.local.showin.ExternalExecutablesManager; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchPreferencePage; +import org.osgi.framework.Bundle; + +/** + * Terminals top preference page implementation. + */ +public class PreferencePage extends org.eclipse.jface.preference.PreferencePage implements IWorkbenchPreferencePage { + /* default */ TableViewer viewer; + private Button addButton; + private Button editButton; + private Button removeButton; + /* default */ Combo workingDir; + private Button browseButton; + + /* default */ final List> executables = new ArrayList>(); + /* default */ final Map images = new HashMap(); + + /* default */ static final Object[] NO_ELEMENTS = new Object[0]; + + /* (non-Javadoc) + * @see org.eclipse.ui.IWorkbenchPreferencePage#init(org.eclipse.ui.IWorkbench) + */ + @Override + public void init(IWorkbench workbench) { + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.PreferencePage#createContents(org.eclipse.swt.widgets.Composite) + */ + @Override + protected Control createContents(final Composite parent) { + final GC gc = new GC(parent); + gc.setFont(JFaceResources.getDialogFont()); + + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); + panel.setLayoutData(layoutData); + + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.PreferencePage_label); + label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + Group group = new Group(panel, SWT.NONE); + group.setText(Messages.PreferencePage_workingDir_label); + group.setLayout(new GridLayout(2, false)); + group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); + + workingDir = new Combo(group, SWT.DROP_DOWN); + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label, Messages.PreferencePage_workingDir_eclipsews_label }); + } else { + workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label }); + } + workingDir.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + workingDir.select(0); + + browseButton = new Button(group, SWT.PUSH); + browseButton.setText(Messages.PreferencePage_workingDir_button_browse); + layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); + browseButton.setLayoutData(layoutData); + browseButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + IPath uh = null; + IPath eh = null; + IPath ew = null; + + // HOME + String home = System.getProperty("user.home"); //$NON-NLS-1$ + if (home != null && !"".equals(home)) uh = new Path(home); //$NON-NLS-1$ + + // ECLIPSE_HOME + String eclipseHomeLocation = System.getProperty("eclipse.home.location"); //$NON-NLS-1$ + if (eclipseHomeLocation != null) { + try { + URI uri = URIUtil.fromString(eclipseHomeLocation); + File f = URIUtil.toFile(uri); + eh = new Path(f.getAbsolutePath()); + } catch (URISyntaxException ex) { /* ignored on purpose */ } + } + + // ECLIPSE_WORKSPACE + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null + && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation() != null) { + ew = org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation(); + } + } + + DirectoryDialog dialog = new DirectoryDialog(parent.getShell(), SWT.OPEN); + + // Determine the filter path + String text = workingDir.getText(); + if (Messages.PreferencePage_workingDir_userhome_label.equals(text)) { + dialog.setFilterPath(uh.toOSString()); + } else if (Messages.PreferencePage_workingDir_eclipsehome_label.equals(text)) { + dialog.setFilterPath(eh.toOSString()); + } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { + dialog.setFilterPath(ew.toOSString()); + } else if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ + dialog.setFilterPath(text.trim()); + } + + String selected = dialog.open(); + if (selected != null) { + IPath sp = new Path(selected); + + if (uh.equals(sp)) { + workingDir.select(0); + } else if (eh.equals(sp)) { + workingDir.select(1); + } else if (ew.equals(sp)) { + workingDir.select(2); + } else { + workingDir.setText(sp.toOSString()); + } + } + } + }); + + String initialCwd = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); + if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ + workingDir.select(0); + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd)) { + workingDir.select(1); + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd)) { + workingDir.select(2); + } else { + workingDir.setText(new Path(initialCwd).toOSString()); + } + + NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_workingDir_note_label, Messages.PreferencePage_workingDir_note_text); + + group = new Group(panel, SWT.NONE); + group.setText(Messages.PreferencePage_executables_label); + group.setLayout(new GridLayout(2, false)); + group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); + + viewer = new TableViewer(group, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER | SWT.FULL_SELECTION); + + Table table = viewer.getTable(); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn column = new TableColumn(table, SWT.LEFT); + column.setText(Messages.PreferencePage_executables_column_name_label); + column = new TableColumn(table, SWT.LEFT); + column.setText(Messages.PreferencePage_executables_column_path_label); + + ColumnViewerToolTipSupport.enableFor(viewer); + + TableLayout tableLayout = new TableLayout(); + tableLayout.addColumnData(new ColumnWeightData(35)); + tableLayout.addColumnData(new ColumnWeightData(65)); + table.setLayout(tableLayout); + + layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + layoutData.heightHint = Dialog.convertHeightInCharsToPixels(gc.getFontMetrics(), 10); + table.setLayoutData(layoutData); + + Composite buttonsPanel = new Composite(group, SWT.NONE); + GridLayout layout = new GridLayout(); + layout.marginHeight = 0; layout.marginWidth = 0; + buttonsPanel.setLayout(layout); + buttonsPanel.setLayoutData(new GridData(SWT.LEAD, SWT.BEGINNING, false, false)); + + addButton = new Button(buttonsPanel, SWT.PUSH); + addButton.setText(Messages.PreferencePage_executables_button_add_label); + layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); + addButton.setLayoutData(layoutData); + addButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + ExternalExecutablesDialog dialog = new ExternalExecutablesDialog(PreferencePage.this.getShell(), false); + if (dialog.open() == Window.OK) { + // Get the executable properties and add it to the the list + Map executableData = dialog.getExecutableData(); + if (executableData != null && !executables.contains(executableData)) { + executables.add(executableData); + viewer.refresh(); + } + } + } + }); + + editButton = new Button(buttonsPanel, SWT.PUSH); + editButton.setText(Messages.PreferencePage_executables_button_edit_label); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); + editButton.setLayoutData(layoutData); + editButton.addSelectionListener(new SelectionAdapter() { + @SuppressWarnings("unchecked") + @Override + public void widgetSelected(SelectionEvent e) { + ISelection s = viewer.getSelection(); + if (s instanceof IStructuredSelection && !s.isEmpty()) { + Object element = ((IStructuredSelection)s).getFirstElement(); + if (element instanceof Map) { + final Map m = (Map)element; + ExternalExecutablesDialog dialog = new ExternalExecutablesDialog(PreferencePage.this.getShell(), true); + dialog.setExecutableData(m); + if (dialog.open() == Window.OK) { + Map executableData = dialog.getExecutableData(); + if (executableData != null) { + m.clear(); + m.putAll(executableData); + viewer.refresh(); + } + } + } + } + } + }); + + removeButton = new Button(buttonsPanel, SWT.PUSH); + removeButton.setText(Messages.PreferencePage_executables_button_remove_label); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); + removeButton.setLayoutData(layoutData); + removeButton.addSelectionListener(new SelectionAdapter() { + @SuppressWarnings("unchecked") + @Override + public void widgetSelected(SelectionEvent e) { + ISelection s = viewer.getSelection(); + if (s instanceof IStructuredSelection && !s.isEmpty()) { + Iterator iterator = ((IStructuredSelection)s).iterator(); + while (iterator.hasNext()) { + Object element = iterator.next(); + if (element instanceof Map) { + Map m = (Map)element; + executables.remove(m); + } + viewer.refresh(); + } + } + } + }); + + viewer.setContentProvider(new IStructuredContentProvider() { + @Override + public Object[] getElements(Object inputElement) { + if (inputElement instanceof List && !((List)inputElement).isEmpty()) { + return ((List)inputElement).toArray(); + } + return NO_ELEMENTS; + } + + @Override + public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { + } + + @Override + public void dispose() { + } + }); + + viewer.setLabelProvider(new ITableLabelProvider() { + @SuppressWarnings("unchecked") + @Override + public String getColumnText(Object element, int columnIndex) { + if (element instanceof Map) { + Map m = (Map)element; + + switch (columnIndex) { + case 0: + return (String)m.get(IExternalExecutablesProperties.PROP_NAME); + case 1: + return (String)m.get(IExternalExecutablesProperties.PROP_PATH); + } + } + return null; + } + + @SuppressWarnings("unchecked") + @Override + public Image getColumnImage(Object element, int columnIndex) { + Image i = null; + + if (element instanceof Map) { + switch (columnIndex) { + case 0: + Map m = (Map)element; + String icon = (String) m.get(IExternalExecutablesProperties.PROP_ICON); + if (icon != null) { + i = images.get(icon); + if (i == null) { + ImageData id = ExternalExecutablesManager.loadImage(icon); + if (id != null) { + ImageDescriptor d = ImageDescriptor.createFromImageData(id); + if (d != null) i = d.createImage(); + if (i != null) images.put(icon, i); + } + } + } + break; + case 1: + break; + } + } + + return i; + } + + @Override + public void removeListener(ILabelProviderListener listener) { + } + + @Override + public boolean isLabelProperty(Object element, String property) { + return false; + } + + @Override + public void dispose() { + } + + @Override + public void addListener(ILabelProviderListener listener) { + } + }); + + List> l = ExternalExecutablesManager.load(); + if (l != null) executables.addAll(l); + + viewer.setInput(executables); + + viewer.addPostSelectionChangedListener(new ISelectionChangedListener() { + @Override + public void selectionChanged(SelectionChangedEvent event) { + updateButtons(); + } + }); + + updateButtons(); + + gc.dispose(); + + return panel; + } + + /** + * Updates the button states. + */ + protected void updateButtons() { + if (viewer != null) { + addButton.setEnabled(true); + + ISelection selection = viewer.getSelection(); + + boolean hasSelection = selection != null && !selection.isEmpty(); + int count = selection instanceof IStructuredSelection ? ((IStructuredSelection)selection).size() : 0; + + editButton.setEnabled(hasSelection && count == 1); + removeButton.setEnabled(hasSelection && count > 0); + } else { + addButton.setEnabled(false); + editButton.setEnabled(false); + removeButton.setEnabled(false); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.PreferencePage#performDefaults() + */ + @Override + protected void performDefaults() { + String initialCwd = UIPlugin.getScopedPreferences().getDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); + if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ + workingDir.select(0); + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd)) { + workingDir.select(1); + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd)) { + workingDir.select(2); + } else { + workingDir.setText(new Path(initialCwd).toOSString()); + } + + executables.clear(); + List> l = ExternalExecutablesManager.load(); + if (l != null) executables.addAll(l); + viewer.refresh(); + + super.performDefaults(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.preference.PreferencePage#performOk() + */ + @Override + public boolean performOk() { + String text = workingDir.getText(); + if (text == null || Messages.PreferencePage_workingDir_userhome_label.equals(text) || "".equals(text.trim())) { //$NON-NLS-1$ + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, null); + } else if (Messages.PreferencePage_workingDir_eclipsehome_label.equals(text)) { + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME); + } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS); + } else { + IPath p = new Path(text.trim()); + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, p.toFile().canRead() && p.toFile().isDirectory() ? p.toString() : null); + } + + ExternalExecutablesManager.save(executables); + + return super.performOk(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.DialogPage#dispose() + */ + @Override + public void dispose() { + for (Image i : images.values()) { + i.dispose(); + } + images.clear(); + super.dispose(); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java new file mode 100644 index 00000000000..11d7d9d1b64 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.local.showin.preferences; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; + +/** + * Terminals default preferences initializer. + */ +public class PreferencesInitializer extends AbstractPreferenceInitializer { + + /** + * Constructor. + */ + public PreferencesInitializer() { + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + @Override + public void initializeDefaultPreferences() { + ScopedEclipsePreferences prefs = UIPlugin.getScopedPreferences(); + + prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.options b/plugins/org.eclipse.tcf.te.ui.terminals.process/.options new file mode 100644 index 00000000000..a9f0396bb4e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.ui.terminals.process/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.project b/plugins/org.eclipse.tcf.te.ui.terminals.process/.project new file mode 100644 index 00000000000..65fc5f297b3 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals.process + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 1329502082911 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..24dad4464e4 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Tue Oct 11 11:53:38 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..d407d48271e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF @@ -0,0 +1,24 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.process;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.process.activator.UIPlugin +Bundle-Vendor: %providerName +Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native, + org.eclipse.cdt.utils.spawner;mandatory:=native +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, + org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.process, + org.eclipse.tcf.te.ui.terminals.process.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.process.help, + org.eclipse.tcf.te.ui.terminals.process.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf b/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf new file mode 100644 index 00000000000..9bd5194fa74 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf @@ -0,0 +1,82 @@ +############################################################################### +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +# Most of the dependencies exposed here are actually covered in the feature.xml +# This file ensures that the current bundle has all it needs, even if installed +# without the enclosing org.eclipse.tcf.te.terminals.feature . +# See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 . + +# 1. Make the optional cdt.core dependency non-greedy: Use (or update to proper +# version!) when installed, but do not install automatically since the newer +# org.eclipse.cdt.core.native can satisfy the dependency better. We use this +# trick since CDT 8.3 had no version on export-package yet but we do want +# a version constraint. +requires.0.namespace = org.eclipse.equinox.p2.iu +requires.0.name = org.eclipse.cdt.core +#requires.0.range = [5.6, 6.0) +requires.0.greedy = false +requires.0.optional = true + +#requires.1.namespace = org.eclipse.equinox.p2.iu +#requires.1.name = org.eclipse.cdt.core.native +#requires.1.range = [5.6, 6.0) +#requires.1.greedy = true +#requires.1.optional = true + +# 2. Add the required fragments for local terminal support with proper version. +requires.2.namespace = org.eclipse.equinox.p2.iu +requires.2.name = org.eclipse.cdt.core.aix +#requires.2.range = [5.3, 6.0) +requires.2.filter = (osgi.os=aix) + +requires.3.namespace = org.eclipse.equinox.p2.iu +requires.3.name = org.eclipse.cdt.core.linux +#requires.3.range = [5.2, 6.0) +requires.3.filter = (osgi.os=linux) + +requires.4.namespace = org.eclipse.equinox.p2.iu +requires.4.name = org.eclipse.cdt.core.linux.ppc64 +#requires.4.range = [5.1, 6.0) +requires.4.filter = (&(osgi.os=linux)(osgi.arch=ppc64)) + +requires.5.namespace = org.eclipse.equinox.p2.iu +requires.5.name = org.eclipse.cdt.core.linux.x86 +#requires.5.range = [5.2, 6.0) +requires.5.filter = (&(osgi.os=linux)(osgi.arch=x86)) + +requires.6.namespace = org.eclipse.equinox.p2.iu +requires.6.name = org.eclipse.cdt.core.linux.x86_64 +#requires.6.range = [5.2, 6.0) +requires.6.filter = (&(osgi.os=linux)(osgi.arch=x86_64)) + +requires.7.namespace = org.eclipse.equinox.p2.iu +requires.7.name = org.eclipse.cdt.core.macosx +#requires.7.range = [5.2, 6.0) +requires.7.filter = (osgi.os=macosx) + +requires.8.namespace = org.eclipse.equinox.p2.iu +requires.8.name = org.eclipse.cdt.core.solaris +#requires.8.range = [5.2, 6.0) +requires.8.filter = (&(osgi.os=solaris)(osgi.arch=sparc)) + +requires.9.namespace = org.eclipse.equinox.p2.iu +requires.9.name = org.eclipse.cdt.core.win32 +#requires.9.range = [5.3, 6.0) +requires.9.filter = (osgi.os=win32) + +requires.10.namespace = org.eclipse.equinox.p2.iu +requires.10.name = org.eclipse.cdt.core.win32.x86 +#requires.10.range = [5.2, 6.0) +requires.10.filter = (&(osgi.os=win32)(osgi.arch=x86)) + +requires.11.namespace = org.eclipse.equinox.p2.iu +requires.11.name = org.eclipse.cdt.core.win32.x86_64 +#requires.11.range = [5.2, 6.0) +requires.11.filter = (&(osgi.os=win32)(osgi.arch=x86_64)) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.process/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties new file mode 100644 index 00000000000..1d978e3432b --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties new file mode 100644 index 00000000000..154dba87e50 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties @@ -0,0 +1,22 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Terminals Process Connector +providerName = Eclipse.org - Target Explorer + +# ----- Terminal Connectors ----- + +TerminalConnector.process=Process Connector (hidden) + +# ----- Terminal Launcher Delegates ----- + +ProcessLauncherDelegate.label=Streams Terminal + +# ----- Commands and Menu contributions ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml new file mode 100644 index 00000000000..068e51399a7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml new file mode 100644 index 00000000000..859eb193202 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.process + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java new file mode 100644 index 00000000000..9a8c8fba172 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java @@ -0,0 +1,301 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process; + +import java.io.File; +import java.io.IOException; +import java.io.StreamTokenizer; +import java.io.StringReader; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.cdt.utils.spawner.ProcessFactory; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tcf.te.core.terminals.utils.Env; +import org.eclipse.tcf.te.ui.terminals.manager.ConsoleManager; +import org.eclipse.tcf.te.ui.terminals.process.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.streams.AbstractStreamsConnector; +import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; +import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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; + +/** + * Process connector implementation. + */ +@SuppressWarnings("restriction") +public class ProcessConnector extends AbstractStreamsConnector { + // Reference to the process settings + private final ProcessSettings settings; + + // Reference to the PTY instance. + private PTY pty; + // Reference to the launched process instance. + private Process process; + // Reference to the process monitor + private ProcessMonitor monitor; + + // The terminal width and height. Initially unknown. + private int width = -1; + private int height = -1; + + /** + * Constructor. + */ + public ProcessConnector() { + this(new ProcessSettings()); + } + + /** + * Constructor. + * + * @param settings The process settings. Must not be null + */ + public ProcessConnector(ProcessSettings settings) { + super(); + + Assert.isNotNull(settings); + this.settings = settings; + } + + /** + * Returns the process object or null if the + * connector is connector. + * + * @return The process object or null. + */ + public Process getProcess() { + return process; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tcf.internal.terminal.provisional.api.ITerminalControl) + */ + @Override + public void connect(ITerminalControl control) { + Assert.isNotNull(control); + super.connect(control); + + pty = null; + width = -1; + height = -1; + + try { + boolean isAnsiTerminal = false; + + // Try to determine process and PTY instance from the process settings + process = settings.getProcess(); + pty = settings.getPTY(); + + // No process -> create PTY on supported platforms and execute + // process image. + if (process == null) { + if (PTY.isSupported(PTY.Mode.TERMINAL)) { + try { + pty = new PTY(PTY.Mode.TERMINAL); + + // Initialize the terminal size + VT100Emulator text = ((VT100TerminalControl)control).getTerminalText(); + text.fontChanged(); + } catch (IOException e) { + // PTY not supported + } + } + + // Build up the command + StringBuilder command = new StringBuilder(settings.getImage()); + String arguments = settings.getArguments(); + if (arguments != null && !"".equals(arguments.trim())) { //$NON-NLS-1$ + // Append to the command now + command.append(" "); //$NON-NLS-1$ + command.append(arguments.trim()); + } + + File workingDir =null; + if (settings.getWorkingDir()!=null){ + workingDir = new File(settings.getWorkingDir()); + } + + String[] envp = null; + if (settings.getEnvironment()!=null){ + envp = settings.getEnvironment(); + } + + if (settings.isMergeWithNativeEnvironment()) { + envp = Env.getEnvironment(envp, true); + } + + isAnsiTerminal = getTermVariable(envp).startsWith("ansi"); //$NON-NLS-1$ + + if (pty != null) { + // A PTY is available -> can use the ProcessFactory. + + // Tokenize the command (ProcessFactory takes an array) + StreamTokenizer st = new StreamTokenizer(new StringReader(command.toString())); + st.resetSyntax(); + st.whitespaceChars(0, 32); + st.whitespaceChars(0xa0, 0xa0); + st.wordChars(33, 255); + st.quoteChar('"'); + st.quoteChar('\''); + + List argv = new ArrayList(); + int ttype = st.nextToken(); + while (ttype != StreamTokenizer.TT_EOF) { + argv.add(st.sval); + ttype = st.nextToken(); + } + + // Execute the process + process = ProcessFactory.getFactory().exec(argv.toArray(new String[argv.size()]), envp, workingDir, pty); + } else { + // No PTY -> just execute via the standard Java Runtime implementation. + process = Runtime.getRuntime().exec(command.toString(), envp, workingDir); + } + } + + String lineSeparator = settings.getLineSeparator(); + if (lineSeparator == null && pty == null) { + lineSeparator = System.getProperty("line.separator"); //$NON-NLS-1$ + if ("\r".equals(lineSeparator)) { //$NON-NLS-1$ + lineSeparator = ILineSeparatorConstants.LINE_SEPARATOR_CR; + } + else if ("\n".equals(lineSeparator)) { //$NON-NLS-1$ + lineSeparator = ILineSeparatorConstants.LINE_SEPARATOR_LF; + } + else { + lineSeparator = ILineSeparatorConstants.LINE_SEPARATOR_CRLF; + } + } + + // Setup the listeners + setStdoutListeners(settings.getStdOutListeners()); + setStderrListeners(settings.getStdErrListeners()); + + // Enable VT100 line wrapping if we are connected via pty + // And TERM is VT100 compatible + if (pty != null && !isAnsiTerminal) + control.setVT100LineWrapping(true); + + // connect the streams + connectStreams(control, process.getOutputStream(), process.getInputStream(), (pty == null ? process.getErrorStream() : null), settings.isLocalEcho(), lineSeparator); + + // Set the terminal control state to CONNECTED + control.setState(TerminalState.CONNECTED); + + // Create the process monitor + monitor = new ProcessMonitor(this); + monitor.startMonitoring(); + } catch (IOException e) { + // Disconnect right away + disconnect(); + // Lookup the tab item + CTabItem item = ConsoleManager.getInstance().findConsole(control); + if (item != null) item.dispose(); + // Get the error message from the exception + String msg = e.getLocalizedMessage() != null ? e.getLocalizedMessage() : ""; //$NON-NLS-1$ + Assert.isNotNull(msg); + // Strip away "Exec_tty error:" + msg = msg.replace("Exec_tty error:", "").trim(); //$NON-NLS-1$ //$NON-NLS-2$ + // Repackage into a more user friendly error + msg = NLS.bind(Messages.ProcessConnector_error_creatingProcess, settings.getImage(), msg); + // Open an error dialog + MessageDialog.openError(control.getShell(), Messages.ProcessConnector_error_title, msg); + } + } + + private static String getTermVariable(String[] envp) { + if (envp != null && !Platform.OS_WIN32.equals(Platform.getOS())) + for (String var : envp) + if (var.startsWith("TERM=")) //$NON-NLS-1$ + return var.substring(5); + return "xterm"; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() + */ + @Override + public boolean isLocalEcho() { + return settings.isLocalEcho(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + */ + @Override + public void doDisconnect() { + // Dispose the process + if (process != null) { process.destroy(); process = null; } + + // Dispose the streams + super.doDisconnect(); + + // Set the terminal control state to CLOSED. + fControl.setState(TerminalState.CLOSED); + } + + // ***** Process Connector settings handling ***** + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() + */ + @Override + public ISettingsPage makeSettingsPage() { + return new ProcessSettingsPage(settings); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() + */ + @Override + public String getSettingsSummary() { + return settings.getImage() != null ? settings.getImage() : ""; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + */ + @Override + public void load(ISettingsStore store) { + settings.load(store); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + */ + @Override + public void save(ISettingsStore store) { + settings.save(store); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setTerminalSize(int, int) + */ + @Override + public void setTerminalSize(int newWidth, int newHeight) { + if (width != newWidth || height != newHeight) { + width = newWidth; + height = newHeight; + if (pty != null) { + pty.setTerminalSize(newWidth, newHeight); + } + } + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java new file mode 100644 index 00000000000..fc78d60dee1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java @@ -0,0 +1,134 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process; + +import java.util.Map; + +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +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; + +/** + * Process launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class ProcessLauncherDelegate extends AbstractLauncherDelegate { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.ProcessConnector"; //$NON-NLS-1$ + + // Extract the process properties + String image = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH); + String arguments = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ARGS); + Process process = (Process)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_OBJ); + PTY pty = (PTY)properties.get(ITerminalsConnectorConstants.PROP_PTY_OBJ); + Object value = properties.get(ITerminalsConnectorConstants.PROP_LOCAL_ECHO); + boolean localEcho = value instanceof Boolean ? ((Boolean)value).booleanValue() : false; + String lineSeparator = (String)properties.get(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR); + ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDOUT_LISTENERS); + ITerminalServiceOutputStreamMonitorListener[] stderrListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDERR_LISTENERS); + String workingDir = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR); + + String[] envp = null; + if (properties.containsKey(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) && + properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) != null && + properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT) instanceof String[]){ + envp = (String[])properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ENVIRONMENT); + } + + Assert.isTrue(image != null || process != null); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the process settings + ProcessSettings processSettings = new ProcessSettings(); + processSettings.setImage(image); + processSettings.setArguments(arguments); + processSettings.setProcess(process); + processSettings.setPTY(pty); + processSettings.setLocalEcho(localEcho); + processSettings.setLineSeparator(lineSeparator); + processSettings.setStdOutListeners(stdoutListeners); + processSettings.setStdErrListeners(stderrListeners); + processSettings.setWorkingDir(workingDir); + processSettings.setEnvironment(envp); + + if (properties.containsKey(ITerminalsConnectorConstants.PROP_PROCESS_MERGE_ENVIRONMENT)) { + value = properties.get(ITerminalsConnectorConstants.PROP_PROCESS_MERGE_ENVIRONMENT); + processSettings.setMergeWithNativeEnvironment(value instanceof Boolean ? ((Boolean)value).booleanValue() : false); + } + + // And save the settings to the store + processSettings.save(store); + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java new file mode 100644 index 00000000000..2e3762aafa8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process; + +import org.eclipse.core.runtime.Assert; + + +/** + * Process monitor implementation. + */ +public class ProcessMonitor { + // Reference to the parent process connector + private final ProcessConnector processConnector; + // Reference to the monitored process + private final Process process; + // Reference to the monitor thread + private Thread thread; + // Flag to mark the monitor disposed + private boolean disposed; + + + /** + * Constructor. + * + * @param processConnector The parent process connector. Must not be null. + */ + public ProcessMonitor(ProcessConnector processConnector) { + super(); + + Assert.isNotNull(processConnector); + this.processConnector = processConnector; + + // Query the monitored process for easier access + this.process = processConnector.getProcess(); + } + + /** + * Dispose the process monitor. + */ + public void dispose() { + // Set the disposed status + disposed = true; + // Not initialized -> return immediately + if (thread == null) return; + + // Copy the reference + final Thread oldThread = thread; + // Unlink the monitor from the thread + thread = null; + // And interrupt the writer thread + oldThread.interrupt(); + } + + /** + * Starts the terminal output stream monitor. + */ + public void startMonitoring() { + // If already initialized -> return immediately + if (thread != null) return; + + // Create a new runnable which is constantly reading from the stream + Runnable runnable = new Runnable() { + @Override + public void run() { + monitorProcess(); + } + }; + + // Create the monitor thread + thread = new Thread(runnable, "Terminal Process Monitor Thread"); //$NON-NLS-1$ + + // Configure the monitor thread + thread.setDaemon(true); + + // Start the processing + thread.start(); + } + + /** + * Monitors the associated system process, waiting for it to terminate, + * and notifies the associated process monitor's. + */ + @SuppressWarnings("restriction") + public void monitorProcess() { + // If already disposed -> return immediately + if (disposed) return; + + try { + // Wait for the monitored process to terminate + process.waitFor(); + } catch (InterruptedException ie) { + // clear interrupted state + Thread.interrupted(); + } finally { + // Dispose the parent process connector + processConnector.disconnect(); + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java new file mode 100644 index 00000000000..4a306ddfbc3 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java @@ -0,0 +1,299 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process; + +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +/** + * Process connector settings implementation. + */ +@SuppressWarnings("restriction") +public class ProcessSettings { + // Reference to the process image + private String image; + // Reference to the process arguments (space separated string) + private String arguments; + // Reference to the process object + private Process process; + // Reference to the pseudo terminal object + private PTY pty; + // Flag to control the local echo (defaults to true if + // the PTY is not supported on the current host platform) + private boolean localEcho = !PTY.isSupported(); + // The line separator setting + private String lineSeparator = null; + // The list of stdout output listeners + private ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = null; + // The list of stderr output listeners + private ITerminalServiceOutputStreamMonitorListener[] stderrListeners = null; + // working directory for process + private String workingDir; + // environment + private String[] environment; + // Flag to control if the provided environment is + // automatically merged with the native process environment. + // Defaults to "true". + private boolean mergeWithNativeEnvironment = true; + + /** + * Sets the process image. + * + * @param image The process image or null. + */ + public void setImage(String image) { + this.image = image; + } + + /** + * Returns the process image. + * + * @return The process image or null. + */ + public String getImage() { + return image; + } + + /** + * Sets the process arguments. + *

                                  + * The arguments are space separated. The caller is responsible for + * correct quoting. + * + * @param arguments The process arguments or null. + */ + public void setArguments(String arguments) { + this.arguments = arguments; + } + + /** + * Returns the process arguments. + * + * @return The process arguments as space separated list or null. + */ + public String getArguments() { + return arguments; + } + + /** + * Sets the process object. + * + * @param image The process object or null. + */ + public void setProcess(Process process) { + this.process = process; + } + + /** + * Returns the process object. + * + * @return The process object or null. + */ + public Process getProcess() { + return process; + } + + /** + * Sets the pseudo terminal object. + * + * @param pty The pseudo terminal or null. + */ + public void setPTY(PTY pty) { + this.pty = pty; + // If the PTY is set to "null", the local echo will be set to "true" + if (pty == null) setLocalEcho(true); + } + + /** + * Returns the pseudo terminal object. + * + * @return The pseudo terminal or null. + */ + public PTY getPTY() { + return pty; + } + + /** + * Sets if the process requires a local echo from the + * terminal widget. + * + * @param value Specify true to enable the local echo, false otherwise. + */ + public void setLocalEcho(boolean value) { + this.localEcho = value; + } + + /** + * Returns true if the process requires a local echo + * from the terminal widget. + * + * @return True if local echo is enabled, false otherwise. + */ + public boolean isLocalEcho() { + return localEcho; + } + + /** + * Sets the process line separator. + * + * @param separator The process line separator null. + */ + public void setLineSeparator(String separator) { + this.lineSeparator = separator; + } + + /** + * Returns the process line separator. + * + * @return The process line separator or null. + */ + public String getLineSeparator() { + return lineSeparator; + } + + /** + * Sets the list of stdout listeners. + * + * @param listeners The list of stdout listeners or null. + */ + public void setStdOutListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stdoutListeners = listeners; + } + + /** + * Returns the list of stdout listeners. + * + * @return The list of stdout listeners or null. + */ + public ITerminalServiceOutputStreamMonitorListener[] getStdOutListeners() { + return stdoutListeners; + } + + /** + * Sets the list of stderr listeners. + * + * @param listeners The list of stderr listeners or null. + */ + public void setStdErrListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stderrListeners = listeners; + } + + /** + * Returns the list of stderr listeners. + * + * @return The list of stderr listeners or null. + */ + public ITerminalServiceOutputStreamMonitorListener[] getStdErrListeners() { + return stderrListeners; + } + + /** + * Returns the working directory + * + * @return + */ + public String getWorkingDir() { + return this.workingDir; + } + + /** + * Sets the working directory of the process + * + * @param workingDir the absolute path of the working directory + */ + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + /** + * Get the process environment + * + * @return + */ + public String[] getEnvironment() { + return environment; + } + + /** + * Sets the process environment + * + * @param environment - will be added to the "parent" environment of the process + */ + public void setEnvironment(String[] environment) { + this.environment = environment; + } + + /** + * Returns if or if not the provided environment is merged with + * the native process environment. + * + * @return True if the provided environment is merged with the native process environment, false otherwise. + */ + public boolean isMergeWithNativeEnvironment() { + return mergeWithNativeEnvironment; + } + + /** + * Sets if or if not the provided environment is merged with the + * native process environment. + * + * @param value True if the provided environment is merged with the native process environment, false otherwise. + */ + public void setMergeWithNativeEnvironment(boolean value) { + this.mergeWithNativeEnvironment = value; + } + + /** + * Loads the process settings from the given settings store. + * + * @param store The settings store. Must not be null. + */ + public void load(ISettingsStore store) { + Assert.isNotNull(store); + image = store.get("Path", null);//$NON-NLS-1$ + arguments = store.get("Arguments", null); //$NON-NLS-1$ + localEcho = Boolean.parseBoolean(store.get("LocalEcho", Boolean.FALSE.toString())); //$NON-NLS-1$ + mergeWithNativeEnvironment = Boolean.parseBoolean(store.get("MergeWithNativeEnvironment", Boolean.FALSE.toString())); //$NON-NLS-1$ + lineSeparator = store.get("LineSeparator", null); //$NON-NLS-1$ + workingDir = store.get("WorkingDir", null); //$NON-NLS-1$ + if (store instanceof SettingsStore) { + process = (Process)((SettingsStore)store).getSettings().get("Process"); //$NON-NLS-1$ + pty = (PTY)((SettingsStore)store).getSettings().get("PTY"); //$NON-NLS-1$ + stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])((SettingsStore)store).getSettings().get("StdOutListeners"); //$NON-NLS-1$ + stderrListeners = (ITerminalServiceOutputStreamMonitorListener[])((SettingsStore)store).getSettings().get("StdErrListeners"); //$NON-NLS-1$ + environment = (String[])((SettingsStore)store).getSettings().get("Environment"); //$NON-NLS-1$ + } + } + + /** + * Saves the process settings to the given settings store. + * + * @param store The settings store. Must not be null. + */ + public void save(ISettingsStore store) { + Assert.isNotNull(store); + store.put("Path", image);//$NON-NLS-1$ + store.put("Arguments", arguments); //$NON-NLS-1$ + store.put("LocalEcho", Boolean.toString(localEcho)); //$NON-NLS-1$ + store.put("MergeWithNativeEnvironment", Boolean.toString(mergeWithNativeEnvironment)); //$NON-NLS-1$ + store.put("LineSeparator", lineSeparator); //$NON-NLS-1$ + store.put("WorkingDir", workingDir); //$NON-NLS-1$ + if (store instanceof SettingsStore) { + ((SettingsStore)store).getSettings().put("Process", process); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("PTY", pty); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("StdOutListeners", stdoutListeners); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("StdErrListeners", stderrListeners); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("Environment", environment); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java new file mode 100644 index 00000000000..150f6c6cbde --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java @@ -0,0 +1,196 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process; + +import org.eclipse.cdt.utils.pty.PTY; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.Path; +import org.eclipse.core.runtime.Platform; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.ui.PlatformUI; +import org.osgi.framework.Bundle; + +/** + * Process connector settings page implementation. + */ +@SuppressWarnings("restriction") +public class ProcessSettingsPage extends AbstractSettingsPage { + private Text processImageSelectorControl; + private Button processImageSelectorControlButton; + private Text processArgumentsControl; + private Button localEchoSelectorControl; + private Text processWorkingDirControl; + + private final ProcessSettings settings; + + /** + * Constructor. + * + * @param settings + */ + public ProcessSettingsPage(ProcessSettings settings) { + super(); + + Assert.isNotNull(settings); + this.settings = settings; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#createControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout()); + composite.setLayoutData(new GridData(GridData.FILL_BOTH)); + + // The entry fields shall be properly aligned + Composite panel = new Composite(composite, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginWidth = 0; layout.marginHeight = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // Create the process image selector control + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ProcessSettingsPage_processImagePathSelectorControl_label); + + // Text field and browse button are aligned it their own panel + Composite innerPanel = new Composite(panel, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginWidth = 0; layout.marginHeight = 0; + innerPanel.setLayout(layout); + innerPanel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + processImageSelectorControl = new Text(innerPanel, SWT.SINGLE | SWT.BORDER); + processImageSelectorControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + processImageSelectorControlButton = new Button(innerPanel, SWT.PUSH); + processImageSelectorControlButton.setText(Messages.ProcessSettingsPage_processImagePathSelectorControl_button); + processImageSelectorControlButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + onBrowseButtonSelected(e); + } + }); + + // Create the process arguments control + label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ProcessSettingsPage_processArgumentsControl_label); + + processArgumentsControl = new Text(panel, SWT.SINGLE | SWT.BORDER); + processArgumentsControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // Create the process arguments control + label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.ProcessSettingsPage_processWorkingDirControl_label); + + processWorkingDirControl = new Text(panel, SWT.SINGLE | SWT.BORDER); + processWorkingDirControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + // Create the local echo check box + localEchoSelectorControl = new Button(composite, SWT.CHECK); + localEchoSelectorControl.setText(Messages.ProcessSettingsPage_localEchoSelectorControl_label); + localEchoSelectorControl.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + localEchoSelectorControl.setSelection(!PTY.isSupported()); + + // Initialize the control content + loadSettings(); + } + + /** + * Called once the user pressed the browse button. + * + * @param e The selection event or null. + */ + protected void onBrowseButtonSelected(SelectionEvent e) { + // Determine the shell + Shell shell = e != null ? e.widget.getDisplay().getActiveShell() : PlatformUI.getWorkbench().getDisplay().getActiveShell(); + + // create a standard file dialog + FileDialog dialog = new FileDialog(shell, SWT.OPEN); + dialog.setText(Messages.ProcessSettingsPage_dialogTitle); + + // the dialog should open within the directory of the currently selected + // file. If no file has been currently selected, it should open within the + // last browsed directory. + String selectedFile = processImageSelectorControl.getText(); + if (selectedFile != null && selectedFile.trim().length() > 0) { + IPath filePath = new Path(selectedFile); + // If the selected file points to an directory, use the directory as is + IPath filterPath = filePath.toFile().isDirectory() ? filePath : filePath.removeLastSegments(1); + String filterFileName = filePath.toFile().isDirectory() || !filePath.toFile().exists() ? null : filePath.lastSegment(); + + if (!filterPath.isEmpty()) { + dialog.setFilterPath(filterPath.toString()); + } + if (filterFileName != null) { + dialog.setFileName(filterFileName); + } + } else { + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + dialog.setFilterPath(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); + } + } + + // Open the dialog + selectedFile = dialog.open(); + if (selectedFile != null) { + processImageSelectorControl.setText(selectedFile); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#saveSettings() + */ + @Override + public void saveSettings() { + settings.setImage(processImageSelectorControl.getText()); + settings.setArguments(processArgumentsControl.getText()); + settings.setLocalEcho(localEchoSelectorControl.getSelection()); + settings.setWorkingDir(processWorkingDirControl.getText()); + settings.setProcess(null); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#loadSettings() + */ + @Override + public void loadSettings() { + processImageSelectorControl.setText(settings.getImage()); + processArgumentsControl.setText(settings.getArguments()); + localEchoSelectorControl.setSelection(settings.isLocalEcho()); + processWorkingDirControl.setText(settings.getWorkingDir()); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#validateSettings() + */ + @Override + public boolean validateSettings() { + // The settings are considered valid if the selected process image can be read. + String selectedFile = processImageSelectorControl.getText(); + return selectedFile != null && !"".equals(selectedFile.trim()) && new Path(selectedFile).toFile().canRead(); //$NON-NLS-1$ + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java new file mode 100644 index 00000000000..87d195c745c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java @@ -0,0 +1,113 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.process"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + super.initializeImageRegistry(registry); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java new file mode 100644 index 00000000000..3fb81c57ff0 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java @@ -0,0 +1,31 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process.help; + +import org.eclipse.tcf.te.ui.terminals.process.activator.UIPlugin; + + +/** + * Context help id definitions. + */ +public interface IContextHelpIds { + + /** + * UI plug-in common context help id prefix. + */ + public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$ + + // ***** Message dialog boxes ***** + + /** + * Process connector: Create process failed + */ + public final static String MESSAGE_CREATE_PROCESS_FAILED = PREFIX + ".status.messageCreateProcessFailed"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java new file mode 100644 index 00000000000..60656fa69e0 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.process.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Process terminal connector plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.process.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String ProcessConnector_error_title; + public static String ProcessConnector_error_creatingProcess; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties new file mode 100644 index 00000000000..a3755e8a086 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +ProcessConnector_error_title=Error +ProcessConnector_error_creatingProcess=Failed to execute ''{0}''.\n\nPossibly caused by:\n{1} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.options b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.options new file mode 100644 index 00000000000..b396734183f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.ui.terminals.local/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.project b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.project new file mode 100644 index 00000000000..6dbc964fb5e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals.rse + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 0 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..24dad4464e4 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Tue Oct 11 11:53:38 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..2316f2fa2c8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.rse;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.rse.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.rse.core;bundle-version="3.3.100", + org.eclipse.rse.subsystems.files.core;bundle-version="3.3.1", + org.eclipse.rse.ui;bundle-version="3.3.100", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.rse.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.rse.internal;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.rse.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties new file mode 100644 index 00000000000..ea545022931 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties @@ -0,0 +1,17 @@ +############################################################################### +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + plugin.properties,\ + about.html,\ + icons/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tcf.te.ui.terminals.rse/icons/eview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties new file mode 100644 index 00000000000..b6692c2f16c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties @@ -0,0 +1,22 @@ +################################################################################## +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Terminals RSE Add-on +providerName = Eclipse.org - Target Explorer + +# ----- Commands and Menu contributions ----- + +command.launch.name=Open Terminal +command.launch.label=Open Terminal... +command.launch.tooltip=Open a Terminal + +# ----- Terminal Launcher Delegates ----- + +SshLauncherDelegate.label=SSH Terminal diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml new file mode 100644 index 00000000000..00c7cee50dc --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml new file mode 100644 index 00000000000..70a8617810d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.rse + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java new file mode 100644 index 00000000000..614dbaaf896 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java @@ -0,0 +1,113 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.rse.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.rse"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + super.initializeImageRegistry(registry); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java new file mode 100644 index 00000000000..c70f8299367 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java @@ -0,0 +1,90 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.rse.internal; + +import java.util.Map; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.window.Window; +import org.eclipse.rse.core.filters.ISystemFilterReference; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.model.IRSEModelObject; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.internal.dialogs.LaunchTerminalSettingsDialog; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Launch terminal handler implementation. + */ +@SuppressWarnings("restriction") +public class LaunchTerminalHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + // Get the active shell + Shell shell = HandlerUtil.getActiveShell(event); + // Get the current selection + ISelection selection = HandlerUtil.getCurrentSelection(event); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + // The handler is enabled only if just one element is selected + Object element = ((IStructuredSelection) selection).getFirstElement(); + if (element instanceof IRSEModelObject || element instanceof IRemoteFile) { + // Determine the host + IHost host = null; + + if (element instanceof IHost) host = (IHost) element; + if (host == null && element instanceof ISubSystem) host = ((ISubSystem) element).getHost(); + if (host == null && element instanceof ISystemFilterReference) host = ((ISystemFilterReference) element).getSubSystem().getHost(); + if (host == null && element instanceof IRemoteFile) host = ((IRemoteFile) element).getHost(); + + if (host != null) { + // Open the launch terminal settings dialog with the SSH panel only + LaunchTerminalSettingsDialog dialog = new LaunchTerminalSettingsDialog(shell) { + @Override + protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { + Assert.isNotNull(delegate); + return !"org.eclipse.tcf.te.ui.terminals.ssh.launcher.ssh".equals(delegate.getId()); //$NON-NLS-1$ + } + }; + dialog.setSelection(new StructuredSelection(host)); + + if (dialog.open() == Window.OK) { + // Get the terminal settings from the dialog + Map properties = dialog.getSettings(); + if (properties != null) { + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + Assert.isNotNull(delegateId); + ILauncherDelegate delegate = LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false); + Assert.isNotNull(delegateId); + delegate.execute(properties, null); + } + } + } + } + } + + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java new file mode 100644 index 00000000000..5aa6ea07990 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java @@ -0,0 +1,60 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.rse.internal; + +import java.util.Arrays; +import java.util.List; + +import org.eclipse.rse.core.filters.ISystemFilterReference; +import org.eclipse.rse.core.model.IHost; +import org.eclipse.rse.core.subsystems.ISubSystem; +import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; + + + +/** + * Terminals RSE add-on property tester implementation. + */ +public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { + // Supported system type id's + private final static String[] VALID_SYSTEM_TYPES = new String[] { + "org.eclipse.rse.systemtype.linux", //$NON-NLS-1$ + "org.eclipse.rse.systemtype.unix", //$NON-NLS-1$ + "org.eclipse.rse.systemtype.aix", //$NON-NLS-1$ + "org.eclipse.rse.systemtype.ssh" //$NON-NLS-1$ + }; + + private final static List VALID_SYSTEM_TYPES_LIST = Arrays.asList(VALID_SYSTEM_TYPES); + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + // Determine the host object + IHost host = null; + + if (receiver instanceof IHost) host = (IHost) receiver; + if (host == null && receiver instanceof ISubSystem) host = ((ISubSystem) receiver).getHost(); + if (host == null && receiver instanceof ISystemFilterReference) host = ((ISystemFilterReference) receiver).getSubSystem().getHost(); + if (host == null && receiver instanceof IRemoteFile) host = ((IRemoteFile) receiver).getHost(); + + if (host != null) { + if ("isVisible".equals(property) && expectedValue instanceof Boolean) { //$NON-NLS-1$ + String systemTypeID = host.getSystemType().getId(); + boolean validID = systemTypeID != null ? VALID_SYSTEM_TYPES_LIST.contains(systemTypeID) : false; + return ((Boolean)expectedValue).booleanValue() == validID; + } + } + + return false; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java new file mode 100644 index 00000000000..706379f6a88 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.rse.internal; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.rse.core.model.IHost; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; + +/** + * Terminal context properties provider implementation. + */ +public class TerminalContextPropertiesProvider implements ITerminalContextPropertiesProvider { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider#getTargetAddress(java.lang.Object) + */ + @Override + public Map getTargetAddress(Object context) { + if (context instanceof IHost) { + IHost host = (IHost) context; + + Map props = new HashMap(); + props.put(IContextPropertiesConstants.PROP_ADDRESS, host.getHostName()); + props.put(IContextPropertiesConstants.PROP_NAME, host.getName()); + + return props; + } + + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider#getProperty(java.lang.Object, java.lang.String) + */ + @Override + public Object getProperty(Object context, String key) { + if (context instanceof IHost) { + IHost host = (IHost) context; + + if (IContextPropertiesConstants.PROP_DEFAULT_USER.equals(key)) { + String user = host.getDefaultUserId(); + if (user != null && !"".equals(user.trim())) { //$NON-NLS-1$ + return user; + } + } + + if (IContextPropertiesConstants.PROP_DEFAULT_ENCODING.equals(key)) { + String encoding = host.getDefaultEncoding(true); + if (encoding != null && !"".equals(encoding)) { //$NON-NLS-1$ + return encoding; + } + } + } + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java new file mode 100644 index 00000000000..7732c2e7178 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java @@ -0,0 +1,32 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.rse.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.rse.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties new file mode 100644 index 00000000000..2e332db1c3d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties @@ -0,0 +1,10 @@ +############################################################################### +# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.options b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.options new file mode 100644 index 00000000000..9d8591b7606 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.options @@ -0,0 +1,2 @@ +org.eclipse.tcf.te.ui.terminals.serial/debugmode = 0 +org.eclipse.tcf.te.ui.terminals.serial/trace/serialLinePanel = false diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.project b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.project new file mode 100644 index 00000000000..e4317e21b12 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.project @@ -0,0 +1,28 @@ + + + org.eclipse.tcf.te.ui.terminals.serial + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..4754bba05f6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Wed Oct 19 12:10:57 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.serial/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..579f425ed04 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/META-INF/MANIFEST.MF @@ -0,0 +1,25 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.serial;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.serial.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.tm.terminal.serial;bundle-version="2.1.200", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.serial.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.serial.controls, + org.eclipse.tcf.te.ui.terminals.serial.interfaces, + org.eclipse.tcf.te.ui.terminals.serial.launcher, + org.eclipse.tcf.te.ui.terminals.serial.nls;x-internal:=true +Import-Package: gnu.io;resolution:=optional diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties new file mode 100644 index 00000000000..221a2d955c1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties new file mode 100644 index 00000000000..a471a57b605 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties @@ -0,0 +1,16 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Serial Terminals Extensions +providerName = Eclipse.org - Target Explorer + +# ----- Terminal Launcher Delegates ----- + +SerialLauncherDelegate.label=Serial Terminal \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml new file mode 100644 index 00000000000..31552a2a754 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml new file mode 100644 index 00000000000..5014b6d9f1a --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.serial + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java new file mode 100644 index 00000000000..19ac52a269b --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.serial"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java new file mode 100644 index 00000000000..d5aac3b9609 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java @@ -0,0 +1,134 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.controls; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.dialogs.IDialogSettings; +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.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Serial wizard configuration panel implementation. + */ +public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel { + + private SerialLinePanel serialSettingsPage; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public SerialConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + // Create the host selection combo + if (isWithoutSelection()) createHostsUI(panel, true); + + serialSettingsPage = new SerialLinePanel(getContainer()); + serialSettingsPage.setupPanel(panel, toolkit); + + // Create the encoding selection combo + createEncodingUI(panel, true); + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + // set the terminal connector id for serial + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.serial.SerialConnector"); //$NON-NLS-1$ + + serialSettingsPage.extractData(data); + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host){ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add){ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isValid() + */ + @Override + public boolean isValid(){ + return serialSettingsPage.isValid(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + serialSettingsPage.doSaveWidgetValues(settings, idPrefix); + // Save the encodings widget values + doSaveEncodingsWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + serialSettingsPage.doRestoreWidgetValues(settings, idPrefix); + // Restore the encodings widget values + doRestoreEncodingsWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#isWithHostList() + */ + @Override + public boolean isWithHostList() { + return false; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java new file mode 100644 index 00000000000..b5009244cf3 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java @@ -0,0 +1,789 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.controls; + +import gnu.io.CommPortIdentifier; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Enumeration; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.IInputValidator; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.BusyIndicator; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +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.swt.widgets.Text; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.serial.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.serial.interfaces.ITraceIds; +import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Serial line terminal launcher configuration panel implementation. + */ +public class SerialLinePanel extends AbstractConfigurationPanel { + public static final String fcDefaultTTYSpeed = "9600"; //$NON-NLS-1$ + public static final String fcDefaultTTYDeviceWin32 = "COM1"; //$NON-NLS-1$ + public static final String fcDefaultTTYDeviceSolaris = "/dev/cua/a"; //$NON-NLS-1$ + public static final String fcDefaultTTYDeviceLinux = "/dev/ttyS0"; //$NON-NLS-1$ + public static final String fcDefaultTTYDatabits = "8"; //$NON-NLS-1$ + public static final String fcDefaultTTYParity = "None"; //$NON-NLS-1$ + public static final String fcDefaultTTYStopbits = "1"; //$NON-NLS-1$ + public static final String fcDefaultTTYFlowControl = "None"; //$NON-NLS-1$ + public static final String fcDefaultTTYTimeout = "5"; //$NON-NLS-1$ + public static final String fcEditableTTYOther = "Other..."; //$NON-NLS-1$ + + private static final String[] fcTTYSpeedRates = { "600", //$NON-NLS-1$ + "1200", //$NON-NLS-1$ + "2400", //$NON-NLS-1$ + "4800", //$NON-NLS-1$ + "9600", //$NON-NLS-1$ + "14400", //$NON-NLS-1$ + "19200", //$NON-NLS-1$ + "38400", //$NON-NLS-1$ + "57600", //$NON-NLS-1$ + "115200" //$NON-NLS-1$ + }; + + private static final String[] fcTTYDatabits = { + "8", "7" //$NON-NLS-1$ //$NON-NLS-2$ + }; + + private static final String[] fcTTYParity = { + "None", "Odd", "Even" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + }; + + private static final String[] fcTTYStopbits = { + "1", "2" //$NON-NLS-1$ //$NON-NLS-2$ + }; + + private static final String[] fcTTYFlowControl = { + "None", "Hardware", "Software" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + }; + + Label hostTTYDeviceLabel; + Combo hostTTYDeviceCombo; + Label hostTTYSpeedLabel; + Combo hostTTYSpeedCombo; + Label hostTTYBitsLabel; + Combo hostTTYBitsCombo; + Label hostTTYParityLabel; + Combo hostTTYParityCombo; + Label hostTTYStopbitsLabel; + Combo hostTTYStopbitsCombo; + Label hostTTYFlowControlLabel; + Combo hostTTYFlowControlCombo; + Label hostTTYTimeoutLabel; + Text hostTTYTimeoutText; + + // Keep the fInputValidator protected! + protected IInputValidator inputValidatorBaud; + + int lastSelected = -1; + int lastSelectedBaud = -1; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public SerialLinePanel(IConfigurationPanelContainer container) { + super(container); + } + + protected class CustomSerialBaudRateInputValidator implements IInputValidator { + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IInputValidator#isValid(java.lang.String) + */ + @Override + public String isValid(String newText) { + if (newText != null && newText.trim().length() > 0) { + if (!newText.matches("[0-9]*")) { //$NON-NLS-1$ + return Messages.SerialLinePanel_error_invalidCharactesBaudRate; + } + } else if (newText != null) { + // Empty string is an error without message (see interface)! + return ""; //$NON-NLS-1$ + } + return null; + } + } + + /** + * Returns the input validator to be used for checking the custom serial + * baud rate for basic plausibility. + */ + protected IInputValidator getCustomSerialBaudRateInputValidator() { + if (inputValidatorBaud == null) { + inputValidatorBaud = new CustomSerialBaudRateInputValidator(); + } + return inputValidatorBaud; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Assert.isNotNull(parent); + Assert.isNotNull(toolkit); + + Composite panel = toolkit.createComposite(parent); + GridLayout layout = new GridLayout(); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + panel.setBackground(parent.getBackground()); + + setControl(panel); + + final Composite client = toolkit.createComposite(panel); + Assert.isNotNull(client); + client.setLayout(new GridLayout(2, false)); + client.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + client.setBackground(panel.getBackground()); + + // Host TTY settings + hostTTYDeviceLabel = new Label(client, SWT.NONE); + hostTTYDeviceLabel.setText(Messages.SerialLinePanel_hostTTYDevice_label); + + hostTTYDeviceCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYDeviceCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYDeviceCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + // if the user selected the special editable device, show a dialog asking for the device name + if (fcEditableTTYOther.equals(hostTTYDeviceCombo.getText())) { + List tty = new ArrayList(); + List tcp = new ArrayList(); + String selected = hostTTYDeviceCombo.getItem(lastSelected); + for (String device : hostTTYDeviceCombo.getItems()) { + if (!device.equalsIgnoreCase(fcEditableTTYOther)) { + if (device.toUpperCase().startsWith("TCP:")) { //$NON-NLS-1$ + tcp.add(device); + } + else { + tty.add(device); + } + } + } + SerialPortAddressDialog dialog = new SerialPortAddressDialog(client.getShell(), selected, tty, tcp); + if (dialog.open() == Window.OK) { + // retrieve the custom serial device name and set it to the combobox drop + String device = dialog.getData(); + if (device != null && device.trim().length() > 0) { + hostTTYDeviceCombo.add(device.trim()); + hostTTYDeviceCombo.setText(device.trim()); + } else if (lastSelected != -1) { + hostTTYDeviceCombo.setText(hostTTYDeviceCombo.getItem(lastSelected)); + } + } else if (lastSelected != -1){ + hostTTYDeviceCombo.setText(hostTTYDeviceCombo.getItem(lastSelected)); + } + } + lastSelected = hostTTYDeviceCombo.getSelectionIndex(); + + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + hostTTYSpeedLabel = new Label(client, SWT.NONE); + hostTTYSpeedLabel.setText(Messages.SerialLinePanel_hostTTYSpeed_label); + + hostTTYSpeedCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYSpeedCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYSpeedCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + // if the user selected the special editable baud rate, show a dialog asking for the baud rate + if (fcEditableTTYOther.equals(hostTTYSpeedCombo.getText())) { + InputDialog dialog = new InputDialog(getControl().getShell(), + Messages.SerialLinePanel_customSerialBaudRate_title, + Messages.SerialLinePanel_customSerialBaudRate_message, + "", //$NON-NLS-1$ + getCustomSerialBaudRateInputValidator()); + if (dialog.open() == Window.OK) { + // retrieve the custom serial device name and set it to the combobox drop + String device = dialog.getValue(); + if (device != null && device.trim().length() > 0) { + int index = hostTTYSpeedCombo.indexOf(fcEditableTTYOther); + if (index != -1 && index == hostTTYSpeedCombo.getItemCount() - 1) { + hostTTYSpeedCombo.add(device.trim()); + } else if (index != -1) { + hostTTYSpeedCombo.setItem(index + 1, device.trim()); + } + hostTTYSpeedCombo.setText(device.trim()); + } else if (lastSelectedBaud != -1) { + hostTTYSpeedCombo.setText(hostTTYSpeedCombo.getItem(lastSelectedBaud)); + } + } else if (lastSelectedBaud != -1){ + hostTTYSpeedCombo.setText(hostTTYSpeedCombo.getItem(lastSelectedBaud)); + } + } + lastSelectedBaud = hostTTYSpeedCombo.getSelectionIndex(); + + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + // Query the list of available serial port interfaces. + UIPlugin.getTraceHandler().trace("SerialLinePanel: Start quering the available comm ports.", ITraceIds.TRACE_SERIAL_LINE_PANEL, this); //$NON-NLS-1$ + + // Query the serial devices now. + BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() { + @Override + public void run() { + queryAvailableSerialDevices(); + } + }); + + // add a special device which is being the editable one if requested at the end of the list + hostTTYDeviceCombo.add(fcEditableTTYOther); + + if (hostTTYDeviceCombo.indexOf(getDefaultHostTTYDevice()) != -1) { + hostTTYDeviceCombo.setText(getDefaultHostTTYDevice()); + } else { + if ("".equals(hostTTYDeviceCombo.getText()) && hostTTYDeviceCombo.getItemCount() > 0) { //$NON-NLS-1$ + // USI: For SWT-GTK we need the special empty entry as well. Otherwise we will have problems + // getting the selection changed event! + if (hostTTYDeviceCombo.getItemCount() == 1 + && fcEditableTTYOther.equals(hostTTYDeviceCombo.getItem(0))) { + hostTTYDeviceCombo.add("", 0); //$NON-NLS-1$ + } + hostTTYDeviceCombo.setText(hostTTYDeviceCombo.getItem(0)); + } + } + + if (hostTTYDeviceCombo.getItemCount() > 0) { + hostTTYDeviceCombo.setEnabled(true); + } else { + hostTTYDeviceCombo.setEnabled(false); + } + lastSelected = hostTTYDeviceCombo.getSelectionIndex(); + + for (String fcTTYSpeedRate : fcTTYSpeedRates) { + hostTTYSpeedCombo.add(fcTTYSpeedRate); + } + hostTTYSpeedCombo.add(fcEditableTTYOther); + + hostTTYSpeedCombo.setText(fcDefaultTTYSpeed); + lastSelectedBaud = hostTTYSpeedCombo.getSelectionIndex(); + + // add the advanced serial options + hostTTYBitsLabel = new Label(client, SWT.NONE); + hostTTYBitsLabel.setText(Messages.SerialLinePanel_hostTTYDatabits_label); + hostTTYBitsCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYBitsCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYBitsCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + for (String fcTTYDatabit : fcTTYDatabits) { + hostTTYBitsCombo.add(fcTTYDatabit); + } + hostTTYBitsCombo.setText(fcDefaultTTYDatabits); + + hostTTYParityLabel = new Label(client, SWT.NONE); + hostTTYParityLabel.setText(Messages.SerialLinePanel_hostTTYParity_label); + hostTTYParityCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYParityCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYParityCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + for (String element : fcTTYParity) { + hostTTYParityCombo.add(element); + } + hostTTYParityCombo.setText(fcDefaultTTYParity); + + hostTTYStopbitsLabel = new Label(client, SWT.NONE); + hostTTYStopbitsLabel.setText(Messages.SerialLinePanel_hostTTYStopbits_label); + hostTTYStopbitsCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYStopbitsCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYStopbitsCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + for (String fcTTYStopbit : fcTTYStopbits) { + hostTTYStopbitsCombo.add(fcTTYStopbit); + } + hostTTYStopbitsCombo.setText(fcDefaultTTYStopbits); + + hostTTYFlowControlLabel = new Label(client, SWT.NONE); + hostTTYFlowControlLabel.setText(Messages.SerialLinePanel_hostTTYFlowControl_label); + hostTTYFlowControlCombo = new Combo(client, SWT.SINGLE | SWT.BORDER | SWT.READ_ONLY); + hostTTYFlowControlCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYFlowControlCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + + for (String element : fcTTYFlowControl) { + hostTTYFlowControlCombo.add(element); + } + hostTTYFlowControlCombo.setText(fcDefaultTTYFlowControl); + + hostTTYTimeoutLabel = new Label(client, SWT.NONE); + hostTTYTimeoutLabel.setText(Messages.SerialLinePanel_hostTTYTimeout_label); + hostTTYTimeoutText = new Text(client, SWT.SINGLE | SWT.BORDER); + hostTTYTimeoutText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + hostTTYTimeoutText.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + IConfigurationPanelContainer container = SerialLinePanel.this.getContainer(); + if (container != null) container.validate(); + } + }); + hostTTYTimeoutText.setText(fcDefaultTTYTimeout); + } + + /** + * Query the list of serial devices. + */ + protected void queryAvailableSerialDevices() { + // Avoid printing the library version output to stdout if the platform + // is not in debug mode. + String prop = System.getProperty("gnu.io.rxtx.NoVersionOutput"); //$NON-NLS-1$ + if (prop == null && !Platform.inDebugMode()) { + System.setProperty("gnu.io.rxtx.NoVersionOutput", "true"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + // java.lang.UnsatisfiedLinkError: ../plugins/gnu.io.rxtx.solaris.sparc_2.1.7.200702281917/os/solaris/sparc/librxtxSerial.so: + // Can't load Sparc 32-bit .so on a Sparc 32-bit platform + // May happen in CommPortIdentifier static constructor! + try { + Enumeration ttyPortIds = CommPortIdentifier.getPortIdentifiers(); + if (!ttyPortIds.hasMoreElements()) { + UIPlugin.getTraceHandler().trace("SerialLinePanel: NO comm ports available at all!", ITraceIds.TRACE_SERIAL_LINE_PANEL, this); //$NON-NLS-1$ + } + final List ports = new ArrayList(); + while (ttyPortIds.hasMoreElements()) { + CommPortIdentifier port = ttyPortIds.nextElement(); + String type = "unknown"; //$NON-NLS-1$ + if (port.getPortType() == CommPortIdentifier.PORT_PARALLEL) { + type = "parallel"; //$NON-NLS-1$ + } + if (port.getPortType() == CommPortIdentifier.PORT_SERIAL) { + type = "serial"; //$NON-NLS-1$ + } + UIPlugin.getTraceHandler().trace("SerialLinePanel: Found comm port: name='" + port.getName() + "', type='" + type, ITraceIds.TRACE_SERIAL_LINE_PANEL, this); //$NON-NLS-1$ //$NON-NLS-2$ + // only add serial ports + if (port.getPortType() == CommPortIdentifier.PORT_SERIAL) { + UIPlugin.getTraceHandler().trace("SerialLinePanel: Adding found serial comm port to combo!", ITraceIds.TRACE_SERIAL_LINE_PANEL, this); //$NON-NLS-1$ + if (!ports.contains(port.getName())) { + ports.add(port.getName()); + } + } + } + if (!ports.isEmpty()) { + Collections.sort(ports); + // This method may executed in a separate thread. We must spawn back + // into the UI thread to execute the adding of the ports to the control. + PlatformUI.getWorkbench().getDisplay().syncExec(new Runnable() { + @Override + public void run() { + for (String port : ports) { + hostTTYDeviceCombo.add(port); + } + } + }); + } + } catch (UnsatisfiedLinkError e) { + IStatus status = new Status(IStatus.WARNING, UIPlugin.getUniqueIdentifier(), + Messages.SerialLinePanel_warning_FailedToLoadSerialPorts, e); + UIPlugin.getDefault().getLog().log(status); + } catch (NoClassDefFoundError e) { + // The NoClassDefFoundError happens the second time if the load of the library + // failed once! We do ignore this error completely! + } + } + + /** + * Enables or disables the configuration panels controls. + * + * @param enabled Specify true to enable the controls, false otherwise. + */ + @Override + public void setEnabled(boolean enabled) { + hostTTYDeviceLabel.setEnabled(enabled); + hostTTYDeviceCombo.setEnabled(enabled); + hostTTYSpeedLabel.setEnabled(enabled); + hostTTYSpeedCombo.setEnabled(enabled); + hostTTYBitsLabel.setEnabled(enabled); + hostTTYBitsCombo.setEnabled(enabled); + hostTTYParityLabel.setEnabled(enabled); + hostTTYParityCombo.setEnabled(enabled); + hostTTYStopbitsLabel.setEnabled(enabled); + hostTTYStopbitsCombo.setEnabled(enabled); + hostTTYFlowControlLabel.setEnabled(enabled); + hostTTYFlowControlCombo.setEnabled(enabled); + } + + /** + * The name of the serial ports differ between the host platforms, so we have to + * detect the default host TTY device based on the host platform. + */ + public String getDefaultHostTTYDevice() { + String osName = System.getProperty("os.name"); //$NON-NLS-1$ + // Linux ? + if (osName.equalsIgnoreCase("Linux")) { //$NON-NLS-1$ + return fcDefaultTTYDeviceLinux; + } + // Solaris ? + if (osName.equalsIgnoreCase("SunOS")) { //$NON-NLS-1$ + return fcDefaultTTYDeviceSolaris; + } + // Windows ? + if (osName.toLowerCase().startsWith("windows")) { //$NON-NLS-1$ + return fcDefaultTTYDeviceWin32; + } + return ""; //$NON-NLS-1$ + } + + /** + * Returns the default value for the serial port speed setting in bit/s + */ + public String getDefaultHostTTYSpeed() { + return fcDefaultTTYSpeed; + } + + /** + * Returns the default value for the serial port data bits setting + */ + public String getDefaultHostTTYDatabits() { + return fcDefaultTTYDatabits; + } + + /** + * Returns the default value for the serial port parity setting + */ + public String getDefaultHostTTYParity() { + return fcDefaultTTYParity; + } + + /** + * Returns the default value for the serial port stop bits setting + */ + public String getDefaultHostTTYStopbits() { + return fcDefaultTTYStopbits; + } + + /** + * Returns the default value for the serial port flow control setting + */ + public String getDefaultHostTTYFlowControl() { + return fcDefaultTTYFlowControl; + } + + /** + * Returns the default value for the serial port timeout setting. + */ + public String getDefaultHostTTYTimeout() { + return fcDefaultTTYTimeout; + } + + /** + * Set the text to the combo if available as selectable option. + * + * @param combo The combo box control. Must not be null. + * @param value The value to set. Must not be null. + */ + protected void doSetTextInCombo(Combo combo, String value) { + Assert.isNotNull(combo); + Assert.isNotNull(value); + if (combo.indexOf(value) != 1) { + combo.setText(value); + } + } + + /** + * Select the given tty device if available. + * + * @param value The tty device to select. Must not be null. + */ + public void setSelectedTTYDevice(String value) { + doSetTextInCombo(hostTTYDeviceCombo, value); + } + + /** + * Select the given tty device if available. The method + * will do nothing if the specified index is invalid. + * + * @param index The index of the tty device to select. + */ + public void setSelectedTTYDevice(int index) { + if (index >= 0 && index < hostTTYDeviceCombo.getItemCount()) { + hostTTYDeviceCombo.setText(hostTTYDeviceCombo.getItem(index)); + } + } + + /** + * Select the given tty device speed if available. + * + * @param value The tty device speed to select. Must not be null. + */ + public void setSelectedTTYSpeed(String value) { + doSetTextInCombo(hostTTYSpeedCombo, value); + } + + /** + * Select the given tty device data bit configuration if available. + * + * @param value The tty device data bit configuration to select. Must not be null. + */ + public void setSelectedTTYDatabits(String value) { + doSetTextInCombo(hostTTYBitsCombo, value); + } + + /** + * Select the given tty device parity configuration if available. + * + * @param value The tty device parity configuration to select. Must not be null. + */ + public void setSelectedTTYParity(String value) { + doSetTextInCombo(hostTTYParityCombo, value); + } + + /** + * Select the given tty device stop bit configuration if available. + * + * @param value The tty device stop bit configuration to select. Must not be null. + */ + public void setSelectedTTYStopbits(String value) { + doSetTextInCombo(hostTTYStopbitsCombo, value); + } + + /** + * Select the given tty device flow control configuration if available. + * + * @param value The tty device flow control configuration to select. Must not be null. + */ + public void setSelectedTTYFlowControl(String value) { + doSetTextInCombo(hostTTYFlowControlCombo, value); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + */ + @Override + public boolean isValid() { + String selectedTTYDevice = hostTTYDeviceCombo.getText(); + if (selectedTTYDevice == null || selectedTTYDevice.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYDevice, IMessageProvider.ERROR); + return false; + } + + if (fcEditableTTYOther.equals(selectedTTYDevice)) { + setMessage(Messages.SerialLinePanel_info_editableTTYDeviceSelected, IMessageProvider.INFORMATION); + return false; + } + + String selectedTTYSpeedRate = hostTTYSpeedCombo.getText(); + if (selectedTTYSpeedRate == null || selectedTTYSpeedRate.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYSpeedRate, IMessageProvider.ERROR); + return false; + } + + if (fcEditableTTYOther.equals(selectedTTYSpeedRate)) { + setMessage(Messages.SerialLinePanel_info_editableTTYBaudRateSelected, IMessageProvider.INFORMATION); + return false; + } + + String option = hostTTYBitsCombo.getText(); + if (option == null || option.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYDatabits, IMessageProvider.ERROR); + return false; + } + + option = hostTTYParityCombo.getText(); + if (option == null || option.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYParity, IMessageProvider.ERROR); + return false; + } + + option = hostTTYStopbitsCombo.getText(); + if (option == null || option.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYStopbits, IMessageProvider.ERROR); + return false; + } + + option = hostTTYFlowControlCombo.getText(); + if (option == null || option.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYFlowControl, IMessageProvider.ERROR); + return false; + } + + option = hostTTYTimeoutText.getText(); + if (option == null || option.trim().length() == 0) { + setMessage(Messages.SerialLinePanel_error_emptyHostTTYFlowControl, IMessageProvider.ERROR); + return false; + } + + return true; + } + + private final String fcSelectedTTYDeviceSlotId = "SerialLinePanel.selectedTTYDevice." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYSpeedRateSlotId = "SerialLinePanel.selectedTTYSpeedRate." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYDatabitsSlotId = "SerialLinePanel.selectedTTYDatabits." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYParitySlotId = "SerialLinePanel.selectedTTYParity." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYStopbitsSlotId = "SerialLinePanel.selectedTTYStopbits." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYFlowControlSlotId = "SerialLinePanel.selectedTTYFlowControl." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + private final String fcSelectedTTYTimeoutSlotId = "SerialLinePanel.selectedTTYTimeout." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + String selectedTTYDevice = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYDeviceSlotId, idPrefix)); + if (selectedTTYDevice != null && selectedTTYDevice.trim().length() > 0) { + if (hostTTYDeviceCombo.indexOf(selectedTTYDevice) != -1) { + hostTTYDeviceCombo.setText(selectedTTYDevice); + } + } + + String selectedTTYSpeedRate = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYSpeedRateSlotId, idPrefix)); + if (selectedTTYSpeedRate != null && selectedTTYSpeedRate.trim().length() > 0) { + if (hostTTYSpeedCombo.indexOf(selectedTTYSpeedRate) != -1) { + hostTTYSpeedCombo.setText(selectedTTYSpeedRate); + } + } + + String option = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYDatabitsSlotId, idPrefix)); + if (option != null && option.trim().length() > 0 && hostTTYBitsCombo.indexOf(option) != -1) { + hostTTYBitsCombo.setText(option); + } + + option = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYParitySlotId, idPrefix)); + if (option != null && option.trim().length() > 0 && hostTTYParityCombo.indexOf(option) != -1) { + hostTTYParityCombo.setText(option); + } + + option = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYStopbitsSlotId, idPrefix)); + if (option != null && option.trim().length() > 0 && hostTTYStopbitsCombo.indexOf(option) != -1) { + hostTTYStopbitsCombo.setText(option); + } + + option = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYFlowControlSlotId, idPrefix)); + if (option != null && option.trim().length() > 0 && hostTTYFlowControlCombo.indexOf(option) != -1) { + hostTTYFlowControlCombo.setText(option); + } + + option = settings.get(prefixDialogSettingsSlotId(fcSelectedTTYTimeoutSlotId, idPrefix)); + if (option != null && option.trim().length() > 0 && !option.equals(hostTTYTimeoutText.getText())) { + hostTTYTimeoutText.setText(option); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYDeviceSlotId, idPrefix), hostTTYDeviceCombo.getText()); + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYSpeedRateSlotId, idPrefix), hostTTYSpeedCombo.getText()); + + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYDatabitsSlotId, idPrefix), hostTTYBitsCombo.getText()); + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYParitySlotId, idPrefix), hostTTYParityCombo.getText()); + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYStopbitsSlotId, idPrefix), hostTTYStopbitsCombo.getText()); + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYFlowControlSlotId, idPrefix), hostTTYFlowControlCombo.getText()); + settings.put(prefixDialogSettingsSlotId(fcSelectedTTYTimeoutSlotId, idPrefix), hostTTYTimeoutText.getText()); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + if (data == null) return; + + hostTTYDeviceCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE)); + hostTTYSpeedCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE)); + + hostTTYBitsCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS)); + hostTTYParityCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_PARITY)); + hostTTYStopbitsCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS)); + hostTTYFlowControlCombo.setText((String)data.get(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL)); + + Object value = data.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + if (value instanceof Integer) { + hostTTYTimeoutText.setText(((Integer)value).toString()); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + if (data == null) return; + + data.put(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE, hostTTYDeviceCombo.getText()); + data.put(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE, hostTTYSpeedCombo.getText()); + + data.put(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS, hostTTYBitsCombo.getText()); + data.put(ITerminalsConnectorConstants.PROP_SERIAL_PARITY, hostTTYParityCombo.getText()); + data.put(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS, hostTTYStopbitsCombo.getText()); + data.put(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL, hostTTYFlowControlCombo.getText()); + + if (hostTTYTimeoutText.getText() != null) { + Integer timeout = null; + try { + timeout = Integer.decode(hostTTYTimeoutText.getText()); + } catch (NumberFormatException e) { /* ignored on purpose */ } + if (timeout != null) data.put(ITerminalsConnectorConstants.PROP_TIMEOUT, timeout); + else data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java new file mode 100644 index 00000000000..1e5632c420c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java @@ -0,0 +1,689 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.controls; + +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.dialogs.TitleAreaDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.events.ModifyEvent; +import org.eclipse.swt.events.ModifyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.VerifyEvent; +import org.eclipse.swt.events.VerifyListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tcf.te.ui.terminals.serial.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; +import org.eclipse.ui.PlatformUI; + +/** + * Serial line port or address dialog. + */ +public class SerialPortAddressDialog extends TitleAreaDialog implements IMessageProvider { + private String contextHelpId = null; + + private String message; + private int messageType; + private String errorMessage; + private String title; + + // The default message is shown to the user if no other message is set + private String defaultMessage; + private int defaultMessageType; + + Button ttyControlSelector; + Combo ttyControl; + Button tcpControlSelector; + Combo addressControl; + Combo portControl; + Label portLabel; + + List ttyHistory; + List tcpHistory; + + String data = null; + + // regular expressions for validator + /* default */ static final String IP_CHARACTERS_REGEX = "[0-9][0-9\\.]*"; //$NON-NLS-1$ + /* default */ static final String IP_FRAGMENT_REGEX = "([0-1]?[0-9]{1,2}|2[0-4][0-9]|25[0-5])"; //$NON-NLS-1$ + /* default */ static final String IP_REGEX = IP_FRAGMENT_REGEX + "(\\." + IP_FRAGMENT_REGEX + "){3}[ ]*"; //$NON-NLS-1$ //$NON-NLS-2$ + + // RFC 1034 - ftp://ftp.rfc-editor.org/in-notes/std/std13.txt + /* default */ static final String NAME_CHARACTERS_REGEX = "[a-zA-Z][0-9a-zA-Z\\-_\\.]*"; //$NON-NLS-1$ + // characters that can be set at the beginning + /* default */ static final String NAME_START_REGEX = "[a-zA-Z]"; //$NON-NLS-1$ + // characters that can be set after the starting character + /* default */ static final String NAME_FOLLOW_REGEX = "[a-zA-Z0-9-_]"; //$NON-NLS-1$ + // characters that can be set at the end + /* default */ static final String NAME_END_REGEX = "[a-zA-Z0-9]"; //$NON-NLS-1$ + // single name fragment + /* default */ static final String NAME_FRAGMENT_REGEX = "(" + NAME_START_REGEX + "(" + NAME_FOLLOW_REGEX + "*" + NAME_END_REGEX + ")?)"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + + /* default */ static final String NAME_REGEX = NAME_FRAGMENT_REGEX + "(\\." + NAME_FRAGMENT_REGEX + ")*[ ]*"; //$NON-NLS-1$ //$NON-NLS-2$ + + /** + * Constructor. + * @param parentShell + */ + public SerialPortAddressDialog(Shell parentShell, String selected, List ttyHistory, List tcpHistory) { + super(parentShell); + this.ttyHistory = ttyHistory; + this.tcpHistory = tcpHistory; + this.data = selected; + + this.contextHelpId = UIPlugin.getUniqueIdentifier() + ".SerialPortAddressDialog"; //$NON-NLS-1$ + setHelpAvailable(true); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#isResizable() + */ + @Override + protected boolean isResizable() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#create() + */ + @Override + public void create() { + super.create(); + + // If the dialog got set a message, make sure the message is really shown + // to the user from the beginning. + if (isMessageSet()) { + if (errorMessage != null) { + super.setErrorMessage(errorMessage); + } + else { + super.setMessage(message, messageType); + } + } else if (defaultMessage != null) { + // Default message set + super.setMessage(defaultMessage, defaultMessageType); + } + + // If the dialog got set a title, make sure the title is shown + if (title != null) { + super.setTitle(title); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + @Override + protected final Control createDialogArea(Composite parent) { + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, contextHelpId); + } + + // Let the super implementation create the dialog area control + Control control = super.createDialogArea(parent); + // Setup the inner panel as scrollable composite + if (control instanceof Composite) { + ScrolledComposite sc = new ScrolledComposite((Composite)control, SWT.V_SCROLL); + + GridLayout layout = new GridLayout(1, true); + layout.marginHeight = 0; layout.marginWidth = 0; + layout.verticalSpacing = 0; layout.horizontalSpacing = 0; + + sc.setLayout(layout); + sc.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); + + sc.setExpandHorizontal(true); + sc.setExpandVertical(true); + + Composite composite = new Composite(sc, SWT.NONE); + composite.setLayout(new GridLayout()); + + // Setup the dialog area content + createDialogAreaContent(composite); + + sc.setContent(composite); + sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); + + // Return the scrolled composite as new dialog area control + control = sc; + } + + return control; + } + + /** + * Creates the dialog area content. + * + * @param parent The parent composite. Must not be null. + */ + protected void createDialogAreaContent(Composite parent) { + Assert.isNotNull(parent); + + setDialogTitle(Messages.SerialPortAddressDialog_dialogtitle); + setTitle(Messages.SerialPortAddressDialog_title); + + Composite ttyComp = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(); + ttyComp.setLayout(layout); + GridData layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + layoutData.widthHint = 250; + ttyComp.setLayoutData(layoutData); + + Composite panel = new Composite(ttyComp, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + panel.setLayoutData(layoutData); + + ttyControlSelector = new Button(panel, SWT.RADIO); + ttyControlSelector.setText(Messages.SerialLinePanel_hostTTYDevice_label); + layoutData = new GridData(SWT.LEAD, SWT.CENTER, false, false); + ttyControlSelector.setLayoutData(layoutData); + ttyControlSelector.setSelection(true); + ttyControlSelector.addSelectionListener(new SelectionAdapter(){ + @Override + public void widgetSelected(SelectionEvent e) { + boolean selected = ttyControlSelector.getSelection(); + setTTYControlEnabled(selected); + setTCPControlEnabled(!selected); + onModify(); + } + }); + + ttyControl = new Combo(panel, SWT.DROP_DOWN); + layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + ttyControl.setLayoutData(layoutData); + ttyControl.addModifyListener(new ModifyListener(){ + @Override + public void modifyText(ModifyEvent e) { + onModify(); + } + }); + + parent.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + boolean enable = ttyHistory != null && ttyHistory.contains(data); + setTTYControlEnabled(enable); + setTCPControlEnabled(!enable); + onModify(); + } + }); + + Composite tcpComp = new Composite(parent, SWT.NONE); + layout = new GridLayout(2, true); + tcpComp.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + tcpComp.setLayoutData(layoutData); + + Composite tcpAddrComp = new Composite(tcpComp, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginWidth = 0; layout.marginHeight = 0; + tcpAddrComp.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + tcpAddrComp.setLayoutData(layoutData); + + tcpControlSelector = new Button(tcpAddrComp, SWT.RADIO); + tcpControlSelector.setText(Messages.SerialPortAddressDialog_address); + layoutData = new GridData(SWT.LEAD, SWT.CENTER, false, false); + tcpControlSelector.setLayoutData(layoutData); + tcpControlSelector.setSelection(false); + tcpControlSelector.addSelectionListener(new SelectionAdapter(){ + @Override + public void widgetSelected(SelectionEvent e) { + boolean selected = tcpControlSelector.getSelection(); + setTTYControlEnabled(!selected); + setTCPControlEnabled(selected); + onModify(); + } + }); + + addressControl = new Combo(tcpAddrComp, SWT.DROP_DOWN); + layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + addressControl.setLayoutData(layoutData); + addressControl.addModifyListener(new ModifyListener(){ + @Override + public void modifyText(ModifyEvent e) { + onModify(); + } + }); + + Composite tcpPortComp = new Composite(tcpComp, SWT.NONE); + layout = new GridLayout(2, false); + layout.marginWidth = 0; layout.marginHeight = 0; + tcpPortComp.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.CENTER, true, false); + tcpPortComp.setLayoutData(layoutData); + + portLabel = new Label(tcpPortComp, SWT.HORIZONTAL); + portLabel.setText(Messages.SerialPortAddressDialog_port); + layoutData = new GridData(SWT.LEAD, SWT.CENTER, false, false); + portLabel.setLayoutData(layoutData); + + portControl = new Combo(tcpPortComp, SWT.DROP_DOWN); + layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + portControl.setLayoutData(layoutData); + portControl.addVerifyListener(new VerifyListener() { + @Override + public void verifyText(VerifyEvent e) { + StringBuilder buffer = new StringBuilder(((Combo)e.widget).getText()); + + try { + if (e.end > e.start) { + buffer.replace(e.start, e.end, e.text); + } else if (e.end >= 0) { + buffer.insert(e.end, e.text); + } + } catch (StringIndexOutOfBoundsException exc) { /* ignored on purpose */ } + + String fulltext = buffer.toString(); + e.doit = fulltext.matches("([0-9]{0,5})|(0((x|X)[0-9a-fA-F]{0,4})?)"); //$NON-NLS-1$ + + if (e.doit && fulltext.length() > 0 && !fulltext.equalsIgnoreCase("0x")) { //$NON-NLS-1$ + try { + int value = Integer.decode(fulltext).intValue(); + if (value < 0 || value > 65535) { + e.doit = false; + } + } + catch (Exception ex) { + e.doit = false; + } + } + } + }); + portControl.addModifyListener(new ModifyListener(){ + @Override + public void modifyText(ModifyEvent e) { + onModify(); + } + }); + + // Trigger the runnable after having created all controls! + parent.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + boolean enable = tcpHistory != null && tcpHistory.contains(data); + setTTYControlEnabled(!enable); + setTCPControlEnabled(enable); + onModify(); + } + }); + + applyDialogFont(ttyComp); + applyDialogFont(tcpComp); + + setupData(); + } + + private void setupData() { + setTTYControlEnabled(true); + setTCPControlEnabled(false); + if (ttyHistory != null && !ttyHistory.isEmpty()) { + for (String tty : ttyHistory) { + if (tty != null && tty.trim().length() > 0 && ttyControl.indexOf(tty) == -1) { + ttyControl.add(tty.trim()); + } + if (tty != null && tty.equals(data)) { + ttyControl.setText(tty.trim()); + } + } + } + if (tcpHistory != null && !tcpHistory.isEmpty()) { + for (String tcp : tcpHistory) { + String[] data = tcp.split(":"); //$NON-NLS-1$ + if (data.length > 1) { + if (data[1] != null && data[1].trim().length() > 0 && ttyControl.indexOf(data[1]) == -1) { + addressControl.add(data[1].trim()); + } + } + if (data.length > 2) { + if (data[2] != null && data[2].trim().length() > 0 && ttyControl.indexOf(data[2]) == -1) { + addressControl.add(data[2].trim()); + } + } + if (tcp.equals(this.data)) { + setTTYControlEnabled(false); + setTCPControlEnabled(true); + if (data.length > 1) { + addressControl.setText(data[1]); + } + if (data.length > 2) { + portControl.setText(data[2]); + } + } + } + } + onModify(); + } + + void setTTYControlEnabled(boolean enable) { + ttyControlSelector.setSelection(enable); + ttyControl.setEnabled(enable); + } + + void setTCPControlEnabled(boolean enable) { + tcpControlSelector.setSelection(enable); + addressControl.setEnabled(enable); + portControl.setEnabled(enable); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.TrayDialog#createButtonBar(org.eclipse.swt.widgets.Composite) + */ + @Override + protected Control createButtonBar(Composite parent) { + Control control = super.createButtonBar(parent); + setButtonEnabled(OK, false); + return control; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.dialogs.CustomTitleAreaDialog#okPressed() + */ + @Override + protected void okPressed() { + if (ttyControlSelector.getSelection()) { + data = ttyControl.getText(); + } + else { + data = "tcp:" + addressControl.getText() + ":" + portControl.getText(); //$NON-NLS-1$ //$NON-NLS-2$ + } + super.okPressed(); + } + + /** + * Called from the single controls if the content of the controls changed. + */ + protected void onModify() { + setMessage(null); + + boolean valid = false; + + if (ttyControlSelector.getSelection()) { + valid = isTtyControlValid(); + } else { + valid = isAddressControlValid(); + valid &= isPortControlValid(); + } + + if (getMessage() == null) { + setDefaultMessage(Messages.SerialPortAddressDialog_message, IMessageProvider.INFORMATION); + } + + setButtonEnabled(OK, valid); + } + + private static final Pattern validCharacters = Platform.OS_WIN32.equals(Platform.getOS()) ? Pattern.compile("[\\w]+") : Pattern.compile("[\\w/]+"); //$NON-NLS-1$ //$NON-NLS-2$ + + /** + * Validates the tty device control. + * + * @return True if the control is valid, false otherwise. + */ + protected boolean isTtyControlValid() { + if (ttyControl == null || ttyControl.isDisposed()) return false; + + boolean valid = true; + + String m = null; + int mt = IMessageProvider.NONE; + + String newText = ttyControl.getText(); + Assert.isNotNull(newText); + if (newText.trim().length() > 0) { + Matcher matcher = validCharacters.matcher(newText); + if (!matcher.matches()) { + m = Messages.SerialLinePanel_error_invalidCharactes; + mt = IMessageProvider.ERROR; + } + } + else { + m = Messages.SerialLinePanel_error_emptyHostTTYDevice; + mt = IMessageProvider.INFORMATION; + } + + valid = mt != IMessageProvider.ERROR; + if (mt > getMessageType()) setMessage(m, mt); + + return valid; + } + + /** + * Validates the address control. + * + * @return True if the control is valid, false otherwise. + */ + protected boolean isAddressControlValid() { + if (addressControl == null || addressControl.isDisposed()) return false; + + boolean valid = true; + + String m = null; + int mt = IMessageProvider.NONE; + + String ipOrHostName = addressControl.getText(); + + // info message when value is empty + if (ipOrHostName == null || ipOrHostName.trim().length() == 0) { + m = Messages.SerialPortAddressDialog_Information_MissingTargetNameAddress; + mt = IMessageProvider.INFORMATION; + } else { + ipOrHostName = ipOrHostName.trim(); + // check IP address when only numeric values and '.' are entered + if (ipOrHostName.matches(IP_CHARACTERS_REGEX)) { + if (!ipOrHostName.matches(IP_REGEX)) { + m = Messages.SerialPortAddressDialog_Error_InvalidTargetIpAddress; + mt = IMessageProvider.ERROR; + } + } + else if (ipOrHostName.matches(NAME_CHARACTERS_REGEX)) { + if (!ipOrHostName.matches(NAME_REGEX)) { + m = Messages.SerialPortAddressDialog_Error_InvalidTargetNameAddress; + mt = IMessageProvider.ERROR; + } + } + else { + m = Messages.SerialPortAddressDialog_Error_InvalidTargetNameAddress; + mt = IMessageProvider.ERROR; + } + } + + valid = mt != IMessageProvider.ERROR; + if (mt > getMessageType()) setMessage(m, mt); + + return valid; + } + + /** + * Validates the port control. + * + * @return True if the control is valid, false otherwise. + */ + protected boolean isPortControlValid() { + if (portControl == null || portControl.isDisposed()) return false; + + boolean valid = true; + + String m = null; + int mt = IMessageProvider.NONE; + + String newText = portControl.getText(); + Assert.isNotNull(newText); + if (newText.trim().length() > 0) { + if (!newText.matches("([0-9]{0,5})|(0((x|X)[0-9a-fA-F]{0,4})?)")) { //$NON-NLS-1$ + m = Messages.SerialPortAddressDialog_Error_InvalidPort; + mt = IMessageProvider.ERROR; + } else { + try { + int value = Integer.decode(newText).intValue(); + if (value < 0 || value > 65535) { + m = Messages.SerialPortAddressDialog_Error_InvalidPortRange; + mt = IMessageProvider.ERROR; + } + } + catch (Exception ex) { /* ignored on purpose */ } + } + } + else { + m = Messages.SerialPortAddressDialog_Information_MissingPort; + mt = IMessageProvider.INFORMATION; + } + + valid = mt != IMessageProvider.ERROR; + if (mt > getMessageType()) setMessage(m, mt); + + return valid; + } + + /** + * Return the new name after OK was pressed. + * Unless OK was pressed, the old name is returned. + */ + public String getData() { + return data; + } + + /** + * Cleanup when dialog is closed. + */ + protected void dispose() { + message = null; + messageType = IMessageProvider.NONE; + errorMessage = null; + title = null; + defaultMessage = null; + defaultMessageType = IMessageProvider.NONE; + } + + /** + * Cleanup the Dialog and close it. + */ + @Override + public boolean close() { + dispose(); + return super.close(); + } + + /** + * Set the enabled state of the dialog button specified by the given id (@see IDialogConstants) + * to the given state. + * + * @param buttonId The button id for the button to change the enabled state for. + * @param enabled The new enabled state to set for the button. + */ + public void setButtonEnabled(int buttonId, boolean enabled) { + Button button = getButton(buttonId); + if (button != null) { + button.setEnabled(enabled); + } + } + + /** + * Sets the title for this dialog. + * + * @param title The title. + */ + public void setDialogTitle(String title) { + if (getShell() != null && !getShell().isDisposed()) { + getShell().setText(title); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.TitleAreaDialog#setTitle(java.lang.String) + */ + @Override + public void setTitle(String newTitle) { + title = newTitle; + super.setTitle(newTitle); + } + + /** + * Set the default message. The default message is shown within the + * dialogs message area if no other message is set. + * + * @param message The default message or null. + * @param type The default message type. See {@link IMessageProvider}. + */ + public void setDefaultMessage(String message, int type) { + defaultMessage = message; + defaultMessageType = type; + // Push the default message to the dialog if no other message is set + if (!isMessageSet() && getContents() != null) { + super.setMessage(defaultMessage, defaultMessageType); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.TitleAreaDialog#setMessage(java.lang.String, int) + */ + @Override + public void setMessage(String newMessage, int newType) { + // To be able to implement IMessageProvider, we have to remember the + // set message ourselfs. There is no access to these information by the + // base class. + message = newMessage; messageType = newType; + // Only pass on to super implementation if the control has been created yet + if (getContents() != null) { + super.setMessage(message != null ? message : defaultMessage, message != null ? messageType : defaultMessageType); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.TitleAreaDialog#setErrorMessage(java.lang.String) + */ + @Override + public void setErrorMessage(String newErrorMessage) { + // See setMessage(...) + errorMessage = newErrorMessage; + super.setErrorMessage(newErrorMessage); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() + */ + @Override + public String getMessage() { + return errorMessage != null ? errorMessage : message; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() + */ + @Override + public int getMessageType() { + return errorMessage != null ? IMessageProvider.ERROR : messageType; + } + + /** + * Returns if or if not an message is set to the dialog. + * + * @return True if a message has been set, false otherwise. + */ + public boolean isMessageSet() { + return errorMessage != null || message != null; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java new file mode 100644 index 00000000000..9f0df469edc --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java @@ -0,0 +1,22 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.interfaces; + +/** + * Trace slot identifiers. + */ +public interface ITraceIds { + + /** + * If activated, trace information about serial device discovery is printed out. + */ + public static final String TRACE_SERIAL_LINE_PANEL = "trace/serialLinePanel"; //$NON-NLS-1$ + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java new file mode 100644 index 00000000000..a8da2a84fc5 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.interfaces; + +/** + * The properties specific to the wire type "serial". + */ +public interface IWireTypeSerial { + + /** + * The data container. + */ + public static String PROPERTY_CONTAINER_NAME = "serial"; //$NON-NLS-1$ + + /** + * The serial device name. + */ + public static final String PROPERTY_SERIAL_DEVICE = "device"; //$NON-NLS-1$ + + /** + * The baud rate. + */ + public static final String PROPERTY_SERIAL_BAUD_RATE = "baudrate"; //$NON-NLS-1$ + + /** + * The data bits + */ + public static final String PROPERTY_SERIAL_DATA_BITS = "databits"; //$NON-NLS-1$ + + /** + * The parity + */ + public static final String PROPERTY_SERIAL_PARITY = "parity"; //$NON-NLS-1$ + + /** + * The stop bits + */ + public static final String PROPERTY_SERIAL_STOP_BITS = "stopbits"; //$NON-NLS-1$ + + /** + * The flow control + */ + public static final String PROPERTY_SERIAL_FLOW_CONTROL = "flowcontrol"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java new file mode 100644 index 00000000000..6a8dd00a414 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java @@ -0,0 +1,160 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.launcher; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.serial.controls.SerialConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; +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.tm.internal.terminal.serial.SerialSettings; + +/** + * Serial launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class SerialLauncherDelegate extends AbstractLauncherDelegate { + // The serial terminal connection memento handler + private final IMementoHandler mementoHandler = new SerialMementoHandler(); + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new SerialConfigurationPanel(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // Serial terminals do have a disconnect button + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { + properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /** + * Returns the terminal title string. + *

                                  + * The default implementation constructs a title like "Serial <port> (Start time) ". + * + * @return The terminal title string or null. + */ + private String getTerminalTitle(Map properties) { + String device = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE); + + if (device != null) { + DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); + String date = format.format(new Date(System.currentTimeMillis())); + return NLS.bind(Messages.SerialLauncherDelegate_terminalTitle, new String[]{device, date}); + } + return Messages.SerialLauncherDelegate_terminalTitle_default; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (IMementoHandler.class.equals(adapter)) { + return mementoHandler; + } + return super.getAdapter(adapter); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.serial.SerialConnector"; //$NON-NLS-1$ + + String port = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE); + String baud = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE); + Object value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + String timeout = value instanceof Integer ? ((Integer)value).toString() : null; + String databits = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS); + String stopbits = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS); + String parity = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_PARITY); + String flowcontrol = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the serial settings + SerialSettings serialSettings = new SerialSettings(); + serialSettings.setSerialPort(port); + serialSettings.setBaudRate(baud); + serialSettings.setTimeout(timeout); + serialSettings.setDataBits(databits); + serialSettings.setStopBits(stopbits); + serialSettings.setParity(parity); + serialSettings.setFlowControl(flowcontrol); + + // And save the settings to the store + serialSettings.save(store); + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java new file mode 100644 index 00000000000..47615d28886 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java @@ -0,0 +1,64 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.launcher; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.ui.IMemento; + +/** + * Serial terminal connection memento handler implementation. + */ +public class SerialMementoHandler implements IMementoHandler { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void saveState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Do not write the terminal title to the memento -> needs to + // be recreated at the time of restoration. + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE)); + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE)); + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS)); + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_PARITY, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_PARITY)); + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS)); + memento.putString(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL, (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL)); + Object value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + memento.putInteger(ITerminalsConnectorConstants.PROP_TIMEOUT, value instanceof Integer ? ((Integer)value).intValue() : -1); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void restoreState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Restore the terminal properties from the memento + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE)); + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE)); + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_DATA_BITS)); + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_PARITY, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_PARITY)); + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_STOP_BITS)); + properties.put(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL, memento.getString(ITerminalsConnectorConstants.PROP_SERIAL_FLOW_CONTROL)); + Integer timeout = memento.getInteger(ITerminalsConnectorConstants.PROP_TIMEOUT); + if (timeout != null && timeout.intValue() != -1) properties.put(ITerminalsConnectorConstants.PROP_TIMEOUT, timeout); + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java new file mode 100644 index 00000000000..530171509bf --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java @@ -0,0 +1,68 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.serial.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.serial.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String SerialLauncherDelegate_terminalTitle; + public static String SerialLauncherDelegate_terminalTitle_default; + + public static String SerialLinePanel_hostTTYDevice_label; + public static String SerialLinePanel_hostTTYSpeed_label; + public static String SerialLinePanel_hostTTYDatabits_label; + public static String SerialLinePanel_hostTTYParity_label; + public static String SerialLinePanel_hostTTYStopbits_label; + public static String SerialLinePanel_hostTTYFlowControl_label; + public static String SerialLinePanel_hostTTYTimeout_label; + public static String SerialLinePanel_customSerialBaudRate_title; + public static String SerialLinePanel_customSerialBaudRate_message; + public static String SerialLinePanel_error_invalidCharactes; + public static String SerialLinePanel_error_invalidCharactesBaudRate; + public static String SerialLinePanel_error_emptyHostTTYDevice; + public static String SerialLinePanel_error_emptyHostTTYSpeedRate; + public static String SerialLinePanel_error_emptyHostTTYDatabits; + public static String SerialLinePanel_error_emptyHostTTYParity; + public static String SerialLinePanel_error_emptyHostTTYStopbits; + public static String SerialLinePanel_error_emptyHostTTYFlowControl; + public static String SerialLinePanel_error_emptyHostTTYTimeout; + public static String SerialLinePanel_info_editableTTYDeviceSelected; + public static String SerialLinePanel_info_editableTTYBaudRateSelected; + public static String SerialLinePanel_warning_FailedToLoadSerialPorts; + + public static String SerialPortAddressDialog_dialogtitle; + public static String SerialPortAddressDialog_title; + public static String SerialPortAddressDialog_message; + public static String SerialPortAddressDialog_address; + public static String SerialPortAddressDialog_port; + public static String SerialPortAddressDialog_Information_MissingTargetNameAddress; + public static String SerialPortAddressDialog_Error_InvalidTargetNameAddress; + public static String SerialPortAddressDialog_Error_InvalidTargetIpAddress; + public static String SerialPortAddressDialog_Information_MissingPort; + public static String SerialPortAddressDialog_Error_InvalidPort; + public static String SerialPortAddressDialog_Error_InvalidPortRange; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties new file mode 100644 index 00000000000..2b89c100940 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties @@ -0,0 +1,46 @@ +############################################################################### +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +SerialLauncherDelegate_terminalTitle=Serial {0} ({1}) +SerialLauncherDelegate_terminalTitle_default=Serial Terminal + +SerialLinePanel_hostTTYDevice_label=Port: +SerialLinePanel_hostTTYSpeed_label=Baud Rate: +SerialLinePanel_hostTTYDatabits_label=Data Bits: +SerialLinePanel_hostTTYParity_label=Parity: +SerialLinePanel_hostTTYStopbits_label=Stop Bits: +SerialLinePanel_hostTTYFlowControl_label=Flow Control: +SerialLinePanel_hostTTYTimeout_label=Timeout (sec): +SerialLinePanel_customSerialBaudRate_title=Configure Custom Serial Baud Rate +SerialLinePanel_customSerialBaudRate_message=Please enter the custom serial baud rate: +SerialLinePanel_error_invalidCharactes=The device name you've entered contains invalid characters. +SerialLinePanel_error_invalidCharactesBaudRate=The baud rate you've entered contains invalid characters. +SerialLinePanel_error_emptyHostTTYDevice=Please select a valid host serial device. +SerialLinePanel_error_emptyHostTTYSpeedRate=Please select a valid serial device speed. +SerialLinePanel_error_emptyHostTTYDatabits=Please select a valid number of data bits. +SerialLinePanel_error_emptyHostTTYParity=Please select a valid parity. +SerialLinePanel_error_emptyHostTTYStopbits=Please select a valid number of stop bits. +SerialLinePanel_error_emptyHostTTYFlowControl=Please select a valid flow control. +SerialLinePanel_error_emptyHostTTYTimeout=Please select a valid timeout. +SerialLinePanel_info_editableTTYDeviceSelected=Please re-select ''Other...'' again to activate the custom serial device input dialog. +SerialLinePanel_info_editableTTYBaudRateSelected=Please re-select ''Other...'' again to activate the custom serial baud rate input dialog. +SerialLinePanel_warning_FailedToLoadSerialPorts=Failed to enumerate the systems serial ports. + +SerialPortAddressDialog_dialogtitle=Other... +SerialPortAddressDialog_title=Configure Custom Serial Device +SerialPortAddressDialog_message=Select the type of the custom serial device and configure the device properties. +SerialPortAddressDialog_address=Address: +SerialPortAddressDialog_port=Port: +SerialPortAddressDialog_Information_MissingTargetNameAddress=Please enter a valid target name or IP address. +SerialPortAddressDialog_Error_InvalidTargetNameAddress=Target name or IP address is not valid. +SerialPortAddressDialog_Error_InvalidTargetIpAddress=Target IP address is not valid. +SerialPortAddressDialog_Information_MissingPort=Please enter a valid port number. +SerialPortAddressDialog_Error_InvalidPort=Target port number must be a valid number in the range of 0 to 65535. +SerialPortAddressDialog_Error_InvalidPortRange=Target port number must be in the range of 0 to 65535. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options new file mode 100644 index 00000000000..910d2e57c84 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.ui.terminals.ssh/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project new file mode 100644 index 00000000000..af2dbffa88e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals.ssh + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 1329502091181 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..4754bba05f6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Wed Oct 19 12:10:57 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..8762d8cf6e6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.ssh;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.ssh.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.tm.terminal.ssh;bundle-version="2.1.300", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.ssh.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.ssh.controls, + org.eclipse.tcf.te.ui.terminals.ssh.launcher, + org.eclipse.tcf.te.ui.terminals.ssh.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties new file mode 100644 index 00000000000..221a2d955c1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties new file mode 100644 index 00000000000..9c7fb35b455 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties @@ -0,0 +1,20 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, SSH Terminals Extensions +providerName = Eclipse.org - Target Explorer + +# ----- Terminal Connector Types ----- + +SshConnectorType.label=SSH Connector Type + +# ----- Terminal Launcher Delegates ----- + +SshLauncherDelegate.label=SSH Terminal \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml new file mode 100644 index 00000000000..ba7ac4af5d1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/pom.xml new file mode 100644 index 00000000000..4d8aa606121 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.ssh + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java new file mode 100644 index 00000000000..8349dae57a3 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.ssh.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.ssh"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java new file mode 100644 index 00000000000..36f238e4d1f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java @@ -0,0 +1,425 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.ssh.controls; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.equinox.security.storage.ISecurePreferences; +import org.eclipse.equinox.security.storage.SecurePreferencesFactory; +import org.eclipse.equinox.security.storage.StorageException; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.ssh.SshConnector; +import org.eclipse.tm.internal.terminal.ssh.SshSettings; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * SSH wizard configuration panel implementation. + */ +@SuppressWarnings("restriction") +public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { + + private static final String SAVE_USER = "saveUser"; //$NON-NLS-1$ + private static final String SAVE_PASSWORD = "savePassword"; //$NON-NLS-1$ + + private SshSettings sshSettings; + private ISettingsPage sshSettingsPage; + private Button userButton; + private Button passwordButton; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public SshWizardConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + // Create the host selection combo + if (isWithoutSelection()) createHostsUI(panel, true); + + SshConnector conn = new SshConnector(); + sshSettings = (SshSettings) conn.getSshSettings(); + sshSettings.setHost(getSelectionHost()); + sshSettings.setUser(getDefaultUser()); + + sshSettingsPage = conn.makeSettingsPage(); + if (sshSettingsPage instanceof AbstractSettingsPage) { + ((AbstractSettingsPage)sshSettingsPage).setHasControlDecoration(true); + } + sshSettingsPage.createControl(panel); + + // Add the listener to the settings page + sshSettingsPage.addListener(new ISettingsPage.Listener() { + @Override + public void onSettingsPageChanged(Control control) { + if (getContainer() != null) getContainer().validate(); + } + }); + + // Create the encoding selection combo + createEncodingUI(panel, true); + + // if user and password for host should be saved or not + createSaveButtonsUI(panel, true); + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + if (data == null || sshSettings == null || sshSettingsPage == null) return; + + String value = (String)data.get(ITerminalsConnectorConstants.PROP_IP_HOST); + if (value != null) sshSettings.setHost(value); + + Object v = data.get(ITerminalsConnectorConstants.PROP_IP_PORT); + value = v != null ? v.toString() : null; + if (value != null) sshSettings.setPort(value); + + v = data.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + value = v != null ? v.toString() : null; + if (value != null) sshSettings.setTimeout(value); + + v = data.get(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE); + value = v != null ? v.toString() : null; + if (value != null) sshSettings.setKeepalive(value); + + value = (String)data.get(ITerminalsConnectorConstants.PROP_SSH_PASSWORD); + if (value != null) sshSettings.setPassword(value); + + value = (String)data.get(ITerminalsConnectorConstants.PROP_SSH_USER); + if (value != null) sshSettings.setUser(value); + + value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) setEncoding(value); + + sshSettingsPage.loadSettings(); + } + + /** + * Returns the default user name. + * + * @return The default user name. + */ + private String getDefaultUser() { + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection) selection).getFirstElement(); + ITerminalContextPropertiesProvider provider = TerminalContextPropertiesProviderFactory.getProvider(element); + if (provider != null) { + Object user = provider.getProperty(element, IContextPropertiesConstants.PROP_DEFAULT_USER); + if (user instanceof String) return ((String) user).trim(); + } + } + + return System.getProperty("user.name"); //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + if (data == null) return; + + // set the terminal connector id for ssh + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.ssh.SshConnector"); //$NON-NLS-1$ + + sshSettingsPage.saveSettings(); + data.put(ITerminalsConnectorConstants.PROP_IP_HOST,sshSettings.getHost()); + data.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.valueOf(sshSettings.getPort())); + data.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.valueOf(sshSettings.getTimeout())); + data.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, Integer.valueOf(sshSettings.getKeepalive())); + data.put(ITerminalsConnectorConstants.PROP_SSH_PASSWORD, sshSettings.getPassword()); + data.put(ITerminalsConnectorConstants.PROP_SSH_USER, sshSettings.getUser()); + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host) { + boolean saveUser = true; + boolean savePassword = false; + if (host != null && host.length() != 0){ + if (hostSettingsMap.containsKey(host)){ + Map hostSettings = hostSettingsMap.get(host); + if (hostSettings.get(ITerminalsConnectorConstants.PROP_IP_HOST) != null) { + sshSettings.setHost(hostSettings.get(ITerminalsConnectorConstants.PROP_IP_HOST)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_IP_PORT) != null) { + sshSettings.setPort(hostSettings.get(ITerminalsConnectorConstants.PROP_IP_PORT)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT) != null) { + sshSettings.setTimeout(hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE) != null) { + sshSettings.setKeepalive(hostSettings.get(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_SSH_USER) != null) { + sshSettings.setUser(hostSettings.get(ITerminalsConnectorConstants.PROP_SSH_USER)); + } + if (hostSettings.get(SAVE_PASSWORD) != null) { + savePassword = new Boolean(hostSettings.get(SAVE_PASSWORD)).booleanValue(); + } + if (!savePassword){ + sshSettings.setPassword(""); //$NON-NLS-1$ + } else { + String password = accessSecurePassword(sshSettings.getHost()); + if (password != null) { + sshSettings.setPassword(password); + } + } + + String encoding = hostSettings.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (encoding == null || "null".equals(encoding)) { //$NON-NLS-1$ + String defaultEncoding = getSelectionEncoding(); + encoding = defaultEncoding != null && !"".equals(defaultEncoding.trim()) ? defaultEncoding.trim() : "ISO-8859-1"; //$NON-NLS-1$ //$NON-NLS-2$ + } + setEncoding(encoding); + } else { + sshSettings.setHost(getSelectionHost()); + sshSettings.setUser(getDefaultUser()); + saveUser = true; + savePassword = false; + } + // set settings in page + sshSettingsPage.loadSettings(); + userButton.setSelection(saveUser); + passwordButton.setSelection(savePassword); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + saveSettingsForHost(true); + super.doSaveWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add) { + boolean saveUser = userButton.getSelection(); + boolean savePassword = passwordButton.getSelection(); + String host = getHostFromSettings(); + if (host != null && host.length() != 0) { + if (hostSettingsMap.containsKey(host)){ + Map hostSettings = hostSettingsMap.get(host); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, sshSettings.getHost()); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(sshSettings.getPort())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(sshSettings.getTimeout())); + hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, Integer.toString(sshSettings.getKeepalive())); + if (saveUser) { + String defaultUser = getDefaultUser(); + if (defaultUser == null || !defaultUser.equals(sshSettings.getUser())) { + hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_USER, sshSettings.getUser()); + } else { + hostSettings.remove(ITerminalsConnectorConstants.PROP_SSH_USER); + } + } + else { + hostSettings.remove(ITerminalsConnectorConstants.PROP_SSH_USER); + } + + String encoding = getEncoding(); + if (encoding != null) { + String defaultEncoding = getSelectionEncoding(); + if (defaultEncoding != null && defaultEncoding.trim().equals(encoding)) { + encoding = null; + } + } + hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, encoding); + hostSettings.put(SAVE_USER, Boolean.toString(saveUser)); + hostSettings.put(SAVE_PASSWORD, Boolean.toString(savePassword)); + + if (savePassword && sshSettings.getPassword() != null && sshSettings.getPassword().length() != 0){ + saveSecurePassword(host, sshSettings.getPassword()); + } + + // maybe unchecked the password button - so try to remove a saved password - if any + if (!savePassword) removeSecurePassword(host); + } else if (add) { + Map hostSettings = new HashMap(); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, sshSettings.getHost()); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(sshSettings.getPort())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(sshSettings.getTimeout())); + hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, Integer.toString(sshSettings.getKeepalive())); + if (saveUser) { + String defaultUser = getDefaultUser(); + if (defaultUser == null || !defaultUser.equals(sshSettings.getUser())) { + hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_USER, sshSettings.getUser()); + } + } + hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + hostSettings.put(SAVE_USER, Boolean.toString(saveUser)); + hostSettings.put(SAVE_PASSWORD, Boolean.toString(savePassword)); + hostSettingsMap.put(host, hostSettings); + + if (savePassword && sshSettings.getPassword() != null && sshSettings.getPassword().length() != 0){ + saveSecurePassword(host, sshSettings.getPassword()); + } + } + } + } + + /** + * Save the password to the secure storage. + * + * @param host The host. Must not be null. + * @param password The password. Must not be null. + */ + private void saveSecurePassword(String host, String password) { + Assert.isNotNull(host); + Assert.isNotNull(password); + + // To access the secure storage, we need the preference instance + ISecurePreferences preferences = SecurePreferencesFactory.getDefault(); + if (preferences != null) { + // Construct the secure preferences node key + String nodeKey = "/Target Explorer SSH Password/" + host; //$NON-NLS-1$ + ISecurePreferences node = preferences.node(nodeKey); + if (node != null) { + try { + node.put("password", password, true); //$NON-NLS-1$ + } + catch (StorageException ex) { /* ignored on purpose */ } + } + } + } + + /** + * Reads the password from the secure storage. + * + * @param host The host. Must not be null. + * @return The password or null. + */ + private String accessSecurePassword(String host) { + Assert.isNotNull(host); + + // To access the secure storage, we need the preference instance + ISecurePreferences preferences = SecurePreferencesFactory.getDefault(); + if (preferences != null) { + // Construct the secure preferences node key + String nodeKey = "/Target Explorer SSH Password/" + host; //$NON-NLS-1$ + ISecurePreferences node = preferences.node(nodeKey); + if (node != null) { + String password = null; + try { + password = node.get("password", null); //$NON-NLS-1$ + } + catch (StorageException ex) { /* ignored on purpose */ } + + return password; + } + } + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#removeSecurePassword(java.lang.String) + */ + @Override + protected void removeSecurePassword(String host) { + Assert.isNotNull(host); + + // To access the secure storage, we need the preference instance + ISecurePreferences preferences = SecurePreferencesFactory.getDefault(); + if (preferences != null) { + // Construct the secure preferences node key + String nodeKey = "/Target Explorer SSH Password/" + host; //$NON-NLS-1$ + ISecurePreferences node = preferences.node(nodeKey); + if (node != null) { + node.remove("password"); //$NON-NLS-1$ + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + */ + @Override + public boolean isValid(){ + return isEncodingValid() && sshSettingsPage.validateSettings(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + sshSettingsPage.saveSettings(); + return sshSettings.getHost(); + } + + private void createSaveButtonsUI(final Composite parent, boolean separator) { + Assert.isNotNull(parent); + + if (separator) { + Label sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + } + + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; + layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + userButton = new Button(panel, SWT.CHECK); + userButton.setLayoutData(new GridData(SWT.LEAD, SWT.CENTER, false, false)); + userButton.setText(Messages.SshWizardConfigurationPanel_saveUser); + + passwordButton = new Button(panel, SWT.CHECK); + passwordButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + passwordButton.setText(Messages.SshWizardConfigurationPanel_savePassword); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java new file mode 100644 index 00000000000..3fd55ba81e5 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.ssh.launcher; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.ssh.controls.SshWizardConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages; +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.tm.internal.terminal.ssh.SshSettings; + +/** + * SSH launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class SshLauncherDelegate extends AbstractLauncherDelegate { + // The SSH terminal connection memento handler + private final IMementoHandler mementoHandler = new SshMementoHandler(); + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new SshWizardConfigurationPanel(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // For SSH terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + // SSH terminals do have a disconnect button + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { + properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /** + * Returns the terminal title string. + *

                                  + * The default implementation constructs a title like "SSH @ host (Start time) ". + * + * @return The terminal title string or null. + */ + private String getTerminalTitle(Map properties) { + String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); + String user = (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_USER); + + if (host != null && user!= null) { + DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); + String date = format.format(new Date(System.currentTimeMillis())); + return NLS.bind(Messages.SshLauncherDelegate_terminalTitle, new String[]{user, host, date}); + } + return Messages.SshLauncherDelegate_terminalTitle_default; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (IMementoHandler.class.equals(adapter)) { + return mementoHandler; + } + return super.getAdapter(adapter); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.ssh.SshConnector"; //$NON-NLS-1$ + + // Extract the ssh properties + String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); + Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); + String port = value != null ? value.toString() : null; + value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + String timeout = value != null ? value.toString() : null; + value = properties.get(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE); + String keepAlive = value != null ? value.toString() : null; + String password = (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_PASSWORD); + String user = (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_USER); + + int portOffset = 0; + if (properties.get(ITerminalsConnectorConstants.PROP_IP_PORT_OFFSET) instanceof Integer) { + portOffset = ((Integer)properties.get(ITerminalsConnectorConstants.PROP_IP_PORT_OFFSET)).intValue(); + if (portOffset < 0) portOffset = 0; + } + + // The real port to connect to is port + portOffset + port = Integer.toString(Integer.decode(port).intValue() + portOffset); + + // Construct the ssh settings store + ISettingsStore store = new SettingsStore(); + + // Construct the telnet settings + SshSettings sshSettings = new SshSettings(); + sshSettings.setHost(host); + sshSettings.setPort(port); + sshSettings.setTimeout(timeout); + sshSettings.setKeepalive(keepAlive); + sshSettings.setPassword(password); + sshSettings.setUser(user); + + // And save the settings to the store + sshSettings.save(store); + + // MWE TODO make sure this is NOT passed outside as this is plain text + store.put("Password", password); //$NON-NLS-1$ + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java new file mode 100644 index 00000000000..f0ce4c2c045 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java @@ -0,0 +1,133 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.ssh.launcher; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.equinox.security.storage.ISecurePreferences; +import org.eclipse.equinox.security.storage.SecurePreferencesFactory; +import org.eclipse.equinox.security.storage.StorageException; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.ui.IMemento; + +/** + * SSH terminal connection memento handler implementation. + */ +public class SshMementoHandler implements IMementoHandler { + + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void saveState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Do not write the terminal title to the memento -> needs to + // be recreated at the time of restoration. + memento.putString(ITerminalsConnectorConstants.PROP_IP_HOST, (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST)); + Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); + memento.putInteger(ITerminalsConnectorConstants.PROP_IP_PORT, value instanceof Integer ? ((Integer)value).intValue() : -1); + value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + memento.putInteger(ITerminalsConnectorConstants.PROP_TIMEOUT, value instanceof Integer ? ((Integer)value).intValue() : -1); + value = properties.get(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE); + memento.putInteger(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, value instanceof Integer ? ((Integer)value).intValue() : -1); + memento.putString(ITerminalsConnectorConstants.PROP_SSH_USER, (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_USER)); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + + // The password is stored within the Eclipse secure preferences -> no need to store it to the memento + // + // If ever needed, this is an example on how to encrypt the password using 3DES. Do not remove! + + /* + String password = properties.getStringProperty(ITerminalsConnectorConstants.PROP_SSH_PASSWORD); + if (password != null) { + try { + // Generate a temporary key. In practice, you would save this key. + // See also Encrypting with DES Using a Pass Phrase. + // SecretKey key = KeyGenerator.getInstance("DESede").generateKey(); + + SecretKeyFactory factory = SecretKeyFactory.getInstance("DESede"); //$NON-NLS-1$ + SecretKey key = factory.generateSecret(new DESKeySpec((ITerminalsConnectorConstants.PROP_SSH_PASSWORD + ".SshMementoHandler").getBytes("UTF-8"))); //$NON-NLS-1$ //$NON-NLS-2$ + + Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding"); //$NON-NLS-1$ + cipher.init(Cipher.ENCRYPT_MODE, key); + + String encrypedPwd = new String(Base64.encode(cipher.doFinal(password.getBytes("UTF-8")))); //$NON-NLS-1$ + memento.putString(ITerminalsConnectorConstants.PROP_SSH_PASSWORD, encrypedPwd); + } + catch (Exception e) { + if (Platform.inDebugMode()) e.printStackTrace(); + } + } + */ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void restoreState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Restore the terminal properties from the memento + properties.put(ITerminalsConnectorConstants.PROP_IP_HOST, memento.getString(ITerminalsConnectorConstants.PROP_IP_HOST)); + properties.put(ITerminalsConnectorConstants.PROP_IP_PORT, memento.getInteger(ITerminalsConnectorConstants.PROP_IP_PORT)); + properties.put(ITerminalsConnectorConstants.PROP_TIMEOUT, memento.getInteger(ITerminalsConnectorConstants.PROP_TIMEOUT)); + properties.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, memento.getInteger(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE)); + properties.put(ITerminalsConnectorConstants.PROP_SSH_USER, memento.getString(ITerminalsConnectorConstants.PROP_SSH_USER)); + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); + + // The password is stored within the Eclipse secure preferences -> restore it from there + // To access the secure storage, we need the preference instance + String password = null; + ISecurePreferences preferences = SecurePreferencesFactory.getDefault(); + if (preferences != null && (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST) != null) { + // Construct the secure preferences node key + String nodeKey = "/Target Explorer SSH Password/" + (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); //$NON-NLS-1$ + ISecurePreferences node = preferences.node(nodeKey); + if (node != null) { + try { + password = node.get("password", null); //$NON-NLS-1$ + } + catch (StorageException ex) { /* ignored on purpose */ } + } + } + + // Example of restoring the password from an 3DES encrypted string. Do not remove! + /* + String encrypedPwd = memento.getString(ITerminalsConnectorConstants.PROP_SSH_PASSWORD); + if (encrypedPwd != null) { + try { + SecretKeyFactory factory = SecretKeyFactory.getInstance("DESede"); //$NON-NLS-1$ + SecretKey key = factory.generateSecret(new DESKeySpec((ITerminalsConnectorConstants.PROP_SSH_PASSWORD + ".SshMementoHandler").getBytes("UTF-8"))); //$NON-NLS-1$ //$NON-NLS-2$ + + Cipher cipher = Cipher.getInstance("DESede/CBC/PKCS5Padding"); //$NON-NLS-1$ + cipher.init(Cipher.DECRYPT_MODE, key); + + byte[] encBytes = Base64.decode(encrypedPwd.getBytes("UTF-8")); //$NON-NLS-1$ + byte[] decBytes = cipher.doFinal(encBytes); + + password = new String(decBytes); + } + catch (Exception e) { + if (Platform.inDebugMode()) e.printStackTrace(); + } + } + */ + + properties.put(ITerminalsConnectorConstants.PROP_SSH_PASSWORD, password); + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java new file mode 100644 index 00000000000..265c2e0d0bb --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.ssh.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Target Explorer TCF terminals extensions UI plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String SshLauncherDelegate_terminalTitle; + public static String SshLauncherDelegate_terminalTitle_default; + public static String SshWizardConfigurationPanel_saveUser; + public static String SshWizardConfigurationPanel_savePassword; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties new file mode 100644 index 00000000000..ca27a39c18e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +SshLauncherDelegate_terminalTitle=SSH {0}@{1} ({2}) +SshLauncherDelegate_terminalTitle_default=SSH Terminal +SshWizardConfigurationPanel_saveUser=Save user +SshWizardConfigurationPanel_savePassword=Save password diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options new file mode 100644 index 00000000000..47f69c8a6eb --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.ui.terminals.telnet/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project new file mode 100644 index 00000000000..13db50347ae --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals.telnet + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 1329502098231 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..4754bba05f6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Wed Oct 19 12:10:57 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..94cb5e6f8b6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.telnet;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.telnet.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.tm.terminal.telnet;bundle-version="2.1.300", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.telnet.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.telnet.controls, + org.eclipse.tcf.te.ui.terminals.telnet.launcher, + org.eclipse.tcf.te.ui.terminals.telnet.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties new file mode 100644 index 00000000000..221a2d955c1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties new file mode 100644 index 00000000000..80cdf13ce88 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties @@ -0,0 +1,16 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Telnet Terminals Extensions +providerName = Eclipse.org - Target Explorer + +# ----- Terminal Launcher Delegates ----- + +TelnetLauncherDelegate.label=Telnet Terminal diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml new file mode 100644 index 00000000000..68fac1b91f9 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml new file mode 100644 index 00000000000..f3694ee3653 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals.telnet + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java new file mode 100644 index 00000000000..a6ce8753cea --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.telnet.activator; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals.telnet"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java new file mode 100644 index 00000000000..6a3e934e4c0 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java @@ -0,0 +1,214 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.telnet.controls; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +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.swt.widgets.Control; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.telnet.NetworkPortMap; +import org.eclipse.tm.internal.terminal.telnet.TelnetConnector; +import org.eclipse.tm.internal.terminal.telnet.TelnetSettings; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * telnet wizard configuration panel implementation. + */ +@SuppressWarnings("restriction") +public class TelnetWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { + + public TelnetSettings telnetSettings; + private ISettingsPage telnetSettingsPage; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public TelnetWizardConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + // Create the host selection combo + if (isWithoutSelection()) createHostsUI(panel, true); + + TelnetConnector conn = new TelnetConnector(); + telnetSettings = (TelnetSettings) conn.getTelnetSettings(); + telnetSettings.setHost(getSelectionHost()); + // MWE otherwise we don't get a valid default selection of the combo + telnetSettings.setNetworkPort(NetworkPortMap.PROP_VALUETELNET); + + telnetSettingsPage = conn.makeSettingsPage(); + if (telnetSettingsPage instanceof AbstractSettingsPage) { + ((AbstractSettingsPage)telnetSettingsPage).setHasControlDecoration(true); + } + telnetSettingsPage.createControl(panel); + + // Add the listener to the settings page + telnetSettingsPage.addListener(new ISettingsPage.Listener() { + + @Override + public void onSettingsPageChanged(Control control) { + if (getContainer() != null) getContainer().validate(); + } + }); + + // Create the encoding selection combo + createEncodingUI(panel, true); + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + if (data == null || telnetSettings == null || telnetSettingsPage == null) return; + + String value = (String)data.get(ITerminalsConnectorConstants.PROP_IP_HOST); + if (value != null) telnetSettings.setHost(value); + + Object v = data.get(ITerminalsConnectorConstants.PROP_IP_PORT); + value = v != null ? v.toString() : null; + if (value != null) telnetSettings.setNetworkPort(value); + + v = data.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + value = v != null ? v.toString() : null; + if (value != null) telnetSettings.setTimeout(value); + + value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) setEncoding(value); + + telnetSettingsPage.loadSettings(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + if (data == null) return; + + // set the terminal connector id for ssh + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.telnet.TelnetConnector"); //$NON-NLS-1$ + + telnetSettingsPage.saveSettings(); + data.put(ITerminalsConnectorConstants.PROP_IP_HOST,telnetSettings.getHost()); + data.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.valueOf(telnetSettings.getNetworkPort())); + data.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.valueOf(telnetSettings.getTimeout())); + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host){ + if (host != null && host.length() != 0){ + if (hostSettingsMap.containsKey(host)){ + Map hostSettings = hostSettingsMap.get(host); + if (hostSettings.get(ITerminalsConnectorConstants.PROP_IP_HOST) != null) { + telnetSettings.setHost(hostSettings.get(ITerminalsConnectorConstants.PROP_IP_HOST)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_IP_PORT) != null) { + telnetSettings.setNetworkPort(hostSettings.get(ITerminalsConnectorConstants.PROP_IP_PORT)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT) != null) { + telnetSettings.setTimeout(hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT)); + } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_ENCODING) != null) { + setEncoding(hostSettings.get(ITerminalsConnectorConstants.PROP_ENCODING)); + } + } else { + telnetSettings.setHost(getSelectionHost()); + // MWE otherwise we don't get a valid default selection of the combo + telnetSettings.setNetworkPort(NetworkPortMap.PROP_VALUETELNET); + } + // set settings in page + telnetSettingsPage.loadSettings(); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add){ + String host = getHostFromSettings(); + if(host != null && host.length() != 0) { + if (hostSettingsMap.containsKey(host)) { + Map hostSettings=hostSettingsMap.get(host); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, telnetSettings.getHost()); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(telnetSettings.getNetworkPort())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(telnetSettings.getTimeout())); + if (getEncoding() != null) { + hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + } else if (add) { + Map hostSettings=new HashMap(); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, telnetSettings.getHost()); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(telnetSettings.getNetworkPort())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(telnetSettings.getTimeout())); + if (getEncoding() != null) { + hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + hostSettingsMap.put(host, hostSettings); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + */ + @Override + public boolean isValid(){ + return isEncodingValid() && telnetSettingsPage.validateSettings(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + saveSettingsForHost(true); + super.doSaveWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + telnetSettingsPage.saveSettings(); + return telnetSettings.getHost(); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java new file mode 100644 index 00000000000..6bb351c8f86 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java @@ -0,0 +1,171 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.telnet.launcher; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.telnet.controls.TelnetWizardConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.telnet.nls.Messages; +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.tm.internal.terminal.telnet.TelnetSettings; + +/** + * Telnet launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class TelnetLauncherDelegate extends AbstractLauncherDelegate { + // The Telnet terminal connection memento handler + private final IMementoHandler mementoHandler = new TelnetMementoHandler(); + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new TelnetWizardConfigurationPanel(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // For Telnet terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + // Telnet terminals do have a disconnect button + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { + properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /** + * Returns the terminal title string. + *

                                  + * The default implementation constructs a title like "SSH @ host (Start time) ". + * + * @return The terminal title string or null. + */ + private String getTerminalTitle(Map properties) { + String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); + + if (host != null) { + DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); + String date = format.format(new Date(System.currentTimeMillis())); + return NLS.bind(Messages.TelnetLauncherDelegate_terminalTitle, new String[]{host, date}); + } + return Messages.TelnetLauncherDelegate_terminalTitle_default; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (IMementoHandler.class.equals(adapter)) { + return mementoHandler; + } + return super.getAdapter(adapter); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.telnet.TelnetConnector"; //$NON-NLS-1$ + + // Extract the telnet properties + String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); + Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); + String port = value != null ? value.toString() : null; + value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + String timeout = value != null ? value.toString() : null; + + int portOffset = 0; + if (properties.get(ITerminalsConnectorConstants.PROP_IP_PORT_OFFSET) instanceof Integer) { + portOffset = ((Integer)properties.get(ITerminalsConnectorConstants.PROP_IP_PORT_OFFSET)).intValue(); + if (portOffset < 0) portOffset = 0; + } + + // The real port to connect to is port + portOffset + port = Integer.toString(Integer.decode(port).intValue() + portOffset); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the telnet settings + TelnetSettings telnetSettings = new TelnetSettings(); + telnetSettings.setHost(host); + telnetSettings.setNetworkPort(port); + if (timeout != null) { + telnetSettings.setTimeout(timeout); + } + // And save the settings to the store + telnetSettings.save(store); + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java new file mode 100644 index 00000000000..eaa0c6bdefe --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.telnet.launcher; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.ui.IMemento; + +/** + * Telnet terminal connection memento handler implementation. + */ +public class TelnetMementoHandler implements IMementoHandler { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void saveState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Do not write the terminal title to the memento -> needs to + // be recreated at the time of restoration. + memento.putString(ITerminalsConnectorConstants.PROP_IP_HOST, (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST)); + Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); + memento.putInteger(ITerminalsConnectorConstants.PROP_IP_PORT, value instanceof Integer ? ((Integer)value).intValue() : -1); + value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); + memento.putInteger(ITerminalsConnectorConstants.PROP_TIMEOUT, value instanceof Integer ? ((Integer)value).intValue() : -1); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void restoreState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Restore the terminal properties from the memento + properties.put(ITerminalsConnectorConstants.PROP_IP_HOST, memento.getString(ITerminalsConnectorConstants.PROP_IP_HOST)); + properties.put(ITerminalsConnectorConstants.PROP_IP_PORT, memento.getInteger(ITerminalsConnectorConstants.PROP_IP_PORT)); + properties.put(ITerminalsConnectorConstants.PROP_TIMEOUT, memento.getInteger(ITerminalsConnectorConstants.PROP_TIMEOUT)); + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java new file mode 100644 index 00000000000..b1f817b8691 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.telnet.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Target Explorer TCF terminals extensions UI plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.telnet.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String TelnetLauncherDelegate_terminalTitle; + public static String TelnetLauncherDelegate_terminalTitle_default; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties new file mode 100644 index 00000000000..f00e9124398 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties @@ -0,0 +1,12 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +TelnetLauncherDelegate_terminalTitle=Telnet {0} ({1}) +TelnetLauncherDelegate_terminalTitle_default=Telnet Terminal diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.classpath b/plugins/org.eclipse.tcf.te.ui.terminals/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.options b/plugins/org.eclipse.tcf.te.ui.terminals/.options new file mode 100644 index 00000000000..cf7e9ecb799 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.options @@ -0,0 +1,3 @@ +org.eclipse.tcf.te.ui.terminals/debugmode = 0 +org.eclipse.tcf.te.ui.terminals/trace/outputStreamMonitor = false +org.eclipse.tcf.te.ui.terminals/trace/launchTerminalCommandHandler = false diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.project b/plugins/org.eclipse.tcf.te.ui.terminals/.project new file mode 100644 index 00000000000..94502bab4d6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.ui.terminals + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 1329502074611 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..5cb95e247ec --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Fri Oct 07 16:14:53 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..c0845fe2115 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF @@ -0,0 +1,35 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.ui.terminals.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", + org.eclipse.tm.terminal;bundle-version="3.2.300", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.ui.forms;bundle-version="3.5.200" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.ui.terminals.actions, + org.eclipse.tcf.te.ui.terminals.activator;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.controls, + org.eclipse.tcf.te.ui.terminals.help, + org.eclipse.tcf.te.ui.terminals.interfaces, + org.eclipse.tcf.te.ui.terminals.interfaces.tracing;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.internal;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.internal.dialogs;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.internal.handler;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.launcher, + org.eclipse.tcf.te.ui.terminals.listeners, + org.eclipse.tcf.te.ui.terminals.manager, + org.eclipse.tcf.te.ui.terminals.nls;x-internal:=true, + org.eclipse.tcf.te.ui.terminals.panels, + org.eclipse.tcf.te.ui.terminals.services, + org.eclipse.tcf.te.ui.terminals.streams, + org.eclipse.tcf.te.ui.terminals.tabs, + org.eclipse.tcf.te.ui.terminals.view diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/about.html b/plugins/org.eclipse.tcf.te.ui.terminals/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                  About This Content

                                  + +

                                  May 24, 2012

                                  +

                                  License

                                  + +

                                  The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                  + +

                                  If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                  + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/build.properties b/plugins/org.eclipse.tcf.te.ui.terminals/build.properties new file mode 100644 index 00000000000..e4c5fea5c10 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/build.properties @@ -0,0 +1,19 @@ +############################################################################### +# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html,\ + icons/,\ + contexts.xml +src.includes = schema/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml b/plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml new file mode 100644 index 00000000000..612cd7c14b1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml @@ -0,0 +1,9 @@ + + + + Select the terminal type and specify the connections settings to connect a new terminal. + + + Select the new encoding for the active terminal. + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/clcl16/command_input_field.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/clcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e3a547c145798fa08fb692df015a793213fbd1a GIT binary patch literal 385 zcmV-{0e=2RNk%w1VGsZi0M!5h^!EGh@%r)f`-qjU_W1ny`uv8PzKoy3y2szCv&G-& z_`%54;_CS2?D^^M`je){nykyBv(Mk?_vY>SZY`|a}j_4xfuZlYv_wT+pp z;p+I}>-gd7_vr8W@%8)n`TXDM_u=dKh|$WarlE(qt$M7agU7XT#Itn2uy(Vk zfB*mgA^8LW002J#EC2ui01yBW000J_z+Xm#&}4qdq%wJ2I+@R~k4bKxePc$9H1`IS$H3||U5)uj`H9-J7aY@tZ literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/command_input_field.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/disconnect.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/disconnect.gif new file mode 100644 index 0000000000000000000000000000000000000000..1ca9213a43c54fca85561b261bc7f0d765c33636 GIT binary patch literal 139 zcmZ?wbhEHb6krfw*v!E2|Nnn&ZSDR0_q({bT)TFysi`R=BZHBVasK@I@87>?zyOLr zSr|crIv@gM1_O(QzzNUQd#}fYn3&#c;o$hes2DKCtzePxjb-z6&W8SaS9$cR+Kdhn Zk!4{D;XW1Kue!E3ylYz-WhlsC4FCuQF5dtE literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/command_input_field.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/disconnect.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/disconnect.gif new file mode 100644 index 0000000000000000000000000000000000000000..d61dd776e39b99fa80233b53a1ce6e05bcbcd8bd GIT binary patch literal 890 zcmW+#F>6#|5PYI&5=1UmCnSZY6Cs@_qT@l-h&HCNT*T7adY?%nSczb}0TZ!IB?!VK zt^NgZoBV))g-9UlY!)8h-M*cfo%!w_J$`uW_KV3d8U7AkmhTvBOG+3qr71j@IV9@$UsFC8R0|_B$6mX)Ryo>B$&uV zB_w7AFGPWbEK~t4Zr;Sk23f(>Q@L4~(JakMQ{F9i3pcu@Te)dz4S86EF)YI>Og02_ zTF^*KTG3=oM4lFDOv|)NlT}fBS(LFX%c=};iFq4!wh1pd%&o;en%J{Jt||3Y;ZFB- zFX6(qqFNEo@C>hTg{Y-96m-&)UUbDO8-hhT(=)x&6|{_rD9Tx$WlJWsvKDN4wv>oPBalYa=t{Ck zBrWOLD>9kMIzHOo-WkWS^gFMiP7j^>q`La=+?j6Q&`bRzCc`lIe5m=Q^}X$btqWI{ zzW@0&o1I^n|NZUt&TQ??!s^NKv-h)Mb8+?N-t_*<^|#X}_tw5FuKe7*xO}oT-MIGP g-Pu={4%aUqKHXfo`*m%8WB1_W+=uJS)5&n>KL)7TF8}}l literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tcf.te.ui.terminals/icons/eview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties new file mode 100644 index 00000000000..509b0a050b9 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties @@ -0,0 +1,53 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Terminals +providerName = Eclipse.org - Target Explorer + +# ----- Terminals View ----- + +TerminalsView.name=Terminals +TerminalsView.context.name=In Terminals View +TerminalsView.context.description=Show modified keyboard shortcuts in context menu + +# ----- Terminal Connectors ----- + +TerminalConnector.streams=Streams Connector (hidden) + +# ----- Terminal Launcher Delegates ----- + +StreamsLauncherDelegate.label=Streams Terminal + +# ----- Commands and Menu contributions ----- + +toolbar.terminal.label=Terminals + +command.launch.selection.name=Open Terminal on Selection +command.launch.name=Open Terminal +command.launch.label=Open Terminal... +command.launch.tooltip=Open a Terminal + +command.disconnect.name=Disconnect Terminal +command.disconnect.label=Disconnect +command.disconnect.tooltip=Disconnect Terminal Connection + +menu.showIn.label = Show In + +# ***** Extension Points ***** + +ExtensionPoint.launcherDelegates.name=Terminal Launcher Delegates + +# ***** Activity contributions ***** + +activities.category.terminals.name=Terminal +activities.category.terminals.description=Use the terminal to connect to remote hosts via telnet, ssh and others. + +activities.activity.terminals.views.name=Terminal Views +activities.activity.terminals.views.description=Terminal related views. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml new file mode 100644 index 00000000000..0fb5c9f740a --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml @@ -0,0 +1,315 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml new file mode 100644 index 00000000000..8b5e73f93f0 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.ui.terminals + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd b/plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd new file mode 100644 index 00000000000..49c11e6eef4 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd @@ -0,0 +1,215 @@ + + + + + + + + + This extension point is used to contribute terminal launcher delegates. +<p> +Terminal launcher delegates contributes terminal settings widget to the <code>LaunchTerminalSettingsDialog</code> required to open a remote terminal through a specific communication channel, like TCF or SSH. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declares a terminal launcher delegate contribution. + + + + + + + + + + + + The unique id of the terminal launcher delegate contribution. + + + + + + + The label representing the terminal launcher delegate within the UI. + + + + + + + The class that implements <code>org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate</code> or extends <code>org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate</code>. +<p> +The terminal launcher delegate implementation class must be specified either by the class attribute or the class child element! + + + + + + + + + + If <code>true</code>, than the terminal launcher delegate is not visible in the UI, even if a possible <code>enablement</code> will evaluate to <code>true</code>. + + + + + + + + + + A short description of the terminal connector type to be presented in the UI. + + + + + + + + Used when creating an <code>IExecutableExtension</code> with a named parameter, or more than one. + + + + + + + + + + The class that implements <code>org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate</code> or extends <code>org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate</code>. +<p> +The terminal launcher delegate implementation class must be specified either by the class attribute or the class child element! + + + + + + + + + + + + + A parameter for an <code>IExecutableExtension</code>. + + + + + + + <p>The parameter name.</p> + + + + + + + <p>The parameter value.</p> + + + + + + + + + + + + Target Explorer 1.0.0 + + + + + + + + + This is an example of the extension point usage: +<p> +<pre><code> + <extension point="org.eclipse.tcf.te.ui.terminals.launcherDelegates"> + <delegate + id="org.eclipse.tcf.te.ui.terminals.launcher.tcf" + class="org.eclipse.tcf.te.tcf.terminals.ui.internal.TerminalLauncherDelegate" + label="TCF Terminal"> + <enablement> + ... + </enablement> + </delegate> + </extension> +</code></pre> + + + + + + + + + The provider of a launcher delegate must implement <samp>org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate</samp>. + + + + + + + + + + Copyright (c) 2011 Wind River Systems, Inc. and others. + +All rights reserved. + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License v1.0 which accompanies this distribution, and is +available at http://www.eclipse.org/legal/epl-v10.html. + + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java new file mode 100644 index 00000000000..3ab4f8cef66 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java @@ -0,0 +1,189 @@ +/******************************************************************************* + * Copyright (c) 2011, 2013 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.actions; + +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.ParameterizedCommand; +import org.eclipse.core.expressions.EvaluationContext; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.ui.ISources; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.IHandlerService; + +/** + * Abstract terminal action wrapper implementation. + */ +@SuppressWarnings("restriction") +public abstract class AbstractAction extends AbstractTerminalAction { + // Reference to the parent toolbar handler + private final TabFolderToolbarHandler parent; + + /** + * Constructor. + * + * @param parent + * The parent toolbar handler instance. Must not be + * null. + * @param id + * The terminal action id. Must not be null. + */ + public AbstractAction(TabFolderToolbarHandler parent, String id) { + super(id); + + Assert.isNotNull(parent); + this.parent = parent; + } + + /** + * Returns the parent toolbar handler. + * + * @return The parent toolbar handler. + */ + protected final TabFolderToolbarHandler getParent() { + return parent; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getParent().getActiveTerminalViewControl(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#run() + */ + @Override + public void run() { + // Get the active tab item from the tab folder manager + TabFolderManager manager = (TabFolderManager)getParent().getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null) { + // And execute the command + executeCommand(activeTabItem.getData("customData")); //$NON-NLS-1$ + } + } + } + + /** + * Executes the command for the given data node as current and active menu selection. + *

                                  + * Node: If the provided data node is null, the method will trigger + * the command with an empty selection. + * + * @param data The terminal custom data node or null. + */ + protected void executeCommand(Object data) { + // Get the command service from the workbench + ICommandService service = (ICommandService)PlatformUI.getWorkbench().getAdapter(ICommandService.class); + if (service != null && getCommandId() != null) { + // Get the command + final Command command = service.getCommand(getCommandId()); + if (command != null && command.isDefined()) { + IHandlerService handlerSvc = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); + Assert.isNotNull(handlerSvc); + + // Construct a selection element + IStructuredSelection selection = data != null ? new StructuredSelection(data) : new StructuredSelection(); + // Construct the application context + EvaluationContext context = new EvaluationContext(handlerSvc.getCurrentState(), selection); + // Apply the selection to the "activeMenuSelection" and "selection" variable too + context.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); + context.addVariable(ISources.ACTIVE_MENU_SELECTION_NAME, selection); + // Allow plugin activation + context.setAllowPluginActivation(true); + // And execute the event + try { + ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); + Assert.isNotNull(pCmd); + + handlerSvc.executeCommandInContext(pCmd, null, context); + } catch (Exception e) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.AbstractAction_error_commandExecutionFailed, getCommandId(), e.getLocalizedMessage()), + e); + UIPlugin.getDefault().getLog().log(status); + } + } + } + } + + /** + * Returns the command id of the command to execute. + * + * @return The command id. Must be never null. + */ + protected abstract String getCommandId(); + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + // Ignore the flag given from outside. We have to decide ourself + // what the enabled state of the action is + boolean enabled = getTarget() != null; + + // If a target terminal control is available, we need to find the corresponding + // VLM target object which we need to trigger the handler + if (enabled) { + // The action will be enabled if we can determine the VLM target object + enabled = false; + // Get the active tab item from the tab folder manager + TabFolderManager manager = (TabFolderManager)getParent().getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null) { + enabled = checkEnableAction(activeTabItem.getData("customData")); //$NON-NLS-1$ + } + } + } + + setEnabled(enabled); + } + + /** + * Checks if the action should be enabled based on the given terminal data object. + * + * @param data The terminal data node or null. + * @return True to enable the action, false otherwise. + */ + protected boolean checkEnableAction(Object data) { + return data != null; + } + + /** + * Returns if the action is a separator. Returning true here + * means that an additional separator toolbar element is added right or + * above of the action. + * + * @return True if the action is separating the parent contribution manager, false otherwise. + */ + public boolean isSeparator() { + return false; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java new file mode 100644 index 00000000000..f152023c581 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java @@ -0,0 +1,49 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; + +/** + * Pins the currently visible terminal view. + */ +@SuppressWarnings("restriction") +public class PinTerminalAction extends AbstractTerminalAction { + + private ITerminalsView view = null; + + /** + * Constructor. + */ + public PinTerminalAction(ITerminalsView view) { + super(null, PinTerminalAction.class.getName(), IAction.AS_CHECK_BOX); + + this.view = view; + setupAction(Messages.PinTerminalAction_menu, Messages.PinTerminalAction_toolTip, + UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Hover), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Enabled), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Disabled), true); + setChecked(view.isPinned()); + setEnabled(true); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + @Override + public void run() { + view.setPinned(isChecked()); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java new file mode 100644 index 00000000000..d1d5672119f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.actions; + +import java.io.UnsupportedEncodingException; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.window.Window; +import org.eclipse.tcf.te.ui.terminals.internal.dialogs.EncodingSelectionDialog; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Terminal control select encoding action implementation. + */ +@SuppressWarnings("restriction") +public class SelectEncodingAction extends AbstractTerminalAction { + // Reference to the parent tab folder manager + private final TabFolderManager tabFolderManager; + + /** + * Constructor. + * + * @param tabFolderManager The parent tab folder manager. Must not be null. + */ + public SelectEncodingAction(TabFolderManager tabFolderManager) { + super(null, SelectEncodingAction.class.getName(), IAction.AS_PUSH_BUTTON); + + Assert.isNotNull(tabFolderManager); + this.tabFolderManager = tabFolderManager; + + setupAction(Messages.SelectEncodingAction_menu, + Messages.SelectEncodingAction_tooltip, + (ImageDescriptor)null, + (ImageDescriptor)null, + (ImageDescriptor)null, + true); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#run() + */ + @Override + public void run() { + ITerminalViewControl target = getTarget(); + if (target == null) return; + + EncodingSelectionDialog dialog = new EncodingSelectionDialog(null); + dialog.setEncoding(target.getEncoding()); + if (dialog.open() == Window.OK) { + try { + target.setEncoding(dialog.getEncoding()); + tabFolderManager.updateStatusLine(); + } + catch (UnsupportedEncodingException e) { e.printStackTrace(); } + } + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + setEnabled(aboutToShow + && getTarget() != null && getTarget().getState() == TerminalState.CONNECTED); + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java new file mode 100644 index 00000000000..571eb8da35c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Terminal console tab scroll lock action. + */ +@SuppressWarnings("restriction") +public class TabScrollLockAction extends AbstractTerminalAction { + + /** + * Constructor. + */ + public TabScrollLockAction() { + super(null, TabScrollLockAction.class.getName(), IAction.AS_RADIO_BUTTON); + + setupAction(Messages.TabScrollLockAction_text, + Messages.TabScrollLockAction_tooltip, + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ScrollLock_Hover), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ScrollLock_Enabled), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ScrollLock_Disabled), + true); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#run() + */ + @Override + public void run() { + ITerminalViewControl target = getTarget(); + if (target != null) { + target.setScrollLock(!target.isScrollLock()); + setChecked(target.isScrollLock()); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + setEnabled(aboutToShow && getTarget() != null && getTarget().getState() == TerminalState.CONNECTED); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java new file mode 100644 index 00000000000..d2eb36b2cfb --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.tabs.TabCommandFieldHandler; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Toggle command input field. + */ +@SuppressWarnings("restriction") +public class ToggleCommandFieldAction extends AbstractTerminalAction { + private ITerminalsView view = null; + + /** + * Constructor. + */ + public ToggleCommandFieldAction(ITerminalsView view) { + super(null, ToggleCommandFieldAction.class.getName(), IAction.AS_CHECK_BOX); + + this.view = view; + setupAction(Messages.ToggleCommandFieldAction_menu, Messages.ToggleCommandFieldAction_toolTip, + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ToggleCommandField_Hover), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ToggleCommandField_Enabled), + UIPlugin.getImageDescriptor(ImageConsts.ACTION_ToggleCommandField_Disabled), true); + + TabCommandFieldHandler handler = getCommandFieldHandler(); + setChecked(handler != null && handler.hasCommandInputField()); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + @Override + public void run() { + TabCommandFieldHandler handler = getCommandFieldHandler(); + if (handler != null) { + handler.setCommandInputField(!handler.hasCommandInputField()); + } + setChecked(handler != null && handler.hasCommandInputField()); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + setEnabled(aboutToShow && getCommandFieldHandler() != null + && getTarget() != null && getTarget().getState() == TerminalState.CONNECTED); + } + + /** + * Returns the command input field handler for the active tab. + * + * @return The command input field handler or null. + */ + protected TabCommandFieldHandler getCommandFieldHandler() { + TabCommandFieldHandler handler = null; + // Get the active tab item from the tab folder manager + TabFolderManager manager = (TabFolderManager)view.getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null && !activeTabItem.isDisposed()) { + handler = manager.getTabCommandFieldHandler(activeTabItem); + } + } + return handler; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java new file mode 100644 index 00000000000..f12b8ee35be --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java @@ -0,0 +1,265 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.activator; + +import java.net.URL; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; +import org.eclipse.tcf.te.ui.terminals.listeners.WorkbenchWindowListener; +import org.eclipse.tcf.te.ui.terminals.view.TerminalsView; +import org.eclipse.tcf.te.ui.terminals.view.TerminalsViewMementoHandler; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IViewReference; +import org.eclipse.ui.IWindowListener; +import org.eclipse.ui.IWorkbench; +import org.eclipse.ui.IWorkbenchListener; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.Bundle; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +@SuppressWarnings("restriction") +public class UIPlugin extends AbstractUIPlugin { + // The shared instance + private static UIPlugin plugin; + // The scoped preferences instance + private static volatile ScopedEclipsePreferences scopedPreferences; + // The trace handler instance + private static volatile TraceHandler traceHandler; + // The workbench listener instance + private IWorkbenchListener listener; + // The global window listener instance + private IWindowListener windowListener; + + /** + * The constructor + */ + public UIPlugin() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static UIPlugin getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plug-in. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.ui.terminals"; //$NON-NLS-1$ + } + + /** + * Return the scoped preferences for this plug-in. + */ + public static ScopedEclipsePreferences getScopedPreferences() { + if (scopedPreferences == null) { + scopedPreferences = new ScopedEclipsePreferences(getUniqueIdentifier()); + } + return scopedPreferences; + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + + // Create and register the workbench listener instance + listener = new IWorkbenchListener() { + + @Override + public boolean preShutdown(IWorkbench workbench, boolean forced) { + if (workbench != null && workbench.getActiveWorkbenchWindow() != null && workbench.getActiveWorkbenchWindow().getActivePage() != null) { + // Find all "Terminals" views + IViewReference[] refs = workbench.getActiveWorkbenchWindow().getActivePage().getViewReferences(); + for (IViewReference ref : refs) { + IViewPart part = ref.getView(false); + if (part instanceof TerminalsView) { + /* + * The terminal tabs to save to the views memento on shutdown can + * be determined only _before_ the saveState(memento) method of the + * view is called. Within saveState, it is already to late and the + * terminals might be in CLOSED state already. This depends on the + * terminal type and the corresponding connector implementation. + * + * To be safe, we determine the still opened terminals on shutdown + * separately here in the preShutdown. + */ + final List saveables = new ArrayList(); + + // Get the tab folder + CTabFolder tabFolder = (CTabFolder)((TerminalsView)part).getAdapter(CTabFolder.class); + if (tabFolder != null && !tabFolder.isDisposed()) { + // Get the list of tab items + CTabItem[] items = tabFolder.getItems(); + // Loop the tab items and find the still connected ones + for (CTabItem item : items) { + // Ignore disposed items + if (item.isDisposed()) continue; + // Get the terminal view control + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal == null || terminal.getState() != TerminalState.CONNECTED) { + continue; + } + // Still connected -> Add to the list + saveables.add(item); + } + } + + // Push the determined saveable items to the memento handler + TerminalsViewMementoHandler mementoHandler = (TerminalsViewMementoHandler)((TerminalsView)part).getAdapter(TerminalsViewMementoHandler.class); + if (mementoHandler != null) mementoHandler.setSaveables(saveables); + } + } + } + + return true; + } + + @Override + public void postShutdown(IWorkbench workbench) { + } + }; + PlatformUI.getWorkbench().addWorkbenchListener(listener); + + if (windowListener == null && PlatformUI.getWorkbench() != null) { + windowListener = new WorkbenchWindowListener(); + PlatformUI.getWorkbench().addWindowListener(windowListener); + activateContexts(); + } + } + + void activateContexts() { + if (Display.getCurrent() != null) { + IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + if (window != null && windowListener != null) windowListener.windowOpened(window); + } + else { + PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable(){ + @Override + public void run() { + activateContexts(); + }}); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext context) throws Exception { + if (windowListener != null && PlatformUI.getWorkbench() != null) { + PlatformUI.getWorkbench().removeWindowListener(windowListener); + windowListener = null; + } + + plugin = null; + scopedPreferences = null; + traceHandler = null; + if (listener != null) { PlatformUI.getWorkbench().removeWorkbenchListener(listener); listener = null; } + super.stop(context); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) + */ + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + Bundle bundle = Platform.getBundle("org.eclipse.ui.console"); //$NON-NLS-1$ + if (bundle != null) { + URL url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_EVIEW + "console_view.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.VIEW_Terminals, ImageDescriptor.createFromURL(url)); + + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_CLCL + "lock_co.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_ScrollLock_Hover, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_ELCL + "lock_co.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_ScrollLock_Enabled, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_DLCL + "lock_co.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_ScrollLock_Disabled, ImageDescriptor.createFromURL(url)); + + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_CLCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_PinTerminal_Hover, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_ELCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_PinTerminal_Enabled, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_DLCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ + registry.put(ImageConsts.ACTION_PinTerminal_Disabled, ImageDescriptor.createFromURL(url)); + } + + bundle = getBundle(); + URL url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_CLCL + "command_input_field.gif"); //$NON-NLS-1$ + registry.put(ImageConsts.ACTION_ToggleCommandField_Hover, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_ELCL + "command_input_field.gif"); //$NON-NLS-1$ + registry.put(ImageConsts.ACTION_ToggleCommandField_Enabled, ImageDescriptor.createFromURL(url)); + url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + ImageConsts.IMAGE_DIR_DLCL + "command_input_field.gif"); //$NON-NLS-1$ + registry.put(ImageConsts.ACTION_ToggleCommandField_Disabled, ImageDescriptor.createFromURL(url)); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java new file mode 100644 index 00000000000..118c4f12f86 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java @@ -0,0 +1,448 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.controls; + +import java.util.HashMap; +import java.util.Hashtable; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.StackLayout; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Base control to deal with wizard or property page controls + * which should share the same UI space. + */ +public class ConfigurationPanelControl implements IConfigurationPanelContainer, IMessageProvider { + private final Map configurationPanels = new Hashtable(); + + private String message = null; + private int messageType = IMessageProvider.NONE; + + private boolean isGroup; + + private FormToolkit toolkit = null; + + private Composite panel; + private StackLayout panelLayout; + + private String activeConfigurationPanelKey = null; + private IConfigurationPanel activeConfigurationPanel = null; + + private final AbstractConfigurationPanel EMPTY_PANEL; + + /** + * An empty configuration panel implementation. + */ + private static final class EmptySettingsPanel extends AbstractConfigurationPanel { + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public EmptySettingsPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + panel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + panel.setBackground(parent.getBackground()); + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isValid() + */ + @Override + public boolean isValid() { + return false; + } + } + + /** + * Cleanup all resources the control might have been created. + */ + public void dispose() { + EMPTY_PANEL.dispose(); + } + + /** + * Constructor. + */ + public ConfigurationPanelControl() { + EMPTY_PANEL = new EmptySettingsPanel(this); + clear(); + setPanelIsGroup(false); + } + + /** + * Sets if or if not the controls panel is a Group. + * + * @param isGroup True if the controls panel is a group, false otherwise. + */ + public void setPanelIsGroup(boolean isGroup) { + this.isGroup = isGroup; + } + + /** + * Returns if or if not the controls panel is a Group. + * + * @return True if the controls panel is a group, false otherwise. + */ + public boolean isPanelIsGroup() { + return isGroup; + } + + /** + * Returns the controls panel. + * + * @return The controls panel or null. + */ + public Composite getPanel() { + return panel; + } + + /** + * Returns the label text to set for the group (if the panel is a group). + * + * @return The label text to apply or null. + */ + public String getGroupLabel() { + return null; + } + + /** + * Sets the form toolkit to be used for creating the control widgets. + * + * @param toolkit The form toolkit instance or null. + */ + public final void setFormToolkit(FormToolkit toolkit) { + this.toolkit = toolkit; + } + + /** + * Returns the form toolkit used for creating the control widgets. + * + * @return The form toolkit instance or null. + */ + public final FormToolkit getFormToolkit() { + return toolkit; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer#validate() + */ + @Override + public void validate() { + } + + /** + * To be called from the embedding control to setup the controls UI elements. + * + * @param parent The parent control. Must not be null! + * @param toolkit The form toolkit. Must not be null. + */ + public void setupPanel(Composite parent, String[] configurationPanelKeys, FormToolkit toolkit) { + Assert.isNotNull(parent); + Assert.isNotNull(toolkit); + + setFormToolkit(toolkit); + + if (isPanelIsGroup()) { + panel = new Group(parent, SWT.NONE); + if (getGroupLabel() != null) ((Group)panel).setText(getGroupLabel()); + } else { + panel = new Composite(parent, SWT.NONE); + } + Assert.isNotNull(panel); + panel.setFont(parent.getFont()); + panel.setBackground(parent.getBackground()); + + panelLayout = new StackLayout(); + panel.setLayout(panelLayout); + + setupConfigurationPanels(panel, configurationPanelKeys, toolkit); + EMPTY_PANEL.setupPanel(panel, toolkit); + } + + /** + * Removes all configuration panels. + */ + public void clear() { + configurationPanels.clear(); + } + + /** + * Returns a unsorted list of all registered configuration panel id's. + * + * @return A list of registered configuration panel id's. + */ + public String[] getConfigurationPanelIds() { + return configurationPanels.keySet().toArray(new String[configurationPanels.keySet().size()]); + } + + /** + * Returns the configuration panel instance registered for the given configuration panel key. + * + * @param key The key to get the configuration panel for. Must not be null! + * @return The configuration panel instance or an empty configuration panel if the key is unknown. + */ + public IConfigurationPanel getConfigurationPanel(String key) { + IConfigurationPanel panel = key != null ? configurationPanels.get(key) : null; + return panel != null ? panel : EMPTY_PANEL; + } + + /** + * Returns if or if not the given configuration panel is equal to the + * empty configuration panel. + * + * @param panel The configuration panel or null. + * @return True if the configuration panel is equal to the empty configuration panel. + */ + public final boolean isEmptyConfigurationPanel(IConfigurationPanel panel) { + return EMPTY_PANEL == panel; + } + + /** + * Adds the given configuration panel under the given configuration panel key to the + * list of known panels. If the given configuration panel is null, any + * configuration panel stored under the given key is removed from the list of known panels. + * + * @param key The key to get the configuration panel for. Must not be null! + * @param panel The configuration panel instance or null. + */ + public void addConfigurationPanel(String key, IConfigurationPanel panel) { + if (key == null) return; + if (panel != null) { + configurationPanels.put(key, panel); + } else { + configurationPanels.remove(key); + } + } + + /** + * Setup the configuration panels for being presented to the user. This method is called by the + * controls doSetupPanel(...) and initialize all possible configuration panels to show. + * The default implementation iterates over the given list of configuration panel keys and calls + * setupPanel(...) for each of them. + * + * @param parent The parent composite to use for the configuration panels. Must not be null! + * @param configurationPanelKeys The list of configuration panels to initialize. Might be null or empty! + * @param toolkit The form toolkit. Must not be null. + */ + public void setupConfigurationPanels(Composite parent, String[] configurationPanelKeys, FormToolkit toolkit) { + Assert.isNotNull(parent); + Assert.isNotNull(toolkit); + + if (configurationPanelKeys != null) { + for (int i = 0; i < configurationPanelKeys.length; i++) { + IConfigurationPanel configPanel = getConfigurationPanel(configurationPanelKeys[i]); + Assert.isNotNull(configPanel); + configPanel.setupPanel(parent, toolkit); + } + } + } + + /** + * Make the wizard configuration panel registered under the given configuration panel key the + * most top configuration panel. If no configuration panel is registered under the given key, + * nothing will happen. + * + * @param key The key to get the wizard configuration panel for. Must not be null! + */ + public void showConfigurationPanel(String key) { + String activeKey = getActiveConfigurationPanelKey(); + if (key != null && key.equals(activeKey) && activeConfigurationPanel != null) { + return; + } + IConfigurationPanel configPanel = getActiveConfigurationPanel(); + Map data = new HashMap(); + if (configPanel != null) configPanel.extractData(data); + configPanel = getConfigurationPanel(key); + Assert.isNotNull(configPanel); + if (configPanel.getControl() != null) { + activeConfigurationPanel = configPanel; + activeConfigurationPanelKey = key; + panelLayout.topControl = configPanel.getControl(); + panel.layout(); + if (!data.isEmpty()) configPanel.updateData(data); + configPanel.activate(); + } + else { + activeConfigurationPanelKey = key; + } + } + + /** + * Returns the currently active configuration panel. + * + * @return The active configuration panel or null. + */ + public IConfigurationPanel getActiveConfigurationPanel() { + return activeConfigurationPanel; + } + + /** + * Returns the currently active configuration panel key. + * + * @return The active configuration panel key or null. + */ + public String getActiveConfigurationPanelKey() { + return activeConfigurationPanelKey; + } + + /** + * Returns the dialog settings to use to save and restore control specific + * widget values. + * + * @param settings The parent dialog settings. Must not be null. + * @return The dialog settings to use. + */ + public final IDialogSettings getDialogSettings(IDialogSettings settings) { + Assert.isNotNull(settings); + + // Store the settings of the control within it's own section. + String sectionName = this.getClass().getSimpleName(); + Assert.isNotNull(sectionName); + + IDialogSettings section = settings.getSection(sectionName); + if (section == null) { + section = settings.addNewSection(sectionName); + } + + return section; + } + + /** + * Restore the widget values from the dialog settings store to recreate the control history. + *

                                  + * Note: + * The control is saving the widget values into a section equal to the class name {@link Class#getName()}. + * After the sections has been created, the method calls doRestoreWidgetValues for restoring + * the single properties from the dialog settings. Subclasses may override doRestoreWidgetValues + * only to deal with the single properties only or restoreWidgetValues when to override the + * creation of the subsections. + * + * @param settings The dialog settings object instance to restore the widget values from. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public final void restoreWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + // now, call the hook for actually reading the single properties from the dialog settings. + doRestoreWidgetValues(getDialogSettings(settings), idPrefix); + } + + /** + * Hook to restore the widget values finally plain from the given dialog settings. This method should + * not fragment the given dialog settings any further. + * + * @param settings The dialog settings to restore the widget values from. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + for (String panelKey : configurationPanels.keySet()) { + IConfigurationPanel configPanel = getConfigurationPanel(panelKey); + if (configPanel != null && !isEmptyConfigurationPanel(configPanel)) { + IDialogSettings configPanelSettings = settings.getSection(panelKey); + if (configPanelSettings == null) configPanelSettings = settings.addNewSection(panelKey); + configPanel.doRestoreWidgetValues(configPanelSettings, idPrefix); + } + } + } + + /** + * Saves the widget values to the dialog settings store for remembering the history. The control might + * be embedded within multiple pages multiple times handling different properties. Because the single + * controls should not mix up the history, we create subsections within the given dialog settings if + * they do not already exist. After the sections has been created, the method calls doSaveWidgetValues + * for saving the single properties to the dialog settings. Subclasses may override doSaveWidgetValues + * only to deal with the single properties only or saveWidgetValues when to override the + * creation of the subsections. + * + * @param settings The dialog settings object instance to save the widget values to. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public final void saveWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + // now, call the hook for actually writing the single properties to the dialog settings. + doSaveWidgetValues(getDialogSettings(settings), idPrefix); + } + + /** + * Hook to save the widget values finally plain to the given dialog settings. This method should + * not fragment the given dialog settings any further. + * + * @param settings The dialog settings to save the widget values to. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + IConfigurationPanel configPanel = getActiveConfigurationPanel(); + if (configPanel != null && !isEmptyConfigurationPanel(configPanel)) { + String key = getActiveConfigurationPanelKey(); + IDialogSettings configPanelSettings = settings.getSection(key); + if (configPanelSettings == null) configPanelSettings = settings.addNewSection(key); + configPanel.doSaveWidgetValues(configPanelSettings, idPrefix); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() + */ + @Override + public final String getMessage() { + return message; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() + */ + @Override + public final int getMessageType() { + return messageType; + } + + /** + * Set the message and the message type to display. + * + * @param message The message or null. + * @param messageType The message type or IMessageProvider.NONE. + */ + @Override + public final void setMessage(String message, int messageType) { + this.message = message; + this.messageType = messageType; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java new file mode 100644 index 00000000000..eb998da2797 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java @@ -0,0 +1,173 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.controls; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.graphics.GC; +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.swt.widgets.Label; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; + +/** + * A helper class to create a composite with a highlighted note + * entry and a message text. + */ +public class NoteCompositeHelper { + + /** + * The common label text to show on a note. Defaults to "Note:". + */ + public static final String NOTE_LABEL = Messages.NoteCompositeHelper_note_label; + + private static class NoteComposite extends Composite { + + public NoteComposite(Composite parent, int style) { + super(parent, style); + } + + @Override + public void setEnabled(boolean enabled) { + super.setEnabled(enabled); + Control[] childs = getChildren(); + for (int iChild = 0; iChild < childs.length; iChild++) { + Control child = childs[iChild]; + child.setEnabled(enabled); + } + } + } + + /** + * Creates a composite with a highlighted Note entry and a message text. + * This is designed to take up the full width of the page. + * + * @see PreferencePage#createNoteComposite, this is a plain copy of that! + * @param font + * the font to use + * @param composite + * the parent composite + * @param title + * the title of the note + * @param message + * the message for the note + * + * @return the composite for the note + */ + public static Composite createNoteComposite(Font font, Composite composite, String title, String message) { + return createNoteComposite(font, composite, title, message, SWT.DEFAULT); + } + + /** + * Creates a composite with a highlighted Note entry and a message text. + * This is designed to take up the full width of the page. + * + * @see PreferencePage#createNoteComposite, this is a plain copy of that! + * @param font + * the font to use + * @param composite + * the parent composite + * @param title + * the title of the note + * @param message + * the message for the note + * @param minCharsPerLine + * the minimum number of characters per line. Defaults to '65' if less than '20'. + * + * @return the composite for the note + */ + public static Composite createNoteComposite(Font font, Composite composite, String title, String message, int minCharsPerLine) { + final GC gc = new GC(composite); + gc.setFont(font); + + Composite messageComposite = new NoteComposite(composite, SWT.NONE); + + GridLayout messageLayout = new GridLayout(); + messageLayout.numColumns = 2; + messageLayout.marginWidth = 0; + messageLayout.marginHeight = 0; + messageComposite.setLayout(messageLayout); + + GridData layoutData = new GridData(GridData.HORIZONTAL_ALIGN_FILL); + if (composite.getLayout() instanceof GridLayout) { + layoutData.horizontalSpan = ((GridLayout) composite.getLayout()).numColumns; + } + messageComposite.setLayoutData(layoutData); + messageComposite.setFont(font); + + final Label noteLabel = new Label(messageComposite, SWT.BOLD); + noteLabel.setText(title); + noteLabel.setFont(JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)); + noteLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING)); + + final IPropertyChangeListener fontListener = new IPropertyChangeListener() { + @Override + public void propertyChange(PropertyChangeEvent event) { + // Note: This is actually wrong but the same as in platforms + // PreferencePage + if (JFaceResources.BANNER_FONT.equals(event.getProperty())) { + noteLabel.setFont(JFaceResources.getFont(JFaceResources.BANNER_FONT)); + } + } + }; + JFaceResources.getFontRegistry().addListener(fontListener); + noteLabel.addDisposeListener(new DisposeListener() { + @Override + public void widgetDisposed(DisposeEvent event) { + JFaceResources.getFontRegistry().removeListener(fontListener); + } + }); + + Label messageLabel = new Label(messageComposite, SWT.WRAP); + messageLabel.setText(message); + messageLabel.setFont(font); + + /** + * Set the controls style to FILL_HORIZONTAL making it multi-line if + * needed + */ + layoutData = new GridData(GridData.FILL_HORIZONTAL); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), minCharsPerLine >= 20 ? minCharsPerLine : 65); + messageLabel.setLayoutData(layoutData); + + gc.dispose(); + + return messageComposite; + } + + /** + * change the text of the second label + * + * @param messageComposite + * the NoteComposite that gets returned from createNoteComposite + * @param msg + * the new text + */ + public static void setMessage(Composite messageComposite, String msg) { + if (messageComposite instanceof NoteComposite) { + Control[] children = messageComposite.getChildren(); + if (children.length == 2) { + Control c = children[1]; + if (c instanceof Label) { + ((Label) c).setText(msg); + messageComposite.pack(); + } + } + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java new file mode 100644 index 00000000000..650f8306566 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.help; + +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; + + +/** + * UI Context help id definitions. + */ +public interface IContextHelpIds { + + /** + * UI plug-in common context help id prefix. + */ + public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$ + + /** + * Launch terminal settings dialog. + */ + public final static String LAUNCH_TERMINAL_SETTINGS_DIALOG = PREFIX + "LaunchTerminalSettingsDialog"; //$NON-NLS-1$ + + /** + * Terminal control encoding selection dialog. + */ + public final static String ENCODING_SELECTION_DIALOG = PREFIX + "EncodingSelectionDialog"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java new file mode 100644 index 00000000000..60eb8d0d3ab --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java @@ -0,0 +1,141 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Terminal launcher configuration panel. + */ +public interface IConfigurationPanel extends IMessageProvider { + + /** + * Returns the configuration panel container. + * + * @return The configuration panel container or null. + */ + public IConfigurationPanelContainer getContainer(); + + /** + * Creates the terminal launcher configuration panel UI elements within the + * given parent composite. Terminal launcher configuration panels should always + * create another composite within the given composite, which is the panel top + * control. The top control is queried later from the stack layout to show the + * different panels if the selected terminal launcher changed. + * + * @param parent The parent composite to create the UI elements in. Must not be null. + * @param toolkit The form toolkit. Must not be null. + */ + public void setupPanel(Composite parent, FormToolkit toolkit); + + /** + * Cleanup all resources the wizard configuration panel might have been created. + */ + public void dispose(); + + /** + * Returns the terminal launcher configuration panels top control, typically a + * composite control. This control is requested every time the stack layout is + * required to set a new top control because the selected terminal launcher changed. + * + * @return The top control or null if the configuration panel has been not setup yet. + */ + public Composite getControl(); + + /** + * Validates the control and sets the message text and type so the parent + * page or control is able to display validation result informations. + * The default implementation of this method does nothing. + * + * @return Result of validation. + */ + public boolean isValid(); + + /** + * Restore the widget values plain from the given dialog settings. This method should + * not fragment the given dialog settings any further. + * + * @param settings The dialog settings to restore the widget values from. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix); + + /** + * Save the widget values plain to the given dialog settings. This method should + * not fragment the given dialog settings any further. + * + * @param settings The dialog settings to save the widget values to. Must not be null! + * @param idPrefix The prefix to use for every dialog settings slot keys. If null, the dialog settings slot keys are not to prefix. + */ + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix); + + /** + * Enables or disables all UI elements belonging to the wizard configuration panel. + * + * @param enabled True to enable the UI elements, false otherwise. + */ + public void setEnabled(boolean enabled); + + /** + * Called when the panel gets the active panel. + */ + public void activate(); + + /** + * Initialize the widgets based of the data from the given map. + *

                                  + * This method may called multiple times during the lifetime of the panel and the given + * map might be even null. + * + * @param data The map or null. + */ + public void setupData(Map data); + + /** + * Extract the data from the widgets and write it back to the given map. + *

                                  + * This method may called multiple times during the lifetime of the panel and the given + * map might be even null. + * + * @param data The map or null. + */ + public void extractData(Map data); + + /** + * Update the data from the given properties container which contains the current + * working data. + *

                                  + * This method may called multiple times during the lifetime of the panel and the given + * map might be even null. + * + * @param data The map or null. + */ + public void updateData(Map data); + + /** + * Set the selection to the terminal launcher configuration panel. + * + * @param selection The selection or null. + */ + public void setSelection(ISelection selection); + + /** + * Returns the selection associated with the terminal launcher configuration panel. + * + * @return The selection or null. + */ + public ISelection getSelection(); +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java new file mode 100644 index 00000000000..03d3f41eec2 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + + + +/** + * A container to deal with configuration panels. + */ +public interface IConfigurationPanelContainer { + + /** + * Validates the container status. + *

                                  + * If necessary, set the corresponding messages and message types to signal when some sub + * elements of the container needs user attention. + */ + public void validate(); + + /** + * Set the message and the message type to display. + * + * @param message The message or null. + * @param messageType The message type or IMessageProvider.NONE. + */ + public void setMessage(String message, int messageType); + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java new file mode 100644 index 00000000000..bf3f717ef35 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java @@ -0,0 +1,93 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +import java.util.Map; + +import org.eclipse.core.expressions.Expression; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IExecutableExtension; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + +/** + * Terminal launcher delegate. + */ +@SuppressWarnings("restriction") +public interface ILauncherDelegate extends IExecutableExtension, IAdaptable { + + /** + * Returns the unique id of the launcher delegate. The returned + * id must be never null or an empty string. + * + * @return The unique id. + */ + public String getId(); + + /** + * Returns the label or UI name of the launcher delegate. + * + * @return The label or UI name. An empty string if not set. + */ + public String getLabel(); + + /** + * Returns if or if not the launcher delegate is hidden for the user. + * + * @return True if the launcher delegate is hidden, false otherwise. + */ + public boolean isHidden(); + + /** + * Returns the enablement expression. + * + * @return The enablement expression or null. + */ + public Expression getEnablement(); + + /** + * Returns if or if not the user needs to set configuration details for this launcher to work. + * The settings to configure are provided to the user through the configuration panel returned + * by {@link #getPanel(BaseDialogPageControl)}. + * + * @return True if a user configuration is required, false otherwise. + */ + public boolean needsUserConfiguration(); + + /** + * Returns the configuration panel instance to present to the user. The instance must be always + * the same on subsequent calls until disposed. + *

                                  + * The method may return null if the launcher does not provide any user + * configurable settings. In this case, {@link #needsUserConfiguration()} should return + * false. + * + * @param container The configuration panel container or null. + * @return The configuration panel instance or null + */ + public IConfigurationPanel getPanel(IConfigurationPanelContainer container); + + /** + * Execute the terminal launch. + * + * @param properties The properties. Must not be null. + * @param done The callback or null. + */ + public void execute(Map properties, ITerminalService.Done done); + + /** + * Creates the terminal connector for this launcher delegate based on + * the given properties. + * + * @param properties The terminal properties. Must not be null. + * @return The terminal connector or null. + */ + public ITerminalConnector createTerminalConnector(Map properties); +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java new file mode 100644 index 00000000000..d6ae8e6d9d7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +import java.util.Map; + +import org.eclipse.ui.IMemento; + +/** + * Terminal properties memento handler. + */ +public interface IMementoHandler { + + /** + * Saves the terminal properties in the given memento. + * + * @param memento The memento. Must not be null. + * @param properties The map containing the terminal properties to save. Must not be null. + */ + public void saveState(IMemento memento, Map properties); + + /** + * Restore the terminal properties from the given memento. + * + * @param memento The memento. Must not be null. + * @param properties The map receiving the restored terminal properties. Must not be null. + */ + public void restoreState(IMemento memento, Map properties); +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java new file mode 100644 index 00000000000..905b568aa25 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java @@ -0,0 +1,25 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +/** + * Terminals plug-in preference key definitions. + */ +public interface IPreferenceKeys { + /** + * Preference keys family prefix. + */ + public final String PREF_TERMINAL = "terminals"; //$NON-NLS-1$ + + /** + * Preference key: Remove terminated terminals when a new terminal is created. + */ + public final String PREF_REMOVE_TERMINATED_TERMINALS = PREF_TERMINAL + ".removeTerminatedTerminals"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java new file mode 100644 index 00000000000..fcad401755e --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +import org.eclipse.ui.IViewPart; + +/** + * Terminals view public interface. + */ +public interface ITerminalsView extends IViewPart { + + /** + * Switch to the empty page control. + */ + public void switchToEmptyPageControl(); + + /** + * Switch to the tab folder control. + */ + public void switchToTabFolderControl(); + + /** + * Returns the context help id associated with the terminal + * console view instance. + * + * @return The context help id or null if none is associated. + */ + public String getContextHelpId(); + + /** + * Set the state of the view to be pinned, which means a new terminal tab will be created + * in a new view instance. + * + * @param pin True to set the view state to pinned, false otherwise. + */ + public void setPinned(boolean pin); + + /** + * Return the pin state of the terminal view + * + * @return True if the view instance is pinned, false if not. + */ + public boolean isPinned(); +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java new file mode 100644 index 00000000000..7c733a0e6bd --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java @@ -0,0 +1,21 @@ +/******************************************************************************* + * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +/** + * Terminals common UI constants. + */ +public interface IUIConstants { + /** + * The view id of the terminals view. + */ + public static final String ID = "org.eclipse.tcf.te.ui.terminals.TerminalsView"; //$NON-NLS-1$ + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java new file mode 100644 index 00000000000..ec47afc8642 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java @@ -0,0 +1,96 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces; + +/** + * Image registry constants. + */ +public interface ImageConsts { + /** + * The root directory where to load the images from, relative to + * the bundle directory. + */ + public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + + /** + * The directory where to load colored local toolbar images from, + * relative to the image root directory. + */ + public final static String IMAGE_DIR_CLCL = "clcl16/"; //$NON-NLS-1$ + + /** + * The directory where to load disabled local toolbar images from, + * relative to the image root directory. + */ + public final static String IMAGE_DIR_DLCL = "dlcl16/"; //$NON-NLS-1$ + + /** + * The directory where to load enabled local toolbar images from, + * relative to the image root directory. + */ + public final static String IMAGE_DIR_ELCL = "elcl16/"; //$NON-NLS-1$ + + /** + * The directory where to load view related images from, relative to + * the image root directory. + */ + public final static String IMAGE_DIR_EVIEW = "eview16/"; //$NON-NLS-1$ + + /** + * The key to access the terminals console view image. + */ + public static final String VIEW_Terminals = "TerminalsView"; //$NON-NLS-1$ + + /** + * The key to access the scroll lock action image (enabled). + */ + public static final String ACTION_ScrollLock_Enabled = "ScrollLockAction_enabled"; //$NON-NLS-1$ + + /** + * The key to access the scroll lock action image (disabled). + */ + public static final String ACTION_ScrollLock_Disabled = "ScrollLockAction_disabled"; //$NON-NLS-1$ + + /** + * The key to access the scroll lock action image (hover). + */ + public static final String ACTION_ScrollLock_Hover = "ScrollLockAction_hover"; //$NON-NLS-1$ + + /** + * The key to access the pin terminal action image (enabled). + */ + public static final String ACTION_PinTerminal_Enabled = "PinTerminalAction_enabled"; //$NON-NLS-1$ + + /** + * The key to access the pin terminal action image (disabled). + */ + public static final String ACTION_PinTerminal_Disabled = "PinTerminalAction_disabled"; //$NON-NLS-1$ + + /** + * The key to access the pin terminal action image (hover). + */ + public static final String ACTION_PinTerminal_Hover = "PinTerminalAction_hover"; //$NON-NLS-1$ + + /** + * The key to access the toggle command field action image (enabled). + */ + public static final String ACTION_ToggleCommandField_Enabled = "ToggleCommandField_enabled"; //$NON-NLS-1$ + + /** + * The key to access the toggle command field action image (disabled). + */ + public static final String ACTION_ToggleCommandField_Disabled = "ToggleCommandField_disabled"; //$NON-NLS-1$ + + /** + * The key to access the toggle command field action image (hover). + */ + public static final String ACTION_ToggleCommandField_Hover = "ToggleCommandField_hover"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java new file mode 100644 index 00000000000..1ed32c06c75 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java @@ -0,0 +1,26 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.interfaces.tracing; + +/** + * Core plug-in trace slot identifiers. + */ +public interface ITraceIds { + + /** + * If activated, tracing information about the terminals output stream monitor is printed out. + */ + public static final String TRACE_OUTPUT_STREAM_MONITOR = "trace/outputStreamMonitor"; //$NON-NLS-1$ + + /** + * If activated, tracing information about the launch terminal command handler is printed out. + */ + public static final String TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER = "trace/launchTerminalCommandHandler"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java new file mode 100644 index 00000000000..b6b6a6fa434 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal; + +import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.IPreferenceKeys; + +/** + * Terminals default preferences initializer. + */ +public class PreferencesInitializer extends AbstractPreferenceInitializer { + + /** + * Constructor. + */ + public PreferencesInitializer() { + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() + */ + @Override + public void initializeDefaultPreferences() { + ScopedEclipsePreferences prefs = UIPlugin.getScopedPreferences(); + + prefs.putDefaultBoolean(IPreferenceKeys.PREF_REMOVE_TERMINATED_TERMINALS, true); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java new file mode 100644 index 00000000000..cae006f42ca --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java @@ -0,0 +1,59 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + + +/** + * Terminals property tester implementation. + */ +@SuppressWarnings("restriction") +public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ + ISelection selection = receiver instanceof ISelection ? (ISelection)receiver : new StructuredSelection(receiver); + return expectedValue.equals(Boolean.valueOf(LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection).length > 0)); + } + + if ("hasDisconnectButton".equals(property) && receiver instanceof CTabItem) { //$NON-NLS-1$ + CTabItem tabItem = (CTabItem)receiver; + if (!tabItem.isDisposed()) { + Boolean hasDisconnectButton = (Boolean) tabItem.getData(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON); + return expectedValue.equals(hasDisconnectButton); + } + return false; + } + + if ("canDisconnect".equals(property) && receiver instanceof CTabItem) { //$NON-NLS-1$ + CTabItem tabItem = (CTabItem)receiver; + if (!tabItem.isDisposed() && tabItem.getData() instanceof ITerminalViewControl) { + ITerminalViewControl terminal = (ITerminalViewControl)tabItem.getData(); + TerminalState state = terminal.getState(); + return expectedValue.equals(Boolean.valueOf(state != TerminalState.CLOSED)); + } + return false; + } + + return false; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java new file mode 100644 index 00000000000..31635db6d95 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java @@ -0,0 +1,69 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +/** + * Simple default Terminal settings store implementation keeping the settings + * within memory. + */ +@SuppressWarnings("restriction") +public class SettingsStore implements ISettingsStore { + private final Map settings = new HashMap(); + + /** + * Constructor. + */ + public SettingsStore() { + } + + /** + * Returns the map containing the settings. + * + * @return The map containing the settings. + */ + public final Map getSettings() { + return settings; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String, java.lang.String) + */ + @Override + public final String get(String key, String defaultValue) { + Assert.isNotNull(key); + String value = settings.get(key) instanceof String ? (String) settings.get(key) : null; + return value != null ? value : defaultValue; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String) + */ + @Override + public final String get(String key) { + Assert.isNotNull(key); + return settings.get(key) instanceof String ? (String) settings.get(key) : null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#put(java.lang.String, java.lang.String) + */ + @Override + public final void put(String key, String value) { + Assert.isNotNull(key); + if (value == null) settings.remove(key); + else settings.put(key, value); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java new file mode 100644 index 00000000000..628d8902e77 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java @@ -0,0 +1,231 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.dialogs; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +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.swt.widgets.Shell; +import org.eclipse.tcf.te.ui.terminals.help.IContextHelpIds; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Encoding selection dialog implementation. + */ +public class EncodingSelectionDialog extends TrayDialog { + private String contextHelpId = null; + + // The selected encoding or null + /* default */ String encoding = null; + + // Reference to the encodings panel + private EncodingPanel encodingPanel = null; + + /** + * Encodings panel implementation + */ + protected class EncodingPanel extends AbstractExtendedConfigurationPanel { + + /** + * Constructor + * + * @param container The configuration panel container or null. + */ + public EncodingPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite, org.eclipse.ui.forms.widgets.FormToolkit) + */ + @Override + public void setupPanel(Composite parent, FormToolkit toolkit) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + // Create the encoding selection combo + createEncodingUI(panel, false); + if (EncodingSelectionDialog.this.encoding != null) { + setEncoding(EncodingSelectionDialog.this.encoding); + } + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add) { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host) { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getEncoding() + */ + @Override + public String getEncoding() { + return super.getEncoding(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setEncoding(java.lang.String) + */ + @Override + public void setEncoding(String encoding) { + super.setEncoding(encoding); + } + } + + /** + * Constructor. + * + * @param shell The parent shell or null. + */ + public EncodingSelectionDialog(Shell shell) { + super(shell); + + this.contextHelpId = IContextHelpIds.ENCODING_SELECTION_DIALOG; + setHelpAvailable(true); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + @Override + protected final Control createDialogArea(Composite parent) { + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, contextHelpId); + } + + // Let the super implementation create the dialog area control + Control control = super.createDialogArea(parent); + // Setup the inner panel as scrollable composite + if (control instanceof Composite) { + ScrolledComposite sc = new ScrolledComposite((Composite)control, SWT.V_SCROLL); + + GridLayout layout = new GridLayout(1, true); + layout.marginHeight = 0; layout.marginWidth = 0; + layout.verticalSpacing = 0; layout.horizontalSpacing = 0; + + sc.setLayout(layout); + sc.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); + + sc.setExpandHorizontal(true); + sc.setExpandVertical(true); + + Composite composite = new Composite(sc, SWT.NONE); + composite.setLayout(new GridLayout()); + + // Setup the dialog area content + createDialogAreaContent(composite); + + sc.setContent(composite); + sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); + + // Return the scrolled composite as new dialog area control + control = sc; + } + + return control; + } + + /** + * Creates the dialog area content. + * + * @param parent The parent composite. Must not be null. + */ + protected void createDialogAreaContent(Composite parent) { + Assert.isNotNull(parent); + + setDialogTitle(Messages.EncodingSelectionDialog_title); + + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); + + encodingPanel = new EncodingPanel(null); + encodingPanel.setupPanel(panel, null); + + applyDialogFont(panel); + } + + /** + * Sets the title for this dialog. + * + * @param title The title. + */ + public void setDialogTitle(String title) { + if (getShell() != null && !getShell().isDisposed()) { + getShell().setText(title); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.jface.dialogs.CustomTrayDialog#okPressed() + */ + @Override + protected void okPressed() { + // Save the selected encoding + if (encodingPanel != null) encoding = encodingPanel.getEncoding(); + super.okPressed(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#cancelPressed() + */ + @Override + protected void cancelPressed() { + // Reset the encoding + encoding = null; + super.cancelPressed(); + } + + /** + * Set the encoding to default to on creating the dialog. + */ + public final void setEncoding(String encoding) { + this.encoding = encoding; + } + + /** + * Returns the selected encoding or null. + */ + public final String getEncoding() { + return encoding; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java new file mode 100644 index 00000000000..6ba77106bff --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java @@ -0,0 +1,569 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.dialogs; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.ScrolledComposite; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.controls.ConfigurationPanelControl; +import org.eclipse.tcf.te.ui.terminals.help.IContextHelpIds; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.forms.widgets.FormToolkit; + +/** + * Launch terminal settings dialog implementation. + */ +public class LaunchTerminalSettingsDialog extends TrayDialog { + private String contextHelpId = null; + + // The parent selection + private ISelection selection = null; + + // The sub controls + /* default */ Combo terminals; + /* default */ SettingsPanelControl settings; + + private FormToolkit toolkit = null; + + // Map the label added to the combo box to the corresponding launcher delegate. + /* default */ final Map label2delegate = new HashMap(); + + // The data object containing the currently selected settings + private Map data = null; + + // The dialog settings storage + private IDialogSettings dialogSettings; + + /** + * The control managing the terminal setting panels. + */ + protected class SettingsPanelControl extends ConfigurationPanelControl { + + /** + * Constructor. + */ + public SettingsPanelControl() { + setPanelIsGroup(true); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.BaseWizardConfigurationPanelControl#getGroupLabel() + */ + @Override + public String getGroupLabel() { + return Messages.LaunchTerminalSettingsDialog_group_label; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.BaseWizardConfigurationPanelControl#showConfigurationPanel(java.lang.String) + */ + @Override + public void showConfigurationPanel(String key) { + // Check if we have to create the panel first + IConfigurationPanel configPanel = getConfigurationPanel(key); + if (isEmptyConfigurationPanel(configPanel)) { + // Get the corresponding delegate + ILauncherDelegate delegate = label2delegate.get(key); + Assert.isNotNull(delegate); + // Create the wizard configuration panel instance + configPanel = delegate.getPanel(this); + if (configPanel != null) { + // Add it to the settings panel control + settings.addConfigurationPanel(key, configPanel); + // Push the selection to the configuration panel + configPanel.setSelection(getSelection()); + // Create the panel controls + configPanel.setupPanel(getPanel(), getFormToolkit()); + // Restore widget values + IDialogSettings dialogSettings = LaunchTerminalSettingsDialog.this.settings.getDialogSettings(LaunchTerminalSettingsDialog.this.getDialogSettings()); + IDialogSettings configPanelSettings = dialogSettings != null ? dialogSettings.getSection(key) : null; + if (configPanelSettings != null) configPanel.doRestoreWidgetValues(configPanelSettings, null); + } + } + + super.showConfigurationPanel(key); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer#validate() + */ + @Override + public void validate() { + LaunchTerminalSettingsDialog.this.validate(); + } + } + + /** + * Constructor. + * + * @param shell The parent shell or null. + */ + public LaunchTerminalSettingsDialog(Shell shell) { + this(shell, 0); + } + + private long start = 0; + + /** + * Constructor. + * + * @param shell The parent shell or null. + */ + public LaunchTerminalSettingsDialog(Shell shell, long start) { + super(shell); + this.start = start; + + initializeDialogSettings(); + + this.contextHelpId = IContextHelpIds.LAUNCH_TERMINAL_SETTINGS_DIALOG; + setHelpAvailable(true); + } + + /** + * Sets the parent selection. + * + * @param selection The parent selection or null. + */ + public void setSelection(ISelection selection) { + this.selection = selection; + } + + /** + * Returns the parent selection. + * + * @return The parent selection or null. + */ + public ISelection getSelection() { + return selection; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#close() + */ + @Override + public boolean close() { + dispose(); + return super.close(); + } + + /** + * Dispose the dialog resources. + */ + protected void dispose() { + if (settings != null) { settings.dispose(); settings = null; } + if (toolkit != null) { toolkit.dispose(); toolkit = null; } + dialogSettings = null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#isResizable() + */ + @Override + protected boolean isResizable() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite) + */ + @Override + protected Control createContents(Composite parent) { + Control composite = super.createContents(parent); + + // Validate the dialog after having created all the content + validate(); + + return composite; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + @Override + protected final Control createDialogArea(Composite parent) { + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, contextHelpId); + } + + // Let the super implementation create the dialog area control + Control control = super.createDialogArea(parent); + // Setup the inner panel as scrollable composite + if (control instanceof Composite) { + ScrolledComposite sc = new ScrolledComposite((Composite)control, SWT.V_SCROLL); + + GridLayout layout = new GridLayout(1, true); + layout.marginHeight = 0; layout.marginWidth = 0; + layout.verticalSpacing = 0; layout.horizontalSpacing = 0; + + sc.setLayout(layout); + sc.setLayoutData(new GridData(GridData.FILL_BOTH | GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL)); + + sc.setExpandHorizontal(true); + sc.setExpandVertical(true); + + Composite composite = new Composite(sc, SWT.NONE); + composite.setLayout(new GridLayout()); + + // Setup the dialog area content + createDialogAreaContent(composite); + + sc.setContent(composite); + sc.setMinSize(composite.computeSize(SWT.DEFAULT, SWT.DEFAULT)); + + // Return the scrolled composite as new dialog area control + control = sc; + } + + return control; + } + + /** + * Sets the title for this dialog. + * + * @param title The title. + */ + public void setDialogTitle(String title) { + if (getShell() != null && !getShell().isDisposed()) { + getShell().setText(title); + } + } + + /** + * Creates the dialog area content. + * + * @param parent The parent composite. Must not be null. + */ + protected void createDialogAreaContent(Composite parent) { + Assert.isNotNull(parent); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Creating dialog area after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + setDialogTitle(Messages.LaunchTerminalSettingsDialog_title); + + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); + + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.LaunchTerminalSettingsDialog_combo_label); + + terminals = new Combo(panel, SWT.READ_ONLY); + terminals.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + terminals.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + // Get the old panel + IConfigurationPanel oldPanel = settings.getActiveConfigurationPanel(); + // Extract the current settings in an special properties container + Map data = new HashMap(); + if (oldPanel != null) oldPanel.extractData(data); + // Clean out settings which are never passed between the panels + data.remove(ITerminalsConnectorConstants.PROP_IP_PORT); + data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); + data.remove(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + data.remove(ITerminalsConnectorConstants.PROP_ENCODING); + // Switch to the new panel + settings.showConfigurationPanel(terminals.getText()); + // Get the new panel + IConfigurationPanel newPanel = settings.getActiveConfigurationPanel(); + // Re-setup the relevant data + if (newPanel != null) newPanel.setupData(data); + + // resize the dialog if needed to show the complete panel + getShell().pack(); + } + }); + + // fill the combo with content + fillCombo(terminals); + + // Create the settings panel control + settings = new SettingsPanelControl(); + + // Create, initialize and add the first visible panel. All + // other panels are created on demand only. + String terminalLabel = terminals.getItem(0); + if (terminalLabel != null) { + // Get the corresponding delegate + ILauncherDelegate delegate = label2delegate.get(terminalLabel); + Assert.isNotNull(delegate); + // Create the wizard configuration panel instance + IConfigurationPanel configPanel = delegate.getPanel(settings); + if (configPanel != null) { + // Add it to the settings panel control + settings.addConfigurationPanel(terminalLabel, configPanel); + // Push the selection to the configuration panel + configPanel.setSelection(getSelection()); + } + } + + // Create the toolkit + toolkit = new FormToolkit(panel.getDisplay()); + // Setup the panel control + settings.setupPanel(panel, terminals.getItems(), toolkit); + GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); + layoutData.horizontalSpan = 2; + settings.getPanel().setLayoutData(layoutData); + + // Preselect the first terminal launcher + terminals.select(0); + settings.showConfigurationPanel(terminals.getText()); + + terminals.setEnabled(terminals.getItemCount() > 1); + + restoreWidgetValues(); + + applyDialogFont(panel); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Created dialog area after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + } + + /** + * Fill the given combo with content. The content are the terminal + * launcher delegate labels. + * + * @param combo The combo. Must not be null. + */ + protected void fillCombo(Combo combo) { + Assert.isNotNull(combo); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Filling combo after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + List items = new ArrayList(); + + if(selection==null || selection.isEmpty()){ + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Getting launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getLauncherDelegates(false); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Got launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + for (ILauncherDelegate delegate : delegates) { + if (delegate.isHidden() || isFiltered(selection, delegate)) continue; + String label = delegate.getLabel(); + if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ + label2delegate.put(label, delegate); + items.add(label); + } + } else { + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Getting applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Got applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } + + for (ILauncherDelegate delegate : delegates) { + if (delegate.isHidden() || isFiltered(selection, delegate)) continue; + String label = delegate.getLabel(); + if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ + label2delegate.put(label, delegate); + items.add(label); + } + } + Collections.sort(items); + combo.setItems(items.toArray(new String[items.size()])); + } + + /** + * Hook to allow additional filtering of the applicable launcher delegates. + *

                                  + * Note: The default implementation always returns false. + * + * @param selection The selection or null. + * @param delegate The launcher delegate. Must not be null. + * + * @return True if the launcher delegate is filtered based on the given selection, false otherwise. + */ + protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { + return false; + } + + /** + * Validate the dialog. + */ + public void validate() { + IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); + Button okButton = getButton(IDialogConstants.OK_ID); + if (okButton != null) okButton.setEnabled(panel.isValid()); + } + + /** + * Set the given message and message type. + * + * @param message The message or null. + * @param messageType The message type or IMessageProvider.NONE. + */ + public void setMessage(String message, int messageType) { + if (settings != null) { + settings.setMessage(message, messageType); + } + } + + /** + * Save the dialog's widget values. + */ + protected void saveWidgetValues() { + IDialogSettings settings = getDialogSettings(); + if (settings != null && terminals != null) { + settings.put("terminalLabel", terminals.getText()); //$NON-NLS-1$ + this.settings.saveWidgetValues(settings, null); + } + } + + /** + * Restore the dialog's widget values. + */ + protected void restoreWidgetValues() { + IDialogSettings settings = getDialogSettings(); + if (settings != null) { + String terminalLabel = settings.get("terminalLabel"); //$NON-NLS-1$ + int index = terminalLabel != null ? Arrays.asList(terminals.getItems()).indexOf(terminalLabel) : -1; + if (index != -1) { + terminals.select(index); + this.settings.showConfigurationPanel(terminals.getText()); + } + + this.settings.restoreWidgetValues(settings, null); + } + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#okPressed() + */ + @Override + protected void okPressed() { + IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); + Assert.isNotNull(panel); + + if (!panel.isValid()) { + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(Messages.LaunchTerminalSettingsDialog_error_title); + mb.setMessage(NLS.bind(Messages.LaunchTerminalSettingsDialog_error_invalidSettings, panel.getMessage() != null ? panel.getMessage() : Messages.LaunchTerminalSettingsDialog_error_unknownReason)); + mb.open(); + return; + } + data = new HashMap(); + + // Store the id of the selected delegate + data.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, label2delegate.get(terminals.getText()).getId()); + // Store the selection + data.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + + // Store the delegate specific settings + panel.extractData(data); + + // Save the current widget values + saveWidgetValues(); + + super.okPressed(); + } + + /** + * Returns the configured terminal launcher settings. + *

                                  + * The settings are extracted from the UI widgets once + * OK got pressed. + * + * @return The configured terminal launcher settings or null. + */ + public Map getSettings() { + return data; + } + + /** + * Initialize the dialog settings storage. + */ + protected void initializeDialogSettings() { + IDialogSettings settings = UIPlugin.getDefault().getDialogSettings(); + Assert.isNotNull(settings); + IDialogSettings section = settings.getSection(getClass().getSimpleName()); + if (section == null) { + section = settings.addNewSection(getClass().getSimpleName()); + } + setDialogSettings(section); + } + + /** + * Returns the associated dialog settings storage. + * + * @return The dialog settings storage. + */ + public IDialogSettings getDialogSettings() { + // The dialog settings may not been initialized here. Initialize first in this case + // to be sure that we do have always the correct dialog settings. + if (dialogSettings == null) { + initializeDialogSettings(); + } + return dialogSettings; + } + + /** + * Sets the associated dialog settings storage. + * + * @return The dialog settings storage. + */ + public void setDialogSettings(IDialogSettings dialogSettings) { + this.dialogSettings = dialogSettings; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java new file mode 100644 index 00000000000..da9dde56e48 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java @@ -0,0 +1,67 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.ParameterizedCommand; +import org.eclipse.core.expressions.EvaluationContext; +import org.eclipse.core.expressions.IEvaluationContext; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.ui.ISources; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.IHandlerService; + +/** + * Abstract command handler triggering a command to be executed. + */ +public abstract class AbstractTriggerCommandHandler extends AbstractHandler { + + /** + * Trigger a command to be executed. + * + * @param commandId The command id. Must not be null. + * @param selection The selection to pass on to the command or null. + */ + protected void triggerCommand(String commandId, ISelection selection) { + Assert.isNotNull(commandId); + + ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); + Command command = service != null ? service.getCommand(commandId) : null; + if (command != null && command.isDefined() && command.isEnabled()) { + try { + ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); + Assert.isNotNull(pCmd); + IHandlerService handlerSvc = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); + Assert.isNotNull(handlerSvc); + IEvaluationContext ctx = handlerSvc.getCurrentState(); + if (selection != null) { + ctx = new EvaluationContext(ctx, selection); + ctx.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); + } + handlerSvc.executeCommandInContext(pCmd, null, ctx); + } catch (Exception e) { + // If the platform is in debug mode, we print the exception to the log view + if (Platform.inDebugMode()) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + Messages.AbstractTriggerCommandHandler_error_executionFailed, e); + UIPlugin.getDefault().getLog().log(status); + } + } + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java new file mode 100644 index 00000000000..7858bf9a7bf --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java @@ -0,0 +1,62 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.handler; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Disconnect terminal connection command handler implementation. + */ +@SuppressWarnings("restriction") +public class DisconnectTerminalCommandHandler extends AbstractHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + CTabItem item = null; + + ISelection selection = HandlerUtil.getCurrentSelection(event); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection)selection).getFirstElement(); + if (element instanceof CTabItem && ((CTabItem)element).getData() instanceof ITerminalViewControl) { + item = (CTabItem)element; + } + } + + if (item == null && HandlerUtil.getActivePart(event) instanceof ITerminalsView) { + ITerminalsView view = (ITerminalsView)HandlerUtil.getActivePart(event); + TabFolderManager mgr = (TabFolderManager)view.getAdapter(TabFolderManager.class); + if (mgr != null && mgr.getActiveTabItem() != null) { + item = mgr.getActiveTabItem(); + } + } + + if (item != null && item.getData() instanceof ITerminalViewControl) { + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal != null && !terminal.isDisposed()) { + terminal.disconnectTerminal(); + } + } + + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java new file mode 100644 index 00000000000..e87f96ce0d8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.handler; + +import java.text.DateFormat; +import java.util.Date; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.commands.AbstractHandler; +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; +import org.eclipse.tcf.te.ui.terminals.internal.dialogs.LaunchTerminalSettingsDialog; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.ui.handlers.HandlerUtil; + +/** + * Launch terminal command handler implementation. + */ +public class LaunchTerminalCommandHandler extends AbstractHandler { + + /* + * (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + String commandId = event.getCommand().getId(); + // "org.eclipse.tcf.te.ui.terminals.command.launchToolbar" + // "org.eclipse.tcf.te.ui.terminals.command.launch" + + long start = System.currentTimeMillis(); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); + String date = format.format(new Date(start)); + + UIPlugin.getTraceHandler().trace("Started at " + date + " (" + start + ")", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); + } + + // Get the active shell + Shell shell = HandlerUtil.getActiveShell(event); + // Get the current selection + ISelection selection = HandlerUtil.getCurrentSelection(event); + + if (commandId.equals("org.eclipse.tcf.te.ui.terminals.command.launchToolbar")) { //$NON-NLS-1$ + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("(a) Attempt to open launch terminal settings dialog after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); + } + + LaunchTerminalSettingsDialog dialog = new LaunchTerminalSettingsDialog(shell, start); + + if(isValidSelection(selection)){ + dialog.setSelection(selection); + } + if (dialog.open() == Window.OK) { + // Get the terminal settings from the dialog + Map properties = dialog.getSettings(); + if (properties != null) { + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + Assert.isNotNull(delegateId); + ILauncherDelegate delegate = LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false); + Assert.isNotNull(delegateId); + delegate.execute(properties, null); + } + } + } + else { + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Getting applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); + } + + // Check if the dialog needs to be shown at all + ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); + + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Got applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); + } + + if (delegates.length > 1 || (delegates.length == 1 && delegates[0].needsUserConfiguration())) { + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("(b) Attempt to open launch terminal settings dialog after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); + } + + // Create the launch terminal settings dialog + LaunchTerminalSettingsDialog dialog = new LaunchTerminalSettingsDialog(shell, start); + if(isValidSelection(selection)){ + dialog.setSelection(selection); + } + if (dialog.open() == Window.OK) { + // Get the terminal settings from the dialog + Map properties = dialog.getSettings(); + if (properties != null) { + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + Assert.isNotNull(delegateId); + ILauncherDelegate delegate = LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false); + Assert.isNotNull(delegateId); + delegate.execute(properties, null); + } + } + } + else if (delegates.length == 1) { + ILauncherDelegate delegate = delegates[0]; + Map properties = new HashMap(); + + // Store the id of the selected delegate + properties.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegate.getId()); + // Store the selection + properties.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + + // Execute + delegate.execute(properties, null); + } + } + + return null; + } + + private boolean isValidSelection(ISelection selection) { + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection) selection).getFirstElement(); + ITerminalContextPropertiesProvider provider = TerminalContextPropertiesProviderFactory.getProvider(element); + if (provider != null) { + Map props = provider.getTargetAddress(element); + if (props != null && props.containsKey(IContextPropertiesConstants.PROP_ADDRESS)) { + return true; + } + } + } + + return false; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java new file mode 100644 index 00000000000..a95424d3728 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.handler; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +/** + * Maximize view handler implementation. + */ +public class MaximizeViewHandler extends AbstractTriggerCommandHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + triggerCommand("org.eclipse.ui.window.maximizePart", null); //$NON-NLS-1$ + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java new file mode 100644 index 00000000000..24401827b8c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java @@ -0,0 +1,29 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.internal.handler; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; + +/** + * Quick access handler implementation. + */ +public class QuickAccessHandler extends AbstractTriggerCommandHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + triggerCommand("org.eclipse.ui.window.quickAccess", null); //$NON-NLS-1$ + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java new file mode 100644 index 00000000000..1b868c4385d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java @@ -0,0 +1,143 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.launcher; + +import org.eclipse.core.expressions.Expression; +import org.eclipse.core.expressions.ExpressionConverter; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; + +/** + * Abstract launcher delegate implementation. + */ +public abstract class AbstractLauncherDelegate extends PlatformObject implements ILauncherDelegate { + // The mandatory id of the extension + private String id = null; + // The label of the extension + private String label = null; + // The converted expression + private Expression expression; + // The hidden attribute + private boolean hidden; + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) + */ + @Override + public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException { + if (config == null) return; + + // Initialize the id field by reading the extension attribute. + // Throws an exception if the id is empty or null. + id = config.getAttribute("id"); //$NON-NLS-1$ + if (id == null || "".equals(id.trim())) { //$NON-NLS-1$ + throw createMissingMandatoryAttributeException("id", config.getContributor().getName()); //$NON-NLS-1$ + } + + // Try the "label" attribute first + label = config.getAttribute("label"); //$NON-NLS-1$ + // If "label" is not found or empty, try the "name" attribute as fallback + if (label == null || "".equals(label.trim())) { //$NON-NLS-1$ + label = config.getAttribute("name"); //$NON-NLS-1$ + } + + // Read the sub elements of the extension + IConfigurationElement[] children = config.getChildren(); + // The "enablement" element is the only expected one + if (children != null && children.length > 0) { + expression = ExpressionConverter.getDefault().perform(children[0]); + } + + // Read "hidden" attribute + String value = config.getAttribute("hidden"); //$NON-NLS-1$ + if (value != null && !"".equals(value.trim())) { //$NON-NLS-1$ + hidden = Boolean.parseBoolean(value); + } + } + + /** + * Creates a new {@link CoreException} to be thrown if a mandatory extension attribute + * is missing. + * + * @param attributeName The attribute name. Must not be null. + * @param extensionId The extension id. Must not be null. + * + * @return The {@link CoreException} instance. + */ + protected CoreException createMissingMandatoryAttributeException(String attributeName, String extensionId) { + Assert.isNotNull(attributeName); + Assert.isNotNull(extensionId); + + return new CoreException(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + 0, + NLS.bind(Messages.Extension_error_missingRequiredAttribute, attributeName, extensionId), + null)); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getId() + */ + @Override + public String getId() { + return id; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getLabel() + */ + @Override + public String getLabel() { + return label != null ? label.trim() : ""; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getEnablement() + */ + @Override + public Expression getEnablement() { + return expression; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#isHidden() + */ + @Override + public boolean isHidden() { + return hidden; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + if (obj instanceof AbstractLauncherDelegate) { + return id.equals(((AbstractLauncherDelegate)obj).id); + } + return super.equals(obj); + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + return id.hashCode(); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java new file mode 100644 index 00000000000..1b99f4389a2 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java @@ -0,0 +1,421 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.launcher; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.expressions.EvaluationContext; +import org.eclipse.core.expressions.EvaluationResult; +import org.eclipse.core.expressions.Expression; +import org.eclipse.core.expressions.IEvaluationContext; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExtension; +import org.eclipse.core.runtime.IExtensionPoint; +import org.eclipse.core.runtime.IExtensionRegistry; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.ui.ISources; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.handlers.IHandlerService; + +/** + * Terminal launcher delegate manager implementation. + */ +public class LauncherDelegateManager { + // Flag to mark the extension point manager initialized (extensions loaded). + private boolean initialized = false; + + // The map containing all loaded contributions + private final Map extensionsMap = new HashMap(); + + // The extension point comparator + private ExtensionPointComparator comparator = null; + + /** + * Executable extension proxy implementation. + */ + /* default */ static class Proxy { + // The extension instance. Created on first access + private ILauncherDelegate instance; + // The configuration element + private final IConfigurationElement element; + // The unique id of the extension. + private String id; + + /** + * Constructor. + * + * @param element The configuration element. Must not be null. + * @throws CoreException In case the configuration element attribute id is null or empty. + */ + public Proxy(IConfigurationElement element) throws CoreException { + Assert.isNotNull(element); + this.element = element; + + // Extract the extension attributes + id = element.getAttribute("id"); //$NON-NLS-1$ + if (id == null || id.trim().length() == 0) { + throw new CoreException(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + 0, + NLS.bind(Messages.Extension_error_missingRequiredAttribute, "id", element.getContributor().getName()), //$NON-NLS-1$ + null)); + } + + instance = null; + } + + /** + * Returns the extensions unique id. + * + * @return The unique id. + */ + public String getId() { + return id; + } + + /** + * Returns the configuration element for this extension. + * + * @return The configuration element. + */ + public IConfigurationElement getConfigurationElement() { + return element; + } + + /** + * Returns the extension class instance. The contributing + * plug-in will be activated if not yet activated anyway. + * + * @return The extension class instance or null if the instantiation fails. + */ + public ILauncherDelegate getInstance() { + if (instance == null) instance = newInstance(); + return instance; + } + + /** + * Returns always a new extension class instance which is different + * to what {@link #getInstance()} would return. + * + * @return A new extension class instance or null if the instantiation fails. + */ + public ILauncherDelegate newInstance() { + IConfigurationElement element = getConfigurationElement(); + Assert.isNotNull(element); + + // The "class" to load can be specified either as attribute or as child element + if (element.getAttribute("class") != null || element.getChildren("class").length > 0) { //$NON-NLS-1$ //$NON-NLS-2$ + try { + return (ILauncherDelegate)element.createExecutableExtension("class"); //$NON-NLS-1$ + } catch (Exception e) { + // Possible exceptions: CoreException, ClassCastException. + Platform.getLog(UIPlugin.getDefault().getBundle()).log(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.Extension_error_invalidExtensionPoint, element.getDeclaringExtension().getUniqueIdentifier()), e)); + } + } + return null; + } + + /* (non-Javadoc) + * @see java.lang.Object#equals(java.lang.Object) + */ + @Override + public boolean equals(Object obj) { + // Proxies are equal if they have encapsulate an element + // with the same unique id + if (obj instanceof Proxy) { + return getId().equals(((Proxy)obj).getId()); + } + return super.equals(obj); + } + + /* (non-Javadoc) + * @see java.lang.Object#hashCode() + */ + @Override + public int hashCode() { + // The hash code of a proxy is the one from the id + return getId().hashCode(); + } + } + + /** + * Extension point comparator implementation. + *

                                  + * The comparator assure that extension are read in a predictable order. + *

                                  + * The order of the extensions is defined as following:
                                  + *

                                  • Extensions contributed by our own plug-ins (org.eclipse.tcf.te.*) + * in ascending alphabetic order and
                                  • + *
                                  • Extensions contributed by any other plug-in in ascending alphabetic order.
                                  • + *
                                  • Extensions contributed by the same plug-in in ascending alphabetic order by the + * extensions unique id
                                  • + */ + /* default */ static class ExtensionPointComparator implements Comparator { + private final static String OWN_PLUGINS_PATTERN = "org.eclipse.tcf.te."; //$NON-NLS-1$ + + /* (non-Javadoc) + * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) + */ + @Override + public int compare(IExtension o1, IExtension o2) { + // We ignore any comparisation with null and + if (o1 == null || o2 == null) return 0; + // Check if it is the exact same element + if (o1 == o2) return 0; + + // The extensions are compared by the unique id of the contributing plug-in first + String contributor1 = o1.getContributor().getName(); + String contributor2 = o2.getContributor().getName(); + + // Contributions from our own plug-ins comes before 3rdParty plug-ins + if (contributor1.startsWith(OWN_PLUGINS_PATTERN) && !contributor2.startsWith(OWN_PLUGINS_PATTERN)) + return -1; + if (!contributor1.startsWith(OWN_PLUGINS_PATTERN) && contributor2.startsWith(OWN_PLUGINS_PATTERN)) + return 1; + if (contributor1.startsWith(OWN_PLUGINS_PATTERN) && contributor2.startsWith(OWN_PLUGINS_PATTERN)) { + int value = contributor1.compareTo(contributor2); + // Within the same plug-in, the extension are sorted by their unique id (if available) + if (value == 0 && o1.getUniqueIdentifier() != null && o2.getUniqueIdentifier() != null) + return o1.getUniqueIdentifier().compareTo(o2.getUniqueIdentifier()); + // Otherwise, just return the comparisation result from the contributors + return value; + } + + // Contributions from all other plug-ins are sorted alphabetical + int value = contributor1.compareTo(contributor2); + // Within the same plug-in, the extension are sorted by their unique id (if available) + if (value == 0 && o1.getUniqueIdentifier() != null && o2.getUniqueIdentifier() != null) + return o1.getUniqueIdentifier().compareTo(o2.getUniqueIdentifier()); + // Otherwise, just return the comparisation result from the contributors + return value; + } + + } + + /* + * Thread save singleton instance creation. + */ + private static class LazyInstanceHolder { + public static LauncherDelegateManager instance = new LauncherDelegateManager(); + } + + /** + * Returns the singleton instance. + */ + public static LauncherDelegateManager getInstance() { + return LazyInstanceHolder.instance; + } + + /** + * Constructor. + */ + LauncherDelegateManager() { + super(); + } + + /** + * Returns the list of all contributed terminal launcher delegates. + * + * @param unique If true, the method returns new instances for each + * contributed terminal launcher delegate. + * + * @return The list of contributed terminal launcher delegates, or an empty array. + */ + public ILauncherDelegate[] getLauncherDelegates(boolean unique) { + List contributions = new ArrayList(); + for (Proxy launcherDelegate : getExtensions().values()) { + ILauncherDelegate instance = unique ? launcherDelegate.newInstance() : launcherDelegate.getInstance(); + if (instance != null && !contributions.contains(instance)) { + contributions.add(instance); + } + } + + return contributions.toArray(new ILauncherDelegate[contributions.size()]); + } + + /** + * Returns the terminal launcher delegate identified by its unique id. If no terminal + * launcher delegate with the specified id is registered, null is returned. + * + * @param id The unique id of the terminal launcher delegate or null + * @param unique If true, the method returns new instances of the terminal launcher delegate contribution. + * + * @return The terminal launcher delegate instance or null. + */ + public ILauncherDelegate getLauncherDelegate(String id, boolean unique) { + ILauncherDelegate contribution = null; + Map extensions = getExtensions(); + if (extensions.containsKey(id)) { + Proxy proxy = extensions.get(id); + // Get the extension instance + contribution = unique ? proxy.newInstance() : proxy.getInstance(); + } + + return contribution; + } + + /** + * Returns the applicable terminal launcher delegates for the given selection. + * + * @param selection The selection or null. + * @return The list of applicable terminal launcher delegates or an empty array. + */ + public ILauncherDelegate[] getApplicableLauncherDelegates(ISelection selection) { + List applicable = new ArrayList(); + + for (ILauncherDelegate delegate : getLauncherDelegates(false)) { + Expression enablement = delegate.getEnablement(); + + // The launcher delegate is applicable by default if + // no expression is specified. + boolean isApplicable = enablement == null; + + if (enablement != null) { + if (selection != null) { + // Set the default variable to selection. + IEvaluationContext currentState = ((IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class)).getCurrentState(); + EvaluationContext context = new EvaluationContext(currentState, selection); + // Set the "selection" variable to the selection. + context.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); + // Allow plug-in activation + context.setAllowPluginActivation(true); + // Evaluate the expression + try { + isApplicable = enablement.evaluate(context).equals(EvaluationResult.TRUE); + } catch (CoreException e) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), e.getLocalizedMessage(), e); + UIPlugin.getDefault().getLog().log(status); + } + } else { + // The enablement is false by definition if + // there is no selection. + isApplicable = false; + } + } + + // Add the page if applicable + if (isApplicable) applicable.add(delegate); + } + + return applicable.toArray(new ILauncherDelegate[applicable.size()]); + } + + /** + * Returns the map of managed extensions. If not loaded before, + * this methods trigger the loading of the extensions to the managed + * extension point. + * + * @return The map of extensions. + */ + protected Map getExtensions() { + // Load and store the extensions thread-safe! + synchronized (extensionsMap) { + if (!initialized) { loadExtensions(); initialized = true; } + } + return extensionsMap; + } + + /** + * Returns the extension point comparator instance. If not available, + * {@link #doCreateExtensionPointComparator()} is called to create a new instance. + * + * @return The extension point comparator or null if the instance creation fails. + */ + protected final ExtensionPointComparator getExtensionPointComparator() { + if (comparator == null) { + comparator = new ExtensionPointComparator(); + } + return comparator; + } + + /** + * Returns the extensions of the specified extension point sorted. + *

                                    + * For the order of the extensions, see {@link ExtensionPointComparator}. + * + * @param point The extension point. Must not be null. + * @return The extensions in sorted order or an empty array if the extension point has no extensions. + */ + protected IExtension[] getExtensionsSorted(IExtensionPoint point) { + Assert.isNotNull(point); + + List extensions = new ArrayList(Arrays.asList(point.getExtensions())); + if (extensions.size() > 0) { + Collections.sort(extensions, getExtensionPointComparator()); + } + + return extensions.toArray(new IExtension[extensions.size()]); + } + + /** + * Loads the extensions for the managed extension point. + */ + protected void loadExtensions() { + // If already initialized, this method will do nothing. + if (initialized) return; + + IExtensionRegistry registry = Platform.getExtensionRegistry(); + IExtensionPoint point = registry.getExtensionPoint("org.eclipse.tcf.te.ui.terminals.launcherDelegates"); //$NON-NLS-1$ + if (point != null) { + IExtension[] extensions = getExtensionsSorted(point); + for (IExtension extension : extensions) { + IConfigurationElement[] elements = extension.getConfigurationElements(); + for (IConfigurationElement element : elements) { + if ("delegate".equals(element.getName())) { //$NON-NLS-1$ + try { + Proxy candidate = new Proxy(element); + if (candidate.getId() != null) { + // If no extension with this id had been registered before, register now. + if (!extensionsMap.containsKey(candidate.getId())) { + extensionsMap.put(candidate.getId(), candidate); + } + else { + throw new CoreException(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + 0, + NLS.bind(Messages.Extension_error_duplicateExtension, candidate.getId(), element.getContributor().getName()), + null)); + } + } else { + throw new CoreException(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + 0, + NLS.bind(Messages.Extension_error_missingRequiredAttribute, "id", element.getAttribute("label")), //$NON-NLS-1$ //$NON-NLS-2$ + null)); + } + } catch (CoreException e) { + Platform.getLog(UIPlugin.getDefault().getBundle()).log(new Status(IStatus.ERROR, + UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.Extension_error_invalidExtensionPoint, element.getDeclaringExtension().getUniqueIdentifier()), e)); + } + } + } + } + } + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java new file mode 100644 index 00000000000..d5752bf4e3a --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java @@ -0,0 +1,130 @@ +/******************************************************************************* + * Copyright (c) 2013, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.listeners; + +import org.eclipse.ui.IPartListener2; +import org.eclipse.ui.IPartService; +import org.eclipse.ui.IPerspectiveListener; +import org.eclipse.ui.IWindowListener; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPartReference; +import org.eclipse.ui.IWorkbenchWindow; + +/** + * Abstract window listener implementation. + */ +public abstract class AbstractWindowListener implements IWindowListener { + // The part listener instance + protected final IPartListener2 partListener; + // The perspective listener instance + protected final IPerspectiveListener perspectiveListener; + + // Flag to remember if the initialization is done or not + private boolean initialized = false; + + /** + * Constructor + */ + public AbstractWindowListener() { + // Create the part listener instance + partListener = createPartListener(); + // Create the perspective listener instance + perspectiveListener = createPerspectiveListener(); + } + + /** + * Creates a new part listener instance. + *

                                    + * Note: The default implementation returns null. + * + * @return The part listener instance or null. + */ + protected IPartListener2 createPartListener() { + return null; + } + + /** + * Creates a new perspective listener instance. + *

                                    + * Note: The default implementation returns null. + * + * @return The perspective listener instance or null. + */ + protected IPerspectiveListener createPerspectiveListener() { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWindowListener#windowActivated(org.eclipse.ui.IWorkbenchWindow) + */ + @Override + public void windowActivated(IWorkbenchWindow window) { + if (!initialized && window != null) { + windowOpened(window); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWindowListener#windowDeactivated(org.eclipse.ui.IWorkbenchWindow) + */ + @Override + public void windowDeactivated(IWorkbenchWindow window) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWindowListener#windowClosed(org.eclipse.ui.IWorkbenchWindow) + */ + @Override + public void windowClosed(IWorkbenchWindow window) { + // On close, remove the listeners from the window + if (window != null) { + if (window.getPartService() != null && partListener != null) { + window.getPartService().removePartListener(partListener); + } + + if (perspectiveListener != null) window.removePerspectiveListener(perspectiveListener); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IWindowListener#windowOpened(org.eclipse.ui.IWorkbenchWindow) + */ + @Override + public void windowOpened(IWorkbenchWindow window) { + if (window != null) { + // On open, register the part listener to the window + if (window.getPartService() != null && partListener != null) { + // Get the part service + IPartService service = window.getPartService(); + // Unregister the part listener, just in case + service.removePartListener(partListener); + // Register the part listener + service.addPartListener(partListener); + // Signal the active part to the part listener after registration + IWorkbenchPage page = window.getActivePage(); + if (page != null) { + IWorkbenchPartReference partRef = page.getActivePartReference(); + if (partRef != null) partListener.partActivated(partRef); + } + } + + // Register the perspective listener + if (perspectiveListener != null) { + window.addPerspectiveListener(perspectiveListener); + // Signal the active perspective to the perspective listener after registration + if (window.getActivePage() != null) { + perspectiveListener.perspectiveActivated(window.getActivePage(), window.getActivePage().getPerspective()); + } + } + + initialized = true; + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java new file mode 100644 index 00000000000..017b19271f2 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java @@ -0,0 +1,112 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.listeners; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.ui.IPartListener2; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchPartReference; +import org.eclipse.ui.contexts.IContextActivation; +import org.eclipse.ui.contexts.IContextService; + +/** + * The part listener implementation. Takes care of + * activation and deactivation of key binding contexts. + */ +public class WorkbenchPartListener implements IPartListener2 { + + // The context activations per workbench part reference + private final Map activations = new HashMap(); + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partBroughtToTop(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partBroughtToTop(IWorkbenchPartReference partRef) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partOpened(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partOpened(IWorkbenchPartReference partRef) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partClosed(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partClosed(IWorkbenchPartReference partRef) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partVisible(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partVisible(IWorkbenchPartReference partRef) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partHidden(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partHidden(IWorkbenchPartReference partRef) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partActivated(IWorkbenchPartReference partRef) { + if ("org.eclipse.tcf.te.ui.terminals.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ + IWorkbenchPart part = partRef.getPart(false); + if (part != null && part.getSite() != null) { + IContextService service = (IContextService)part.getSite().getService(IContextService.class); + if (service != null) { + IContextActivation activation = service.activateContext(partRef.getId()); + if (activation != null) { + activations.put(partRef, activation); + } else { + activations.remove(partRef); + } + } + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partDeactivated(IWorkbenchPartReference partRef) { + if ("org.eclipse.tcf.te.ui.terminals.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ + IWorkbenchPart part = partRef.getPart(false); + if (part != null && part.getSite() != null) { + IContextService service = (IContextService)part.getSite().getService(IContextService.class); + if (service != null) { + IContextActivation activation = activations.remove(partRef); + if (activation != null) { + service.deactivateContext(activation); + } + } + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.IPartListener2#partInputChanged(org.eclipse.ui.IWorkbenchPartReference) + */ + @Override + public void partInputChanged(IWorkbenchPartReference partRef) { + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java new file mode 100644 index 00000000000..21349a95494 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.listeners; + +import org.eclipse.ui.IPartListener2; + +/** + * The window listener implementation. Takes care of the + * management of the global listeners per workbench window. + */ +public class WorkbenchWindowListener extends AbstractWindowListener { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.views.listeners.AbstractWindowListener#createPartListener() + */ + @Override + protected IPartListener2 createPartListener() { + return new WorkbenchPartListener(); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java new file mode 100644 index 00000000000..e716c623756 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java @@ -0,0 +1,641 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.manager; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.IPreferenceKeys; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.interfaces.IUIConstants; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tcf.te.ui.terminals.view.TerminalsView; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.ui.IPerspectiveDescriptor; +import org.eclipse.ui.IPerspectiveListener; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IViewReference; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PerspectiveAdapter; +import org.eclipse.ui.PlatformUI; + +/** + * Terminals console manager. + */ +@SuppressWarnings("restriction") +public class ConsoleManager { + + // Constant to indicate any secondary id is acceptable + private final static String ANY_SECONDARY_ID = new String("*"); //$NON-NLS-1$ + + // Reference to the perspective listener instance + private final IPerspectiveListener perspectiveListener; + + // Internal perspective listener implementation + static class ConsoleManagerPerspectiveListener extends PerspectiveAdapter { + private final List references = new ArrayList(); + + /* (non-Javadoc) + * @see org.eclipse.ui.PerspectiveAdapter#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) + */ + @Override + public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { + // If the old references list is empty, just return + if (references.isEmpty()) return; + // Create a copy of the old view references list + List oldReferences = new ArrayList(references); + + // Get the current list of view references + List references = new ArrayList(Arrays.asList(page.getViewReferences())); + for (IViewReference reference : oldReferences) { + if (references.contains(reference)) continue; + // Previous visible terminals console view reference, make visible again + try { + page.showView(reference.getId(), reference.getSecondaryId(), IWorkbenchPage.VIEW_VISIBLE); + } catch (PartInitException e) { /* Failure on part instantiation is ignored */ } + } + + } + + /* (non-Javadoc) + * @see org.eclipse.ui.PerspectiveAdapter#perspectivePreDeactivate(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) + */ + @Override + public void perspectivePreDeactivate(IWorkbenchPage page, IPerspectiveDescriptor perspective) { + references.clear(); + for (IViewReference reference : page.getViewReferences()) { + IViewPart part = reference.getView(false); + if (part instanceof TerminalsView && !references.contains(reference)) { + references.add(reference); + } + } + } + } + + /* + * Thread save singleton instance creation. + */ + private static class LazyInstanceHolder { + public static ConsoleManager fInstance = new ConsoleManager(); + } + + /** + * Returns the singleton instance for the console manager. + */ + public static ConsoleManager getInstance() { + return LazyInstanceHolder.fInstance; + } + + /** + * Constructor. + */ + ConsoleManager() { + super(); + + // Attach the perspective listener + perspectiveListener = new ConsoleManagerPerspectiveListener(); + if (PlatformUI.isWorkbenchRunning() && PlatformUI.getWorkbench() != null && PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) { + PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(perspectiveListener); + } + } + + /** + * Returns the active workbench window page if the workbench is still running. + * + * @return The active workbench window page or null + */ + private final IWorkbenchPage getActiveWorkbenchPage() { + // To lookup the console view, the workbench must be still running + if (PlatformUI.isWorkbenchRunning() && PlatformUI.getWorkbench() != null && PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) { + return PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + } + return null; + } + + /** + * Returns the console view if available within the active workbench window page. + *

                                    + * Note: The method must be called within the UI thread. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param secondaryId The terminals console view secondary id or null. + * + * @return The console view instance if available or null otherwise. + */ + public ITerminalsView findConsoleView(String id, String secondaryId) { + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + ITerminalsView view = null; + + // Get the active workbench page + IWorkbenchPage page = getActiveWorkbenchPage(); + if (page != null) { + // Look for the view + IViewPart part = getTerminalsViewWithSecondaryId(id != null ? id : IUIConstants.ID, secondaryId); + // Check the interface + if (part instanceof ITerminalsView) { + view = (ITerminalsView)part; + } + } + + return view; + } + + /** + * Search and return a terminal view with a specific secondary id + * + * @param id The terminals console view id. Must not be null. + * @param secondaryId The terminals console view secondary id or null. + * + * @return The terminals console view instance or null if not found. + */ + private IViewPart getTerminalsViewWithSecondaryId(String id, String secondaryId) { + Assert.isNotNull(id); + + IWorkbenchPage page = getActiveWorkbenchPage(); + + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + if (ref.getId().equals(id)) { + IViewPart part = ref.getView(true); + if (part instanceof ITerminalsView) { + String secId = ((IViewSite) part.getSite()).getSecondaryId(); + if (secId != null && secId.equals(secondaryId) || secId == null && secondaryId == null) { + return part; + } + } + } + } + return null; + } + + /** + * Search and return a terminal view that is NOT pinned + * + * @param id The terminals console view id. Must not be null. + * @return The terminals console view instance or null if not found. + */ + private IViewPart getFirstNotPinnedTerminalsView(String id) { + Assert.isNotNull(id); + + IWorkbenchPage page = getActiveWorkbenchPage(); + + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + if (ref.getId().equals(id)) { + IViewPart part = ref.getView(true); + if (part instanceof ITerminalsView) { + if (!((ITerminalsView) part).isPinned()) { + return part; + } + } + } + } + return null; + } + + /** + * Search and return the first available terminal view. + * + * @param id The terminals console view id. Must not be null. + * @param secondaryId The terminals console view secondary id or null. + * @param useActive - return only an active terminal view. + * + * @return The terminals console view instance or null if not found. + */ + private IViewPart getFirstTerminalsView(String id, String secondaryId, boolean useActive) { + Assert.isNotNull(id); + + IWorkbenchPage page = getActiveWorkbenchPage(); + + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + if (ref.getId().equals(id)) { + if (secondaryId == ANY_SECONDARY_ID + || secondaryId == null && ref.getSecondaryId() == null + || secondaryId != null && secondaryId.equals(ref.getSecondaryId())) { + IViewPart part = ref.getView(true); + if (useActive) { + if (page.isPartVisible(part)) { + return part; + } + } + else { + return part; + } + } + } + } + return null; + } + + /** + * Return a new secondary id to use, based on the number of open terminal views. + * + * @param id The terminals console view id. Must not be null. + * @return The next secondary id, or null if it is the first one + */ + private String getNextTerminalSecondaryId(String id) { + Assert.isNotNull(id); + + IWorkbenchPage page = getActiveWorkbenchPage(); + Map terminalViews = new HashMap(); + + int maxNumber = 0; + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + if (ref.getId().equals(id)) { + if (ref.getSecondaryId() != null) { + terminalViews.put(ref.getSecondaryId(), ref); + int scondaryIdInt = Integer.parseInt(ref.getSecondaryId()); + if (scondaryIdInt > maxNumber) { + maxNumber = scondaryIdInt; + } + } + else { + // add the one with secondaryId == null with 0 by default + terminalViews.put(Integer.toString(0), ref); + } + } + } + if (terminalViews.size() == 0) { + return null; + } + + int i = 0; + for (; i < maxNumber; i++) { + String secondaryIdStr = Integer.toString(i); + if (!terminalViews.keySet().contains(secondaryIdStr)) { + // found a free slot + if (i == 0) + return null; + return Integer.toString(i); + } + } + // add a new one + return Integer.toString(i + 1); + } + + /** + * Show the terminals console view specified by the given id. + *

                                    + * Note: The method must be called within the UI thread. + * + * @param id The terminals console view id or null to show the default terminals console view. + */ + public IViewPart showConsoleView(String id, String secondaryId) { + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // Get the active workbench page + IWorkbenchPage page = getActiveWorkbenchPage(); + if (page != null) { + try { + // show the view + IViewPart part = page.showView(id != null ? id : IUIConstants.ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE); + // and force the view to the foreground + page.bringToTop(part); + return part; + } + catch (PartInitException e) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), e.getLocalizedMessage(), e); + UIPlugin.getDefault().getLog().log(status); + } + } + return null; + } + + /** + * Bring the terminals console view, specified by the given id, to the top of the view stack. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param secondaryId The terminals console view secondary id or null. + * @param activate If true activate the console view. + */ + private IViewPart bringToTop(String id, String secondaryId, boolean activate) { + // Get the active workbench page + IWorkbenchPage page = getActiveWorkbenchPage(); + if (page != null) { + // Look for any terminal view + IViewPart anyTerminal = getFirstTerminalsView(id != null ? id : IUIConstants.ID, secondaryId, false); + // there is at least one terminal available + if (anyTerminal != null) { + // is there an active terminal view + IViewPart activePart = getFirstTerminalsView(id != null ? id : IUIConstants.ID, secondaryId, true); + // no terminal view active + if (activePart == null) { + // use the first not pinned + IViewPart notPinnedPart = getFirstNotPinnedTerminalsView(id != null ? id : IUIConstants.ID); + if (notPinnedPart != null) { + if (activate) { + page.activate(notPinnedPart); + } + else { + page.bringToTop(notPinnedPart); + } + return notPinnedPart; + } + // else we need to create a new one + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + return newPart; + } + // we found a active terminal page + // if it is pinned search for a non pinned (not active) + if (((ITerminalsView) activePart).isPinned() && secondaryId == ANY_SECONDARY_ID) { + // we found one so use it + IViewPart notPinnedPart = getFirstNotPinnedTerminalsView(id != null ? id : IUIConstants.ID); + if (notPinnedPart != null) { + if (activate) { + page.activate(notPinnedPart); + } + else { + page.bringToTop(notPinnedPart); + } + return notPinnedPart; + } + // else we need to create a new one + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + return newPart; + } + // else return the active one + return activePart; + } + // create first new terminal + if (activate) { + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + return newPart; + } + } + return null; + } + + /** + * Opens the console with the given title and connector. + *

                                    + * Note: The method must be called within the UI thread. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param title The console title. Must not be null. + * @param encoding The terminal encoding or null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * @param flags The flags controlling how the console is opened or null to use defaults. + */ + public CTabItem openConsole(String id, String title, String encoding, ITerminalConnector connector, Object data, Map flags) { + return openConsole(id, ANY_SECONDARY_ID, title, encoding, connector, data, flags); + } + + /** + * Opens the console with the given title and connector. + *

                                    + * Note: The method must be called within the UI thread. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param secondaryId The terminals console view secondary id or null. + * @param title The console title. Must not be null. + * @param encoding The terminal encoding or null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * @param flags The flags controlling how the console is opened or null to use defaults. + */ + public CTabItem openConsole(String id, String secondaryId, String title, String encoding, ITerminalConnector connector, Object data, Map flags) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // Get the flags handled by the openConsole method itself + boolean activate = flags != null && flags.containsKey("activate") ? flags.get("activate").booleanValue() : false; //$NON-NLS-1$ //$NON-NLS-2$ + boolean forceNew = flags != null && flags.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW) ? flags.get(ITerminalsConnectorConstants.PROP_FORCE_NEW).booleanValue() : false; + + // Make the consoles view visible + IViewPart part = bringToTop(id, secondaryId, activate); + if (!(part instanceof ITerminalsView)) return null; + // Cast to the correct type + ITerminalsView view = (ITerminalsView)part; + + // Get the tab folder manager associated with the view + TabFolderManager manager = (TabFolderManager)view.getAdapter(TabFolderManager.class); + if (manager == null) return null; + + // Lookup an existing console first + String secId = ((IViewSite)part.getSite()).getSecondaryId(); + CTabItem item = findConsole(id, secId, title, connector, data); + + // Switch to the tab folder page _before_ calling TabFolderManager#createItem(...). + // The createItem(...) method invokes the corresponding connect and this may take + // a while if connecting to a remote host. To allow a "Connecting..." decoration, + // the tab folder page needs to be visible. + view.switchToTabFolderControl(); + + // If no existing console exist or forced -> Create the tab item + if (item == null || forceNew) { + // If configured, check all existing tab items if they are associated + // with terminated consoles + if (UIPlugin.getScopedPreferences().getBoolean(IPreferenceKeys.PREF_REMOVE_TERMINATED_TERMINALS)) { + // Remote all terminated tab items. This will invoke the + // tab's dispose listener. + manager.removeTerminatedItems(); + // Switch back to the tab folder control as removeTerminatedItems() + // may have triggered the switch to the empty space control. + view.switchToTabFolderControl(); + } + + // Create a new tab item + item = manager.createTabItem(title, encoding, connector, data, flags); + } + // If still null, something went wrong + if (item == null) return null; + + // Make the item the active console + manager.bringToTop(item); + + // Make sure the terminals view has the focus after opening a new terminal + view.setFocus(); + + // Return the tab item of the opened console + return item; + } + + /** + * Lookup a console with the given title and the given terminal connector. + *

                                    + * Note: The method must be called within the UI thread. + * Note: The method will handle unified console titles itself. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param secondaryId The terminals console view secondary id or null. + * @param title The console title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * + * @return The corresponding console tab item or null. + */ + public CTabItem findConsole(String id, String secondaryId, String title, ITerminalConnector connector, Object data) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // Get the console view + ITerminalsView view = findConsoleView(id, secondaryId); + if (view == null) return null; + + // Get the tab folder manager associated with the view + TabFolderManager manager = (TabFolderManager)view.getAdapter(TabFolderManager.class); + if (manager == null) return null; + + return manager.findTabItem(title, connector, data); + } + + /** + * Lookup a console which is assigned with the given terminal control. + *

                                    + * Note: The method must be called within the UI thread. + * + * @param control The terminal control. Must not be null. + * @return The corresponding console tab item or null. + */ + public CTabItem findConsole(ITerminalControl control) { + Assert.isNotNull(control); + + CTabItem item = null; + + IWorkbenchPage page = getActiveWorkbenchPage(); + if (page != null) { + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + IViewPart part = ref != null ? ref.getView(false) : null; + if (part instanceof ITerminalsView) { + CTabFolder tabFolder = (CTabFolder) part.getAdapter(CTabFolder.class); + if (tabFolder == null) continue; + CTabItem[] candidates = tabFolder.getItems(); + for (CTabItem candidate : candidates) { + Object data = candidate.getData(); + if (data instanceof ITerminalControl && control.equals(data)) { + item = candidate; + break; + } + } + } + if (item != null) break; + } + } + + return item; + } + + /** + * Search all console views for the one that contains a specific connector. + *

                                    + * Note: The method will handle unified console titles itself. + * + * @param id The terminals console view id or null to show the default terminals console view. + * @param title The console title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * + * @return The corresponding console tab item or null. + */ + private CTabItem findConsoleForTerminalConnector(String id, String title, ITerminalConnector connector, Object data) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + + IWorkbenchPage page = getActiveWorkbenchPage(); + if (page != null) { + IViewReference[] refs = page.getViewReferences(); + for (int i = 0; i < refs.length; i++) { + IViewReference ref = refs[i]; + if (ref.getId().equals(id)) { + IViewPart part = ref.getView(true); + if (part instanceof ITerminalsView) { + // Get the tab folder manager associated with the view + TabFolderManager manager = (TabFolderManager) part.getAdapter(TabFolderManager.class); + if (manager == null) { + continue; + } + CTabItem item = manager.findTabItem(title, connector, data); + if (item != null) { + return item; + } + } + } + } + } + return null; + } + + /** + * Close the console with the given title and the given terminal connector. + *

                                    + * Note: The method must be called within the UI thread. + * Note: The method will handle unified console titles itself. + * + * @param title The console title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + */ + public void closeConsole(String id, String title, ITerminalConnector connector, Object data) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // Lookup the console with this connector + CTabItem console = findConsoleForTerminalConnector(id, title, connector, data); + // If found, dispose the console + if (console != null) { + console.dispose(); + } + } + + /** + * Terminate (disconnect) the console with the given title and the given terminal connector. + *

                                    + * Note: The method must be called within the UI thread. + * Note: The method will handle unified console titles itself. + * + * @param title The console title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + */ + public void terminateConsole(String id, String title, ITerminalConnector connector, Object data) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // Lookup the console + CTabItem console = findConsoleForTerminalConnector(id, title, connector, data); + // If found, disconnect the console + if (console != null && !console.isDisposed()) { + ITerminalViewControl terminal = (ITerminalViewControl)console.getData(); + if (terminal != null && !terminal.isDisposed()) { + terminal.disconnectTerminal(); + } + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java new file mode 100644 index 00000000000..0d47192ebb7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.nls; + +import java.lang.reflect.Field; + +import org.eclipse.osgi.util.NLS; + +/** + * Terminals plug-in externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + /** + * Returns the corresponding string for the given externalized strings + * key or null if the key does not exist. + * + * @param key The externalized strings key or null. + * @return The corresponding string or null. + */ + public static String getString(String key) { + if (key != null) { + try { + Field field = Messages.class.getDeclaredField(key); + return (String)field.get(null); + } catch (Exception e) { /* ignored on purpose */ } + } + + return null; + } + + // **** Declare externalized string id's down here ***** + + public static String Extension_error_missingRequiredAttribute; + public static String Extension_error_duplicateExtension; + public static String Extension_error_invalidExtensionPoint; + + public static String AbstractTriggerCommandHandler_error_executionFailed; + + public static String AbstractAction_error_commandExecutionFailed; + + public static String AbstractConfigurationPanel_delete; + public static String AbstractConfigurationPanel_deleteButtonTooltip; + public static String AbstractConfigurationPanel_hosts; + public static String AbstractConfigurationPanel_encoding; + public static String AbstractConfigurationPanel_encoding_custom; + public static String AbstractConfigurationPanel_encoding_custom_title; + public static String AbstractConfigurationPanel_encoding_custom_message; + public static String AbstractConfigurationPanel_encoding_custom_error; + + public static String TabTerminalListener_consoleClosed; + public static String TabTerminalListener_consoleConnecting; + + public static String PinTerminalAction_menu; + public static String PinTerminalAction_toolTip; + + public static String ToggleCommandFieldAction_menu; + public static String ToggleCommandFieldAction_toolTip; + + public static String SelectEncodingAction_menu; + public static String SelectEncodingAction_tooltip; + + public static String ProcessSettingsPage_dialogTitle; + public static String ProcessSettingsPage_processImagePathSelectorControl_label; + public static String ProcessSettingsPage_processImagePathSelectorControl_button; + public static String ProcessSettingsPage_processArgumentsControl_label; + public static String ProcessSettingsPage_processWorkingDirControl_label; + public static String ProcessSettingsPage_localEchoSelectorControl_label; + + public static String OutputStreamMonitor_error_readingFromStream; + + public static String InputStreamMonitor_error_writingToStream; + + public static String TerminalService_error_cannotCreateConnector; + public static String TerminalService_defaultTitle; + + public static String LaunchTerminalSettingsDialog_title; + public static String LaunchTerminalSettingsDialog_combo_label; + public static String LaunchTerminalSettingsDialog_group_label; + + public static String TabScrollLockAction_text; + public static String TabScrollLockAction_tooltip; + + public static String LaunchTerminalSettingsDialog_error_title; + public static String LaunchTerminalSettingsDialog_error_invalidSettings; + public static String LaunchTerminalSettingsDialog_error_unknownReason; + + public static String EncodingSelectionDialog_title; + + public static String TabFolderManager_encoding; + public static String TabFolderManager_state_connected; + public static String TabFolderManager_state_connecting; + public static String TabFolderManager_state_closed; + + public static String NoteCompositeHelper_note_label; +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties new file mode 100644 index 00000000000..f7a77a435dc --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties @@ -0,0 +1,75 @@ +############################################################################### +# Copyright (c) 2012 - 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +Extension_error_missingRequiredAttribute=Required attribute "{0}" missing for extension "{1}"! +Extension_error_duplicateExtension=Duplicate extension with id ''{0}''. Ignoring duplicated contribution from contributor ''{1}''! +Extension_error_invalidExtensionPoint=Failed to instantiate the executable extension from extension point ''{0}''. + +AbstractTriggerCommandHandler_error_executionFailed=Failed to execute command {0}. + +AbstractAction_error_commandExecutionFailed="Failed to execute command (id = {0}). Possibly caused by: {1} + +AbstractConfigurationPanel_delete=Delete +AbstractConfigurationPanel_deleteButtonTooltip=Delete terminal settings for host +AbstractConfigurationPanel_hosts=Hosts: +AbstractConfigurationPanel_encoding=Encoding: +AbstractConfigurationPanel_encoding_custom=Other... +AbstractConfigurationPanel_encoding_custom_title=Other... +AbstractConfigurationPanel_encoding_custom_message=Please enter the name of the encoding to use for the terminal. +AbstractConfigurationPanel_encoding_custom_error=Unsupported encoding. Please enter the name of a supported encoding. + +TabTerminalListener_consoleClosed=<{1}> {0} +TabTerminalListener_consoleConnecting={0} : {1}... + +PinTerminalAction_menu=Pin +PinTerminalAction_toolTip=Pin the Terminal View + +ToggleCommandFieldAction_menu=Toggle Command Input Field +ToggleCommandFieldAction_toolTip=Toggle Command Input Field + +SelectEncodingAction_menu=Switch Encoding... +SelectEncodingAction_tooltip=Switch the Encoding of the active Terminal + +ProcessSettingsPage_dialogTitle=Select Process Image +ProcessSettingsPage_processImagePathSelectorControl_label=Image Path: +ProcessSettingsPage_processImagePathSelectorControl_button=Browse +ProcessSettingsPage_processArgumentsControl_label=Arguments: +ProcessSettingsPage_processWorkingDirControl_label=Working Dir: +ProcessSettingsPage_localEchoSelectorControl_label=Local Echo + +OutputStreamMonitor_error_readingFromStream=Exception when reading from stream. Possibly caused by: {0} + +InputStreamMonitor_error_writingToStream=Exception when writing to stream. Possibly caused by: {0} + +TerminalService_error_cannotCreateConnector=Cannot create a valid terminal connector instance from the provided terminal properties. +TerminalService_defaultTitle=Console + +LaunchTerminalSettingsDialog_title=Launch Terminal +LaunchTerminalSettingsDialog_combo_label=Choose terminal: +LaunchTerminalSettingsDialog_group_label=Settings + +TabScrollLockAction_text=Scroll &Lock +TabScrollLockAction_tooltip=Scroll Lock + +LaunchTerminalSettingsDialog_error_title=Terminal Settings +LaunchTerminalSettingsDialog_error_invalidSettings=The specified settings are invalid\n\n\ +{0}\n\n\ +Please review and specify valid settings. Or cancel the settings dialog to abort. +LaunchTerminalSettingsDialog_error_unknownReason=Cannot determine specifically which setting is invalid. + +EncodingSelectionDialog_title=Encoding + +TabFolderManager_encoding=Encoding: {0} +TabFolderManager_state_connected=Connected +TabFolderManager_state_connecting=Connecting +TabFolderManager_state_closed=Closed + +NoteCompositeHelper_note_label=Note: + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java new file mode 100644 index 00000000000..8ee9b25067d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.panels; + +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.IMessageProvider; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; + +/** + * Abstract terminal launcher configuration panel implementation. + */ +public abstract class AbstractConfigurationPanel implements IConfigurationPanel { + private final IConfigurationPanelContainer container; + + private Composite topControl = null; + + // The selection + private ISelection selection; + + private String message = null; + private int messageType = IMessageProvider.NONE; + + private boolean enabled = true; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public AbstractConfigurationPanel(IConfigurationPanelContainer container) { + super(); + this.container = container; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getContainer() + */ + @Override + public IConfigurationPanelContainer getContainer() { + return container; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessage() + */ + @Override + public final String getMessage() { + return message; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.IMessageProvider#getMessageType() + */ + @Override + public final int getMessageType() { + return messageType; + } + + /** + * Set the message and the message type to display. + * + * @param message The message or null. + * @param messageType The message type or IMessageProvider.NONE. + */ + protected final void setMessage(String message, int messageType) { + this.message = message; + this.messageType = messageType; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#dispose() + */ + @Override + public void dispose() { + } + + /** + * Sets the top control. + * + * @param topControl The top control or null. + */ + protected void setControl(Composite topControl) { + this.topControl = topControl; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getControl() + */ + @Override + public Composite getControl() { + return topControl; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setSelection(org.eclipse.jface.viewers.ISelection) + */ + @Override + public void setSelection(ISelection selection) { + this.selection = selection; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getSelection() + */ + @Override + public ISelection getSelection() { + return selection; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + } + + /** + * Returns the correctly prefixed dialog settings slot id. In case the given id + * suffix is null or empty, id is returned as is. + * + * @param settingsSlotId The dialog settings slot id to prefix. + * @param prefix The prefix. + * @return The correctly prefixed dialog settings slot id. + */ + public final String prefixDialogSettingsSlotId(String settingsSlotId, String prefix) { + if (settingsSlotId != null && prefix != null && prefix.trim().length() > 0) { + settingsSlotId = prefix + "." + settingsSlotId; //$NON-NLS-1$ + } + return settingsSlotId; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setEnabled(boolean) + */ + @Override + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + /** + * @return Returns the enabled state. + */ + public boolean isEnabled() { + return enabled; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#isValid() + */ + @Override + public boolean isValid() { + setMessage(null, NONE); + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#activate() + */ + @Override + public void activate() { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#updateData(java.util.Map) + */ + @Override + public void updateData(Map data) { + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java new file mode 100644 index 00000000000..63cd093112d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java @@ -0,0 +1,615 @@ +/******************************************************************************* + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.panels; + +import java.nio.charset.Charset; +import java.nio.charset.IllegalCharsetNameException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.jface.dialogs.IInputValidator; +import org.eclipse.jface.dialogs.InputDialog; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Button; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Label; +import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.ui.ISharedImages; +import org.eclipse.ui.WorkbenchEncoding; +import org.osgi.framework.Bundle; + +/** + * Abstract terminal configuration panel implementation. + */ +public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigurationPanel { + private static final String LAST_HOST_TAG = "lastHost";//$NON-NLS-1$ + private static final String HOSTS_TAG = "hosts";//$NON-NLS-1$ + private static final String ENCODINGS_TAG = "encodings"; //$NON-NLS-1$ + + // The sub-controls + /* default */ Combo hostCombo; + private Button deleteHostButton; + /* default */ Combo encodingCombo; + + // The last selected encoding + /* default */ String lastSelectedEncoding; + // The last entered custom encodings + /* default */ final List encodingHistory = new ArrayList(); + + // A map containing the settings per host + protected final Map> hostSettingsMap = new HashMap>(); + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public AbstractExtendedConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /** + * Returns the host name or IP from the current selection. + * + * @return The host name or IP, or null. + */ + public String getSelectionHost() { + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection) selection).getFirstElement(); + ITerminalContextPropertiesProvider provider = TerminalContextPropertiesProviderFactory.getProvider(element); + if (provider != null) { + Map props = provider.getTargetAddress(element); + if (props != null && props.containsKey(IContextPropertiesConstants.PROP_ADDRESS)) { + return props.get(IContextPropertiesConstants.PROP_ADDRESS); + } + } + } + + return null; + } + + /** + * Returns the default encoding based on the current selection. + * + * @return The default encoding or null. + */ + public String getSelectionEncoding() { + ISelection selection = getSelection(); + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + Object element = ((IStructuredSelection) selection).getFirstElement(); + ITerminalContextPropertiesProvider provider = TerminalContextPropertiesProviderFactory.getProvider(element); + if (provider != null) { + Object encoding = provider.getProperty(element, IContextPropertiesConstants.PROP_DEFAULT_ENCODING); + if (encoding instanceof String) return ((String) encoding).trim(); + } + } + + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + String[] hosts = settings.getArray(HOSTS_TAG); + if (hosts != null) { + for (int i = 0; i < hosts.length; i++) { + String hostEntry = hosts[i]; + String[] hostString = hostEntry.split("\\|");//$NON-NLS-1$ + String hostName = hostString[0]; + if (hostString.length == 2) { + HashMap attr = deSerialize(hostString[1]); + hostSettingsMap.put(hostName, attr); + } + else { + hostSettingsMap.put(hostName, new HashMap()); + } + } + } + + if (!isWithoutSelection()) { + String host = getSelectionHost(); + if (host != null) { + fillSettingsForHost(host); + } + } + else { + if (hostCombo != null) { + fillHostCombo(); + String lastHost = settings.get(LAST_HOST_TAG); + if (lastHost != null) { + int index = hostCombo.indexOf(lastHost); + if (index != -1) { + hostCombo.select(index); + } + else { + hostCombo.select(0); + } + } + else { + hostCombo.select(0); + } + fillSettingsForHost(hostCombo.getText()); + } + } + + encodingHistory.clear(); + String[] encodings = settings.getArray(ENCODINGS_TAG); + if (encodings != null && encodings.length > 0) { + encodingHistory.addAll(Arrays.asList(encodings)); + for (String encoding : encodingHistory) { + encodingCombo.add(encoding, encodingCombo.getItemCount() - 1); + } + } + } + + /** + * Restore the encodings widget values. + * + * @param settings The dialog settings. Must not be null. + * @param idPrefix The prefix or null. + */ + protected void doRestoreEncodingsWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + String encoding = settings.get(prefixDialogSettingsSlotId(ITerminalsConnectorConstants.PROP_ENCODING, idPrefix)); + if (encoding != null && encoding.trim().length() > 0) { + setEncoding(encoding); + } + } + + /** + * Decode the host settings from the given string. + * + * @param hostString The encoded host settings. Must not be null. + * @return The decoded host settings. + */ + private HashMap deSerialize(String hostString) { + Assert.isNotNull(hostString); + HashMap attr = new HashMap(); + + if (hostString.length() != 0) { + String[] hostAttrs = hostString.split("\\:");//$NON-NLS-1$ + for (int j = 0; j < hostAttrs.length-1; j = j + 2) { + String key = hostAttrs[j]; + String value = hostAttrs[j + 1]; + attr.put(key, value); + } + } + return attr; + } + + /** + * Encode the host settings to a string. + * + * @param hostEntry The host settings. Must not be null. + * @param hostString The host string to encode to. Must not be null. + */ + private void serialize(Map hostEntry, StringBuilder hostString) { + Assert.isNotNull(hostEntry); + Assert.isNotNull(hostString); + + if (hostEntry.keySet().size() != 0) { + Iterator> nextHostAttr = hostEntry.entrySet().iterator(); + while (nextHostAttr.hasNext()) { + Entry entry = nextHostAttr.next(); + String attrKey = entry.getKey(); + String attrValue = entry.getValue(); + hostString.append(attrKey + ":" + attrValue + ":");//$NON-NLS-1$ //$NON-NLS-2$ + } + hostString.deleteCharAt(hostString.length() - 1); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + Iterator nextHost = hostSettingsMap.keySet().iterator(); + String[] hosts = new String[hostSettingsMap.keySet().size()]; + int i = 0; + while (nextHost.hasNext()) { + StringBuilder hostString = new StringBuilder(); + String host = nextHost.next(); + hostString.append(host + "|");//$NON-NLS-1$ + Map hostEntry = hostSettingsMap.get(host); + serialize(hostEntry, hostString); + hosts[i] = hostString.toString(); + i = i + 1; + } + settings.put(HOSTS_TAG, hosts); + if (isWithoutSelection()) { + if (hostCombo != null) { + String host = getHostFromSettings(); + if (host != null) settings.put(LAST_HOST_TAG, host); + } + } + + if (!encodingHistory.isEmpty()) { + settings.put(ENCODINGS_TAG, encodingHistory.toArray(new String[encodingHistory.size()])); + } + } + + /** + * Save the encodings widget values. + * + * @param settings The dialog settings. Must not be null. + * @param idPrefix The prefix or null. + */ + protected void doSaveEncodingsWidgetValues(IDialogSettings settings, String idPrefix) { + Assert.isNotNull(settings); + + String encoding = getEncoding(); + if (encoding != null) { + settings.put(prefixDialogSettingsSlotId(ITerminalsConnectorConstants.PROP_ENCODING, idPrefix), encoding); + } + } + + protected abstract void saveSettingsForHost(boolean add); + + protected abstract void fillSettingsForHost(String host); + + protected abstract String getHostFromSettings(); + + protected void removeSecurePassword(String host) { + // noop by default + } + + /** + * Returns the selected host from the hosts combo widget. + * + * @return The selected host or null. + */ + protected final String getHostFromCombo() { + return hostCombo != null && !hostCombo.isDisposed() ? hostCombo.getText() : null; + } + + protected void removeSettingsForHost(String host) { + if (hostSettingsMap.containsKey(host)) { + hostSettingsMap.remove(host); + } + } + + /** + * Returns the list of host names of the persisted hosts. + * + * @return The list of host names. + */ + private List getHostList() { + List hostList = new ArrayList(); + hostList.addAll(hostSettingsMap.keySet()); + return hostList; + } + + /** + * Fill the host combo with the stored per host setting names. + */ + protected void fillHostCombo() { + if (hostCombo != null) { + hostCombo.removeAll(); + List hostList = getHostList(); + Collections.sort(hostList); + Iterator nextHost = hostList.iterator(); + while (nextHost.hasNext()) { + String host = nextHost.next(); + hostCombo.add(host); + } + if (hostList.size() <= 1) { + hostCombo.setEnabled(false); + } + else { + hostCombo.setEnabled(true); + + } + if (deleteHostButton != null) { + if (hostList.size() == 0) { + deleteHostButton.setEnabled(false); + } + else { + deleteHostButton.setEnabled(true); + } + } + } + } + + public boolean isWithoutSelection() { + ISelection selection = getSelection(); + if (selection == null) { + return true; + } + if (selection instanceof IStructuredSelection && selection.isEmpty()) { + return true; + } + return false; + } + + public boolean isWithHostList() { + return true; + } + + /** + * Create the host selection combo. + * + * @param parent The parent composite. Must not be null. + * @param separator If true, a separator will be added after the controls. + */ + protected void createHostsUI(Composite parent, boolean separator) { + Assert.isNotNull(parent); + + if (isWithoutSelection() && isWithHostList()) { + Composite comboComposite = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(3, false); + layout.marginHeight = 0; + layout.marginWidth = 0; + comboComposite.setLayout(layout); + comboComposite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + Label label = new Label(comboComposite, SWT.HORIZONTAL); + label.setText(Messages.AbstractConfigurationPanel_hosts); + + hostCombo = new Combo(comboComposite, SWT.READ_ONLY); + hostCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + hostCombo.addSelectionListener(new SelectionListener() { + + @Override + public void widgetSelected(SelectionEvent e) { + String host = hostCombo.getText(); + fillSettingsForHost(host); + } + + @Override + public void widgetDefaultSelected(SelectionEvent e) { + widgetSelected(e); + } + }); + + deleteHostButton = new Button(comboComposite, SWT.NONE); + // deleteHostButton.setText(Messages.AbstractConfigurationPanel_delete); + + ISharedImages workbenchImages = UIPlugin.getDefault().getWorkbench().getSharedImages(); + deleteHostButton.setImage(workbenchImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE).createImage()); + + deleteHostButton.setToolTipText(Messages.AbstractConfigurationPanel_deleteButtonTooltip); + deleteHostButton.addSelectionListener(new SelectionListener() { + + @Override + public void widgetSelected(SelectionEvent e) { + String host = getHostFromCombo(); + if (host != null && host.length() != 0) { + removeSettingsForHost(host); + removeSecurePassword(host); + fillHostCombo(); + hostCombo.select(0); + host = getHostFromCombo(); + if (host != null && host.length() != 0) { + fillSettingsForHost(host); + } + } + } + + @Override + public void widgetDefaultSelected(SelectionEvent e) { + widgetSelected(e); + } + }); + + if (separator) { + Label sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + } + } + } + + /** + * Create the encoding selection combo. + * + * @param parent The parent composite. Must not be null. + * @param separator If true, a separator will be added before the controls. + */ + protected void createEncodingUI(final Composite parent, boolean separator) { + Assert.isNotNull(parent); + + if (separator) { + Label sep = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL); + sep.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + } + + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.AbstractConfigurationPanel_encoding); + + encodingCombo = new Combo(panel, SWT.READ_ONLY); + encodingCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + encodingCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + if (Messages.AbstractConfigurationPanel_encoding_custom.equals(encodingCombo.getText())) { + InputDialog dialog = new InputDialog(parent.getShell(), + Messages.AbstractConfigurationPanel_encoding_custom_title, + Messages.AbstractConfigurationPanel_encoding_custom_message, + null, + new IInputValidator() { + @Override + public String isValid(String newText) { + boolean valid = false; + try { + if (newText != null && !"".equals(newText)) { //$NON-NLS-1$ + valid = Charset.isSupported(newText); + } + } catch (IllegalCharsetNameException e) { /* ignored on purpose */ } + + if (!valid) { + return newText != null && !"".equals(newText) ? Messages.AbstractConfigurationPanel_encoding_custom_error : ""; //$NON-NLS-1$ //$NON-NLS-2$ + } + return null; + } + }); + if (dialog.open() == Window.OK) { + String encoding = dialog.getValue(); + encodingCombo.add(encoding, encodingCombo.getItemCount() - 1); + encodingCombo.select(encodingCombo.indexOf(encoding)); + lastSelectedEncoding = encodingCombo.getText(); + + // Remember the last 5 custom encodings entered + if (!encodingHistory.contains(encoding)) { + if (encodingHistory.size() == 5) encodingHistory.remove(4); + encodingHistory.add(encoding); + } + + } else { + encodingCombo.select(encodingCombo.indexOf(lastSelectedEncoding)); + } + } + } + }); + + fillEncodingCombo(); + + // Apply any default encoding derived from the current selection + String defaultEncoding = getSelectionEncoding(); + if (defaultEncoding != null && !"".equals(defaultEncoding)) { //$NON-NLS-1$ + setEncoding(defaultEncoding); + } + } + + /** + * Fill the encoding combo. + */ + protected void fillEncodingCombo() { + if (encodingCombo != null) { + List encodings = new ArrayList(); + + // Some hard-coded encodings + encodings.add("Default (ISO-8859-1)"); //$NON-NLS-1$ + encodings.add("UTF-8"); //$NON-NLS-1$ + + // The currently selected IDE encoding from the preferences + String ideEncoding = getResourceEncoding(); + if (ideEncoding != null && !encodings.contains(ideEncoding)) encodings.add(ideEncoding); + + // The default Eclipse Workbench encoding (configured in the preferences) + String eclipseEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding(); + if (eclipseEncoding != null && !encodings.contains(eclipseEncoding)) encodings.add(eclipseEncoding); + + // The default host (Java VM) encoding + // + // Note: We do not use Charset.defaultCharset().displayName() here as it returns the bit + // unusual name "windows-1252" on Windows. As there is no access to the "historical" + // name "Cp1252" stored in MS1252.class, stick to the older way of retrieving an encoding. + String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); + if (!encodings.contains(hostEncoding)) encodings.add(hostEncoding); + + // The "Other..." encoding + encodings.add(Messages.AbstractConfigurationPanel_encoding_custom); + + encodingCombo.setItems(encodings.toArray(new String[encodings.size()])); + encodingCombo.select(0); + + lastSelectedEncoding = encodingCombo.getText(); + } + } + + /** + * Get the current value of the encoding preference. If the value is not set + * return null. + *

                                    + * Note: Copied from org.eclipse.ui.ide.IDEEncoding. + * + * @return String + */ + @SuppressWarnings("deprecation") + private String getResourceEncoding() { + String preference = null; + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + preference = org.eclipse.core.resources.ResourcesPlugin.getPlugin().getPluginPreferences().getString(org.eclipse.core.resources.ResourcesPlugin.PREF_ENCODING); + } + + return preference != null && preference.length() > 0 ? preference : null; + } + + /** + * Select the encoding. + * + * @param encoding The encoding. Must not be null. + */ + protected void setEncoding(String encoding) { + Assert.isNotNull(encoding); + + if (encodingCombo != null && !encodingCombo.isDisposed()) { + int index = encodingCombo.indexOf("ISO-8859-1".equals(encoding) ? "Default (ISO-8859-1)" : encoding); //$NON-NLS-1$ //$NON-NLS-2$ + if (index != -1) encodingCombo.select(index); + else { + encodingCombo.add(encoding, encodingCombo.getItemCount() - 1); + encodingCombo.select(encodingCombo.indexOf(encoding)); + } + + lastSelectedEncoding = encodingCombo.getText(); + } + } + + /** + * Returns the selected encoding. + * + * @return The selected encoding or null. + */ + protected String getEncoding() { + String encoding = encodingCombo != null && !encodingCombo.isDisposed() ? encodingCombo.getText() : null; + return encoding != null && encoding.startsWith("Default") ? null : encoding; //$NON-NLS-1$ + } + + /** + * Returns if or if not the selected encoding is supported. + * + * @return True if the selected encoding is supported. + */ + protected boolean isEncodingValid() { + try { + String encoding = getEncoding(); + return Charset.isSupported(encoding != null ? encoding : "ISO-8859-1"); //$NON-NLS-1$ + } catch (IllegalCharsetNameException e) { + return false; + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java new file mode 100644 index 00000000000..08398fcf462 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java @@ -0,0 +1,359 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.services; + +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.ISafeRunnable; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.ListenerList; +import org.eclipse.core.runtime.SafeRunner; +import org.eclipse.core.runtime.Status; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.interfaces.IUIConstants; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tcf.te.ui.terminals.manager.ConsoleManager; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.ui.PlatformUI; + +/** + * Terminal service implementation. + */ +@SuppressWarnings("restriction") +public class TerminalService implements ITerminalService { + /** + * The registered terminal tab dispose listeners. + */ + private final ListenerList terminalTabListeners = new ListenerList(); + + // Flag to remember if the terminal view has been restored or not. + private boolean fRestoringView; + + // Terminal tab events + + /** + * A terminal tab got disposed. + */ + public static final int TAB_DISPOSED = 1; + + /** + * Common terminal service runnable implementation. + */ + protected static abstract class TerminalServiceRunnable { + + /** + * Invoked to execute the terminal service runnable. + * + * @param id The terminals view id or null. + * @param secondaryId The terminals view secondary id or null. + * @param title The terminal tab title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * @param done The callback to invoke if the operation finished or null. + */ + public abstract void run(String id, String secondaryId, String title, ITerminalConnector connector, Object data, Done done); + + /** + * Returns if or if not to execute the runnable asynchronously. + *

                                    + * The method returns per default true. Overwrite to + * modify the behavior. + * + * @return True to execute the runnable asynchronously, false otherwise. + */ + public boolean isExecuteAsync() { return true; } + } + + /** + * Constructor + */ + public TerminalService() { + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#addTerminalTabListener(org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener) + */ + @Override + public final void addTerminalTabListener(ITerminalTabListener listener) { + Assert.isNotNull(listener); + terminalTabListeners.add(listener); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#removeTerminalTabListener(org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener) + */ + @Override + public final void removeTerminalTabListener(ITerminalTabListener listener) { + Assert.isNotNull(listener); + terminalTabListeners.remove(listener); + } + + /** + * Convenience method for notifying the registered terminal tab listeners. + * + * @param event The terminal tab event. + * @param source The disposed tab item. Must not be null. + * @param data The custom data object associated with the disposed tab item or null. + */ + public final void fireTerminalTabEvent(final int event, final Object source, final Object data) { + Assert.isNotNull(source); + + // If no listener is registered, we are done here + if (terminalTabListeners.isEmpty()) return; + + // Get the list or currently registered listeners + Object[] l = terminalTabListeners.getListeners(); + // Loop the registered terminal tab listeners and invoke the proper method + for (int i = 0; i < l.length; i++) { + final ITerminalTabListener listener = (ITerminalTabListener) l[i]; + ISafeRunnable job = new ISafeRunnable() { + @Override + public void handleException(Throwable exception) { + // already logged in Platform#run() + } + + @Override + public void run() throws Exception { + switch (event) { + case TAB_DISPOSED: + listener.terminalTabDisposed(source, data); + break; + default: + } + } + }; + SafeRunner.run(job); + } + } + + /** + * Executes the given runnable operation and invokes the given callback, if any, + * after the operation finished. + * + * @param properties The terminal properties. Must not be null. + * @param runnable The terminal service runnable. Must not be null. + * @param done The callback to invoke if the operation has been finished or null. + */ + protected final void executeServiceOperation(final Map properties, final TerminalServiceRunnable runnable, final Done done) { + Assert.isNotNull(properties); + Assert.isNotNull(runnable); + + // Extract the properties + String id = (String)properties.get(ITerminalsConnectorConstants.PROP_ID); + String secondaryId = (String)properties.get(ITerminalsConnectorConstants.PROP_SECONDARY_ID); + String title = (String)properties.get(ITerminalsConnectorConstants.PROP_TITLE); + Object data = properties.get(ITerminalsConnectorConstants.PROP_DATA); + + // Normalize the terminals console view id + id = normalizeId(id, data); + // Normalize the terminal console tab title + title = normalizeTitle(title, data); + + // Create the terminal connector instance + final ITerminalConnector connector = createTerminalConnector(properties); + if (connector == null) { + // Properties contain invalid connector arguments + if (done != null) { + Exception e = new IllegalArgumentException(Messages.TerminalService_error_cannotCreateConnector); + done.done(new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), e.getLocalizedMessage(), e)); + } + return; + } + + // Finalize the used variables + final String finId = id; + final String finSecondaryId = secondaryId; + final String finTitle = title; + final Object finData = data; + + // Execute the operation + if (!runnable.isExecuteAsync()) { + runnable.run(finId, finSecondaryId, finTitle, connector, finData, done); + } + else { + try { + Display display = PlatformUI.getWorkbench().getDisplay(); + display.asyncExec(new Runnable() { + @Override + public void run() { + runnable.run(finId, finSecondaryId, finTitle, connector, finData, done); + } + }); + } + catch (Exception e) { + // if display is disposed, silently ignore. + } + } + } + + /** + * Normalize the terminals view id. + * + * @param id The terminals view id or null. + * @param data The custom data object or null. + * + * @return The normalized terminals console view id. + */ + protected String normalizeId(String id, Object data) { + return id != null ? id : IUIConstants.ID; + } + + /** + * Normalize the terminal tab title. + * + * @param title The terminal tab title or null. + * @param data The custom data object or null. + * + * @return The normalized terminal tab title. + */ + protected String normalizeTitle(String title, Object data) { + // If the title is explicitly specified, return as is + if (title != null) return title; + + // Return the default console title in all other cases + return Messages.TerminalService_defaultTitle; + } + + /** + * Creates the terminal connector configured within the given properties. + * + * @param properties The terminal console properties. Must not be null. + * @return The terminal connector or null. + */ + protected ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // The terminal connector result object + ITerminalConnector connector = null; + + // Get the launcher delegate id from the properties + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + if (delegateId != null) { + // Get the launcher delegate + ILauncherDelegate delegate = LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false); + if (delegate != null) { + // Create the terminal connector + connector = delegate.createTerminalConnector(properties); + } + } + + return connector; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#openConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void openConsole(final Map properties, final Done done) { + Assert.isNotNull(properties); + final boolean restoringView = fRestoringView; + + executeServiceOperation(properties, new TerminalServiceRunnable() { + @Override + @SuppressWarnings("synthetic-access") + public void run(final String id, final String secondaryId, final String title, + final ITerminalConnector connector, final Object data, final Done done) { + if (restoringView) { + doRun(id, secondaryId, title, connector, data, done); + } else { + // First, restore the view. This opens consoles from the memento + fRestoringView = true; + ConsoleManager.getInstance().showConsoleView(id, secondaryId); + fRestoringView = false; + + // After that schedule opening the requested console + try { + Display display = PlatformUI.getWorkbench().getDisplay(); + display.asyncExec(new Runnable() { + @Override + public void run() { + doRun(id, secondaryId, title, connector, data, done); + } + }); + } + catch (Exception e) { + // if display is disposed, silently ignore. + } + } + } + + public void doRun(String id, String secondaryId, String title, ITerminalConnector connector, Object data, Done done) { + // Determine the terminal encoding + String encoding = (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING); + // Create the flags to pass on to openConsole + Map flags = new HashMap(); + flags.put("activate", Boolean.TRUE); //$NON-NLS-1$ + if (properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW) instanceof Boolean) { + flags.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, (Boolean)properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW)); + } + if (properties.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) instanceof Boolean) { + flags.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, (Boolean)properties.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)); + } + // Open the new console + CTabItem item; + if (secondaryId != null) + item = ConsoleManager.getInstance().openConsole(id, secondaryId, title, encoding, connector, data, flags); + else + item = ConsoleManager.getInstance().openConsole(id, title, encoding, connector, data, flags); + // Associate the original terminal properties with the tab item. + // This makes it easier to persist the connection data within the memento handler + if (item != null && !item.isDisposed()) item.setData("properties", properties); //$NON-NLS-1$ + + // Invoke the callback + if (done != null) done.done(Status.OK_STATUS); + } + }, done); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#closeConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void closeConsole(final Map properties, final Done done) { + Assert.isNotNull(properties); + + executeServiceOperation(properties, new TerminalServiceRunnable() { + @Override + public void run(String id, String secondaryId, String title, ITerminalConnector connector, Object data, Done done) { + // Close the console + ConsoleManager.getInstance().closeConsole(id, title, connector, data); + // Invoke the callback + if (done != null) done.done(Status.OK_STATUS); + } + }, done); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#terminateConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void terminateConsole(Map properties, Done done) { + Assert.isNotNull(properties); + + executeServiceOperation(properties, new TerminalServiceRunnable() { + @Override + public void run(String id, String secondaryId, String title, ITerminalConnector connector, Object data, Done done) { + // Close the console + ConsoleManager.getInstance().terminateConsole(id, title, connector, data); + // Invoke the callback + if (done != null) done.done(Status.OK_STATUS); + } + }, done); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java new file mode 100644 index 00000000000..51496bcbf2a --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java @@ -0,0 +1,174 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; +import org.eclipse.ui.services.IDisposable; + +/** + * Streams connector implementation. + */ +@SuppressWarnings("restriction") +public abstract class AbstractStreamsConnector extends TerminalConnectorImpl { + // Reference to the stdin monitor + private InputStreamMonitor stdInMonitor; + // Reference to the stdout monitor + private OutputStreamMonitor stdOutMonitor; + // Reference to the stderr monitor + private OutputStreamMonitor stdErrMonitor; + + // Reference to the list of stdout output listeners + private ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = null; + // Reference to the list of stderr output listeners + private ITerminalServiceOutputStreamMonitorListener[] stderrListeners = null; + + /** + * Set the list of stdout listeners. + * + * @param listeners The list of stdout listeners or null. + */ + protected final void setStdoutListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stdoutListeners = listeners; + } + + /** + * Set the list of stderr listeners. + * + * @param listeners The list of stderr listeners or null. + */ + protected final void setStderrListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stderrListeners = listeners; + } + + /** + * Connect the given streams. The streams connector will wrap each stream + * with a corresponding terminal stream monitor. + * + * @param terminalControl The terminal control. Must not be null. + * @param stdin The stdin stream or null. + * @param stdout The stdout stream or null. + * @param stderr The stderr stream or null. + * @param localEcho Local echo on or off. + * @param lineSeparator The line separator used by the stream. + */ + protected void connectStreams(ITerminalControl terminalControl, OutputStream stdin, InputStream stdout, InputStream stderr, boolean localEcho, String lineSeparator) { + Assert.isNotNull(terminalControl); + + // Create the input stream monitor + if (stdin != null) { + stdInMonitor = createStdInMonitor(terminalControl, stdin, localEcho, lineSeparator); + // Register the connector if it implements IDisposable and stdout/stderr are not monitored + if (stdout == null && stderr == null && this instanceof IDisposable) stdInMonitor.addDisposable((IDisposable)this); + // Start the monitoring + stdInMonitor.startMonitoring(); + } + + // Create the output stream monitor + if (stdout != null) { + stdOutMonitor = createStdOutMonitor(terminalControl, stdout, lineSeparator); + // Register the connector if it implements IDisposable + if (this instanceof IDisposable) stdOutMonitor.addDisposable((IDisposable)this); + // Register the listeners + if (stdoutListeners != null) { + for (ITerminalServiceOutputStreamMonitorListener l : stdoutListeners) { + stdOutMonitor.addListener(l); + } + } + // Start the monitoring + stdOutMonitor.startMonitoring(); + } + + // Create the error stream monitor + if (stderr != null) { + stdErrMonitor = createStdErrMonitor(terminalControl, stderr, lineSeparator); + // Register the connector if it implements IDisposable and stdout is not monitored + if (stdout == null && this instanceof IDisposable) stdErrMonitor.addDisposable((IDisposable)this); + // Register the listeners + if (stderrListeners != null) { + for (ITerminalServiceOutputStreamMonitorListener l : stderrListeners) { + stdErrMonitor.addListener(l); + } + } + // Start the monitoring + stdErrMonitor.startMonitoring(); + } + } + + /** + * Creates an stdin monitor for the given terminal control and stdin stream. + * Subclasses may override to create a specialized stream monitor. + * + * @param terminalControl The terminal control. Must not be null. + * @param stdin The stdin stream or null. + * @param localEcho Local echo on or off. + * @param lineSeparator The line separator used by the stream. + * + * @return input stream monitor + */ + protected InputStreamMonitor createStdInMonitor(ITerminalControl terminalControl, OutputStream stdin, boolean localEcho, String lineSeparator) { + return new InputStreamMonitor(terminalControl, stdin, localEcho, lineSeparator); + } + + /** + * Creates an stdout monitor for the given terminal control and stdout stream. + * Subclasses may override to create a specialized stream monitor. + * + * @param terminalControl The terminal control. Must not be null. + * @param stdout The stdout stream or null. + * @param lineSeparator The line separator used by the stream. + * + * @return output stream monitor + */ + protected OutputStreamMonitor createStdOutMonitor(ITerminalControl terminalControl, InputStream stdout, String lineSeparator) { + return new OutputStreamMonitor(terminalControl, stdout, lineSeparator); + } + + /** + * Creates an stderr monitor for the given terminal control and stderr stream. + * Subclasses may override to create a specialized stream monitor. + * + * @param terminalControl The terminal control. Must not be null. + * @param stderr The stderr stream or null. + * @param lineSeparator The line separator used by the stream. + * + * @return output stream monitor + */ + protected OutputStreamMonitor createStdErrMonitor(ITerminalControl terminalControl, InputStream stderr, String lineSeparator) { + return new OutputStreamMonitor(terminalControl, stderr, lineSeparator); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + */ + @Override + protected void doDisconnect() { + // Dispose the streams + if (stdInMonitor != null) { stdInMonitor.dispose(); stdInMonitor = null; } + if (stdOutMonitor != null) { stdOutMonitor.dispose(); stdOutMonitor = null; } + if (stdErrMonitor != null) { stdErrMonitor.dispose(); stdErrMonitor = null; } + + super.doDisconnect(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream() + */ + @Override + public OutputStream getTerminalToRemoteStream() { + return stdInMonitor; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java new file mode 100644 index 00000000000..928e0179c2a --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java @@ -0,0 +1,368 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import java.io.IOException; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.ui.services.IDisposable; + +/** + * Input stream monitor implementation. + *

                                    + * Note: The input is coming from the terminal. Therefore, the input + * stream monitor is attached to the stdin stream of the monitored (remote) process. + */ +@SuppressWarnings("restriction") +public class InputStreamMonitor extends OutputStream implements IDisposable { + // Reference to the parent terminal control + private final ITerminalControl terminalControl; + + // Reference to the monitored (output) stream + private final OutputStream stream; + + // Reference to the thread writing the stream + private volatile Thread thread; + + // Flag to mark the monitor disposed. When disposed, + // no further data is written from the monitored stream. + private volatile boolean disposed; + + // A list of object to dispose if this monitor is disposed + private final List disposables = new ArrayList(); + + // Queue to buffer the data to write to the output stream + private final Queue queue = new LinkedList(); + + // ***** Line separator replacement logic ***** + // ***** Adapted from org.eclipse.tcf.internal.terminal.local.LocalTerminalOutputStream ***** + + private final static int TERMINAL_SENDS_CR = 0; + private final static int TERMINAL_SENDS_CRLF = 1; + private final static int PROGRAM_EXPECTS_LF = 0; + private final static int PROGRAM_EXPECTS_CRLF = 1; + private final static int PROGRAM_EXPECTS_CR = 2; + private final static int NO_CHANGE = 0; + private final static int CHANGE_CR_TO_LF = 1; + private final static int INSERT_LF_AFTER_CR = 2; + private final static int REMOVE_CR = 3; + private final static int REMOVE_LF = 4; + + // CRLF conversion table: + // + // Expected line separator --> | LF | CRLF | CR | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo off - control sends CR | change CR to LF | insert LF after CR | no change | + // ------------------------------------+-----------------+--------------------+----------------+ + // Local echo on - control sends CRLF | remove CR | no change | remove LF | + // + private final static int[][] CRLF_REPLACEMENT = { + + {CHANGE_CR_TO_LF, INSERT_LF_AFTER_CR, NO_CHANGE}, + {REMOVE_CR, NO_CHANGE, REMOVE_LF} + }; + + private int replacement; + + /** + * Constructor. + * + * @param terminalControl The parent terminal control. Must not be null. + * @param stream The stream. Must not be null. + * @param localEcho Local echo on or off. + * @param lineSeparator The line separator used by the stream. + */ + public InputStreamMonitor(ITerminalControl terminalControl, OutputStream stream, boolean localEcho, String lineSeparator) { + super(); + + Assert.isNotNull(terminalControl); + this.terminalControl = terminalControl; + Assert.isNotNull(stream); + this.stream = stream; + + // Determine the line separator replacement setting + int terminalSends = localEcho ? TERMINAL_SENDS_CRLF : TERMINAL_SENDS_CR; + if (lineSeparator == null) { + replacement = NO_CHANGE; + } else { + int programExpects; + if (lineSeparator.equals(ILineSeparatorConstants.LINE_SEPARATOR_LF)) { + programExpects = PROGRAM_EXPECTS_LF; + } + else if (lineSeparator.equals(ILineSeparatorConstants.LINE_SEPARATOR_CR)) { + programExpects = PROGRAM_EXPECTS_CR; + } + else { + programExpects = PROGRAM_EXPECTS_CRLF; + } + replacement = CRLF_REPLACEMENT[terminalSends][programExpects]; + } + + } + + /** + * Returns the associated terminal control. + * + * @return The associated terminal control. + */ + protected final ITerminalControl getTerminalControl() { + return terminalControl; + } + + /** + * Adds the given disposable object to the list. The method will do nothing + * if either the disposable object is already part of the list or the monitor + * is disposed. + * + * @param disposable The disposable object. Must not be null. + */ + public final void addDisposable(IDisposable disposable) { + Assert.isNotNull(disposable); + if (!disposed && !disposables.contains(disposable)) disposables.add(disposable); + } + + /** + * Removes the disposable object from the list. + * + * @param disposable The disposable object. Must not be null. + */ + public final void removeDisposable(IDisposable disposable) { + Assert.isNotNull(disposable); + disposables.remove(disposable); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + */ + @Override + public void dispose() { + // If already disposed --> return immediately + if (disposed) return; + + // Mark the monitor disposed + disposed = true; + + // Close the stream (ignore exceptions on close) + try { stream.close(); } catch (IOException e) { /* ignored on purpose */ } + // And interrupt the thread + close(); + + // Dispose all registered disposable objects + for (IDisposable disposable : disposables) disposable.dispose(); + // Clear the list + disposables.clear(); + } + + /** + * Close the terminal input stream monitor. + */ + @Override + public void close() { + // Not initialized -> return immediately + if (thread == null) return; + + // Copy the reference + final Thread oldThread = thread; + // Unlink the monitor from the thread + thread = null; + // And interrupt the writer thread + oldThread.interrupt(); + } + + /** + * Starts the terminal output stream monitor. + */ + public void startMonitoring() { + // If already initialized -> return immediately + if (thread != null) return; + + // Create a new runnable which is constantly reading from the stream + Runnable runnable = new Runnable() { + @Override + public void run() { + writeStream(); + } + }; + + // Create the writer thread + thread = new Thread(runnable, "Terminal Input Stream Monitor Thread"); //$NON-NLS-1$ + + // Configure the writer thread + thread.setDaemon(true); + + // Start the processing + thread.start(); + } + + + /** + * Reads from the queue and writes the read content to the stream. + */ + protected void writeStream() { + // Read from the queue and write to the stream until disposed + outer: while (thread != null && !disposed) { + byte[] data; + // If the queue is empty, wait until notified + synchronized(queue) { + while (queue.isEmpty()) { + if (disposed) break outer; + try { + queue.wait(); + } catch (InterruptedException e) { + break outer; + } + } + // Retrieves the queue head (is null if queue is empty (should never happen)) + data = queue.poll(); + } + if (data != null) { + try { + // Break up writes into max 1000 byte junks to avoid console input buffer overflows on Windows + int written = 0; + byte[] buf = new byte[1000]; + while (written < data.length) { + int len = Math.min(buf.length, data.length - written); + System.arraycopy(data, written, buf, 0, len); + // Write the data to the stream + stream.write(buf, 0, len); + written += len; + // Flush the stream immediately + stream.flush(); + // Wait a little between writes to allow input being processed + if (written < data.length) + Thread.sleep(100); + } + } catch (IOException e) { + // IOException received. If this is happening when already disposed -> ignore + if (!disposed) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.InputStreamMonitor_error_writingToStream, e.getLocalizedMessage()), e); + UIPlugin.getDefault().getLog().log(status); + } + } + catch (InterruptedException e) { + break; + } + } + } + + // Dispose the stream + dispose(); + } + + /* (non-Javadoc) + * @see java.io.OutputStream#write(int) + */ + @Override + public void write(int b) throws IOException { + synchronized(queue) { + queue.add(new byte[] { (byte)b }); + queue.notifyAll(); + } + } + + /* (non-Javadoc) + * @see java.io.OutputStream#write(byte[], int, int) + */ + @Override + public void write(byte[] b, int off, int len) throws IOException { + // Write the whole block to the queue to avoid synchronization + // to happen for every byte. To do so, we have to avoid calling + // the super method. Therefore we have to do the same checking + // here as the base class does. + + // Null check. See the implementation in OutputStream. + if (b == null) throw new NullPointerException(); + + // Boundary check. See the implementation in OutputStream. + if ((off < 0) || (off > b.length) || (len < 0) || ((off + len) > b.length) || ((off + len) < 0)) { + throw new IndexOutOfBoundsException(); + } + else if (len == 0) { + return; + } + + // Make sure that the written block is not interlaced with other input. + synchronized(queue) { + // Preprocess the block to be written + byte[] processedBytes = onWriteContentToStream(b, off, len); + // If the returned array is not the original one, adjust offset and length + if (processedBytes != b) { + off = 0; len = processedBytes.length; b = processedBytes; + } + + // Get the content from the byte buffer specified by offset and length + byte[] bytes = new byte[len]; + int j = 0; + for (int i = 0 ; i < len ; i++) { + bytes[j++] = b[off + i]; + } + + queue.add(bytes); + queue.notifyAll(); + } + } + + /** + * Allow for processing of data from byte stream from the terminal before + * it is written to the output stream. If the returned byte array is different + * than the one that was passed in with the bytes argument, then the + * length value will be adapted. + * + * @param bytes The byte stream. Must not be null. + * @param off The offset. + * @param len the length. + * + * @return The processed byte stream. + * + */ + protected byte[] onWriteContentToStream(byte[] bytes, int off, int len) { + Assert.isNotNull(bytes); + + if (replacement != NO_CHANGE && len > 0) { + String origText = new String(bytes, off, len); + String text = null; + // + // TODO: check whether this is correct! new String(byte[], int, int) always uses the default + // encoding! + + if (replacement == CHANGE_CR_TO_LF) { + text = origText.replace('\r', '\n'); + } + else if (replacement == INSERT_LF_AFTER_CR) { + text = origText.replaceAll("\r\n|\r", "\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ + } + else if (replacement == REMOVE_CR) { + text = origText.replaceAll(ILineSeparatorConstants.LINE_SEPARATOR_CR, ""); //$NON-NLS-1$ + } + else if (replacement == REMOVE_LF) { + text = origText.replaceAll(ILineSeparatorConstants.LINE_SEPARATOR_LF, ""); //$NON-NLS-1$ + } + + if (text != null && !origText.equals(text)) { + bytes = text.getBytes(); + } + } + + return bytes; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java new file mode 100644 index 00000000000..5714bf9fd85 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java @@ -0,0 +1,319 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import java.io.BufferedInputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.ListenerList; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.ui.services.IDisposable; + +/** + * Output stream monitor implementation. + *

                                    + * Note: The output is going to the terminal. Therefore, the output + * stream monitor is attached to the stdout and/or stderr stream of the monitored + * (remote) process. + */ +@SuppressWarnings("restriction") +public class OutputStreamMonitor implements IDisposable { + // The default buffer size to use + private static final int BUFFER_SIZE = 8192; + + // Reference to the parent terminal control + private final ITerminalControl terminalControl; + + // Reference to the monitored (input) stream + private final InputStream stream; + + // The line separator used by the monitored (input) stream + private final String lineSeparator; + + // Reference to the thread reading the stream + private Thread thread; + + // Flag to mark the monitor disposed. When disposed, + // no further data is read from the monitored stream. + private boolean disposed; + + // A list of object to dispose if this monitor is disposed + private final List disposables = new ArrayList(); + + // The list of registered listener + private final ListenerList listeners; + + /** + * Constructor. + * + * @param terminalControl The parent terminal control. Must not be null. + * @param stream The stream. Must not be null. + * @param lineSeparator The line separator used by the stream. + */ + public OutputStreamMonitor(ITerminalControl terminalControl, InputStream stream, String lineSeparator) { + super(); + + Assert.isNotNull(terminalControl); + this.terminalControl = terminalControl; + Assert.isNotNull(stream); + this.stream = new BufferedInputStream(stream, BUFFER_SIZE); + + this.lineSeparator = lineSeparator; + + this.listeners = new ListenerList(); + } + + /** + * Register a streams data receiver listener. + * + * @param listener The listener. Must not be null. + */ + public final void addListener(ITerminalServiceOutputStreamMonitorListener listener) { + Assert.isNotNull(listener); + listeners.add(listener); + } + + /** + * Unregister a streams data receiver listener. + * + * @param listener The listener. Must not be null. + */ + public final void removeListener(ITerminalServiceOutputStreamMonitorListener listener) { + Assert.isNotNull(listener); + listeners.remove(listener); + } + + /** + * Adds the given disposable object to the list. The method will do nothing + * if either the disposable object is already part of the list or the monitor + * is disposed. + * + * @param disposable The disposable object. Must not be null. + */ + public final void addDisposable(IDisposable disposable) { + Assert.isNotNull(disposable); + if (!disposed && !disposables.contains(disposable)) disposables.add(disposable); + } + + /** + * Removes the disposable object from the list. + * + * @param disposable The disposable object. Must not be null. + */ + public final void removeDisposable(IDisposable disposable) { + Assert.isNotNull(disposable); + disposables.remove(disposable); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + */ + @Override + public void dispose() { + // If already disposed --> return immediately + if (disposed) return; + + // Mark the monitor disposed + disposed = true; + + // Close the stream (ignore exceptions on close) + try { stream.close(); } catch (IOException e) { /* ignored on purpose */ } + + // Dispose all registered disposable objects + for (IDisposable disposable : disposables) disposable.dispose(); + // Clear the list + disposables.clear(); + } + + /** + * Starts the terminal output stream monitor. + */ + protected void startMonitoring() { + // If already initialized -> return immediately + if (thread != null) return; + + // Create a new runnable which is constantly reading from the stream + Runnable runnable = new Runnable() { + @Override + public void run() { + readStream(); + } + }; + + // Create the reader thread + thread = new Thread(runnable, "Terminal Output Stream Monitor Thread"); //$NON-NLS-1$ + + // Configure the reader thread + thread.setDaemon(true); + thread.setPriority(Thread.MIN_PRIORITY); + + // Start the processing + thread.start(); + } + + /** + * Returns the terminal control that this stream monitor is associated with. + */ + protected ITerminalControl getTerminalControl() { + return terminalControl; + } + + /** + * Reads from the output stream and write the read content + * to the terminal control output stream. + */ + void readStream() { + // Creates the read buffer + byte[] readBuffer = new byte[BUFFER_SIZE]; + + // We need to maintain UI responsiveness but still stream the content + // to the terminal control fast. Put the thread to a short sleep each second. + long sleepMarker = System.currentTimeMillis(); + + // Read from the stream until EOS is reached or the + // monitor is marked disposed. + int read = 0; + while (read >= 0 && !disposed) { + try { + // Read from the stream + read = stream.read(readBuffer); + // If some data has been read, append to the terminal + // control output stream + if (read > 0) { + // Allow for post processing the read content before appending + byte[] processedReadBuffer = onContentReadFromStream(readBuffer, read); + if (processedReadBuffer != readBuffer) { + read = processedReadBuffer.length; + } + terminalControl.getRemoteToTerminalOutputStream().write(processedReadBuffer, 0, read); + } + } catch (IOException e) { + // IOException received. If this is happening when already disposed -> ignore + if (!disposed) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.OutputStreamMonitor_error_readingFromStream, e.getLocalizedMessage()), e); + UIPlugin.getDefault().getLog().log(status); + } + break; + } catch (NullPointerException e) { + // killing the stream monitor while reading can cause an NPE + // when reading from the stream + if (!disposed && thread != null) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + NLS.bind(Messages.OutputStreamMonitor_error_readingFromStream, e.getLocalizedMessage()), e); + UIPlugin.getDefault().getLog().log(status); + } + break; + } + + // See above -> Thread will go to sleep each second + if (System.currentTimeMillis() - sleepMarker > 1000) { + sleepMarker = System.currentTimeMillis(); + try { Thread.sleep(1); } catch (InterruptedException e) { /* ignored on purpose */ } + } + } + + // Dispose ourself + dispose(); + } + + /** + * Allow for processing of data from byte stream after it is read from + * client but before it is appended to the terminal. If the returned byte + * array is different than the one that was passed in with the byteBuffer + * argument, then the bytesRead value will be ignored and the full + * returned array will be written out. + * + * @param byteBuffer The byte stream. Must not be null. + * @param bytesRead The number of bytes that were read into the read buffer. + * @return The processed byte stream. + * + */ + protected byte[] onContentReadFromStream(byte[] byteBuffer, int bytesRead) { + Assert.isNotNull(byteBuffer); + + // If tracing is enabled, print out the decimal byte values read + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_OUTPUT_STREAM_MONITOR)) { + StringBuilder debug = new StringBuilder("byteBuffer [decimal, " + bytesRead + " bytes] : "); //$NON-NLS-1$ //$NON-NLS-2$ + for (int i = 0; i < bytesRead; i++) { + debug.append(Byte.valueOf(byteBuffer[i]).intValue()); + debug.append(' '); + } + System.out.println(debug.toString()); + } + + // Remember if the text got changed. + boolean changed = false; + + // How can me make sure that we don't mess with the encoding here? + String text = new String(byteBuffer, 0, bytesRead); + + // Shift-In (14) and Shift-Out(15) confuses the terminal widget + if (text.indexOf(14) != -1 || text.indexOf(15) != -1) { + text = text.replaceAll("\\x0e", "").replaceAll("\\x0f", ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + changed = true; + } + + // Check on the line separator setting + if (lineSeparator != null + && !ILineSeparatorConstants.LINE_SEPARATOR_CRLF.equals(lineSeparator)) { + String separator = ILineSeparatorConstants.LINE_SEPARATOR_LF.equals(lineSeparator) ? "\n" : "\r"; //$NON-NLS-1$ //$NON-NLS-2$ + String separator2 = ILineSeparatorConstants.LINE_SEPARATOR_LF.equals(lineSeparator) ? "\r" : "\n"; //$NON-NLS-1$ //$NON-NLS-2$ + + if (text.indexOf(separator) != -1) { + String[] fragments = text.split(separator); + StringBuilder b = new StringBuilder(); + for (int i = 0; i < fragments.length; i++) { + String fragment = fragments[i]; + String nextFragment = i + 1 < fragments.length ? fragments[i + 1] : null; + b.append(fragment); + if (fragment.endsWith(separator2) || (nextFragment != null && nextFragment.startsWith(separator2))) { + // Both separators are found, just add the original separator + b.append(separator); + } else { + b.append("\n\r"); //$NON-NLS-1$ + } + } + if (!text.equals(b.toString())) { + text = b.toString(); + changed = true; + } + } + } + + // If changed, get the new bytes array + if (changed) { + byteBuffer = text.getBytes(); + bytesRead = byteBuffer.length; + } + + // If listeners are registered, invoke the listeners now. + if (listeners.size() > 0) { + for (Object candidate : listeners.getListeners()) { + if (!(candidate instanceof ITerminalServiceOutputStreamMonitorListener)) continue; + ((ITerminalServiceOutputStreamMonitorListener)candidate).onContentReadFromStream(byteBuffer, bytesRead); + } + } + + return byteBuffer; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java new file mode 100644 index 00000000000..b9780be51ae --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java @@ -0,0 +1,117 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import org.eclipse.core.runtime.Assert; +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.ui.services.IDisposable; + +/** + * Streams connector implementation. + */ +@SuppressWarnings("restriction") +public class StreamsConnector extends AbstractStreamsConnector implements IDisposable { + // Reference to the streams settings + private final StreamsSettings settings; + + /** + * Constructor. + */ + public StreamsConnector() { + this(new StreamsSettings()); + } + + /** + * Constructor. + * + * @param settings The streams settings. Must not be null + */ + public StreamsConnector(StreamsSettings settings) { + super(); + + Assert.isNotNull(settings); + this.settings = settings; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tcf.internal.terminal.provisional.api.ITerminalControl) + */ + @Override + public void connect(ITerminalControl control) { + Assert.isNotNull(control); + super.connect(control); + + // Setup the listeners + setStdoutListeners(settings.getStdOutListeners()); + setStderrListeners(settings.getStdErrListeners()); + + // connect the streams + connectStreams(control, settings.getStdinStream(), settings.getStdoutStream(), settings.getStderrStream(), settings.isLocalEcho(), settings.getLineSeparator()); + + // Set the terminal control state to CONNECTED + control.setState(TerminalState.CONNECTED); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() + */ + @Override + public boolean isLocalEcho() { + return settings.isLocalEcho(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + */ + @Override + public void dispose() { + disconnect(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + */ + @Override + public void doDisconnect() { + // Dispose the streams + super.doDisconnect(); + + // Set the terminal control state to CLOSED. + fControl.setState(TerminalState.CLOSED); + } + + // ***** Process Connector settings handling ***** + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() + */ + @Override + public String getSettingsSummary() { + return ""; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + */ + @Override + public void load(ISettingsStore store) { + settings.load(store); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + */ + @Override + public void save(ISettingsStore store) { + settings.save(store); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java new file mode 100644 index 00000000000..6d492e7ba86 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java @@ -0,0 +1,115 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import java.io.InputStream; +import java.io.OutputStream; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; +import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; +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; + +/** + * Streams launcher delegate implementation. + */ +@SuppressWarnings("restriction") +public class StreamsLauncherDelegate extends AbstractLauncherDelegate { + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return false; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + */ + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.StreamsConnector"; //$NON-NLS-1$ + + // Extract the streams properties + OutputStream stdin = (OutputStream)properties.get(ITerminalsConnectorConstants.PROP_STREAMS_STDIN); + InputStream stdout = (InputStream)properties.get(ITerminalsConnectorConstants.PROP_STREAMS_STDOUT); + InputStream stderr = (InputStream)properties.get(ITerminalsConnectorConstants.PROP_STREAMS_STDERR); + Object value = properties.get(ITerminalsConnectorConstants.PROP_LOCAL_ECHO); + boolean localEcho = value instanceof Boolean ? ((Boolean)value).booleanValue() : false; + String lineSeparator = (String)properties.get(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR); + ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDOUT_LISTENERS); + ITerminalServiceOutputStreamMonitorListener[] stderrListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDERR_LISTENERS); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the streams settings + StreamsSettings streamsSettings = new StreamsSettings(); + streamsSettings.setStdinStream(stdin); + streamsSettings.setStdoutStream(stdout); + streamsSettings.setStderrStream(stderr); + streamsSettings.setLocalEcho(localEcho); + streamsSettings.setLineSeparator(lineSeparator); + streamsSettings.setStdOutListeners(stdoutListeners); + streamsSettings.setStdErrListeners(stderrListeners); + // And save the settings to the store + streamsSettings.save(store); + + // Construct the terminal connector instance + ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); + if (connector != null) { + // Apply default settings + connector.makeSettingsPage(); + // And load the real settings + connector.load(store); + } + + return connector; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java new file mode 100644 index 00000000000..dcaaac457ed --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java @@ -0,0 +1,202 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.streams; + +import java.io.InputStream; +import java.io.OutputStream; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +/** + * Streams connector settings implementation. + */ +@SuppressWarnings("restriction") +public class StreamsSettings { + // Reference to the stdin stream + private OutputStream stdin; + // Reference to the stdout stream + private InputStream stdout; + // Reference to the stderr stream + private InputStream stderr; + // Flag to control the local echo + private boolean localEcho = true; + // The line separator setting + private String lineSeparator = null; + // The list of stdout output listeners + private ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = null; + // The list of stderr output listeners + private ITerminalServiceOutputStreamMonitorListener[] stderrListeners = null; + + /** + * Sets the stdin stream instance. + * + * @param stdin The stream instance or null. + */ + public void setStdinStream(OutputStream stdin) { + this.stdin = stdin; + } + + /** + * Returns the stdin stream instance. + * + * @return The stream instance or null. + */ + public OutputStream getStdinStream() { + return stdin; + } + + /** + * Sets the stdout stream instance. + * + * @param stdout The stream instance or null. + */ + public void setStdoutStream(InputStream stdout) { + this.stdout = stdout; + } + + /** + * Returns the stdout stream instance. + * + * @return The stream instance or null. + */ + public InputStream getStdoutStream() { + return stdout; + } + + /** + * Sets the stderr stream instance. + * + * @param stderr The stream instance or null. + */ + public void setStderrStream(InputStream stderr) { + this.stderr = stderr; + } + + /** + * Returns the stderr stream instance. + * + * @return The stream instance or null. + */ + public InputStream getStderrStream() { + return stderr; + } + + /** + * Sets if the process requires a local echo from the terminal widget. + * + * @param value Specify true to enable the local echo, false otherwise. + */ + public void setLocalEcho(boolean value) { + this.localEcho = value; + } + + /** + * Returns true if the process requires a local echo + * from the terminal widget. + * + * @return True if local echo is enabled, false otherwise. + */ + public boolean isLocalEcho() { + return localEcho; + } + + /** + * Sets the stream line separator. + * + * @param separator The stream line separator null. + */ + public void setLineSeparator(String separator) { + this.lineSeparator = separator; + } + + /** + * Returns the stream line separator. + * + * @return The stream line separator or null. + */ + public String getLineSeparator() { + return lineSeparator; + } + + /** + * Sets the list of stdout listeners. + * + * @param listeners The list of stdout listeners or null. + */ + public void setStdOutListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stdoutListeners = listeners; + } + + /** + * Returns the list of stdout listeners. + * + * @return The list of stdout listeners or null. + */ + public ITerminalServiceOutputStreamMonitorListener[] getStdOutListeners() { + return stdoutListeners; + } + + /** + * Sets the list of stderr listeners. + * + * @param listeners The list of stderr listeners or null. + */ + public void setStdErrListeners(ITerminalServiceOutputStreamMonitorListener[] listeners) { + this.stderrListeners = listeners; + } + + /** + * Returns the list of stderr listeners. + * + * @return The list of stderr listeners or null. + */ + public ITerminalServiceOutputStreamMonitorListener[] getStdErrListeners() { + return stderrListeners; + } + + /** + * Loads the streams settings from the given settings store. + * + * @param store The settings store. Must not be null. + */ + public void load(ISettingsStore store) { + Assert.isNotNull(store); + localEcho = Boolean.parseBoolean(store.get("LocalEcho", Boolean.FALSE.toString())); //$NON-NLS-1$ + lineSeparator = store.get("LineSeparator", null); //$NON-NLS-1$ + if (store instanceof SettingsStore) { + stdin = (OutputStream)((SettingsStore)store).getSettings().get("stdin"); //$NON-NLS-1$ + stdout = (InputStream)((SettingsStore)store).getSettings().get("stdout"); //$NON-NLS-1$ + stderr = (InputStream)((SettingsStore)store).getSettings().get("stderr"); //$NON-NLS-1$ + stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])((SettingsStore)store).getSettings().get("StdOutListeners"); //$NON-NLS-1$ + stderrListeners = (ITerminalServiceOutputStreamMonitorListener[])((SettingsStore)store).getSettings().get("StdErrListeners"); //$NON-NLS-1$ + } + } + + /** + * Saves the process settings to the given settings store. + * + * @param store The settings store. Must not be null. + */ + public void save(ISettingsStore store) { + Assert.isNotNull(store); + store.put("LocalEcho", Boolean.toString(localEcho)); //$NON-NLS-1$ + store.put("LineSeparator", lineSeparator); //$NON-NLS-1$ + if (store instanceof SettingsStore) { + ((SettingsStore)store).getSettings().put("stdin", stdin); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("stdout", stdout); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("stderr", stderr); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("StdOutListeners", stdoutListeners); //$NON-NLS-1$ + ((SettingsStore)store).getSettings().put("StdErrListeners", stderrListeners); //$NON-NLS-1$ + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java new file mode 100644 index 00000000000..c6f5e814da7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.ui.services.IDisposable; + +/** + * Tab command input field handler implementation. + */ +@SuppressWarnings("restriction") +public class TabCommandFieldHandler implements IDisposable, IAdaptable { + // Reference to the parent tab folder manager + private final TabFolderManager tabFolderManager; + // Reference to the associated tab + private final CTabItem item; + + // Reference to the command input field + private CommandInputFieldWithHistory field; + // The command field history + private String history; + + /** + * Constructor. + * + * @param tabFolderManager The parent tab folder manager. Must not be null + * @param item The associated tab item. Must not be null. + */ + public TabCommandFieldHandler(TabFolderManager tabFolderManager, CTabItem item) { + Assert.isNotNull(tabFolderManager); + this.tabFolderManager = tabFolderManager; + Assert.isNotNull(item); + this.item = item; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.services.IDisposable#dispose() + */ + @Override + public void dispose() { + field = null; + history = null; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (TabFolderManager.class.equals(adapter)) { + return tabFolderManager; + } + if (CTabItem.class.equals(adapter)) { + return item; + } + return null; + } + + /** + * Returns if or if not the associated tab item has the command input field enabled. + * + * @return True if the command input field is enabled, false otherwise. + */ + public boolean hasCommandInputField() { + return field != null; + } + + /** + * Set the command input field on or off. + * + * @param on True for on, false for off. + */ + public void setCommandInputField(boolean on) { + // save the old history + if (field != null) { + history = field.getHistory(); + field = null; + } + + if (on) { + field = new CommandInputFieldWithHistory(100); + field.setHistory(history); + } + + // Apply to the terminal control + Assert.isTrue(!item.isDisposed()); + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal != null) terminal.setCommandInputField(field); + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java new file mode 100644 index 00000000000..382b734fed8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.ui.terminals.services.TerminalService; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; + +/** + * Terminals tab default dispose listener implementation. + */ +@SuppressWarnings("restriction") +public class TabDisposeListener implements DisposeListener { + private final TabFolderManager parentTabFolderManager; + + /** + * Constructor. + * + * @param parentTabFolderManager The parent tab folder manager. Must not be null + */ + public TabDisposeListener(TabFolderManager parentTabFolderManager) { + Assert.isNotNull(parentTabFolderManager); + this.parentTabFolderManager = parentTabFolderManager; + } + + /** + * Returns the parent terminal console tab folder manager instance. + * + * @return The parent terminal console tab folder manager instance. + */ + protected final TabFolderManager getParentTabFolderManager() { + return parentTabFolderManager; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent) + */ + @Override + public void widgetDisposed(DisposeEvent e) { + // If a tab item gets disposed, we have to dispose the terminal as well + if (e.getSource() instanceof CTabItem) { + // Get the terminal control (if any) from the tab item + Object candidate = ((CTabItem)e.getSource()).getData(); + if (candidate instanceof ITerminalViewControl) ((ITerminalViewControl)candidate).disposeTerminal(); + // Dispose the command input field handler + parentTabFolderManager.disposeTabCommandFieldHandler((CTabItem)e.getSource()); + + // If all items got removed, we have to switch back to the empty page control + if (parentTabFolderManager.getTabFolder() != null && parentTabFolderManager.getTabFolder().getItemCount() == 0) { + parentTabFolderManager.getParentView().switchToEmptyPageControl(); + } + // Fire selection changed event + parentTabFolderManager.fireSelectionChanged(); + // Fire the terminal console disposed event + ITerminalService service = TerminalServiceFactory.getService(); + if (service instanceof TerminalService) { + ((TerminalService)service).fireTerminalTabEvent(TerminalService.TAB_DISPOSED, e.getSource(), ((CTabItem)e.getSource()).getData("customData")); //$NON-NLS-1$ + } + } + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java new file mode 100644 index 00000000000..34dda24591d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java @@ -0,0 +1,794 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.events.DisposeEvent; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.swt.events.MouseListener; +import org.eclipse.swt.events.SelectionListener; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.layout.FillLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; +import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.PlatformUI; + +/** + * Terminals tab folder manager. + */ +@SuppressWarnings({ "restriction" }) +public class TabFolderManager extends PlatformObject implements ISelectionProvider { + // Reference to the parent terminal consoles view + private final ITerminalsView parentView; + // Reference to the selection listener instance + private final SelectionListener selectionListener; + + /** + * List of selection changed listeners. + */ + private final List selectionChangedListeners = new ArrayList(); + + /** + * Map of tab command input field handler per tab item + */ + private final Map commandFieldHandler = new HashMap(); + + /** + * The terminal control selection listener implementation. + */ + private class TerminalControlSelectionListener implements DisposeListener, MouseListener { + private final ITerminalViewControl terminal; + private boolean selectMode; + + /** + * Constructor. + * + * @param terminal The terminal control. Must not be null. + */ + public TerminalControlSelectionListener(ITerminalViewControl terminal) { + Assert.isNotNull(terminal); + this.terminal = terminal; + + // Register ourself as the required listener + terminal.getControl().addDisposeListener(this); + terminal.getControl().addMouseListener(this); + } + + /** + * Returns the associated terminal view control. + * + * @return The terminal view control. + */ + protected final ITerminalViewControl getTerminal() { + return terminal; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent) + */ + @Override + public void widgetDisposed(DisposeEvent e) { + // Widget got disposed, check if it is ours + // If a tab item gets disposed, we have to dispose the terminal as well + if (e.getSource().equals(terminal.getControl())) { + // Remove as listener + getTerminal().getControl().removeDisposeListener(this); + getTerminal().getControl().removeMouseListener(this); + } + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.MouseListener#mouseDown(org.eclipse.swt.events.MouseEvent) + */ + @Override + public void mouseDown(MouseEvent e) { + // Left button down -> select mode starts + if (e.button == 1) selectMode = true; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.MouseListener#mouseUp(org.eclipse.swt.events.MouseEvent) + */ + @Override + public void mouseUp(MouseEvent e) { + if (e.button == 1 && selectMode) { + selectMode = false; + // Fire a selection changed event with the terminal controls selection + try { + Display display = PlatformUI.getWorkbench().getDisplay(); + display.asyncExec(new Runnable() { + @Override + public void run() { + fireSelectionChanged(new StructuredSelection(getTerminal().getSelection())); + } + }); + } + catch (Exception ex) { + // if display is disposed, silently ignore. + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.MouseListener#mouseDoubleClick(org.eclipse.swt.events.MouseEvent) + */ + @Override + public void mouseDoubleClick(MouseEvent e) { + } + } + + /** + * Constructor. + * + * @param parentView The parent terminals console view. Must not be null. + */ + public TabFolderManager(ITerminalsView parentView) { + super(); + Assert.isNotNull(parentView); + this.parentView = parentView; + + // Attach a selection listener to the tab folder + selectionListener = doCreateTabFolderSelectionListener(this); + if (getTabFolder() != null) getTabFolder().addSelectionListener(selectionListener); + } + + /** + * Creates the terminal console tab folder selection listener instance. + * + * @param parent The parent terminal console tab folder manager. Must not be null. + * @return The selection listener instance. + */ + protected TabFolderSelectionListener doCreateTabFolderSelectionListener(TabFolderManager parent) { + Assert.isNotNull(parent); + return new TabFolderSelectionListener(parent); + } + + /** + * Returns the parent terminal consoles view. + * + * @return The terminal consoles view instance. + */ + protected final ITerminalsView getParentView() { + return parentView; + } + + /** + * Returns the tab folder associated with the parent view. + * + * @return The tab folder or null. + */ + protected final CTabFolder getTabFolder() { + return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + } + + /** + * Returns the selection changed listeners currently registered. + * + * @return The registered selection changed listeners or an empty array. + */ + protected final ISelectionChangedListener[] getSelectionChangedListeners() { + return selectionChangedListeners.toArray(new ISelectionChangedListener[selectionChangedListeners.size()]); + } + + /** + * Dispose the tab folder manager instance. + */ + public void dispose() { + // Dispose the selection listener + if (getTabFolder() != null && !getTabFolder().isDisposed()) getTabFolder().removeSelectionListener(selectionListener); + // Dispose the tab command field handler + for (TabCommandFieldHandler handler : commandFieldHandler.values()) { + handler.dispose(); + } + commandFieldHandler.clear(); + } + + /** + * Creates a new tab item with the given title and connector. + * + * @param title The tab title. Must not be null. + * @param encoding The terminal encoding or null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * @param flags The flags controlling how the console is opened or null to use defaults. + * + * @return The created tab item or null if failed. + */ + @SuppressWarnings({ "unused", "unchecked" }) + public CTabItem createTabItem(String title, String encoding, ITerminalConnector connector, Object data, Map flags) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + + // The result tab item + CTabItem item = null; + + // Get the tab folder from the parent viewer + CTabFolder tabFolder = getTabFolder(); + if (tabFolder != null) { + // Generate a unique title string for the new tab item (must be called before creating the item itself) + title = makeUniqueTitle(title, tabFolder); + // Create the tab item + item = new CTabItem(tabFolder, SWT.CLOSE); + // Set the tab item title + item.setText(title); + // Set the tab icon + Image image = getTabItemImage(connector, data); + if (image != null) item.setImage(image); + + // Setup the tab item listeners + setupTerminalTabListeners(item); + + // Create the composite to create the terminal control within + Composite composite = new Composite(tabFolder, SWT.NONE); + composite.setLayout(new FillLayout()); + // Associate the composite with the tab item + item.setControl(composite); + + // Refresh the layout + tabFolder.getParent().layout(true); + + // Create the terminal control + ITerminalViewControl terminal = TerminalViewControlFactory.makeControl(doCreateTerminalTabTerminalListener(this, item), composite, new ITerminalConnector[] { connector }, true); + if (terminal instanceof ITerminalControl && data instanceof Map) { + Object value = ((Map)data).get(ITerminalsConnectorConstants.PROP_DATA_NO_RECONNECT); + boolean noReconnect = value instanceof Boolean ? ((Boolean)value).booleanValue() : false; + ((ITerminalControl)terminal).setConnectOnEnterIfClosed(!noReconnect); + } + + // Add the "selection" listener to the terminal control + new TerminalControlSelectionListener(terminal); + // Configure the terminal encoding + try { terminal.setEncoding(encoding); } catch (UnsupportedEncodingException e) { /* ignored on purpose */ } + // Associated the terminal with the tab item + item.setData(terminal); + // Associated the custom data node with the tab item (if any) + if (data != null) item.setData("customData", data); //$NON-NLS-1$ + // Set the property that marks the item has a disconnect button or not if selected + item.setData(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, flags != null && flags.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) ? flags.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) : Boolean.FALSE); + + // Overwrite the text canvas help id + String contextHelpId = getParentView().getContextHelpId(); + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(terminal.getControl(), contextHelpId); + } + + // Set the context menu + TabFolderMenuHandler menuHandler = (TabFolderMenuHandler)getParentView().getAdapter(TabFolderMenuHandler.class); + if (menuHandler != null) { + Menu menu = (Menu)menuHandler.getAdapter(Menu.class); + if (menu != null) { + // One weird occurrence of IllegalArgumentException: Widget has wrong parent. + // Inspecting the code, this seem extremely unlikely. The terminal is created + // from a composite parent, the composite parent from the tab folder and the menu + // from the tab folder. Means, at the end all should have the same menu shell, shouldn't they? + try { + terminal.getControl().setMenu(menu); + } catch (IllegalArgumentException e) { + // Log exception only if debug mode is set to 1. + if (UIPlugin.getTraceHandler().isSlotEnabled(1, null)) { + e.printStackTrace(); + } + } + } + } + + // Select the created item within the tab folder + tabFolder.setSelection(item); + + // Set the connector + terminal.setConnector(connector); + + // And connect the terminal + terminal.connectTerminal(); + + // Fire selection changed event + fireSelectionChanged(); + } + + // Return the create tab item finally. + return item; + } + + /** + * Used for DnD of terminal tab items between terminal views + *

                                    + * Create a new tab item in the "dropped" terminal view using the + * information stored in the given item. + * + * @param oldItem The old dragged tab item. Must not be null. + * @return The new dropped tab item. + */ + @SuppressWarnings("unchecked") + public CTabItem cloneTabItemAfterDrop(CTabItem oldItem) { + Assert.isNotNull(oldItem); + + ITerminalViewControl terminal = (ITerminalViewControl)oldItem.getData(); + ITerminalConnector connector = terminal.getTerminalConnector(); + Object data = oldItem.getData("customData"); //$NON-NLS-1$ + Map properties = (Map)oldItem.getData("properties"); //$NON-NLS-1$ + String title = oldItem.getText(); + + // The result tab item + CTabItem item = null; + + // Get the tab folder from the parent viewer + CTabFolder tabFolder = getTabFolder(); + if (tabFolder != null) { + // Generate a unique title string for the new tab item (must be called before creating the item itself) + title = makeUniqueTitle(title, tabFolder); + // Create the tab item + item = new CTabItem(tabFolder, SWT.CLOSE); + // Set the tab item title + item.setText(title); + // Set the tab icon + Image image = getTabItemImage(connector, data); + if (image != null) item.setImage(image); + + // Setup the tab item listeners + setupTerminalTabListeners(item); + + // Create the composite to create the terminal control within + Composite composite = new Composite(tabFolder, SWT.NONE); + composite.setLayout(new FillLayout()); + // Associate the composite with the tab item + item.setControl(composite); + + // Refresh the layout + tabFolder.getParent().layout(true); + + // change the "parent". + // + // Note: We have to cast to VT100TerminalControl here until setupTerminal is + // re-exposed to clients via the ITerminalControl. + Assert.isTrue(terminal instanceof VT100TerminalControl); + ((VT100TerminalControl)terminal).setupTerminal(composite); + + item.setData(terminal); + + // Associate the custom data node with the tab item (if any) + if (data != null) item.setData("customData", data); //$NON-NLS-1$ + // Associate the properties with the tab item (if any) + if (properties != null) item.setData("properties", properties); //$NON-NLS-1$ + + // Overwrite the text canvas help id + String contextHelpId = getParentView().getContextHelpId(); + if (contextHelpId != null) { + PlatformUI.getWorkbench().getHelpSystem().setHelp(terminal.getControl(), contextHelpId); + } + + // Set the context menu + TabFolderMenuHandler menuHandler = (TabFolderMenuHandler)getParentView().getAdapter(TabFolderMenuHandler.class); + if (menuHandler != null) { + Menu menu = (Menu)menuHandler.getAdapter(Menu.class); + if (menu != null) { + // One weird occurrence of IllegalArgumentException: Widget has wrong parent. + // Inspecting the code, this seem extremely unlikely. The terminal is created + // from a composite parent, the composite parent from the tab folder and the menu + // from the tab folder. Means, at the end all should have the same menu shell, shouldn't they? + try { + terminal.getControl().setMenu(menu); + } catch (IllegalArgumentException e) { + // Log exception only if debug mode is set to 1. + if (UIPlugin.getTraceHandler().isSlotEnabled(1, null)) { + e.printStackTrace(); + } + } + } + } + + // Select the created item within the tab folder + tabFolder.setSelection(item); + + // Set the connector + terminal.setConnector(connector); + + // needed to get the focus and cursor + Assert.isTrue(terminal instanceof ITerminalControl); + ((ITerminalControl)terminal).setState(TerminalState.CONNECTED); + + // Fire selection changed event + fireSelectionChanged(); + } + + // Return the create tab item finally. + return item; + } + + + /** + * Generate a unique title string based on the given proposal. + * + * @param proposal The proposal. Must not be null. + * @return The unique title string. + */ + protected String makeUniqueTitle(String proposal, CTabFolder tabFolder) { + Assert.isNotNull(proposal); + Assert.isNotNull(tabFolder); + + String title = proposal; + int index = 0; + + // Loop all existing tab items and check the titles. We have to remember + // all found titles as modifying the proposal might in turn conflict again + // with the title of a tab already checked. + List titles = new ArrayList(); + for (CTabItem item : tabFolder.getItems()) { + // Get the tab item title + titles.add(item.getText()); + } + // Make the proposal unique be appending () against all known titles. + while (titles.contains(title)) title = proposal + " (" + ++index + ")"; //$NON-NLS-1$ //$NON-NLS-2$ + + return title; + } + + /** + * Setup the terminal console tab item listeners. + * + * @param item The tab item. Must not be null. + */ + protected void setupTerminalTabListeners(final CTabItem item) { + Assert.isNotNull(item); + + // Create and associate the disposal listener + DisposeListener disposeListener = doCreateTerminalTabDisposeListener(this); + + // store the listener to make access easier e.g. needed in DnD + item.setData("disposeListener", disposeListener); //$NON-NLS-1$ + item.addDisposeListener(disposeListener); + } + + /** + * Creates a new terminal console tab terminal listener instance. + * + * @param tabFolderManager The tab folder manager. Must not be null. + * @param item The tab item. Must not be null. + * + * @return The terminal listener instance. + */ + protected ITerminalListener doCreateTerminalTabTerminalListener(TabFolderManager tabFolderManager, CTabItem item) { + Assert.isNotNull(item); + return new TabTerminalListener(tabFolderManager, item); + } + + /** + * Creates a new terminal console tab dispose listener instance. + * + * @param parent The parent terminal console tab folder manager. Must not be null. + * @return The dispose listener instance. + */ + protected DisposeListener doCreateTerminalTabDisposeListener(TabFolderManager parent) { + Assert.isNotNull(parent); + return new TabDisposeListener(parent); + } + + /** + * Returns the tab item image. + * + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * + * @return The tab item image or null. + */ + protected Image getTabItemImage(ITerminalConnector connector, Object data) { + Assert.isNotNull(connector); + return UIPlugin.getImage(ImageConsts.VIEW_Terminals); + } + + /** + * Lookup a tab item with the given title and the given terminal connector. + *

                                    + * Note: The method will handle unified tab item titles itself. + * + * @param title The tab item title. Must not be null. + * @param connector The terminal connector. Must not be null. + * @param data The custom terminal data node or null. + * + * @return The corresponding tab item or null. + */ + public CTabItem findTabItem(String title, ITerminalConnector connector, Object data) { + Assert.isNotNull(title); + Assert.isNotNull(connector); + + // Get the tab folder + CTabFolder tabFolder = getTabFolder(); + if (tabFolder == null) return null; + + // Loop all existing tab items and try to find a matching title + for (CTabItem item : tabFolder.getItems()) { + // Disposed items cannot be matched + if (item.isDisposed()) continue; + // Get the title from the current tab item + String itemTitle = item.getText(); + // The terminal console state might be signaled to the user via the + // terminal console tab title. Filter out any prefix "<.*>\s*". + itemTitle = itemTitle.replaceFirst("^<.*>\\s*", ""); //$NON-NLS-1$ //$NON-NLS-2$ + if (itemTitle.startsWith(title)) { + // The title string matches -> double check with the terminal connector + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + ITerminalConnector connector2 = terminal.getTerminalConnector(); + // If the connector id and name matches -> check on the settings + if (connector.getId().equals(connector2.getId()) && connector.getName().equals(connector2.getName())) { + if (!connector.isInitialized()) { + // an uninitialized connector does not yield a sensible summary + return item; + } + String summary = connector.getSettingsSummary(); + String summary2 = connector2.getSettingsSummary(); + // If we have matching settings -> we've found the matching item + if (summary.equals(summary2)) return item; + } + } + } + + return null; + } + + /** + * Make the given tab item the active tab and bring the tab to the top. + * + * @param item The tab item. Must not be null. + */ + public void bringToTop(CTabItem item) { + Assert.isNotNull(item); + + // Get the tab folder + CTabFolder tabFolder = getTabFolder(); + if (tabFolder == null) return; + + // Set the given tab item as selection to the tab folder + tabFolder.setSelection(item); + // Fire selection changed event + fireSelectionChanged(); + } + + /** + * Returns the currently active tab. + * + * @return The active tab item or null if none. + */ + public CTabItem getActiveTabItem() { + // Get the tab folder + CTabFolder tabFolder = getTabFolder(); + if (tabFolder == null) return null; + + return tabFolder.getSelection(); + } + + /** + * Remove all terminated tab items. + */ + public void removeTerminatedItems() { + // Get the tab folder + CTabFolder tabFolder = getTabFolder(); + if (tabFolder == null) return; + + // Loop the items and check for terminated status + for (CTabItem item: tabFolder.getItems()) { + // Disposed items cannot be matched + if (item.isDisposed()) continue; + // Check if the item is terminated + if (isTerminatedTabItem(item)) { + // item is terminated -> dispose + item.dispose(); + } + } + } + + /** + * Checks if the given tab item represents a terminated console. Subclasses may + * overwrite this method to extend the definition of terminated. + * + * @param item The tab item or null. + * @return True if the tab item represents a terminated console, false otherwise. + */ + protected boolean isTerminatedTabItem(CTabItem item) { + // Null items or disposed items cannot be matched + if (item == null || item.isDisposed()) return false; + + // First, match the item title. If it contains "", the item can be removed + String itemTitle = item.getText(); + if (itemTitle != null && itemTitle.contains("")) { //$NON-NLS-1$ + return true; + } + // Second, check if the associated terminal control is closed + // The title string matches -> double check with the terminal connector + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal != null && terminal.getState() == TerminalState.CLOSED) { + return true; + } + + return false; + } + + /** + * Returns the command input field handler for the given tab item. + * + * @param item The tab item or null. + * @return The command input field handler or null. + */ + public final TabCommandFieldHandler getTabCommandFieldHandler(CTabItem item) { + // Null items or disposed items cannot be matched + if (item == null || item.isDisposed()) return null; + + TabCommandFieldHandler handler = commandFieldHandler.get(item); + if (handler == null) { + handler = new TabCommandFieldHandler(this, item); + commandFieldHandler.put(item, handler); + } + return handler; + } + + /** + * Dispose the command input field handler for the given tab item. + * + * @param item The tab item or null. + */ + protected void disposeTabCommandFieldHandler(CTabItem item) { + // Null items or disposed items cannot be matched + if (item == null || item.isDisposed()) return; + + TabCommandFieldHandler handler = commandFieldHandler.remove(item); + if (handler != null) handler.dispose(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + */ + @Override + public void addSelectionChangedListener(ISelectionChangedListener listener) { + if (listener != null && !selectionChangedListeners.contains(listener)) selectionChangedListeners.add(listener); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) + */ + @Override + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + if (listener != null) selectionChangedListeners.remove(listener); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() + */ + @Override + public ISelection getSelection() { + CTabItem activeTabItem = getActiveTabItem(); + return activeTabItem != null ? new StructuredSelection(activeTabItem) : new StructuredSelection(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) + */ + @Override + public void setSelection(ISelection selection) { + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + // The first selection element which is a CTabItem will become the active item + Iterator iterator = ((IStructuredSelection)selection).iterator(); + while (iterator.hasNext()) { + Object candidate = iterator.next(); + if (candidate instanceof CTabItem) { bringToTop((CTabItem)candidate); return; } + } + } + // fire a changed event in any case + fireSelectionChanged(selection); + } + + /** + * Fire the selection changed event to the registered listeners. + */ + protected void fireSelectionChanged() { + updateStatusLine(); + fireSelectionChanged(getSelection()); + } + + /** + * Fire the selection changed event to the registered listeners. + */ + protected final void fireSelectionChanged(ISelection selection) { + // Create the selection changed event + SelectionChangedEvent event = new SelectionChangedEvent(TabFolderManager.this, selection); + + // First, invoke the registered listeners and let them do their job + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(event); + } + } + + /** + * Update the parent view status line. + */ + public final void updateStatusLine() { + String message = null; + IStatusLineManager manager = parentView.getViewSite().getActionBars().getStatusLineManager(); + + CTabItem item = getActiveTabItem(); + if (item != null && !item.isDisposed()) { + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal != null && !terminal.isDisposed()) { + StringBuilder buffer = new StringBuilder(); + + buffer.append(state2msg(item, terminal.getState())); + buffer.append(" - "); //$NON-NLS-1$ + + String encoding = terminal.getEncoding(); + if (encoding == null || "ISO-8859-1".equals(encoding)) { //$NON-NLS-1$ + encoding = "Default (ISO-8859-1)"; //$NON-NLS-1$ + } + buffer.append(NLS.bind(Messages.TabFolderManager_encoding, encoding)); + + message = buffer.toString(); + } + } + + manager.setMessage(message); + } + + /** + * Returns the string representation of the given terminal state. + * + * @param item The tab folder item. Must not be null. + * @param state The terminal state. Must not be null. + * + * @return The string representation. + */ + @SuppressWarnings("unchecked") + protected String state2msg(CTabItem item, TerminalState state) { + Assert.isNotNull(item); + Assert.isNotNull(state); + + // Determine the terminal properties of the tab folder + Map properties = (Map)item.getData("properties"); //$NON-NLS-1$ + + // Get he current terminal state as string + String stateStr = state.toString(); + // Lookup a matching text representation of the state + String key = "TabFolderManager_state_" + stateStr.replaceAll("\\.", " ").trim().toLowerCase(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + String stateMsg = null; + if (properties != null) stateMsg = properties.get(key) instanceof String ? (String) properties.get(key) : null; + if (stateMsg == null) stateMsg = Messages.getString(key); + if (stateMsg == null) stateMsg = stateStr; + + return stateMsg; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java new file mode 100644 index 00000000000..3a3e745c050 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java @@ -0,0 +1,385 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IMenuListener2; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.actions.SelectEncodingAction; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.IWorkbenchActionConstants; + +/** + * Terminals tab folder menu handler. + */ +@SuppressWarnings("restriction") +public class TabFolderMenuHandler extends PlatformObject { + // Reference to the parent terminals console view + private final ITerminalsView parentView; + // Reference to the tab folder context menu manager + private MenuManager contextMenuManager; + // Reference to the tab folder context menu + private Menu contextMenu; + // The list of actions available within the context menu + private final List contextMenuActions = new ArrayList(); + + // The list of invalid context menu contributions "startsWith" expressions + /* default */ static final String[] INVALID_CONTRIBUTIONS_STARTS_WITH = { + "org.eclipse.cdt", "org.eclipse.ui.edit" //$NON-NLS-1$ //$NON-NLS-2$ + }; + + /** + * Default menu listener implementation. + */ + protected class MenuListener implements IMenuListener2 { + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuListener2#menuAboutToHide(org.eclipse.jface.action.IMenuManager) + */ + @Override + public void menuAboutToHide(IMenuManager manager) { + // CQ:WIND00192293 and CQ:WIND194204 - don't update actions on menuAboutToHide + // See also http://bugs.eclipse.org/296212 + // updateMenuItems(false); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuListener#menuAboutToShow(org.eclipse.jface.action.IMenuManager) + */ + @Override + public void menuAboutToShow(IMenuManager manager) { + removeInvalidContributions(manager); + updateMenuItems(true); + } + + /** + * Bug 392249: Remove contributions that appear in the context in Eclipse 4.x which are + * not visible in Eclipse 3.8.x. Re-evaluate from time to time! + * + * @param manager The menu manager or null + */ + private void removeInvalidContributions(IMenuManager manager) { + if (manager == null) return; + + IContributionItem[] items = manager.getItems(); + for (IContributionItem item : items) { + String id = item.getId(); + if (id != null) { + for (String prefix : INVALID_CONTRIBUTIONS_STARTS_WITH) { + if (id.startsWith(prefix)) { + manager.remove(item); + break; + } + } + } + } + } + } + + /** + * Constructor. + * + * @param parentView The parent terminals console view. Must not be null. + */ + public TabFolderMenuHandler(ITerminalsView parentView) { + super(); + Assert.isNotNull(parentView); + this.parentView = parentView; + } + + /** + * Returns the parent terminals console view. + * + * @return The parent terminals console view instance. + */ + protected final ITerminalsView getParentView() { + return parentView; + } + + /** + * Returns the tab folder associated with the parent view. + * + * @return The tab folder or null. + */ + protected final CTabFolder getTabFolder() { + return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + } + + /** + * Dispose the tab folder menu handler instance. + */ + public void dispose() { + // Dispose the context menu + if (contextMenu != null) { contextMenu.dispose(); contextMenu = null; } + // Dispose the context menu manager + if (contextMenuManager != null) { contextMenuManager.dispose(); contextMenuManager = null; } + // Clear all actions + contextMenuActions.clear(); + } + + /** + * Setup the context menu for the tab folder. The method will return + * immediately if the menu handler had been initialized before. + * + * @param tabFolder The tab folder control. Must not be null. + */ + public void initialize() { + // Return immediately if the menu manager and menu got initialized already + if (contextMenuManager != null && contextMenu != null) { + return; + } + + // Get the tab folder + CTabFolder tabFolder = getTabFolder(); + if (tabFolder == null) { + return; + } + + // Create the menu manager if not done before + contextMenuManager = new MenuManager("#PopupMenu"); //$NON-NLS-1$ + + // Bug 392249: Register our menu listener after registering the context menu + // for contributions. That way we can use our menu listener to get + // rid of unwanted/misguided contributions. At least until this is + // fixed in the Eclipse 4.x platform. + + // Create the context menu + contextMenu = contextMenuManager.createContextMenu(tabFolder); + + // Create the context menu action instances + doCreateContextMenuActions(); + + // Fill the context menu + doFillContextMenu(contextMenuManager); + + // Register to the view site to open the menu for contributions + getParentView().getSite().registerContextMenu(contextMenuManager, getParentView().getSite().getSelectionProvider()); + + // Create and associated the menu listener + contextMenuManager.addMenuListener(new MenuListener()); + } + + /** + * Adds the given action to the context menu actions list. + * + * @param action The action instance. Must not be null. + */ + protected final void add(AbstractTerminalAction action) { + Assert.isNotNull(action); + contextMenuActions.add(action); + } + + /** + * Create the context menu actions. + */ + protected void doCreateContextMenuActions() { + // Create and add the copy action + add(new TerminalActionCopy() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the paste action + add(new TerminalActionPaste() { + @SuppressWarnings("unchecked") + @Override + public void run() { + // Determine if pasting to the active tab require backslash translation + boolean needsTranslation = false; + + TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null) { + Map properties = (Map)activeTabItem.getData("properties"); //$NON-NLS-1$ + if (properties != null && properties.containsKey(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE)) { + Object value = properties.get(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE); + needsTranslation = value instanceof Boolean ? ((Boolean)value).booleanValue() : false; + } + } + } + + if (needsTranslation) { + ITerminalViewControl target = getTarget(); + if (target != null && target.getClipboard() != null && !target.getClipboard().isDisposed()) { + String text = (String) target.getClipboard().getContents(TextTransfer.getInstance()); + if (text != null) { + text = text.replace('\\', '/'); + + Object[] data = new Object[] { text }; + Transfer[] types = new Transfer[] { TextTransfer.getInstance() }; + target.getClipboard().setContents(data, types, DND.CLIPBOARD); + } + } + } + + super.run(); + } + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the clear all action + add(new TerminalActionClearAll() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + super.updateAction(aboutToShow); + if (getTarget() != null && getTarget().getState() != TerminalState.CONNECTED) { + setEnabled(false); + } + } + }); + + // Create and add the select all action + add(new TerminalActionSelectAll() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the select encoding action + add (new SelectEncodingAction((TabFolderManager)getParentView().getAdapter(TabFolderManager.class)) { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + } + + /** + * Returns the currently active terminal control. + * + * @return The currently active terminal control or null. + */ + protected ITerminalViewControl getActiveTerminalViewControl() { + ITerminalViewControl terminal = null; + + // Get the active tab item from the tab folder manager + TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null) { + terminal = (ITerminalViewControl)activeTabItem.getData(); + } + } + + return terminal; + } + + /** + * Fill in the context menu content within the given manager. + * + * @param manager The menu manager. Must not be null. + */ + protected void doFillContextMenu(MenuManager manager) { + Assert.isNotNull(manager); + + // Loop all actions and add them to the menu manager + for (AbstractTerminalAction action : contextMenuActions) { + manager.add(action); + // Add a separator after the paste action + if (action instanceof TerminalActionPaste) { + manager.add(new Separator()); + } + // Add a separator after the select all action + if (action instanceof TerminalActionSelectAll) { + manager.add(new Separator()); + } + } + + // Menu contributions will end up here + manager.add(new Separator()); + manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); + } + + /** + * Update the context menu items on showing or hiding the context menu. + * + * @param aboutToShow True if the menu is about to show, false otherwise. + */ + protected void updateMenuItems(boolean aboutToShow) { + // Loop all actions and update the status + for (AbstractTerminalAction action : contextMenuActions) { + action.updateAction(aboutToShow); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (MenuManager.class.isAssignableFrom(adapter)) { + return contextMenuManager; + } else if (Menu.class.isAssignableFrom(adapter)) { + return contextMenu; + } + + // Try the parent view + Object adapted = getParentView().getAdapter(adapter); + if (adapted != null) { + return adapted; + } + + return super.getAdapter(adapter); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java new file mode 100644 index 00000000000..37e4110cba7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java @@ -0,0 +1,55 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; + +/** + * Terminals tab folder default selection listener implementation. + */ +public class TabFolderSelectionListener implements SelectionListener { + private final TabFolderManager parentTabFolderManager; + + /** + * Constructor. + * + * @param parentTabFolderManager The parent tab folder manager. Must not be null + */ + public TabFolderSelectionListener(TabFolderManager parentTabFolderManager) { + Assert.isNotNull(parentTabFolderManager); + this.parentTabFolderManager = parentTabFolderManager; + } + + /** + * Returns the parent terminal console tab folder manager instance. + * + * @return The parent terminal console tab folder manager instance. + */ + protected final TabFolderManager getParentTabFolderManager() { + return parentTabFolderManager; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent) + */ + @Override + public void widgetDefaultSelected(SelectionEvent e) { + } + + /* (non-Javadoc) + * @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent) + */ + @Override + public void widgetSelected(SelectionEvent e) { + parentTabFolderManager.fireSelectionChanged(); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java new file mode 100644 index 00000000000..07d1a78684f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java @@ -0,0 +1,371 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.PlatformObject; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.ui.terminals.actions.AbstractAction; +import org.eclipse.tcf.te.ui.terminals.actions.PinTerminalAction; +import org.eclipse.tcf.te.ui.terminals.actions.TabScrollLockAction; +import org.eclipse.tcf.te.ui.terminals.actions.ToggleCommandFieldAction; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IWorkbenchActionConstants; + + +/** + * Terminals tab folder toolbar handler. + */ +@SuppressWarnings("restriction") +public class TabFolderToolbarHandler extends PlatformObject { + // Reference to the parent terminals console view + private final ITerminalsView parentView; + // Reference to the toolbar manager + private IToolBarManager toolbarManager; + // Reference to the selection listener + private ToolbarSelectionChangedListener selectionChangedListener; + // The list of actions available within the toolbar + private final List toolbarActions = new ArrayList(); + + /** + * Default selection listener implementation. + */ + protected class ToolbarSelectionChangedListener implements ISelectionChangedListener { + + /* (non-Javadoc) + * @see org.eclipse.jface.viewers.ISelectionChangedListener#selectionChanged(org.eclipse.jface.viewers.SelectionChangedEvent) + */ + @Override + public void selectionChanged(SelectionChangedEvent event) { + boolean enable = event != null; + + // The VlmConsoleTabFolderManager is listening to the selection changes of the + // TabFolder and fires selection changed events. + if (enable && event.getSource() instanceof TabFolderManager) { + enable = event.getSelection() instanceof StructuredSelection + && !event.getSelection().isEmpty() + && (((StructuredSelection)event.getSelection()).getFirstElement() instanceof CTabItem + || ((StructuredSelection)event.getSelection()).getFirstElement() instanceof String); + } + + updateToolbarItems(enable); + } + } + + /** + * Constructor. + * + * @param parentView The parent terminals console view. Must not be null. + */ + public TabFolderToolbarHandler(ITerminalsView parentView) { + super(); + Assert.isNotNull(parentView); + this.parentView = parentView; + } + + /** + * Returns the parent terminals console view. + * + * @return The terminals console view instance. + */ + protected final ITerminalsView getParentView() { + return parentView; + } + + /** + * Returns the tab folder associated with the parent view. + * + * @return The tab folder or null. + */ + protected final CTabFolder getTabFolder() { + return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + } + + /** + * Returns the currently active terminal control. + * + * @return The currently active terminal control or null. + */ + public ITerminalViewControl getActiveTerminalViewControl() { + ITerminalViewControl terminal = null; + + // Get the active tab item from the tab folder manager + TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + if (manager != null) { + // If we have the active tab item, we can get the active terminal control + CTabItem activeTabItem = manager.getActiveTabItem(); + if (activeTabItem != null && !activeTabItem.isDisposed()) { + terminal = (ITerminalViewControl)activeTabItem.getData(); + } + } + + return terminal; + } + + /** + * Dispose the tab folder menu handler instance. + */ + public void dispose() { + // Dispose the selection changed listener + if (selectionChangedListener != null) { + getParentView().getViewSite().getSelectionProvider().removeSelectionChangedListener(selectionChangedListener); + selectionChangedListener = null; + } + + // Clear all actions + toolbarActions.clear(); + } + + /** + * Setup the context menu for the tab folder. The method will return + * immediately if the toolbar handler had been initialized before. + * + * @param tabFolder The tab folder control. Must not be null. + */ + public void initialize() { + // Return immediately if the toolbar manager got initialized already + if (toolbarManager != null) { + return; + } + + // Register ourself as selection listener to the tab folder + selectionChangedListener = doCreateSelectionChangedListener(); + Assert.isNotNull(selectionChangedListener); + getParentView().getViewSite().getSelectionProvider().addSelectionChangedListener(selectionChangedListener); + + // Get the parent view action bars + IActionBars bars = getParentView().getViewSite().getActionBars(); + + // From the action bars, get the toolbar manager + toolbarManager = bars.getToolBarManager(); + + // Create the toolbar action instances + doCreateToolbarActions(); + + // Fill the toolbar + doFillToolbar(toolbarManager); + + // Update actions + updateToolbarItems(false); + } + + /** + * Creates a new selection changed listener instance. + * + * @return The new selection changed listener instance. + */ + protected ToolbarSelectionChangedListener doCreateSelectionChangedListener() { + return new ToolbarSelectionChangedListener(); + } + + /** + * Adds the given action to the toolbar actions list. + * + * @param action The action instance. Must not be null. + */ + protected final void add(AbstractTerminalAction action) { + Assert.isNotNull(action); + toolbarActions.add(action); + } + + /** + * Removes the given action from the toolbar actions list. + * + * @param action The action instance. Must not be null. + */ + protected final void remove(AbstractTerminalAction action) { + Assert.isNotNull(action); + toolbarActions.remove(action); + } + + /** + * Create the toolbar actions. + */ + protected void doCreateToolbarActions() { + // Create and add the paste action + add(new TerminalActionPaste() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the copy action + add(new TerminalActionCopy() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the scroll lock action + add (new TabScrollLockAction() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the clear all action + add(new TerminalActionClearAll() { + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste#updateAction(boolean) + */ + @Override + public void updateAction(boolean aboutToShow) { + super.updateAction(aboutToShow); + if (getTarget() != null && getTarget().getState() != TerminalState.CONNECTED) { + setEnabled(false); + } + } + }); + + // Create and add the toggle command input field action + add (new ToggleCommandFieldAction(getParentView()) { + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + + // Create and add the pin view action + add (new PinTerminalAction(getParentView()) { + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + */ + @Override + protected ITerminalViewControl getTarget() { + return getActiveTerminalViewControl(); + } + }); + } + + /** + * Fill in the context menu content within the given manager. + * + * @param manager The menu manager. Must not be null. + */ + protected void doFillToolbar(IToolBarManager manager) { + Assert.isNotNull(manager); + + // Note: For the toolbar, the actions are added from left to right! + // So we start with the additions marker here which is the most + // left contribution item. + manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); + manager.add(new Separator("anchor")); //$NON-NLS-1$ + + // we want that at the end + PinTerminalAction pinAction=null; + + // Loop all actions and add them to the menu manager + for (AbstractTerminalAction action : toolbarActions) { + // Add a separator before the clear all action or if the action is a separator + if (action instanceof TabScrollLockAction + || (action instanceof AbstractAction && ((AbstractAction)action).isSeparator())) { + manager.insertAfter("anchor", new Separator()); //$NON-NLS-1$ + } + // skip pin action for now + if(action instanceof PinTerminalAction){ + pinAction=(PinTerminalAction)action; + continue; + } + // Add the action itself + manager.insertAfter("anchor", action); //$NON-NLS-1$ + } + // now add pin at the end + if(pinAction!=null){ + manager.add(pinAction); + } + } + + /** + * Update the toolbar items. + * + * @param enabled True if the items shall be enabled, false otherwise. + */ + protected void updateToolbarItems(boolean enabled) { + // Determine the currently active terminal control + ITerminalViewControl control = getActiveTerminalViewControl(); + // Loop all actions and update the status + for (AbstractTerminalAction action : toolbarActions) { + // If the terminal control is not available, the updateAction + // method of certain actions enable the action (bugzilla #260372). + // Workaround by forcing the action to get disabled with setEnabled. + if (control == null && !(action instanceof PinTerminalAction)) { + action.setEnabled(false); + } + else { + action.updateAction(enabled); + } + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (IToolBarManager.class.isAssignableFrom(adapter)) { + return toolbarManager; + } + + // Try the toolbar actions + for (AbstractTerminalAction action : toolbarActions) { + if (adapter.isAssignableFrom(action.getClass())) { + return action; + } + } + + // Try the parent view + Object adapted = getParentView().getAdapter(adapter); + if (adapted != null) { + return adapted; + } + + return super.getAdapter(adapter); + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java new file mode 100644 index 00000000000..efd1b2f87f3 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java @@ -0,0 +1,132 @@ +/******************************************************************************* + * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.tabs; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.widgets.Display; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Terminals tab default terminal listener implementation. + */ +@SuppressWarnings("restriction") +public class TabTerminalListener implements ITerminalListener { + /* default */ final TabFolderManager tabFolderManager; + private final CTabItem tabItem; + private final String tabItemTitle; + + /** + * Constructor. + * + * @param tabFolderManager The parent tab folder manager. Must not be null. + * @param tabItem The parent tab item. Must not be null. + */ + public TabTerminalListener(TabFolderManager tabFolderManager, CTabItem tabItem) { + super(); + Assert.isNotNull(tabFolderManager); + this.tabFolderManager = tabFolderManager; + Assert.isNotNull(tabItem); + this.tabItem = tabItem; + + // Remember the original tab item title + tabItemTitle = tabItem.getText(); + } + + /** + * Returns the associated parent tab item. + * + * @return The parent tab item. + */ + protected final CTabItem getTabItem() { + return tabItem; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.ITerminalListener#setState(org.eclipse.tcf.internal.terminal.provisional.api.TerminalState) + */ + @Override + public void setState(final TerminalState state) { + // The tab item must have been not yet disposed + final CTabItem item = getTabItem(); + if (item == null || item.isDisposed()) return; + + // Run asynchronously in the display thread + item.getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + // Update the tab item title + String newTitle = getTerminalConsoleTabTitle(state); + if (newTitle != null) item.setText(newTitle); + + // Turn off the command field (if necessary) + TabCommandFieldHandler handler = tabFolderManager.getTabCommandFieldHandler(item); + if (TerminalState.CLOSED.equals(state) && handler != null && handler.hasCommandInputField()) { + handler.setCommandInputField(false); + // Trigger a selection changed event to update the action enablements + // and the status line + ISelectionProvider provider = tabFolderManager.getParentView().getViewSite().getSelectionProvider(); + Assert.isNotNull(provider); + provider.setSelection(provider.getSelection()); + } else { + // Update the status line + tabFolderManager.updateStatusLine(); + } + } + }); + } + + /** + * Returns the title to set to the terminal console tab for the given state. + *

                                    + * Note: This method is called from {@link #setState(TerminalState)} and + * is expected to by called within the UI thread. + * + * @param state The terminal state. Must not be null. + * @return The terminal console tab title to set or null to leave the title unchanged. + */ + protected String getTerminalConsoleTabTitle(TerminalState state) { + Assert.isNotNull(state); + Assert.isNotNull(Display.findDisplay(Thread.currentThread())); + + // The tab item must have been not yet disposed + CTabItem item = getTabItem(); + if (item == null || item.isDisposed()) return null; + + // Get the current tab title + String oldTitle = item.getText(); + + // Construct the new title + String newTitle = null; + + if (TerminalState.CLOSED.equals(state)) { + newTitle = NLS.bind(Messages.TabTerminalListener_consoleClosed, tabItemTitle, tabFolderManager.state2msg(item, state)); + } + else if (TerminalState.CONNECTING.equals(state)) { + newTitle = NLS.bind(Messages.TabTerminalListener_consoleConnecting, tabItemTitle, tabFolderManager.state2msg(item, state)); + } + else if (TerminalState.CONNECTED.equals(state)) { + newTitle = tabItemTitle; + } + + return newTitle != null && !newTitle.equals(oldTitle) ? newTitle : null; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.internal.terminal.control.ITerminalListener#setTerminalTitle(java.lang.String) + */ + @Override + public void setTerminalTitle(String title) { + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java new file mode 100644 index 00000000000..4120959fd91 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java @@ -0,0 +1,705 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.view; + +import java.util.Iterator; +import java.util.UUID; + +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.ParameterizedCommand; +import org.eclipse.core.expressions.EvaluationContext; +import org.eclipse.core.expressions.IEvaluationContext; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.SWT; +import org.eclipse.swt.custom.CTabFolder; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.swt.dnd.ByteArrayTransfer; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.DragSource; +import org.eclipse.swt.dnd.DragSourceEvent; +import org.eclipse.swt.dnd.DragSourceListener; +import org.eclipse.swt.dnd.DropTarget; +import org.eclipse.swt.dnd.DropTargetEvent; +import org.eclipse.swt.dnd.DropTargetListener; +import org.eclipse.swt.dnd.Transfer; +import org.eclipse.swt.dnd.TransferData; +import org.eclipse.swt.events.DisposeListener; +import org.eclipse.swt.graphics.Color; +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.swt.widgets.Event; +import org.eclipse.swt.widgets.Listener; +import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; +import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderMenuHandler; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.ISources; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchPreferenceConstants; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.IHandlerService; +import org.eclipse.ui.part.IShowInTarget; +import org.eclipse.ui.part.PageBook; +import org.eclipse.ui.part.ShowInContext; +import org.eclipse.ui.part.ViewPart; +import org.osgi.framework.Bundle; + +/** + * Terminals view. + */ +public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTarget { + + // Reference to the main page book control + private PageBook pageBookControl; + // Reference to the tab folder maintaining the consoles + /* default */ CTabFolder tabFolderControl; + // Reference to the tab folder manager + /* default */ TabFolderManager tabFolderManager; + // Reference to the tab folder menu handler + private TabFolderMenuHandler tabFolderMenuHandler; + // Reference to the tab folder toolbar handler + private TabFolderToolbarHandler tabFolderToolbarHandler; + // Reference to the empty page control (to be show if no console is open) + private Control emptyPageControl; + // Whether this terminal is pinned. + private boolean pinned = false; + // The view's memento handler + private final TerminalsViewMementoHandler mementoHandler = new TerminalsViewMementoHandler(); + + /** + * "dummy" transfer just to store the information needed for the DnD + * + */ + private static class TerminalTransfer extends ByteArrayTransfer { + // The static terminal transfer type name. Unique per terminals view instance. + private static final String TYPE_NAME = "terminal-transfer-format:" + UUID.randomUUID().toString(); //$NON-NLS-1$ + // Register the type name and remember the associated unique type id. + private static final int TYPEID = registerType(TYPE_NAME); + + private CTabItem draggedFolderItem; + private TabFolderManager draggedTabFolderManager; + + /* + * Thread save singleton instance creation. + */ + private static class LazyInstanceHolder { + public static TerminalTransfer instance = new TerminalTransfer(); + } + + /** + * Constructor. + */ + TerminalTransfer() { + } + + /** + * Returns the singleton terminal transfer instance. + * @return + */ + public static TerminalTransfer getInstance() { + return LazyInstanceHolder.instance; + } + + /** + * Sets the dragged folder item. + * + * @param tabFolderItem The dragged folder item or null. + */ + public void setDraggedFolderItem(CTabItem tabFolderItem) { + draggedFolderItem = tabFolderItem; + } + + /** + * Returns the dragged folder item. + * + * @return The dragged folder item or null. + */ + public CTabItem getDraggedFolderItem() { + return draggedFolderItem; + } + + /** + * Sets the tab folder manager the associated folder item is dragged from. + * + * @param tabFolderManager The tab folder manager or null. + */ + public void setTabFolderManager(TabFolderManager tabFolderManager) { + draggedTabFolderManager = tabFolderManager; + } + + /** + * Returns the tab folder manager the associated folder item is dragged from. + * + * @return The tab folder manager or null. + */ + public TabFolderManager getTabFolderManager() { + return draggedTabFolderManager; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.Transfer#getTypeIds() + */ + @Override + protected int[] getTypeIds() { + return new int[] { TYPEID }; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.Transfer#getTypeNames() + */ + @Override + protected String[] getTypeNames() { + return new String[] { TYPE_NAME }; + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.ByteArrayTransfer#javaToNative(java.lang.Object, org.eclipse.swt.dnd.TransferData) + */ + @Override + public void javaToNative(Object data, TransferData transferData) { + } + + /* (non-Javadoc) + * @see org.eclipse.swt.dnd.ByteArrayTransfer#nativeToJava(org.eclipse.swt.dnd.TransferData) + */ + @Override + public Object nativeToJava(TransferData transferData) { + return null; + } + } + + /** + * Constructor. + */ + public TerminalsView() { + super(); + } + + /** + * Initialize the drag support. + */ + private void addDragSupport() { + // The event listener is registered as filter. It will receive events from all widgets. + PlatformUI.getWorkbench().getDisplay().addFilter(SWT.DragDetect, new Listener() { + /* (non-Javadoc) + * @see org.eclipse.swt.widgets.Listener#handleEvent(org.eclipse.swt.widgets.Event) + */ + @Override + public void handleEvent(Event event) { + // Only handle events where a CTabFolder is the source + if (!(event.widget instanceof CTabFolder)) return; + // TabFolderManager must be created + if (tabFolderManager == null) return; + + // only for own tab folders + if (event.widget != tabFolderControl) return; + + // Skip drag if DnD is still ongoing (bug 443787) + if (tabFolderControl.getData(DND.DRAG_SOURCE_KEY) != null) return; + + final CTabFolder draggedFolder = (CTabFolder) event.widget; + + int operations = DND.DROP_MOVE | DND.DROP_DEFAULT; + final DragSource dragSource = new DragSource(draggedFolder, operations); + + // Initialize the terminal transfer type data + TerminalTransfer.getInstance().setDraggedFolderItem(tabFolderManager.getActiveTabItem()); + TerminalTransfer.getInstance().setTabFolderManager(tabFolderManager); + + Transfer[] transferTypes = new Transfer[] { TerminalTransfer.getInstance() }; + dragSource.setTransfer(transferTypes); + + // Add a drag source listener to cleanup after the drag operation finished + dragSource.addDragListener(new DragSourceListener() { + @Override + public void dragStart(DragSourceEvent event) { + } + + @Override + public void dragSetData(DragSourceEvent event) { + } + + @Override + public void dragFinished(DragSourceEvent event) { + // dispose this drag-source-listener by disposing its drag-source + dragSource.dispose(); + + // Inhibit the action of CTabFolder's default DragDetect-listeners, + // fire a mouse-click event on the widget that was dragged. + draggedFolder.notifyListeners(SWT.MouseUp, null); + } + }); + } + }); + } + + /** + * Initialize the drop support on the terminals page book control. + */ + private void addDropSupport() { + int operations = DND.DROP_MOVE | DND.DROP_DEFAULT; + final DropTarget target = new DropTarget(pageBookControl, operations); + + Transfer[] transferTypes = new Transfer[] { TerminalTransfer.getInstance() }; + target.setTransfer(transferTypes); + + target.addDropListener(new DropTargetListener() { + @Override + public void dragEnter(DropTargetEvent event) { + // only if the drop target is different then the drag source + if (TerminalTransfer.getInstance().getTabFolderManager() == tabFolderManager) { + event.detail = DND.DROP_NONE; + } + else { + event.detail = DND.DROP_MOVE; + } + } + + @Override + public void dragOver(DropTargetEvent event) { + } + + @Override + public void dragOperationChanged(DropTargetEvent event) { + } + + @Override + public void dragLeave(DropTargetEvent event) { + } + + @Override + public void dropAccept(DropTargetEvent event) { + } + + @Override + public void drop(DropTargetEvent event) { + if (TerminalTransfer.getInstance().getDraggedFolderItem() != null && tabFolderManager != null) { + CTabItem draggedItem = TerminalTransfer.getInstance().getDraggedFolderItem(); + + CTabItem item = tabFolderManager.cloneTabItemAfterDrop(draggedItem); + tabFolderManager.bringToTop(item); + switchToTabFolderControl(); + + // need to remove the dispose listener first + DisposeListener disposeListener = (DisposeListener) draggedItem.getData("disposeListener"); //$NON-NLS-1$ + draggedItem.removeDisposeListener(disposeListener); + draggedItem.dispose(); + + // make sure the "new" terminals view has the focus after dragging a terminal + setFocus(); + } + } + }); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#dispose() + */ + @Override + public void dispose() { + // Dispose the tab folder manager + if (tabFolderManager != null) { + tabFolderManager.dispose(); + tabFolderManager = null; + } + // Dispose the tab folder menu handler + if (tabFolderMenuHandler != null) { + tabFolderMenuHandler.dispose(); + tabFolderMenuHandler = null; + } + // Dispose the tab folder toolbar handler + if (tabFolderToolbarHandler != null) { + tabFolderToolbarHandler.dispose(); + tabFolderToolbarHandler = null; + } + + super.dispose(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.ViewPart#init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento) + */ + @Override + public void init(IViewSite site, IMemento memento) throws PartInitException { + super.init(site, memento); + restoreState(memento); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createPartControl(Composite parent) { + // Create the page book control + pageBookControl = doCreatePageBookControl(parent); + Assert.isNotNull(pageBookControl); + // Configure the page book control + doConfigurePageBookControl(pageBookControl); + + // Create the empty page control + emptyPageControl = doCreateEmptyPageControl(pageBookControl); + Assert.isNotNull(emptyPageControl); + // Configure the empty page control + doConfigureEmptyPageControl(emptyPageControl); + + // Create the tab folder control (empty) + tabFolderControl = doCreateTabFolderControl(pageBookControl); + Assert.isNotNull(tabFolderControl); + // Configure the tab folder control + doConfigureTabFolderControl(tabFolderControl); + + // Create the tab folder manager + tabFolderManager = doCreateTabFolderManager(this); + Assert.isNotNull(tabFolderManager); + // Set the tab folder manager as the selection provider + getSite().setSelectionProvider(tabFolderManager); + + // Setup the tab folder menu handler + tabFolderMenuHandler = doCreateTabFolderMenuHandler(this); + Assert.isNotNull(tabFolderMenuHandler); + doConfigureTabFolderMenuHandler(tabFolderMenuHandler); + + // Setup the tab folder toolbar handler + tabFolderToolbarHandler = doCreateTabFolderToolbarHandler(this); + Assert.isNotNull(tabFolderToolbarHandler); + doConfigureTabFolderToolbarHandler(tabFolderToolbarHandler); + + // Show the empty page control by default + switchToEmptyPageControl(); + + String secondaryId = ((IViewSite) getSite()).getSecondaryId(); + if (secondaryId != null) { + String defaultTitle = getPartName(); + // set title + setPartName(defaultTitle + " " + secondaryId); //$NON-NLS-1$ + } + + // Initialize DnD support + addDragSupport(); + addDropSupport(); + } + + /** + * Creates the {@link PageBook} instance. + * + * @param parent The parent composite. Must not be null. + * @return The page book instance. Must never be null. + */ + protected PageBook doCreatePageBookControl(Composite parent) { + return new PageBook(parent, SWT.NONE); + } + + /** + * Configure the given page book control. + * + * @param pagebook The page book control. Must not be null. + */ + protected void doConfigurePageBookControl(PageBook pagebook) { + Assert.isNotNull(pagebook); + + if (getContextHelpId() != null) PlatformUI.getWorkbench().getHelpSystem().setHelp(pagebook, getContextHelpId()); + } + + /** + * Returns the context help id associated with the terminals console view instance. + *

                                    + * Note: The default implementation returns the view id as context help id. + * + * @return The context help id or null if none is associated. + */ + @Override + public String getContextHelpId() { + return getViewSite().getId(); + } + + /** + * Creates the empty page control instance. + * + * @param parent The parent composite. Must not be null. + * @return The empty page control instance. Must never be null. + */ + protected Control doCreateEmptyPageControl(Composite parent) { + Composite composite = new Composite(parent, SWT.NONE); + composite.setLayout(new GridLayout()); + composite.setLayoutData(new GridData(GridData.FILL_BOTH)); + return composite; + } + + /** + * Configures the empty page control. + * + * @param control The empty page control. Must not be null. + */ + protected void doConfigureEmptyPageControl(Control control) { + Assert.isNotNull(control); + } + + /** + * Creates the tab folder control instance. + * + * @param parent The parent composite. Must not be null. + * @return The tab folder control instance. Must never be null. + */ + protected CTabFolder doCreateTabFolderControl(Composite parent) { + return new CTabFolder(parent, SWT.NO_REDRAW_RESIZE | SWT.NO_TRIM | SWT.FLAT | SWT.BORDER); + } + + /** + * Configures the tab folder control. + * + * @param tabFolder The tab folder control. Must not be null. + */ + protected void doConfigureTabFolderControl(CTabFolder tabFolder) { + Assert.isNotNull(tabFolder); + + // Set the layout data + tabFolder.setLayoutData(new GridData(GridData.FILL_BOTH)); + + // Set the tab gradient coloring from the global preferences + if (useGradientTabBackgroundColor()) { + tabFolder.setSelectionBackground(new Color[] { + JFaceResources.getColorRegistry().get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_START"), //$NON-NLS-1$ + JFaceResources.getColorRegistry().get("org.eclipse.ui.workbench.ACTIVE_TAB_BG_END") //$NON-NLS-1$ + }, new int[] { 100 }, true); + } + // Apply the tab folder selection foreground color + tabFolder.setSelectionForeground(JFaceResources.getColorRegistry().get("org.eclipse.ui.workbench.ACTIVE_TAB_TEXT_COLOR")); //$NON-NLS-1$ + + // Set the tab style from the global preferences + tabFolder.setSimple(PlatformUI.getPreferenceStore().getBoolean(IWorkbenchPreferenceConstants.SHOW_TRADITIONAL_STYLE_TABS)); + } + + /** + * If True is returned, the inner tabs are colored with gradient coloring set in + * the Eclipse workbench color settings. + * + * @return True to use gradient tab colors, false otherwise. + */ + protected boolean useGradientTabBackgroundColor() { + return false; + } + + /** + * Creates the tab folder manager. + * + * @param parentView The parent view instance. Must not be null. + * @return The tab folder manager. Must never be null. + */ + protected TabFolderManager doCreateTabFolderManager(ITerminalsView parentView) { + Assert.isNotNull(parentView); + return new TabFolderManager(parentView); + } + + /** + * Creates the tab folder menu handler. + * + * @param parentView The parent view instance. Must not be null. + * @return The tab folder menu handler. Must never be null. + */ + protected TabFolderMenuHandler doCreateTabFolderMenuHandler(ITerminalsView parentView) { + Assert.isNotNull(parentView); + return new TabFolderMenuHandler(parentView); + } + + /** + * Configure the tab folder menu handler + * + * @param menuHandler The tab folder menu handler. Must not be null. + */ + protected void doConfigureTabFolderMenuHandler(TabFolderMenuHandler menuHandler) { + Assert.isNotNull(menuHandler); + menuHandler.initialize(); + } + + /** + * Creates the tab folder toolbar handler. + * + * @param parentView The parent view instance. Must not be null. + * @return The tab folder toolbar handler. Must never be null. + */ + protected TabFolderToolbarHandler doCreateTabFolderToolbarHandler(ITerminalsView parentView) { + Assert.isNotNull(parentView); + return new TabFolderToolbarHandler(parentView); + } + + /** + * Configure the tab folder toolbar handler + * + * @param toolbarHandler The tab folder toolbar handler. Must not be null. + */ + protected void doConfigureTabFolderToolbarHandler(TabFolderToolbarHandler toolbarHandler) { + Assert.isNotNull(toolbarHandler); + toolbarHandler.initialize(); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + if (pageBookControl != null) pageBookControl.setFocus(); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#switchToEmptyPageControl() + */ + @Override + public void switchToEmptyPageControl() { + if (pageBookControl != null && !pageBookControl.isDisposed() + && emptyPageControl != null && !emptyPageControl.isDisposed()) { + pageBookControl.showPage(emptyPageControl); + } + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#switchToTabFolderControl() + */ + @Override + public void switchToTabFolderControl() { + if (pageBookControl != null && !pageBookControl.isDisposed() + && tabFolderControl != null && !tabFolderControl.isDisposed()) { + pageBookControl.showPage(tabFolderControl); + } + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) + */ + @Override + public Object getAdapter(Class adapter) { + if (CTabFolder.class.isAssignableFrom(adapter)) { + return tabFolderControl; + } + if (TabFolderManager.class.isAssignableFrom(adapter)) { + return tabFolderManager; + } + if (TabFolderMenuHandler.class.isAssignableFrom(adapter)) { + return tabFolderMenuHandler; + } + if (TabFolderToolbarHandler.class.isAssignableFrom(adapter)) { + return tabFolderToolbarHandler; + } + if (TerminalsViewMementoHandler.class.isAssignableFrom(adapter)) { + return mementoHandler; + } + + return super.getAdapter(adapter); + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#setPinned(boolean) + */ + @Override + public void setPinned(boolean pin) { + this.pinned = pin; + } + + /* (non-Javadoc) + * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#isPinned() + */ + @Override + public boolean isPinned() { + return pinned; + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.ViewPart#saveState(org.eclipse.ui.IMemento) + */ + @Override + public void saveState(IMemento memento) { + super.saveState(memento); + if (memento == null) return; + mementoHandler.saveState(this, memento); + } + + /** + * Restore the view state from the given memento. + * + * @param memento The memento or null. + */ + public void restoreState(IMemento memento) { + if (memento == null) return; + mementoHandler.restoreState(this, memento); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext) + */ + @Override + public boolean show(ShowInContext context) { + if (context != null) { + // Get the selection from the context + ISelection selection = context.getSelection(); + // The selection must contain elements that can be adapted to IResource + if (selection instanceof IStructuredSelection && !selection.isEmpty()) { + boolean isValid = true; + + Iterator iterator = ((IStructuredSelection)selection).iterator(); + while (iterator.hasNext() && isValid) { + Object element = iterator.next(); + Object adapted = null; + + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ + if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (element instanceof org.eclipse.core.resources.IResource) continue; + + adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(org.eclipse.core.resources.IResource.class) : null; + if (adapted == null) adapted = Platform.getAdapterManager().getAdapter(element, org.eclipse.core.resources.IResource.class); + if (adapted == null) adapted = Platform.getAdapterManager().loadAdapter(element, org.eclipse.core.resources.IResource.class.getName()); + } + + isValid = adapted != null; + } + + // If the selection is valid, fire the command to open the local terminal + if (isValid) { + ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); + Command command = service != null ? service.getCommand("org.eclipse.tcf.te.ui.terminals.local.command.launch") : null; //$NON-NLS-1$ + if (command != null && command.isDefined() && command.isEnabled()) { + try { + ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); + Assert.isNotNull(pCmd); + IHandlerService handlerSvc = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); + Assert.isNotNull(handlerSvc); + IEvaluationContext ctx = handlerSvc.getCurrentState(); + ctx = new EvaluationContext(ctx, selection); + ctx.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); + handlerSvc.executeCommandInContext(pCmd, null, ctx); + } catch (Exception e) { + // If the platform is in debug mode, we print the exception to the log view + if (Platform.inDebugMode()) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + Messages.AbstractTriggerCommandHandler_error_executionFailed, e); + UIPlugin.getDefault().getLog().log(status); + } + } + } + return true; + } + } + } + return false; + } +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java new file mode 100644 index 00000000000..4fcd76596ec --- /dev/null +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java @@ -0,0 +1,210 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.ui.terminals.view; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.atomic.AtomicBoolean; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.actions.PinTerminalAction; +import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; +import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.PlatformUI; + +/** + * Take care of the persisted state handling of the "Terminals" view. + */ +public class TerminalsViewMementoHandler { + // The list of items to save. See the workbench listener implementation + // in o.e.tcf.te.ui.terminals.activator.UIPlugin. + private final List saveables = new ArrayList(); + + /** + * Sets the list of saveable items. + * + * @param saveables The list of saveable items. Must not be null. + */ + public void setSaveables(List saveables) { + Assert.isNotNull(saveables); + this.saveables.clear(); + this.saveables.addAll(saveables); + } + + /** + * Saves the view state in the given memento. + * + * @param view The terminals view. Must not be null. + * @param memento The memento. Must not be null. + */ + @SuppressWarnings("unchecked") + public void saveState(TerminalsView view, IMemento memento) { + Assert.isNotNull(view); + Assert.isNotNull(memento); + + // Create a child element within the memento holding the + // connection info of the open, non-terminated tab items + memento = memento.createChild("terminalConnections"); //$NON-NLS-1$ + Assert.isNotNull(memento); + + // Write the view id and secondary id + memento.putString("id", view.getViewSite().getId()); //$NON-NLS-1$ + memento.putString("secondaryId", view.getViewSite().getSecondaryId()); //$NON-NLS-1$ + + // Save the pinned state + memento.putBoolean("pinned", view.isPinned()); //$NON-NLS-1$ + + // Loop the saveable items and store the connection data of each + // item to the memento + for (CTabItem item : saveables) { + // Ignore disposed items + if (item.isDisposed()) continue; + + // Get the original terminal properties associated with the tab item + Map properties = (Map)item.getData("properties"); //$NON-NLS-1$ + if (properties == null) continue; + + // Get the terminal launcher delegate + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + ILauncherDelegate delegate = delegateId != null ? LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false) : null; + IMementoHandler mementoHandler = delegate != null ? (IMementoHandler)delegate.getAdapter(IMementoHandler.class) : null; + if (mementoHandler != null) { + // Create terminal connection child memento + IMemento connectionMemento = memento.createChild("connection"); //$NON-NLS-1$ + Assert.isNotNull(connectionMemento); + // Store the common attributes + connectionMemento.putString(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegateId); + + String terminalConnectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (terminalConnectorId != null) { + connectionMemento.putString(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, terminalConnectorId); + } + + if (properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW) instanceof Boolean) { + connectionMemento.putBoolean(ITerminalsConnectorConstants.PROP_FORCE_NEW, ((Boolean)properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW)).booleanValue()); + } + + // Pass on to the memento handler + mementoHandler.saveState(connectionMemento, properties); + } + } + } + + /** + * Restore the view state from the given memento. + * + * @param view The terminals view. Must not be null. + * @param memento The memento. Must not be null. + */ + protected void restoreState(final TerminalsView view, IMemento memento) { + Assert.isNotNull(view); + Assert.isNotNull(memento); + + // Get the "terminalConnections" memento + memento = memento.getChild("terminalConnections"); //$NON-NLS-1$ + if (memento != null) { + // Read view id and secondary id + String id = memento.getString("id"); //$NON-NLS-1$ + String secondaryId = memento.getString("secondaryId"); //$NON-NLS-1$ + if ("null".equals(secondaryId)) secondaryId = null; //$NON-NLS-1$ + + final IMemento finMemento = memento; + // Restore the pinned state of the after all connections completed + final Runnable runnable = new Runnable() { + @Override + public void run() { + if (finMemento.getBoolean("pinned") != null) { //$NON-NLS-1$ + asyncExec(new Runnable() { + @Override + public void run() { + view.setPinned(finMemento.getBoolean("pinned").booleanValue()); //$NON-NLS-1$ + + TabFolderToolbarHandler toolbarHandler = (TabFolderToolbarHandler)view.getAdapter(TabFolderToolbarHandler.class); + if (toolbarHandler != null) { + PinTerminalAction action = (PinTerminalAction)toolbarHandler.getAdapter(PinTerminalAction.class); + if (action != null) action.setChecked(view.isPinned()); + } + } + }); + } + } + }; + + final AtomicBoolean allProcessed = new AtomicBoolean(false); + final List callbacks = new ArrayList(); + + // Get all the "connection" memento's. + IMemento[] connections = memento.getChildren("connection"); //$NON-NLS-1$ + for (IMemento connection : connections) { + // Create the properties container that holds the terminal properties + Map properties = new HashMap(); + + // Set the view id attributes + properties.put(ITerminalsConnectorConstants.PROP_ID, id); + properties.put(ITerminalsConnectorConstants.PROP_SECONDARY_ID, secondaryId); + + // Restore the common attributes + properties.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, connection.getString(ITerminalsConnectorConstants.PROP_DELEGATE_ID)); + properties.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, connection.getString(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID)); + if (connection.getBoolean(ITerminalsConnectorConstants.PROP_FORCE_NEW) != null) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, connection.getBoolean(ITerminalsConnectorConstants.PROP_FORCE_NEW)); + } + + // Get the terminal launcher delegate + String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); + ILauncherDelegate delegate = delegateId != null ? LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false) : null; + IMementoHandler mementoHandler = delegate != null ? (IMementoHandler)delegate.getAdapter(IMementoHandler.class) : null; + if (mementoHandler != null) { + // Pass on to the memento handler + mementoHandler.restoreState(connection, properties); + } + + // Restore the terminal connection + if (delegate != null && !properties.isEmpty()) { + ITerminalService.Done done = new ITerminalService.Done() { + @Override + public void done(IStatus status) { + callbacks.remove(this); + if (allProcessed.get() && callbacks.isEmpty()) { + asyncExec(runnable); + } + } + }; + callbacks.add(done); + delegate.execute(properties, done); + } + } + + allProcessed.set(true); + if (callbacks.isEmpty()) asyncExec(runnable); + } + } + + /** + * Executes the given runnable asynchronously in the display thread. + * + * @param runnable The runnable. Must not be null. + */ + /* default */ void asyncExec(Runnable runnable) { + Assert.isNotNull(runnable); + if (PlatformUI.getWorkbench() != null && PlatformUI.getWorkbench().getDisplay() != null && !PlatformUI.getWorkbench().getDisplay().isDisposed()) { + PlatformUI.getWorkbench().getDisplay().asyncExec(runnable); + } + } +} From c50ea0d54ce5fdc3c2427e9c4c62c434624312fe Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 11:00:41 +0100 Subject: [PATCH 584/843] Terminals: Also move terminals core plugin --- .../.classpath | 7 + .../.options | 1 + .../.project | 39 ++ .../.settings/org.eclipse.jdt.core.prefs | 362 ++++++++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 56 +++ .../.settings/org.eclipse.pde.prefs | 32 ++ .../META-INF/MANIFEST.MF | 20 + .../about.html | 28 ++ .../build.properties | 16 + .../plugin.properties | 14 + .../plugin.xml | 6 + .../org.eclipse.tcf.te.core.terminals/pom.xml | 17 + .../schema/contextPropertiesProviders.exsd | 129 +++++ ...minalContextPropertiesProviderFactory.java | 228 +++++++++ .../terminals/TerminalServiceFactory.java | 51 ++ .../activator/CoreBundleActivator.java | 56 +++ .../ITerminalContextPropertiesProvider.java | 53 ++ .../interfaces/ITerminalService.java | 73 +++ ...nalServiceOutputStreamMonitorListener.java | 27 ++ .../interfaces/ITerminalTabListener.java | 27 ++ .../IContextPropertiesConstants.java | 50 ++ .../constants/ILineSeparatorConstants.java | 34 ++ .../ITerminalsConnectorConstants.java | 331 +++++++++++++ .../tcf/te/core/terminals/nls/Messages.java | 35 ++ .../te/core/terminals/nls/Messages.properties | 14 + .../preferences/ScopedEclipsePreferences.java | 459 ++++++++++++++++++ .../core/terminals/tracing/TraceHandler.java | 295 +++++++++++ .../tcf/te/core/terminals/utils/Env.java | 231 +++++++++ 28 files changed, 2691 insertions(+) create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.classpath create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.options create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.project create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/about.html create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/build.properties create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/plugin.properties create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/plugin.xml create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/pom.xml create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.classpath b/plugins/org.eclipse.tcf.te.core.terminals/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.options b/plugins/org.eclipse.tcf.te.core.terminals/.options new file mode 100644 index 00000000000..cd0d16fd131 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.options @@ -0,0 +1 @@ +org.eclipse.tcf.te.core.terminals/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.project b/plugins/org.eclipse.tcf.te.core.terminals/.project new file mode 100644 index 00000000000..755248325f2 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.project @@ -0,0 +1,39 @@ + + + org.eclipse.tcf.te.core.terminals + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + + + + 1329501981620 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..536dbb4bfda --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,362 @@ +#Sat Oct 15 08:44:04 CEST 2011 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..88bb9570e83 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,56 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..574ee9c7261 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF @@ -0,0 +1,20 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tcf.te.core.terminals;singleton:=true +Bundle-Version: 1.3.0.qualifier +Bundle-Activator: org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tcf.te.core.terminals, + org.eclipse.tcf.te.core.terminals.activator;x-internal:=true, + org.eclipse.tcf.te.core.terminals.interfaces, + org.eclipse.tcf.te.core.terminals.interfaces.constants, + org.eclipse.tcf.te.core.terminals.nls;x-internal:=true, + org.eclipse.tcf.te.core.terminals.preferences, + org.eclipse.tcf.te.core.terminals.tracing, + org.eclipse.tcf.te.core.terminals.utils diff --git a/plugins/org.eclipse.tcf.te.core.terminals/about.html b/plugins/org.eclipse.tcf.te.core.terminals/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                    About This Content

                                    + +

                                    May 24, 2012

                                    +

                                    License

                                    + +

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                    + +

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                    + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tcf.te.core.terminals/build.properties b/plugins/org.eclipse.tcf.te.core.terminals/build.properties new file mode 100644 index 00000000000..20b8ec4298b --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + about.html,\ + plugin.xml diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties b/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties new file mode 100644 index 00000000000..8bb225013de --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties @@ -0,0 +1,14 @@ +################################################################################## +# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Target Explorer, Terminals Core +providerName = Eclipse.org - Target Explorer + +ExtensionPoint.contextPropertiesProviders = Terminal Context Properties Providers diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml new file mode 100644 index 00000000000..4d281a2f19d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/pom.xml b/plugins/org.eclipse.tcf.te.core.terminals/pom.xml new file mode 100644 index 00000000000..bcef6fca921 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tcf + org.eclipse.tcf.maven-build + 1.3.0-SNAPSHOT + ../../../admin/pom-build.xml + + + 1.3.0.qualifier + org.eclipse.tcf.te.core.terminals + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd b/plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd new file mode 100644 index 00000000000..929f094d543 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd @@ -0,0 +1,129 @@ + + + + + + + + + This extension point is used to contribute terminal context properties providers. The context properties provider allows querying desired properties for a given context. +<p> +The terminal context is passed in as default variable to the enablement expression evaluation. The terminal context is not expected to be iteratable or countable. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Declares a terminal context properties provider contribution. + + + + + + + + + + The class that implements <code>org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider</code>. + + + + + + + + + + + + + + + Target Explorer 1.3.0 + + + + + + + + + This is an example of the extension point usage: +<p> +<pre><code> + <extension point="org.eclipse.tcf.te.core.terminals.contextPropertiesProviders"> + <contextPropertiesProvider + class="com.my.contribution.MyContextPropertiesProviderImpl"> + </contextPropertiesProvider> + </extension> +</code></pre> + + + + + + + + + The provider of a terminal context properties provider must implement <samp>org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider</samp>. + + + + + + + + + + Copyright (c) 2015 Wind River Systems, Inc. and others. + +All rights reserved. + +This program and the accompanying materials are made available under the terms +of the Eclipse Public License v1.0 which accompanies this distribution, and is +available at http://www.eclipse.org/legal/epl-v10.html. + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java new file mode 100644 index 00000000000..c0bddc9bce8 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java @@ -0,0 +1,228 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals; + +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.expressions.EvaluationContext; +import org.eclipse.core.expressions.EvaluationResult; +import org.eclipse.core.expressions.Expression; +import org.eclipse.core.expressions.ExpressionConverter; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IConfigurationElement; +import org.eclipse.core.runtime.IExecutableExtension; +import org.eclipse.core.runtime.IExtension; +import org.eclipse.core.runtime.IExtensionPoint; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.osgi.util.NLS; +import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tcf.te.core.terminals.nls.Messages; + +/** + * Terminal context properties provider factory. + */ +public final class TerminalContextPropertiesProviderFactory { + // Flag to remember if the contributions got loaded + private static boolean contributionsLoaded = false; + + // The list of all loaded contributions + private static final List contributions = new ArrayList(); + + // The proxy used to achieve lazy class loading and plug-in activation + private static class Proxy implements IExecutableExtension { + // Reference to the configuration element + private IConfigurationElement configElement = null; + // The class implementing the provider + public String clazz; + // The context properties provider instance + private ITerminalContextPropertiesProvider provider = null; + // The converted expression + private Expression expression; + + /** + * Constructor. + */ + protected Proxy() { + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.IExecutableExtension#setInitializationData(org.eclipse.core.runtime.IConfigurationElement, java.lang.String, java.lang.Object) + */ + @Override + public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException { + Assert.isNotNull(config); + this.configElement = config; + + // Read the class attribute. + // Throws an exception if the attribute value is empty or null. + clazz = config.getAttribute("class"); //$NON-NLS-1$ + if (clazz == null || "".equals(clazz.trim())) { //$NON-NLS-1$ + throw new CoreException(new Status(IStatus.ERROR, + CoreBundleActivator.getUniqueIdentifier(), + NLS.bind(Messages.Extension_error_missingRequiredAttribute, "class", config.getContributor().getName()))); //$NON-NLS-1$ + } + + // Read the "enablement" sub element of the extension + IConfigurationElement[] children = configElement.getChildren("enablement"); //$NON-NLS-1$ + if (children == null || children.length == 0) { + throw new CoreException(new Status(IStatus.ERROR, + CoreBundleActivator.getUniqueIdentifier(), + NLS.bind(Messages.Extension_error_missingRequiredAttribute, "enablement", config.getContributor().getName()))); //$NON-NLS-1$ + } + // Only one "enablement" element is expected + expression = ExpressionConverter.getDefault().perform(children[0]); + } + + /** + * Return the real terminal context properties provider instance for this proxy. + */ + protected ITerminalContextPropertiesProvider getProvider() { + if (provider == null && configElement != null) { + try { + // Create the service class instance via the configuration element + Object provider = configElement.createExecutableExtension("class"); //$NON-NLS-1$ + if (provider instanceof ITerminalContextPropertiesProvider) { + this.provider = (ITerminalContextPropertiesProvider)provider; + } + else { + IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), "Terminal context properties provider '" + provider.getClass().getName() + "' not of type ITerminalContextPropertiesProvider."); //$NON-NLS-1$ //$NON-NLS-2$ + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status); + } + } + catch (CoreException e) { + IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), "Cannot create terminal context properties provider '" + clazz + "'.", e); //$NON-NLS-1$ //$NON-NLS-2$ + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status); + } + } + return provider; + } + + /** + * Returns if or if not the context properties provider contribution is enabled for + * the given terminal context. + * + * @param context The terminal context or null. + * @return True if the context properties provider contribution is enabled + * for the given terminal context, false otherwise. + */ + protected boolean isEnabled(Object context) { + if (context == null) { + return getEnablement() == null; + } + + Expression enablement = getEnablement(); + + // The service contribution is enabled by default if no expression is specified. + boolean enabled = enablement == null; + + if (enablement != null) { + // Set the default variable to the service context. + EvaluationContext evalContext = new EvaluationContext(null, context); + // Allow plug-in activation + evalContext.setAllowPluginActivation(true); + // Evaluate the expression + try { + enabled = enablement.evaluate(evalContext).equals(EvaluationResult.TRUE); + } catch (CoreException e) { + IStatus status = new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), e.getLocalizedMessage(), e); + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(status); + } + } + + return enabled; + } + + /** + * Returns the enablement expression. + * + * @return The enablement expression or null. + */ + protected Expression getEnablement() { + return expression; + } + } + + + /** + * Creates a new terminal context properties provider proxy instance and initialize it. + * + * @param config The configuration element. Must not be null. + * @return The new terminal context properties provider proxy instance. + */ + private static Proxy getProxy(IConfigurationElement config) { + Assert.isNotNull(config); + Proxy proxy = new Proxy(); + try { + proxy.setInitializationData(config, null, null); + } catch (CoreException e) { + if (Platform.inDebugMode()) { + Platform.getLog(CoreBundleActivator.getContext().getBundle()).log(e.getStatus()); + } + } + return proxy; + } + + /** + * Load the terminal context properties provider contributions. + */ + private static void loadContributions() { + IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tcf.te.core.terminals.contextPropertiesProviders"); //$NON-NLS-1$ + if (ep != null) { + IExtension[] extensions = ep.getExtensions(); + if (extensions != null) { + for (IExtension extension : extensions) { + IConfigurationElement[] configElements = extension.getConfigurationElements(); + if (configElements != null) { + for (IConfigurationElement configElement : configElements) { + if ("contextPropertiesProvider".equals(configElement.getName())) { //$NON-NLS-1$ + Proxy proxy = getProxy(configElement); + contributions.add(proxy); + } + } + } + } + } + } + } + + /** + * Get the terminal context properties provider for the given context. The first terminal + * context properties provider which is enabled is returned. + * + * @param context The terminal context. Must not be null. + * + * @return The service or null. + */ + public static ITerminalContextPropertiesProvider getProvider(Object context) { + Assert.isNotNull(context); + + // Load the contributions if not yet loaded + synchronized (contributions) { + if (!contributionsLoaded) { + loadContributions(); + contributionsLoaded = true; + } + } + + for (Proxy proxy : contributions) { + if (proxy.isEnabled(context)) { + return proxy.getProvider(); + } + } + + return null; + } + +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java new file mode 100644 index 00000000000..4b5eba9c958 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; +import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; +import org.eclipse.tcf.te.core.terminals.nls.Messages; +import org.osgi.framework.Bundle; + +/** + * Terminal service factory implementation. + *

                                    + * Provides access to the terminal service instance. + */ +public final class TerminalServiceFactory { + private static ITerminalService instance = null; + + static { + // Tries to instantiate the terminal service implementation + // from the o.e.tcf.te.ui.terminals bundle + Bundle bundle = Platform.getBundle("org.eclipse.tcf.te.ui.terminals"); //$NON-NLS-1$ + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { + try { + Class clazz = bundle.loadClass("org.eclipse.tcf.te.ui.terminals.services.TerminalService"); //$NON-NLS-1$ + instance = (ITerminalService) clazz.newInstance(); + } + catch (Exception e) { + if (Platform.inDebugMode()) { + Platform.getLog(bundle).log(new Status(IStatus.ERROR, CoreBundleActivator.getUniqueIdentifier(), Messages.TerminalServiceFactory_error_serviceImplLoadFailed, e)); + } + } + } + } + + /** + * Returns the terminal service instance. + */ + public static ITerminalService getService() { + return instance; + } +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java new file mode 100644 index 00000000000..054468888df --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java @@ -0,0 +1,56 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.activator; + +import org.osgi.framework.BundleActivator; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class CoreBundleActivator implements BundleActivator { + // The bundle context + private static BundleContext context; + + /** + * Returns the bundle context + * + * @return the bundle context + */ + public static BundleContext getContext() { + return context; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getContext() != null && getContext().getBundle() != null) { + return getContext().getBundle().getSymbolicName(); + } + return "org.eclipse.tcf.te.core.terminals"; //$NON-NLS-1$ + } + + /* (non-Javadoc) + * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext) + */ + @Override + public void start(BundleContext bundleContext) throws Exception { + CoreBundleActivator.context = bundleContext; + } + + /* (non-Javadoc) + * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext) + */ + @Override + public void stop(BundleContext bundleContext) throws Exception { + CoreBundleActivator.context = null; + } +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java new file mode 100644 index 00000000000..41f2cd3e79f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces; + +import java.util.Map; + +/** + * Terminal context properties provider. + *

                                    + * The context properties provider allows querying desired properties + * for a given context. The context is typically an element from a selection + * and the inner structure of the element is unknown to the terminal. + */ +public interface ITerminalContextPropertiesProvider { + + /** + * Returns a unmodifiable map containing the target address and port for the given context, + * if it can be determined. + *

                                    + * A context may return multiple target addresses and ports if the context can be reached using + * different connection methods. + *

                                    + * Note: + *

                                      + *
                                    • See the constants defined in the context provider constants interface for default + * address and port types.
                                    • + *
                                    • The target address returned must not necessarily be an IP address.
                                    • + *
                                    • The values of the address or port properties might be null.
                                    • + *
                                    + * + * @param context The context to get the target addresses and ports from. Must not be null. + * @return The unmodifiable map containing the target addresses and ports, or null. + */ + public Map getTargetAddress(Object context); + + /** + * Returns the property value stored under the given property key. If the property does not + * exist, null is returned. + * + * @param context The context to get the property from. Must not be null. + * @param key The property key. Must not be null. + * + * @return The stored property value or null. + */ + public Object getProperty(Object context, String key); +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java new file mode 100644 index 00000000000..e4c90c5878c --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java @@ -0,0 +1,73 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces; + +import java.util.Map; + +import org.eclipse.core.runtime.IStatus; + +/** + * Terminals service. + */ +public interface ITerminalService { + + /** + * Client call back interface. + */ + public interface Done { + /** + * Called when the terminal service operation is done. + * + * @param status The status of the terminal service operation. + */ + public void done(IStatus status); + } + + /** + * Opens a terminal asynchronously and invokes the given callback if done. + * + * @param properties The terminal properties. Must not be null. + * @param done The callback to invoke if finished or null. + */ + public void openConsole(Map properties, Done done); + + /** + * Close the terminal asynchronously and invokes the given callback if done. + * + * @param properties The terminal properties. Must not be null. + * @param done The callback to invoke if finished or null. + */ + public void closeConsole(Map properties, Done done); + + /** + * Terminate (disconnect) the terminal asynchronously and invokes the given callback if done. + * + * @param properties The terminal properties. Must not be null. + * @param done The callback to invoke if finished or null. + */ + public void terminateConsole(Map properties, Done done); + + /** + * Register the given listener to receive notifications about terminal events. + * Calling this method multiple times with the same listener has no effect. + + * @param listener The terminal tab listener. Must not be null. + */ + public void addTerminalTabListener(ITerminalTabListener listener); + + /** + * Unregister the given listener from receiving notifications about terminal + * events. Calling this method multiple times with the same listener + * has no effect. + * + * @param listener The terminal tab listener. Must not be null. + */ + public void removeTerminalTabListener(ITerminalTabListener listener); +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java new file mode 100644 index 00000000000..dda3704b018 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2014 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces; + +/** + * An interface to be implemented by listeners who want to listen + * to the streams data without interfering with the original data receiver. + *

                                    + * Listeners are invoked within the monitor processing thread. + */ +public interface ITerminalServiceOutputStreamMonitorListener { + + /** + * Signals that some content has been read from the monitored stream. + * + * @param byteBuffer The byte stream. Must not be null. + * @param bytesRead The number of bytes that were read into the read buffer. + */ + public void onContentReadFromStream(byte[] byteBuffer, int bytesRead); +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java new file mode 100644 index 00000000000..77e3e04eb13 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces; + +/** + * Listener to implement and to register to get notified about + * terminal tabs events, like the disposal of a terminal tab. + */ +public interface ITerminalTabListener { + + /** + * Invoked once a terminal tab got disposed. The source object is + * the disposed tab item and data is the custom data object associated + * with the disposed tab item. + * + * @param source The disposed tab item. Must not be null. + * @param data The custom data object associated with the disposed tab item or null. + */ + public void terminalTabDisposed(Object source, Object data); +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java new file mode 100644 index 00000000000..b2e98aacd39 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java @@ -0,0 +1,50 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces.constants; + +/** + * Defines the terminal context properties constants. + */ +public interface IContextPropertiesConstants { + + /** + * Target name. + *

                                    + * The target name is not meant to be identical with the targets network name. It can + * be the targets network name, but it can be any other string identifying the target + * to the user as well. The name is for display only, it is not meant to be used for + * communicating with the target. + */ + public static String PROP_NAME = "name"; //$NON-NLS-1$ + + /** + * Target agent address. + *

                                    + * The value is typically the address an agent running at the target. + */ + public static String PROP_ADDRESS = "address"; //$NON-NLS-1$ + + /** + * Target agent port. + *

                                    + * The value is typically the port an agent running at the target. + */ + public static String PROP_PORT = "port"; //$NON-NLS-1$ + + /** + * The default user name to use to log into the target. + */ + public static String PROP_DEFAULT_USER = "defaultUser"; //$NON-NLS-1$ + + /** + * The default encoding to use. + */ + public static String PROP_DEFAULT_ENCODING = "defaultEncoding"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java new file mode 100644 index 00000000000..8fea4b82df7 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces.constants; + +/** + * Line separator constants. + *

                                    + * Copied from org.eclipse.tcf.internal.terminal.local.ILocalTerminalSettings. + */ +public interface ILineSeparatorConstants { + + /** + * The line separator setting CR (carriage return only; for example, used by Mac OS 9). + */ + public final static String LINE_SEPARATOR_CR = "\\r"; //$NON-NLS-1$ + + /** + * The line separator setting CRLF (carriage return and line feed; for example, used by + * Windows). + */ + public final static String LINE_SEPARATOR_CRLF = "\\r\\n"; //$NON-NLS-1$ + + /** + * The line separator setting LF (line feed only; used by all UNIX-based systems). + */ + public final static String LINE_SEPARATOR_LF = "\\n"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java new file mode 100644 index 00000000000..0624d36224f --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java @@ -0,0 +1,331 @@ +/******************************************************************************* + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.interfaces.constants; + +import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; + + +/** + * Defines the terminals connector constants. + */ +public interface ITerminalsConnectorConstants { + + /** + * Property: The unique id of the terminals view to open. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_ID = "id"; //$NON-NLS-1$ + + /** + * Property: The unique secondary id of the terminals view to open. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SECONDARY_ID = "secondaryId"; //$NON-NLS-1$ + + /** + * Property: The title of the terminal tab to open. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_TITLE = "title"; //$NON-NLS-1$ + + /** + * Property: The encoding of the terminal tab to open. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_ENCODING = "encoding"; //$NON-NLS-1$ + + /** + * Property: Custom data object to associate with the terminal tab. + *

                                    + * Property Type: {@link Object} + */ + public static final String PROP_DATA = "data"; //$NON-NLS-1$ + + /** + * Property: External selection to associate with the terminal tab. + *

                                    + * Property Type: {@link org.eclipse.jface.viewers.ISelection} + */ + public static final String PROP_SELECTION = "selection"; //$NON-NLS-1$ + + /** + * Property: Flag to force a new terminal tab. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_FORCE_NEW = "terminal.forceNew"; //$NON-NLS-1$ + + /** + * Property: Flag to signal if the terminal tab shall have a disconnect button or not. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_HAS_DISCONNECT_BUTTON = "hasDisconnectButton"; //$NON-NLS-1$ + + /** + * Property: Terminals launcher delegate id. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_DELEGATE_ID = "delegateId"; //$NON-NLS-1$ + + /** + * Property: Specific terminal connector type id. Allows clients to + * override the specifically used terminal connector + * implementation for a given type. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_TERMINAL_CONNECTOR_ID = "tm.terminal.connector.id"; //$NON-NLS-1$ + + // ***** Generic terminals connector properties ***** + + /** + * Property: Timeout to be passed to the terminal connector. The specific terminal + * connector implementation may interpret this value differently. If not + * set, the terminal connector may use a default value. + *

                                    + * Property Type: {@link Integer} + */ + public static final String PROP_TIMEOUT = "timeout"; //$NON-NLS-1$ + + /** + * Property: Flag to control if a local echo is needed from the terminal widget. + *

                                    Typical for process and streams terminals. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_LOCAL_ECHO = "localEcho"; //$NON-NLS-1$ + + /** + * Property: Data flag to tell the terminal to not reconnect when hitting enter + * in a disconnected terminal. + * The flag can be set by adding an IPropertiesContainer with the set + * flag as PROP_DATA. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_DATA_NO_RECONNECT = "data.noReconnect"; //$NON-NLS-1$ + + /** + * Property: The line separator expected by the remote terminal on input streams and + * send by the remote terminal on output streams. + *

                                    Typical for process and streams terminals. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_LINE_SEPARATOR = "lineSeparator"; //$NON-NLS-1$ + + /** + * Property: The list of stdout listeners to attach to the corresponding stream monitor. + *

                                    Typical for process and streams terminals. + *

                                    + * Property Type: {@link ITerminalServiceOutputStreamMonitorListener} array + */ + public static final String PROP_STDOUT_LISTENERS = "stdoutListeners"; //$NON-NLS-1$ + + /** + * Property: The list of stderr listeners to attach to the corresponding stream monitor. + *

                                    Typical for process and streams terminals. + *

                                    + * Property Type: {@link ITerminalServiceOutputStreamMonitorListener} array + */ + public static final String PROP_STDERR_LISTENERS = "stderrListeners"; //$NON-NLS-1$ + + /** + * Property: If set to true, backslashes are translated to + * slashes before pasting the text to the terminal widget. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_TRANSLATE_BACKSLASHES_ON_PASTE = "translateBackslashesOnPaste"; //$NON-NLS-1$ + + // ***** IP based terminals connector properties ***** + + /** + * Property: Host name or IP address the terminal server is running. + *

                                    Typical for telnet or ssh terminals. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_IP_HOST = "ip.host"; //$NON-NLS-1$ + + /** + * Property: Port at which the terminal server is providing the console input and output. + *

                                    Typical for telnet or ssh terminals. + *

                                    + * Property Type: {@link Integer} + */ + public static final String PROP_IP_PORT = "ip.port"; //$NON-NLS-1$ + + /** + * Property: An offset to add to the specified port number. + *

                                    Typical for telnet or ssh terminals. + *

                                    + * Property Type: {@link Integer} + */ + public static final String PROP_IP_PORT_OFFSET = "ip.port.offset"; //$NON-NLS-1$ + + // ***** Process based terminals connector properties ***** + + /** + * Property: Process image path. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_PROCESS_PATH = "process.path"; //$NON-NLS-1$ + + /** + * Property: Process arguments. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_PROCESS_ARGS = "process.args"; //$NON-NLS-1$ + + /** + * Property: Process arguments. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_PROCESS_WORKING_DIR = "process.working_dir"; //$NON-NLS-1$ + + /** + * Property: Process environment. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link String} array + */ + public static final String PROP_PROCESS_ENVIRONMENT = "process.environment"; //$NON-NLS-1$ + + /** + * Property: Flag to merge process environment with native environment. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link Boolean} + */ + public static final String PROP_PROCESS_MERGE_ENVIRONMENT = "process.environment.merge"; //$NON-NLS-1$ + + /** + * Property: Runtime process instance. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link Process} + */ + public static final String PROP_PROCESS_OBJ = "process"; //$NON-NLS-1$ + + /** + * Property: Runtime process PTY instance. + *

                                    Typical for process terminals. + *

                                    + * Property Type: {@link org.eclipse.cdt.utils.pty.PTY} + */ + public static final String PROP_PTY_OBJ = "pty"; //$NON-NLS-1$ + + // ***** Streams based terminals connector properties ***** + + /** + * Property: Stdin streams instance. + *

                                    Typical for streams terminals. + *

                                    + * Property Type: {@link OutputStream} + */ + public static final String PROP_STREAMS_STDIN = "streams.stdin"; //$NON-NLS-1$ + + /** + * Property: Stdout streams instance. + *

                                    Typical for streams terminals. + *

                                    + * Property Type: {@link InputStream} + */ + public static final String PROP_STREAMS_STDOUT = "streams.stdout"; //$NON-NLS-1$ + + /** + * Property: Stderr streams instance. + *

                                    Typical for streams terminals. + *

                                    + * Property Type: {@link InputStream} + */ + public static final String PROP_STREAMS_STDERR = "streams.stderr"; //$NON-NLS-1$ + + // ***** Ssh specific properties ***** + + /** + * Property: ssh keep alive value. + *

                                    + * Property Type: {@link Integer} + */ + public static final String PROP_SSH_KEEP_ALIVE = "ssh.keep_alive"; //$NON-NLS-1$ + + /** + * Property: Ssh password. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SSH_PASSWORD = "ssh.password"; //$NON-NLS-1$ + + /** + * Property: Ssh user. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SSH_USER = "ssh.user"; //$NON-NLS-1$ + + // ***** Serial specific properties ***** + + /** + * The serial device name. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_DEVICE = "serial.device"; //$NON-NLS-1$ + + /** + * The baud rate. + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_BAUD_RATE = "serial.baudrate"; //$NON-NLS-1$ + + /** + * The data bits + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_DATA_BITS = "serial.databits"; //$NON-NLS-1$ + + /** + * The parity + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_PARITY = "serial.parity"; //$NON-NLS-1$ + + /** + * The stop bits + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_STOP_BITS = "serial.stopbits"; //$NON-NLS-1$ + + /** + * The flow control + *

                                    + * Property Type: {@link String} + */ + public static final String PROP_SERIAL_FLOW_CONTROL = "serial.flowcontrol"; //$NON-NLS-1$ +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java new file mode 100644 index 00000000000..23cc87c4636 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tcf.te.core.terminals.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String TerminalServiceFactory_error_serviceImplLoadFailed; + + public static String Extension_error_missingRequiredAttribute; +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties new file mode 100644 index 00000000000..212cd1893c1 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties @@ -0,0 +1,14 @@ +############################################################################### +# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### + +TerminalServiceFactory_error_serviceImplLoadFailed=Failed to load terminal service implementation. + +Extension_error_missingRequiredAttribute=Required attribute "{0}" missing for extension "{1}"! + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java new file mode 100644 index 00000000000..33d505f2ce6 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java @@ -0,0 +1,459 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.preferences; + +import java.io.OutputStream; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.ISafeRunnable; +import org.eclipse.core.runtime.ListenerList; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.SafeRunner; +import org.eclipse.core.runtime.preferences.DefaultScope; +import org.eclipse.core.runtime.preferences.IEclipsePreferences; +import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener; +import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent; +import org.eclipse.core.runtime.preferences.IPreferenceFilter; +import org.eclipse.core.runtime.preferences.IScopeContext; +import org.eclipse.core.runtime.preferences.InstanceScope; +import org.osgi.service.prefs.BackingStoreException; + +/** + * Helper class to handle scoped Eclipse preferences for plug-in's. Scoped + * preferences means a given preference context plus the default preferences + * scope. + *

                                    + * On changes a {@link PreferenceChangeEvent} is sent to inform all listeners of the change. + * + * @see IEclipsePreferences + * @see IEclipsePreferences.PreferenceChangeEvent + * @see IEclipsePreferences.IPreferenceChangeListener + */ +public class ScopedEclipsePreferences { + /** + * The preferences scope qualifier. + */ + private final String qualifier; + + /** + * The default scope preference node. + */ + protected final IEclipsePreferences defaultPrefs; + + /** + * The context scope preference node. + */ + protected final IEclipsePreferences contextScopePrefs; + + /** + * The registered preference change listeners. + */ + private final ListenerList listeners = new ListenerList(); + + /** + * Constructor. + *

                                    + * Initialize the scoped preferences with a new instance scope for the given qualifier. The default + * scope is determined by calling DefaultScope().getNode(qualifier). + * + * @param qualifier The qualifier for the preferences (in example the unique identifier of a plugin). Must not be null. + */ + public ScopedEclipsePreferences(String qualifier) { + this(InstanceScope.INSTANCE, qualifier); + } + + /** + * Constructor. + *

                                    + * Initialize the scoped preferences with the given scope. The default scope + * is determined by calling DefaultScope().getNode(qualifier). + * + * @param context The preference scope context. Must not be null. + * @param qualifier The qualifier for the preferences (in example the unique identifier of a plugin). Must not be null. + */ + public ScopedEclipsePreferences(IScopeContext context, String qualifier) { + Assert.isNotNull(context); + Assert.isNotNull(qualifier); + this.qualifier = qualifier; + defaultPrefs = DefaultScope.INSTANCE.getNode(getQualifier()); + contextScopePrefs = context.getNode(getQualifier()); + } + + /** + * Returns the qualifier that is used to get the preferences. + * For plugin preferences, this is the unique identifier of the plugin. + */ + protected final String getQualifier() { + return qualifier; + } + + /** + * Exports the preferences to the stream. + *

                                    + * Note: The stream will be closed after the export. + * + * @param stream The stream to where preferences and defaults should be exported. + */ + public void exportPreferences(OutputStream stream) { + Assert.isNotNull(stream); + try { + IPreferenceFilter filter = new IPreferenceFilter() { + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.IPreferenceFilter#getScopes() + */ + @Override + public String[] getScopes() { + return new String[] { InstanceScope.SCOPE }; + } + /* (non-Javadoc) + * @see org.eclipse.core.runtime.preferences.IPreferenceFilter#getMapping(java.lang.String) + */ + @Override + public Map getMapping(String scope) { + return null; + } + }; + + Platform.getPreferencesService().exportPreferences(contextScopePrefs, new IPreferenceFilter[] { filter }, stream); + stream.close(); + } + catch (Exception e) { + } + } + + /** + * Check whether a key is set or not. + * + * @param key The key to check. + * @return null if the key does not exist. + */ + public boolean containsKey(String key) { + return Platform.getPreferencesService().getString(getQualifier(), key, null, null) != null; + } + + /** + * Get a String preference value. + * + * @param key The preference key. + * @return The value of the preference key or the default value if not set. + */ + public final String getString(String key) { + return Platform.getPreferencesService().getString(getQualifier(), key, null, null); + } + + /** + * Get a boolean preference value. + * + * @param key The preference key. + * @return The value of the preference key or the default value if not set. + */ + public final boolean getBoolean(String key) { + return Platform.getPreferencesService().getBoolean(getQualifier(), key, false, null); + } + + /** + * Get an int preference value. + * + * @param key The preference key. + * @return The value of the preference key or the default value if not set. + */ + public final int getInt(String key) { + return Platform.getPreferencesService().getInt(getQualifier(), key, 0, null); + } + + /** + * Get a long preference value. + * + * @param key The preference key. + * @return The value of the preference key or the default value if not set. + */ + public final long getLong(String key) { + return Platform.getPreferencesService().getLong(getQualifier(), key, 0, null); + } + + /** + * Get a default String preference value. + * + * @param key The preference key. + * @return The default value of the preference key or null. + */ + public final String getDefaultString(String key) { + return defaultPrefs.get(key, null); + } + + /** + * Get a default boolean preference value. + * + * @param key The preference key. + * @return The default value of the preference key or null. + */ + public final boolean getDefaultBoolean(String key) { + return defaultPrefs.getBoolean(key, false); + } + + /** + * Get a default int preference value. + * + * @param key The preference key. + * @return The default value of the preference key or null. + */ + public final int getDefaultInt(String key) { + return defaultPrefs.getInt(key, 0); + } + + /** + * Get a default long preference value. + * + * @param key The preference key. + * @return The default value of the preference key or null. + */ + public final long getDefaultLong(String key) { + return defaultPrefs.getLong(key, 0); + } + + /** + * Set a String preference value. If the value is null or is equal to + * the default value, the entry will be removed. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. + * + * @param key The preference key. + * @return The value of the preference key. + */ + public void putString(String key, String value) { + String defValue = defaultPrefs.get(key, null); + String instValue = getString(key); + if (value == null || value.equals(defValue)) { + contextScopePrefs.remove(key); + flushAndNotify(contextScopePrefs, key, instValue, defValue); + } + else if (!value.equals(instValue)) { + contextScopePrefs.put(key, value); + flushAndNotify(contextScopePrefs, key, instValue, value); + } + } + + /** + * Set a boolean preference value. If the value is equal the default value, + * the entry will be removed. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. + * + * @param key The preference key. + * @return The value of the preference key. + */ + public void putBoolean(String key, boolean value) { + boolean defValue = defaultPrefs.getBoolean(key, false); + boolean instValue = getBoolean(key); + if (value == defValue) { + contextScopePrefs.remove(key); + flushAndNotify(contextScopePrefs, key, Boolean.toString(instValue), Boolean.toString(defValue)); + } + else if (value != instValue) { + contextScopePrefs.putBoolean(key, value); + flushAndNotify(contextScopePrefs, key, Boolean.toString(instValue), Boolean.toString(value)); + } + } + + /** + * Set an int preference value. If the value is equal to the default value, + * the entry will be removed. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. The old + * and new values are string representation in base 10. + * + * @param key The preference key. + * @return The value of the preference key. + */ + public void putInt(String key, int value) { + int defValue = defaultPrefs.getInt(key, 0); + int instValue = getInt(key); + if (value == defValue) { + contextScopePrefs.remove(key); + flushAndNotify(contextScopePrefs, key, Integer.toString(instValue), Integer.toString(defValue)); + } + else if (value != instValue) { + contextScopePrefs.putInt(key, value); + flushAndNotify(contextScopePrefs, key, Integer.toString(instValue), Integer.toString(value)); + } + } + + /** + * Set a long preference value. If the given value is equal to the default + * value, the entry will be removed. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. The old + * and new values are string representation in base 10. + * + * @param key The preference key. + * @return The value of the preference key. + */ + public void putLong(String key, long value) { + long defValue = defaultPrefs.getLong(key, 0); + long instValue = getLong(key); + if (value == defValue) { + contextScopePrefs.remove(key); + flushAndNotify(contextScopePrefs, key, Long.toString(instValue), Long.toString(defValue)); + } + else if (value != instValue) { + contextScopePrefs.putLong(key, value); + flushAndNotify(contextScopePrefs, key, Long.toString(instValue), Long.toString(value)); + } + } + + /** + * Set a default String preference value. If the given value is null, + * the entry will be removed. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. + * + * @param key The preference key. + * @return The default value of the preference key. + */ + public void putDefaultString(String key, String value) { + String defValue = defaultPrefs.get(key, null); + if (value == null) { + defaultPrefs.remove(key); + flushAndNotify(defaultPrefs, key, defValue, null); + } + else if (!value.equals(defValue)) { + defaultPrefs.put(key, value); + flushAndNotify(defaultPrefs, key, defValue, value); + } + } + + /** + * Set a default boolean preference value. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. + * + * @param key The preference key. + * @return The default value of the preference key. + */ + public void putDefaultBoolean(String key, boolean value) { + boolean defValue = defaultPrefs.getBoolean(key, false); + if (value != defValue) { + defaultPrefs.putBoolean(key, value); + flushAndNotify(defaultPrefs, key, Boolean.toString(defValue), Boolean.toString(value)); + } + } + + /** + * Set a default int preference value. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. The old + * and new values are string representation in base 10. + * + * @param key The preference key. + * @return The default value of the preference key. + */ + public void putDefaultInt(String key, int value) { + int defValue = defaultPrefs.getInt(key, 0); + if (value != defValue) { + defaultPrefs.putInt(key, value); + flushAndNotify(defaultPrefs, key, Integer.toString(defValue), Integer.toString(value)); + } + } + + /** + * Set a default long preference value. + *

                                    + * A {@link PreferenceChangeEvent} is fired, if the value has changed. The old + * and new values are string representation in base 10. + * + * @param key The preference key. + * @return The default value of the preference key. + */ + public void putDefaultLong(String key, long value) { + long defValue = defaultPrefs.getLong(key, 0); + if (value != defValue) { + defaultPrefs.putLong(key, value); + flushAndNotify(defaultPrefs, key, Long.toString(defValue), Long.toString(value)); + } + } + + /** + * Write back the changes to the store and notify all listeners about the changed key. + * + * @param node The preference node which has changed. Must not be null. + * @param key The key of the changed preference. Must not be null. + * @param oldValue The old value as a {@link String}, or null. + * @param newValue The new value as a {@link String}, or null. + */ + protected final void flushAndNotify(IEclipsePreferences node, String key, String oldValue, String newValue) { + // Flush the preferences to the persistence store + try { node.flush(); } catch (BackingStoreException e) { /* Ignored on purpose */ } + + // Notify the listeners + firePreferenceEvent(node, key, oldValue, newValue); + } + + /** + * Register the given listener to receive notifications of preference changes to this node. + * Calling this method multiple times with the same listener has no effect. The given listener + * argument must not be null. + * + * @param listener The preference change listener. Must not be null. + */ + public void addPreferenceChangeListener(IPreferenceChangeListener listener) { + Assert.isNotNull(listener); + listeners.add(listener); + } + + /** + * De-register the given listener from receiving notifications of preference changes + * to this node. Calling this method multiple times with the same listener has no + * effect. The given listener argument must not be null. + * + * @param listener The preference change listener. Must not be null. + */ + public void removePreferenceChangeListener(IPreferenceChangeListener listener) { + Assert.isNotNull(listener); + listeners.remove(listener); + } + + /** + * Convenience method for notifying the registered preference change listeners. + * + * @param node The preference node which has changed. Must not be null. + * @param key The key of the changed preference. Must not be null. + * @param oldValue The old value as a {@link String}, or null. + * @param newValue The new value as a {@link String}, or null. + */ + protected void firePreferenceEvent(IEclipsePreferences node, String key, String oldValue, String newValue) { + Assert.isNotNull(node); + Assert.isNotNull(key); + + // If no listener is registered, we are done here + if (listeners.isEmpty()) return; + + // Get the list or currently registered listeners + Object[] l = listeners.getListeners(); + // Create the preference change event + final PreferenceChangeEvent event = new PreferenceChangeEvent(node, key, oldValue, newValue); + for (int i = 0; i < l.length; i++) { + final IPreferenceChangeListener listener = (IPreferenceChangeListener) l[i]; + ISafeRunnable job = new ISafeRunnable() { + @Override + public void handleException(Throwable exception) { + // already logged in Platform#run() + } + + @Override + public void run() throws Exception { + listener.preferenceChange(event); + } + }; + SafeRunner.run(job); + } + } + +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java new file mode 100644 index 00000000000..fcce8ab071d --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java @@ -0,0 +1,295 @@ +/******************************************************************************* + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.tracing; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; + +/** + * Helper class to handle tracing using the platforms debug capabilities. + */ +public class TraceHandler { + /** + * The bundle identifier. + */ + private final String identifier; + + /** + * The tracer instance. + */ + private Tracer tracer = null; + + /** + * The tracer is responsible for writing the trace message to the desired + * output media. + */ + protected static class Tracer { + + /** + * The bundle identifier. + */ + private final String fIdentifier; + + /** + * The qualifier for the default "<bundle identifier>/debugmode" + * tracing slot. + */ + private final String fDebugModeQualifier; + + /** + * Constructor. + * + * @param identifier The bundle identifier. Must not be null. + */ + public Tracer(String identifier) { + Assert.isNotNull(identifier); + fIdentifier = identifier; + + // Initialize the debug mode qualifier + fDebugModeQualifier = fIdentifier + "/debugmode"; //$NON-NLS-1$ + } + + /** + * Returns the value of the debug mode tracing slot. + *

                                    + * If not set, or the value is not an {@link Integer}, the method returns 0. + * + * @return The debug mode value. + */ + protected int getDebugMode() { + try { + String mode = Platform.getDebugOption(fDebugModeQualifier); + if (mode != null && Integer.decode(mode).intValue() > 0) { + return Integer.decode(mode).intValue(); + } + } catch (NumberFormatException e) { /* ignored on purpose */ } + + return 0; + } + + /** + * Check if the specified trace slot is enabled. + * + * @param slotId The name of the slot. + * @return true if the slot is defined and enabled, false otherwise. + */ + protected boolean isSlotEnabled(String slotId) { + return fIdentifier != null ? Boolean.parseBoolean(Platform.getDebugOption(fIdentifier + "/" + slotId)) : false; //$NON-NLS-1$ + } + + /** + * Check if tracing is enabled for given mode and slot. + * + * @param debugMode The debug mode for the current debug. + * @param slotId The name of the slot. + * + * @return true if the debug should be written, false otherwise. + */ + protected final boolean isEnabled(int debugMode, String slotId) { + return getDebugMode() < 0 || + (debugMode <= getDebugMode() && + (slotId == null || slotId.trim().length() == 0 || isSlotEnabled(slotId))); + } + + /** + * Format the trace message. + * + * @param message The trace message. + * @param debugMode The debug mode. + * @param slotId The name of the slot. + * @param severity The severity. See {@link IStatus} for valid severity values. + * @param clazz The class that calls this tracer. + * + * @see IStatus + */ + protected String getFormattedDebugMessage(String message, int debugMode, String slotId, int severity, Object clazz) { + StringBuffer debug = new StringBuffer(); + if (slotId != null || clazz != null) { + if (clazz != null) { + String name = clazz instanceof Class ? ((Class)clazz).getSimpleName() : clazz.getClass().getSimpleName(); + debug.append(name.trim().length() > 0 ? name.trim() : clazz instanceof Class ? ((Class)clazz).getName() : clazz.getClass().getName()); + } + if (slotId != null) { + debug.append(" at "); //$NON-NLS-1$ + debug.append(slotId); + } + if (debugMode >= 0) { + debug.append(" (Mode "); //$NON-NLS-1$ + debug.append(debugMode); + debug.append(')'); + } + debug.append('\n'); + debug.append('\t'); + } + debug.append(message); + + return debug.toString(); + } + + /** + * Write the trace message. + * + * @param message The trace message. + * @param debugMode The debug mode. + * @param slotId The name of the slot. + * @param severity The severity. See {@link IStatus} for valid severity values. + * @param clazz The class that calls this tracer. + * + * @see IStatus + */ + protected void write(String message, int debugMode, String slotId, int severity, Object clazz) { + String formattedMessage = getFormattedDebugMessage(message, debugMode, slotId, severity, clazz); + if (severity == IStatus.ERROR || severity == IStatus.WARNING) { + System.err.println(formattedMessage); + } + else { + System.out.println(formattedMessage); + } + } + + /** + * Trace the given message with the given debug mode and slot. + * + * @param message The trace message. + * @param debugMode The debug mode. + * @param slotId The name of the slot. + * @param severity The severity. See {@link IStatus} for valid severity values. + * @param clazz The class that calls this tracer. + * + * @see IStatus + */ + public final void trace(String message, int debugMode, String slotId, int severity, Object clazz) { + if (isEnabled(debugMode, slotId)) { + write(message, debugMode, slotId, severity, clazz); + } + } + } + + /** + * Constructor. + *

                                    + * Initializes the tracing handler with the given bundle identifier. + * + * @param identifier The bundle identifier or null. + */ + public TraceHandler(String identifier) { + this.identifier = identifier != null ? identifier : CoreBundleActivator.getUniqueIdentifier(); + Assert.isNotNull(this.identifier); + } + + /** + * Returns the identifier. + */ + protected final String getIdentifier() { + return identifier; + } + + /** + * Returns the tracer instance. Create a new tracer instance + * on first invocation. + * + * @return The tracer instance. + */ + protected Tracer getTracer() { + if (tracer == null) { + tracer = new Tracer(identifier); + } + return tracer; + } + + /** + * Return the current debug mode. + */ + public final int getDebugMode() { + return getTracer().getDebugMode(); + } + + /** + * Check whether a trace slot is enabled. The debug mode defaults + * to 0. + * + * @param slotId The name of the slot. + * + * @return true if the slot is enabled, false otherwise. + */ + public final boolean isSlotEnabled(String slotId) { + return isSlotEnabled(0, slotId); + } + + /** + * Check whether a trace slot is enabled with the given debug mode. + * + * @param debugMode The debug mode + * @param slotId The name of the slot. + * + * @return true if the slot is enabled, false otherwise. + */ + public final boolean isSlotEnabled(int debugMode, String slotId) { + return getTracer().isEnabled(debugMode, slotId); + } + + /** + * Trace the given message. + *

                                    + * The message severity will be {@link IStatus#INFO} and the message will be + * traced unconditionally. + * + * @param message The message. + * @param clazz The class that calls this tracer or null. + */ + public final void trace(String message, Object clazz) { + getTracer().trace(message, 0, null, IStatus.INFO, clazz); + } + + /** + * Trace the given message. + *

                                    + * The message severity will be {@link IStatus#INFO}. + * + * @param message The message. + * @param debugMode The minimum debug mode that has to be set to write out the message. + * @param clazz The class that calls this tracer or null. + */ + public final void trace(String message, int debugMode, Object clazz) { + getTracer().trace(message, debugMode, null, IStatus.INFO, clazz); + } + + /** + * Trace the given message. + *

                                    + * The message severity will be {@link IStatus#INFO} and the debug mode + * will default to 0. + * + * @param message The message. + * @param slotId The slot that has to be enabled to write out the message. + * @param clazz The class that calls this tracer or null. + */ + public final void trace(String message, String slotId, Object clazz) { + getTracer().trace(message, 0, slotId, IStatus.INFO, clazz); + } + + /** + * Trace the given message. + * + * @param message The message. + * @param debugMode The minimum debug mode that has to be set to write out the message. + * @param slotId The slot that has to be enabled to write out the message. + * @param severity The severity. See {@link IStatus} for valid severity values. + * @param clazz The class that calls this tracer or null. + * + * @see IStatus + */ + public final void trace(String message, int debugMode, String slotId, int severity, Object clazz) { + getTracer().trace(message, debugMode, slotId, severity, clazz); + } + +} diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java new file mode 100644 index 00000000000..2605d765812 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java @@ -0,0 +1,231 @@ +/******************************************************************************* + * Copyright (c) 2013, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.utils; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.Platform; +import org.eclipse.osgi.service.environment.Constants; + +/** + * Environment handling utility methods. + */ +public class Env { + + // Reference to the monitor to lock if determining the native environment + private final static Object ENV_GET_MONITOR = new Object(); + + // Reference to the native environment with the case of the variable names preserved + private static Map nativeEnvironmentCasePreserved = null; + + /** + * Returns the merged environment of the native environment and the passed + * in environment. Passed in variables will overwrite the native environment + * if the same variables are set there. + *

                                    + * For use with terminals, the parameter terminal should be set to + * true. In this case, the method will assure that the TERM + * environment variable is always set to ANSI and is not overwritten + * by the passed in environment. + * + * @param envp The environment to set on top of the native environment or null. + * @param terminal True if used with an terminal, false otherwise. + * + * @return The merged environment. + */ + public static String[] getEnvironment(String[] envp, boolean terminal) { + // Get the cached native environment + Map nativeEnv = getNativeEnvironmentCasePreserved(); + // Make a copy of the native environment so it can be manipulated without changing + // the cached environment + Map env = new LinkedHashMap(nativeEnv); + // Set the TERM environment variable if in terminal mode + if (terminal) env.put("TERM", "xterm"); //$NON-NLS-1$ //$NON-NLS-2$ + + // On Windows, the environment variable names are not case-sensitive. However, + // we desire to preserve the original case. Build up a translation map between + // an all lowercase name and the original environment name + Map k2n = null; + if (Platform.OS_WIN32.equals(Platform.getOS())) { + k2n = new HashMap(); + for (String name : env.keySet()) { + k2n.put(name.toLowerCase(), name); + } + } + + // If a "local" environment is provided, merge it with the native + // environment. + if (envp != null) { + for (int i = 0; i < envp.length; i++) { + // The full provided variable in form "name=value" + String envpPart = envp[i]; + // Split the variable + String[] parts = envpPart.split("=");//$NON-NLS-1$ + String name = parts[0].trim(); + // Map the variable name to the real environment name (Windows only) + if (Platform.OS_WIN32.equals(Platform.getOS())) { + if (k2n.containsKey(name.toLowerCase())) { + String candidate = k2n.get(name.toLowerCase()); + Assert.isNotNull(candidate); + name = candidate; + } + // Filter out environment variables with bad names + if ("".equals(name.trim()) || name.contains("=") || name.contains(":")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + continue; + } + } + // Get the variable value + String value = parts.length > 1 ? parts[1].trim() : ""; //$NON-NLS-1$ + // Don't overwrite the TERM variable if in terminal mode + if (terminal && "TERM".equals(name)) continue; //$NON-NLS-1$ + // If a variable with the name does not exist, just append it + if (!env.containsKey(name) && !"".equals(value)) { //$NON-NLS-1$ + env.put(name, value); + } else if (env.containsKey(name)) { + // If the value contains the special placeholder "", remove the variable from the environment + if ("".equals(value)) {//$NON-NLS-1$ + env.remove(name); + } else { + // A variable with the name already exist, check if the value is different + String oldValue = env.get(name); + if (oldValue != null && !oldValue.equals(value) || oldValue == null && value != null) { + env.put(name, value); + } + } + } + } + } + + // Convert into an array of strings + List keys = new ArrayList(env.keySet()); + // On Windows hosts, sort the environment keys + if (Platform.OS_WIN32.equals(Platform.getOS())) Collections.sort(keys); + Iterator iter = keys.iterator(); + List strings = new ArrayList(env.size()); + StringBuilder buffer = null; + while (iter.hasNext()) { + String key = iter.next(); + buffer = new StringBuilder(key); + buffer.append('=').append(env.get(key)); + strings.add(buffer.toString()); + } + + return strings.toArray(new String[strings.size()]); + } + + /** + * Determine the native environment. + * + * @return The native environment, or an empty map. + */ + private static Map getNativeEnvironmentCasePreserved() { + synchronized (ENV_GET_MONITOR) { + if (nativeEnvironmentCasePreserved == null) { + nativeEnvironmentCasePreserved = new LinkedHashMap(); + cacheNativeEnvironment(nativeEnvironmentCasePreserved); + } + return new LinkedHashMap(nativeEnvironmentCasePreserved); + } + } + + /** + * Query the native environment and store it to the specified cache. + * + * @param cache The environment cache. Must not be null. + */ + private static void cacheNativeEnvironment(Map cache) { + Assert.isNotNull(cache); + + try { + String nativeCommand = null; + if (Platform.getOS().equals(Constants.OS_WIN32)) { + nativeCommand = "cmd.exe /C set"; //$NON-NLS-1$ + } else if (!Platform.getOS().equals(Constants.OS_UNKNOWN)) { + nativeCommand = "env"; //$NON-NLS-1$ + } + if (nativeCommand == null) { return; } + Process process = Runtime.getRuntime().exec(nativeCommand); + + // read process directly on other platforms + // we need to parse out matching '{' and '}' for function declarations in .bash environments + // pattern is [function name]=() { and we must find the '}' on its own line with no trailing ';' + InputStream stream = process.getInputStream(); + InputStreamReader isreader = new InputStreamReader(stream); + BufferedReader reader = new BufferedReader(isreader); + try { + String line = reader.readLine(); + String key = null; + String value = null; + while (line != null) { + int func = line.indexOf("=()"); //$NON-NLS-1$ + if (func > 0) { + key = line.substring(0, func); + // scan until we find the closing '}' with no following chars + value = line.substring(func + 1); + while (line != null && !line.equals("}")) { //$NON-NLS-1$ + line = reader.readLine(); + if (line != null) { + value += line; + } + } + line = reader.readLine(); + } else { + int separator = line.indexOf('='); + if (separator > 0) { + key = line.substring(0, separator); + value = line.substring(separator + 1); + StringBuilder bufValue = new StringBuilder(value); + line = reader.readLine(); + if (line != null) { + // this line has a '=' read ahead to check next line for '=', might be broken on more + // than one line + separator = line.indexOf('='); + while (separator < 0) { + bufValue.append(line.trim()); + line = reader.readLine(); + if (line == null) { + // if next line read is the end of the file quit the loop + break; + } + separator = line.indexOf('='); + } + } + value = bufValue.toString(); + } + } + if (key != null) { + cache.put(key, value); + key = null; + value = null; + } else { + line = reader.readLine(); + } + } + } finally { + reader.close(); + } + } catch (IOException e) { + // Native environment-fetching code failed. + // This can easily happen and is not useful to log. + } + } + +} From daacaa21d5f8dd058546e1f96f3eaa7edbc04601 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 11:57:24 +0100 Subject: [PATCH 585/843] Terminals: Add terminals target platform definition for Luna --- terminals-eclipse-4.4.x-luna.target | 38 +++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 terminals-eclipse-4.4.x-luna.target diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target new file mode 100644 index 00000000000..bc6a0030936 --- /dev/null +++ b/terminals-eclipse-4.4.x-luna.target @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From a5f258824baa43ed9bc65e89e519e9583402e0e9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 12:24:34 +0100 Subject: [PATCH 586/843] Terminals: Add terminals team project set --- terminals.psf | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 terminals.psf diff --git a/terminals.psf b/terminals.psf new file mode 100644 index 00000000000..70509882568 --- /dev/null +++ b/terminals.psf @@ -0,0 +1,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From ed170d54003da81fa6df5e128fbd78d6ed143c93 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 12:47:17 +0100 Subject: [PATCH 587/843] Terminals: Switch minimal execution environment of all terminal plug-ins to JavaSE-1.6 --- .../org.eclipse.tm.terminal.view/.classpath | 4 ++-- .../.settings/org.eclipse.jdt.core.prefs | 10 ++++---- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.remote/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 19 +++------------ .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.serial/.classpath | 8 ++----- .../.settings/org.eclipse.jdt.core.prefs | 23 ++++--------------- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.ssh/.classpath | 4 ++-- .../.settings/org.eclipse.jdt.core.prefs | 23 ++++--------------- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.telnet/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 23 ++++--------------- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.test/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 19 +++------------ .../META-INF/MANIFEST.MF | 2 +- .../build.properties | 4 +--- plugins/org.eclipse.tm.terminal/.classpath | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 22 ++++-------------- .../META-INF/MANIFEST.MF | 2 +- .../terminal/model/TerminalTextDataStore.java | 8 +++---- 23 files changed, 52 insertions(+), 137 deletions(-) diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath index ce73933404a..ad32c83a788 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..c2dc3aa2f47 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,21 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -71,4 +71,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF index eee6efc5bec..eb076cf1ebd 100644 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-Vendor: %providerName Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true, org.eclipse.tm.internal.terminal.view;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.remote/.classpath b/plugins/org.eclipse.tm.terminal.remote/.classpath index 098194ca4b7..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.remote/.classpath +++ b/plugins/org.eclipse.tm.terminal.remote/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs index a4b6f7df50e..94637dfe13b 100644 --- a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,11 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning @@ -25,21 +24,9 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning @@ -71,4 +58,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.7 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF index 3afcf44025b..03f058c1d27 100644 --- a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF @@ -13,7 +13,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.core.resources, org.eclipse.swt, org.eclipse.jface -Bundle-RequiredExecutionEnvironment: JavaSE-1.7 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.remote;x-internal:=true, org.eclipse.tm.terminal.remote Bundle-Activator: org.eclipse.tm.internal.terminal.remote.Activator diff --git a/plugins/org.eclipse.tm.terminal.serial/.classpath b/plugins/org.eclipse.tm.terminal.serial/.classpath index b978e78e121..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.classpath +++ b/plugins/org.eclipse.tm.terminal.serial/.classpath @@ -1,11 +1,7 @@ - - - - - - + + diff --git a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..94637dfe13b 100644 --- a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,20 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -25,21 +24,9 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning @@ -71,4 +58,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index 5e8cf83952b..b27bc126daa 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -12,7 +12,7 @@ Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Eclipse-BuddyPolicy: ext Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . Bundle-Activator: org.eclipse.tm.internal.terminal.serial.Activator Export-Package: org.eclipse.tm.internal.terminal.serial;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.ssh/.classpath b/plugins/org.eclipse.tm.terminal.ssh/.classpath index ce73933404a..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.classpath +++ b/plugins/org.eclipse.tm.terminal.ssh/.classpath @@ -1,7 +1,7 @@ - - + + diff --git a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..94637dfe13b 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,20 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -25,21 +24,9 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning @@ -71,4 +58,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index cb4228c2770..4f15d9c50aa 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.ui, org.eclipse.tm.terminal;bundle-version="3.3.0", com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true Bundle-Activator: org.eclipse.tm.internal.terminal.ssh.Activator Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.tm.terminal.telnet/.classpath b/plugins/org.eclipse.tm.terminal.telnet/.classpath index 37d5094e3a9..25d360efcad 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.classpath +++ b/plugins/org.eclipse.tm.terminal.telnet/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs index f1f183d2609..94637dfe13b 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs @@ -1,21 +1,20 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning org.eclipse.jdt.core.compiler.problem.deprecation=warning org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fieldHiding=warning org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning @@ -25,21 +24,9 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning @@ -71,4 +58,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=di org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.3 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index 111fa979b3d..ea631367c33 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -8,5 +8,5 @@ Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, org.eclipse.tm.terminal;bundle-version="3.3.0" -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.test/.classpath b/plugins/org.eclipse.tm.terminal.test/.classpath index 64c5e31b7a2..ad32c83a788 100644 --- a/plugins/org.eclipse.tm.terminal.test/.classpath +++ b/plugins/org.eclipse.tm.terminal.test/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs index 40c9c1aa311..ac97a9dfa02 100644 --- a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,11 @@ eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning @@ -26,21 +25,9 @@ org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=no_tag -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning @@ -79,4 +66,4 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disa org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.5 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index 7164d348c6a..eabe482ba35 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: org.junit, org.eclipse.tm.terminal;bundle-version="3.3.0", org.eclipse.core.runtime, org.eclipse.ui -Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.emulator;x-internal:=true, org.eclipse.tm.internal.terminal.model;x-internal:=true, diff --git a/plugins/org.eclipse.tm.terminal.test/build.properties b/plugins/org.eclipse.tm.terminal.test/build.properties index 16c8ce62da4..9e23106c461 100644 --- a/plugins/org.eclipse.tm.terminal.test/build.properties +++ b/plugins/org.eclipse.tm.terminal.test/build.properties @@ -20,7 +20,5 @@ bin.includes = META-INF/,\ tm32.png,\ test.xml,\ about.html -src.includes = .settings/,\ - build.properties,\ - teamConfig/,\ +src.includes = teamConfig/,\ about.html diff --git a/plugins/org.eclipse.tm.terminal/.classpath b/plugins/org.eclipse.tm.terminal/.classpath index 37d5094e3a9..25d360efcad 100644 --- a/plugins/org.eclipse.tm.terminal/.classpath +++ b/plugins/org.eclipse.tm.terminal/.classpath @@ -1,6 +1,6 @@ - + diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs index d86e9d88ef7..eb9982c343a 100644 --- a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs @@ -7,13 +7,12 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.4 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.4 +org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.autoboxing=warning @@ -24,7 +23,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled @@ -37,25 +36,12 @@ org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning @@ -111,4 +97,4 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.4 +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index b7973c8d0c4..5a60876bd84 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.core.runtime, org.eclipse.ui Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: J2SE-1.4 +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java index 22026e57780..be4585f2264 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java @@ -295,18 +295,18 @@ public class TerminalTextDataStore implements ITerminalTextData { public char[] getChars(int line) { if(fChars[line]==null) return null; - return (char[]) fChars[line].clone(); + return fChars[line].clone(); } public Style[] getStyles(int line) { if(fStyle[line]==null) return null; - return (Style[]) fStyle[line].clone(); + return fStyle[line].clone(); } public void setLine(int line, char[] chars, Style[] styles) { - fChars[line]=(char[]) chars.clone(); - fStyle[line]=(Style[]) styles.clone(); + fChars[line]=chars.clone(); + fStyle[line]=styles.clone(); fWrappedLines.clear(line); } From 3642aec8d0d8a56e6b261b813474b1057efe3c9e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 12:50:03 +0100 Subject: [PATCH 588/843] Terminal: Remove deprecated local terminal features and plug-in --- .../.project | 17 - .../build.properties | 13 - .../feature.properties | 169 -------- .../feature.xml | 61 --- .../pom.xml | 30 -- .../.project | 17 - .../build.properties | 15 - .../feature.properties | 172 -------- .../feature.xml | 61 --- .../pom.xml | 30 -- .../.project | 17 - .../build.properties | 17 - .../feature.properties | 173 -------- .../feature.xml | 51 --- .../pom.xml | 30 -- .../.project | 17 - .../build.properties | 16 - .../feature.properties | 168 -------- .../feature.xml | 58 --- .../pom.xml | 30 -- .../sourceTemplatePlugin/about.html | 33 -- .../sourceTemplatePlugin/build.properties | 12 - .../sourceTemplatePlugin/plugin.properties | 12 - .../org.eclipse.tm.terminal.local/.classpath | 7 - .../org.eclipse.tm.terminal.local/.cvsignore | 1 - .../org.eclipse.tm.terminal.local/.project | 34 -- .../.settings/org.eclipse.jdt.core.prefs | 82 ---- .../META-INF/MANIFEST.MF | 25 -- .../org.eclipse.tm.terminal.local/about.html | 29 -- .../org.eclipse.tm.terminal.local/about.ini | 27 -- .../about.mappings | 12 - .../about.properties | 19 - .../build.properties | 24 -- .../icons/terminal-launch.gif | Bin 601 -> 0 bytes .../plugin.properties | 20 - .../org.eclipse.tm.terminal.local/plugin.xml | 64 --- .../org.eclipse.tm.terminal.local/pom.xml | 15 - .../local/ILocalTerminalSettings.java | 75 ---- .../local/LocalTerminalActivator.java | 98 ----- .../local/LocalTerminalConnector.java | 400 ------------------ .../LocalTerminalLaunchLabelProvider.java | 72 ---- .../LocalTerminalLaunchListProvider.java | 90 ---- .../terminal/local/LocalTerminalMessages.java | 124 ------ .../local/LocalTerminalMessages.properties | 49 --- .../local/LocalTerminalOutputListener.java | 91 ---- .../local/LocalTerminalOutputStream.java | 185 -------- .../terminal/local/LocalTerminalSettings.java | 109 ----- .../local/LocalTerminalSettingsPage.java | 327 -------------- .../local/LocalTerminalUtilities.java | 158 ------- .../launch/LocalTerminalLaunchDelegate.java | 288 ------------- .../launch/LocalTerminalLaunchUtilities.java | 305 ------------- .../LocalTerminalStillRunningListener.java | 127 ------ .../ui/LocalTerminalLaunchTabGroup.java | 112 ----- .../launch/ui/LocalTerminalSettingsTab.java | 282 ------------ .../ui/LocalTerminalStillRunningDialog.java | 298 ------------- .../local/process/LocalTerminalProcess.java | 191 --------- .../process/LocalTerminalProcessFactory.java | 41 -- .../process/LocalTerminalProcessRegistry.java | 159 ------- .../local/ui/DependentHeightComposite.java | 88 ---- .../org.eclipse.tm.terminal.local/tm32.png | Bin 2275 -> 0 bytes 60 files changed, 5247 deletions(-) delete mode 100644 deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/.classpath delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/.project delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/about.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/about.ini delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/about.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/build.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.local/tm32.png diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project deleted file mode 100644 index 636aa511c46..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.core.sdk-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties deleted file mode 100644 index 3827d2e0577..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Wind River Systems - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties deleted file mode 100644 index ce83ddadf66..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.properties +++ /dev/null @@ -1,169 +0,0 @@ -############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Wind River Systems - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal (Core SDK, Deprecated) - -# "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal control including \ -plug-ins for Serial, SSH and Telnet connections. Includes Source Code. - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2012 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml deleted file mode 100644 index 7e73f41a107..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/feature.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml deleted file mode 100644 index 4609c075ad9..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.core.sdk-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.core.sdk - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/.project b/deprecated/features/org.eclipse.tm.terminal.local-feature/.project deleted file mode 100644 index c8b6195f159..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.local-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties deleted file mode 100644 index cc590093375..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/build.properties +++ /dev/null @@ -1,15 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2014 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -#################################################################################################### - -bin.includes = feature.xml,\ - feature.properties diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties deleted file mode 100644 index 90a5aa59467..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.properties +++ /dev/null @@ -1,172 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2014 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -#################################################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Local Terminal (Deprecated) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac.\n\ -\n\ -Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2008, 2014 Mirko Raner and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml deleted file mode 100644 index 5c44192d0ba..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/feature.xml +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml deleted file mode 100644 index e8192c4c55a..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.local - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project deleted file mode 100644 index 150da9a0fdd..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.local.sdk-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties deleted file mode 100644 index 6475308a438..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/build.properties +++ /dev/null @@ -1,17 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2014 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -#################################################################################################### - -bin.includes = feature.xml,\ - feature.properties - -generate.plugin@org.eclipse.tm.terminal.local.source=org.eclipse.tm.terminal.local diff --git a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties deleted file mode 100644 index 531aa31338e..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.properties +++ /dev/null @@ -1,173 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2014 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -#################################################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Local Terminal SDK (Deprecated) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=A terminal emulation for local shells and external tools.\n\ -Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source,\ -and the Terminal View required to drive the plugin.\n\ -\n\ -Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2008, 2014 Mirko Raner and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml deleted file mode 100644 index 32af09c66f7..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/feature.xml +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml deleted file mode 100644 index ee1ccbea2d0..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.local.sdk-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.local.sdk - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/.project b/deprecated/features/org.eclipse.tm.terminal.test-feature/.project deleted file mode 100644 index e5464802aed..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.test-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties deleted file mode 100644 index e54535db6d5..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/build.properties +++ /dev/null @@ -1,16 +0,0 @@ -############################################################################### -# Copyright (c) 2005, 2014 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# IBM Corporation - initial API and implementation -# Martin Oberhuber (Wind River) - Adding source plugin for tests -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -############################################################################### -bin.includes = feature.xml,\ - feature.properties - -generate.plugin@org.eclipse.tm.terminal.test.source=org.eclipse.tm.terminal.test diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties deleted file mode 100644 index 483a59d89ce..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal Unit Tests (Deprecated) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=TM Terminal Unit Tests. Includes Source. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2007, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml deleted file mode 100644 index a67ce1ad361..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/feature.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml deleted file mode 100644 index 57c325814c9..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.test - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html deleted file mode 100644 index e7b57cffff2..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/about.html +++ /dev/null @@ -1,33 +0,0 @@ - - - - -About - - -

                                    About This Content

                                    - -

                                    June 5, 2007

                                    -

                                    License

                                    - -

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                    - -

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                    - -

                                    Source Code

                                    -

                                    This plug-in contains source code zip files ("Source Zips") that correspond to binary content in other plug-ins. These Source Zips may be distributed under different license -agreements and/or notices. Details about these license agreements and notices are contained in "about.html" files ("Abouts") located in sub-directories in the -src/ directory of this plug-in. Such Abouts govern your use of the Source Zips in that directory, not the EPL.

                                    - - - \ No newline at end of file diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties deleted file mode 100644 index 52b7dcea95f..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/build.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2007, 2008 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -bin.includes = about.html, plugin.properties, plugin.xml, src/, META-INF/ -sourcePlugin = true diff --git a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties b/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties deleted file mode 100644 index 26bbb2a83b8..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.test-feature/sourceTemplatePlugin/plugin.properties +++ /dev/null @@ -1,12 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2011 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -pluginName=Target Management Terminal Unit Tests Source -providerName=Eclipse TM Project diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.local/.classpath deleted file mode 100644 index 64c5e31b7a2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/.project b/deprecated/plugins/org.eclipse.tm.terminal.local/.project deleted file mode 100644 index cc0395aa2f2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.local - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 6f8bad41ff6..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,82 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=warning -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning -org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=warning -org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF deleted file mode 100644 index ab9c6b889c9..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/META-INF/MANIFEST.MF +++ /dev/null @@ -1,25 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.local;singleton:=true -Bundle-Version: 0.2.300.qualifier -Bundle-Activator: org.eclipse.tm.internal.terminal.local.LocalTerminalActivator -Bundle-Localization: plugin -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.tm.terminal;bundle-version="3.3.0", - org.eclipse.cdt.core;bundle-version="[5.2.0,6.0.0)", - org.eclipse.core.runtime, - org.eclipse.debug.core;bundle-version="3.6", - org.eclipse.debug.ui, - org.eclipse.jface, - org.eclipse.ui, - org.eclipse.ui.externaltools -Bundle-RequiredExecutionEnvironment: J2SE-1.5 -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Import-Package: org.eclipse.core.variables -Export-Package: org.eclipse.tm.internal.terminal.local;x-internal:=true, - org.eclipse.tm.internal.terminal.local.launch;x-internal:=true, - org.eclipse.tm.internal.terminal.local.launch.ui;x-internal:=true, - org.eclipse.tm.internal.terminal.local.process;x-internal:=true, - org.eclipse.tm.internal.terminal.local.ui;x-internal:=true diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/about.html b/deprecated/plugins/org.eclipse.tm.terminal.local/about.html deleted file mode 100644 index 47e9ccc8762..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/about.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -About - - -

                                    About This Content

                                    - -

                                    March 1, 2010

                                    -

                                    License

                                    - -

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                    - -

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                    - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.local/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings deleted file mode 100644 index 14f8af2448b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/about.mappings +++ /dev/null @@ -1,12 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -#################################################################################################### - -0=@build@ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/about.properties deleted file mode 100644 index e33b47ae863..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/about.properties +++ /dev/null @@ -1,19 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2012 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -#################################################################################################### - -blurb=Target Management Terminal Local Connector (Incubation)\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Mirko Raner and others 2008, 2012. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/build.properties deleted file mode 100644 index d04873ab0a2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/build.properties +++ /dev/null @@ -1,24 +0,0 @@ -############################################################################### -# Copyright (c) 2010, 2011 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = plugin.xml,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - tm32.png,\ - icons/,\ - META-INF/,\ - . -src.includes = about.html -jre.compilation.profile = J2SE-1.5 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif b/deprecated/plugins/org.eclipse.tm.terminal.local/icons/terminal-launch.gif deleted file mode 100644 index adfb9c2c80ffdc4b8095cf5838443120db655f75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 601 zcmZ?wbhEHb6krfwIF`X+<=3bcK0!OYUmHk9Owfv$tQ|2~D{`_{)O4-r>DtlL9m6`b z;umViFLaLR)=FNZm9knhZG%>=ky)9QR@z40Y8TCnty&pdt;+56>rK59CK*+GYUb?I z%sHp8mJ*1X3$EO(w;@mjAAYnxsV*Ipl&37(FVf?`XT`S!*pl&=Ws_jjHi>M_G7 zs(!ui^suN&Az_n}{bodY&5jP55tmlKK4d{m?A(aZCDEyiJ))N+$1cgpSsaAy!I`5lXh0Lp3|GQt8vEu+__g1)}C6s z_Vn5f=QggpQ?~A2(e?}5w_Vz?EvFyOrL#OW?J^%Li!jM~ zUO_xcLynIjC0VTAU&q?Y%tA0KDKY6^f(T2hVo?%X2YXc33XX+|2gN!1B{CjfI?6p= jH%`h%XyJlnCKg#&8>x^5Pfj>0aR>+qBs83GV6X-NoFXk- diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties deleted file mode 100644 index 7d22fac50e5..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.properties +++ /dev/null @@ -1,20 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2011 Mirko Raner and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -# Martin Oberhuber (Wind River) - Import to Eclipse TM -#################################################################################################### - -# NLS_MESSAGEFORMAT_NONE - -pluginName=Local Terminal (Incubation) -providerName=Eclipse TM Project - -terminalLaunch=Terminal -terminalLaunchDescription=Run a program in a terminal -localConnection=Local Program diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml deleted file mode 100644 index 9a90e159e9f..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/plugin.xml +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml deleted file mode 100644 index fdc1b866b80..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm - org.eclipse.tm.terminal.local - 0.2.300.qualifier - eclipse-plugin - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java deleted file mode 100644 index c4ef10b5f22..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ILocalTerminalSettings.java +++ /dev/null @@ -1,75 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/ISshSettings - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - -/** - * The interface {@link ILocalTerminalSettings} defines the public interface for connector-specific - * settings needed by the {@link LocalTerminalConnector}. The interface is implemented by class - * {@link LocalTerminalSettings}. - * - * @author Mirko Raner - * @version $Revision: 1.3 $ - */ -public interface ILocalTerminalSettings { - - /** - * The line separator setting CR (carriage return only; for example, used by Mac OS 9). - */ - public final static String LINE_SEPARATOR_CR = "\\r"; //$NON-NLS-1$ - - /** - * The line separator setting CRLF (carriage return and line feed; for example, used by - * Windows). - */ - public final static String LINE_SEPARATOR_CRLF = "\\r\\n"; //$NON-NLS-1$ - - /** - * The line separator setting LF (line feed only; used by all UNIX-based systems). - */ - public final static String LINE_SEPARATOR_LF = "\\n"; //$NON-NLS-1$ - - /** - * Loads the settings from a specified {@link ISettings}. - * - * TODO: the {@link #load(ISettings)} method should probably extracted to a super-interface - * as it appears to be common to all customized settings interfaces - * - * @param store the {@link ISettings} to load the settings from - */ - public abstract void load(ISettingsStore store); - - /** - * Saves the settings to a specified {@link ISettings}. - * - * TODO: the {@link #save(ISettings)} method should probably extracted to a super-interface - * as it appears to be common to all customized settings interfaces - * - * @param store the {@link ISettings} for storing the settings - */ - public abstract void save(ISettingsStore store); - - /** - * Gets the name of the launch configuration that will be started in the terminal. - * - * @return the launch configuration name - */ - public abstract String getLaunchConfigurationName(); - - /** - * Sets the name of the launch configuration that will be started in the terminal. - * - * @param configurationName the launch configuration name - */ - public abstract void setLaunchConfigurationName(String configurationName); -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java deleted file mode 100644 index 84ba198d405..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalActivator.java +++ /dev/null @@ -1,98 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The class {@link LocalTerminalActivator} is the bundle activator for the Local Terminal - * Connector plug-in. - * - * @author Mirko Raner - * @version $Revision: 1.1 $ - */ -public class LocalTerminalActivator extends AbstractUIPlugin { - - /** - * The plug-in ID of the Local Terminal Connector plug-in. - */ - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.local"; //$NON-NLS-1$ - - /** - * The preference key for confirming process termination during workbench shutdown. - * Value: "CONFIRM_TERMINATE". - * If the corresponding Preference slot is set to "true", a confirmation dialog - * will be shown when quitting Workbench while a local Terminal is still running. - * For details, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=313643 - * @since 0.1 - */ - public final static String PREF_CONFIRM_TERMINATE_ON_SHUTDOWN = "CONFIRM_TERMINATE";//$NON-NLS-1$ - - private static LocalTerminalActivator plugin; - - /** - * Creates a new {@link LocalTerminalActivator}. - */ - public LocalTerminalActivator() { - - super(); - } - - /** - * Returns the shared plug-in instance. - * - * @return the shared instance - */ - public static LocalTerminalActivator getDefault() { - - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given plug-in relative path. - * - * @param path the path to the image - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - - return imageDescriptorFromPlugin(PLUGIN_ID, path); - } - - /** - * Starts the bundle and initializes the shared plug-in reference. - * - * @param context the {@link BundleContext} - * - * @see AbstractUIPlugin#start(BundleContext) - */ - public void start(BundleContext context) throws Exception { - - super.start(context); - plugin = this; - } - - /** - * Stops the bundle and resets the the shared plug-in reference. - * - * @param context the {@link BundleContext} - * - * @see AbstractUIPlugin#stop(BundleContext) - */ - public void stop(BundleContext context) throws Exception { - - plugin = null; - super.stop(context); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java deleted file mode 100644 index 52f59f710b0..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalConnector.java +++ /dev/null @@ -1,400 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2012 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] initial implementation; some methods adapted from - * org.eclipse.tm.terminal.ssh/SshConnector - * Mirko Raner - [314977] Dynamically disable when no PTY is available - * Anna Dushistova(MontaVista) - [386262] NPE in setTerminalSize - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import java.io.OutputStream; - -import org.eclipse.cdt.utils.Platform; -import org.eclipse.cdt.utils.pty.PTY; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugEvent; -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.IDebugEventSetListener; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.core.model.IStreamMonitor; -import org.eclipse.debug.core.model.IStreamsProxy; -import org.eclipse.debug.ui.IDebugUIConstants; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; - -/** - * The class {@link LocalTerminalConnector} provides a terminal connector implementation for - * connecting to local programs (for example, a locally running bash shell or - * vi editor). - * - * @author Mirko Raner - * @version $Revision: 1.6 $ - */ -public class LocalTerminalConnector extends TerminalConnectorImpl -implements IDebugEventSetListener { - - // Shorthand for attribute names: - // - private final static String ATTR_CAPTURE_IN_CONSOLE = IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE; - private final static String ATTR_CAPTURE_OUTPUT = DebugPlugin.ATTR_CAPTURE_OUTPUT; - private final static String ATTR_PROCESS_FACTORY_ID = DebugPlugin.ATTR_PROCESS_FACTORY_ID; - - private LocalTerminalOutputStream terminalToLocalProcessStream; - private LocalTerminalOutputListener outputListener; - private LocalTerminalOutputListener errorListener; - private ILocalTerminalSettings settings; - private IStreamMonitor outputMonitor; - private IStreamMonitor errorMonitor; - private LocalTerminalProcess process; - private ILaunch launch; - private int lastHeight; - private int lastWidth; - - /** - * Creates a new {@link LocalTerminalConnector}. This constructor is invoked by the framework. - */ - public LocalTerminalConnector() { - - settings = new LocalTerminalSettings(); - } - - /** - * Initializes the connector. This method checks whether a pty driver is available - * and will fail if that is not the case. - * - * @throws Exception if the connector could not be initialized - */ - public void initialize() throws Exception { - - super.initialize(); - if (!PTY.isSupported()) { - - final String OS = Platform.getOS(); - final String ARCH = Platform.getOSArch(); - String message = NLS.bind(LocalTerminalMessages.errorNoPTYSupport, OS, ARCH); - IStatus status = new Status(IStatus.WARNING, LocalTerminalActivator.PLUGIN_ID, message); - throw new CoreException(status); - } - } - - /** - * Loads the connector's settings from the specified store. - * - * @param store the {@link ISettings} - * - * @see TerminalConnectorImpl#load(ISettings) - * - * TODO: the load(ISettingsStore) method should probably be made abstract in - * TerminalConnectorImpl, otherwise it is not immediately clear that clients need to - * override this method if custom settings are necessary (which they usually are). - * Maybe the whole settings store mechanism should be redesigned. The current scheme - * requires clients to implement load/save methods in their connector implementation - * classes (necessity to override is not immediately obvious) and in the settings store - * implementations (not enforced at all; merely expected by convention). Structurally, - * all client implementations look more or less the same, and probably could be handled - * by the framework in a uniform way. Maybe a configuration mechanism using attributes - * (like, for example, ILaunchConfiguration) might be beneficial here. - */ - public void load(ISettingsStore store) { - - settings.load(store); - } - - /** - * Stores the connector's settings into the specified store. - * See {@link #load(ISettings)} for additional notes. - * - * @param store the {@link ISettings} - * - * @see TerminalConnectorImpl#save(ISettings) - */ - public void save(ISettingsStore store) { - - settings.save(store); - } - - /** - * Creates the {@link ISettingsPage} for the settings of this connector. - * - * @return a new page that can be used in a dialog to setup this connection, or - * null if the connection cannot be customized or configured - * - * @see TerminalConnectorImpl#makeSettingsPage() - */ - public ISettingsPage makeSettingsPage() { - - return new LocalTerminalSettingsPage(settings); - } - - /** - * Returns a string that represents the settings of the connection. - * - * @return the name of the launch configuration that is running in the terminal - * - * @see TerminalConnectorImpl#getSettingsSummary() - * @see ILocalTerminalSettings#getLaunchConfigurationName() - */ - public String getSettingsSummary() { - - return settings.getLaunchConfigurationName(); - } - - /** - * Checks if local echo is required. - * - * @return true if the connection settings specify that local echo is enable, - * false otherwise - * - * @see TerminalConnectorImpl#isLocalEcho() - * @see LocalTerminalLaunchUtilities#ATTR_LOCAL_ECHO - */ - public boolean isLocalEcho() { - - return LocalTerminalUtilities.getLocalEcho(settings); - } - - /** - * Returns an {@link OutputStream} that writes to the local program's standard input. For the - * stream in the other direction (remote to terminal) see - * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. - * - * @return the terminal-to-remote-stream (bytes written to this stream will be sent to the - * local program) - */ - public OutputStream getTerminalToRemoteStream() { - - return terminalToLocalProcessStream; - } - - /** - * Connects a locally launched program to the {@link ITerminalControl}. - * - * @param control the {@link ITerminalControl} through which the user can interact with the - * program - */ - public void connect(ITerminalControl control) { - - super.connect(control); - control.setState(TerminalState.CONNECTING); - ILaunchConfigurationWorkingCopy workingCopy = null; - ILaunchConfiguration configuration = null; - String configurationName = null; - try { - - configurationName = settings.getLaunchConfigurationName(); - configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); - } - catch (CoreException exception) { - - Shell shell = Display.getDefault().getActiveShell(); - String title = LocalTerminalMessages.errorTitleCouldNotConnectToTerminal; - String text = LocalTerminalMessages.errorLaunchConfigurationNoLongerExists; - String message = NLS.bind(text, configurationName); - IStatus status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message); - ErrorDialog.openError(shell, title, null, status); - control.setState(TerminalState.CLOSED); - return; - } - try { - - String oldFactoryID = configuration.getAttribute(ATTR_PROCESS_FACTORY_ID, (String)null); - workingCopy = configuration.getWorkingCopy(); - workingCopy.setAttribute(ATTR_CAPTURE_OUTPUT, true); - workingCopy.setAttribute(ATTR_CAPTURE_IN_CONSOLE, true); - workingCopy.setAttribute(ATTR_PROCESS_FACTORY_ID, LocalTerminalProcessFactory.ID); - configuration = workingCopy.doSave(); - try { - - launch = configuration.launch(ILaunchManager.RUN_MODE, null); - } - finally { - - // The process factory ID is used to distinguish between launches that originate - // from the terminal connector and launches that originate from the launch dialog. - // After launching, the original ID is restored so that the launch is not mistaken - // as originating from the terminal connector UI when it is launched via the launch - // dialog the next time: - // - workingCopy = configuration.getWorkingCopy(); - workingCopy.setAttribute(ATTR_PROCESS_FACTORY_ID, oldFactoryID); - workingCopy.doSave(); - } - - // To prevent a console from being allocated, the launch will actually not contain a - // reference to the runtime process. The process has to be obtained from the - // LocalTerminalProcessRegistry instead: - // - process = LocalTerminalProcessRegistry.getFromLaunch(launch); - IStreamsProxy streamsProxy = process.getStreamsProxy(); - - // Hook up standard input: - // - terminalToLocalProcessStream = new LocalTerminalOutputStream(process, settings); - - // Hook up standard output: - // - outputMonitor = streamsProxy.getOutputStreamMonitor(); - outputListener = new LocalTerminalOutputListener(control, settings); - outputMonitor.addListener(outputListener); - outputListener.streamAppended(outputMonitor.getContents(), outputMonitor); - - // Hook up standard error: - // - errorMonitor = streamsProxy.getErrorStreamMonitor(); - errorListener = new LocalTerminalOutputListener(control, settings); - errorMonitor.addListener(errorListener); - errorListener.streamAppended(errorMonitor.getContents(), errorMonitor); - // - // TODO: add proper synchronization for incoming data from stdout and stderr: - // currently, the data gets sometimes processed in the wrong order, for example, - // the next prompt (which shells like bash print to stderr) sometimes appears - // before the command's proper output that was sent to stdout. For example, - // you get: - // - // $ echo hello - // $ hello - // - // instead of the correct output of: - // - // $ echo hello - // hello - // $ - - // Listen for process termination and update the terminal state: - // - DebugPlugin.getDefault().addDebugEventListener(this); - control.setState(TerminalState.CONNECTED); - } - catch (CoreException exception) { - - control.setState(TerminalState.CLOSED); - Shell shell = LocalTerminalSettingsPage.getShell(); - ErrorDialog.openError(shell, null, null, exception.getStatus()); - Logger.logException(exception); - } - } - - /** - * Disconnects the connector if it is currently connected or does nothing otherwise. This method - * will try to terminate the underlying launched process and will remove all registered - * listeners. - */ - public void doDisconnect() { - - try { - - removeAllListeners(); - - // To prevent a console from being allocated, Terminal launches don't have an IProcess - // associated with them while they are running. However, to properly terminate a launch - // the launch has to contain at least one process that can be terminated (launches - // without processes effectively cannot be terminated): - // - LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); - - // Now, terminate the process if it was ever started and hasn't been terminated already: - // - if (launch != null && launch.canTerminate()) { - - launch.terminate(); - // - // NOTE: canTerminate() merely indicates that the launch has not been terminated - // previously already - } - } - catch (DebugException couldNotTerminate) { - - Logger.logException(couldNotTerminate); - } - } - - /** - * Notifies the {@link PTY pty} that the size of the terminal has changed. - * This method gets called rather frequently, even if the terminal size has actually not - * changed. The method stores the last known width and height and will only call - * {@link PTY#setTerminalSize(int, int)} if it was different. - * - * @param width the new terminal width (in columns) - * @param height the new terminal height (in lines) - */ - public void setTerminalSize(int width, int height) { - if(process != null){ - PTY pty = process.getPTY(); - if (pty != null && (width != lastWidth || height != lastHeight)) { - - pty.setTerminalSize(width, height); - lastWidth = width; - lastHeight = height; - } - } - } - - /** - * Listens for self-induced termination of the launched process. For example, this method will - * be notified if a launched shell is terminated by pressing Control-D or by calling - * exit, or if a vi editor is terminated by means of a - * :q! command. - * - * @param event the debug events - * - * @see IDebugEventSetListener#handleDebugEvents(DebugEvent[]) - */ - public void handleDebugEvents(DebugEvent[] event) { - - int numberOfEvents = event.length; - for (int index = 0; index < numberOfEvents; index++) { - - if (event[index].getSource().equals(process) - && (event[index].getKind() == DebugEvent.TERMINATE)) { - - fControl.setState(TerminalState.CLOSED); - removeAllListeners(); - return; - } - } - } - - /** - * Removes any listeners that the {@link LocalTerminalConnector} might have registered in its - * {@link #connect(ITerminalControl)} method. This method is necessary for clean-up when a - * connection is closed. It prevents that orphaned or meaningless listeners keep accumulating - * on certain objects. - */ - protected void removeAllListeners() { - - if (outputMonitor != null && outputListener != null) { - - outputMonitor.removeListener(outputListener); - } - if (errorMonitor != null && errorListener != null) { - - errorMonitor.removeListener(errorListener); - } - DebugPlugin.getDefault().removeDebugEventListener(this); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java deleted file mode 100644 index ebac822d946..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchLabelProvider.java +++ /dev/null @@ -1,72 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.jface.viewers.BaseLabelProvider; -import org.eclipse.jface.viewers.ILabelProvider; -import org.eclipse.swt.graphics.Image; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; - -/** - * The class {@link LocalTerminalLaunchLabelProvider} is an {@link ILabelProvider} for lists (or - * tables) of {@link ILaunchConfiguration}s. It returns a configuration's name as the text label, - * and the configuration type's regular icon as the image label. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalLaunchLabelProvider extends BaseLabelProvider implements ILabelProvider { - - /** - * Creates a new {@link LocalTerminalLaunchLabelProvider}. - */ - public LocalTerminalLaunchLabelProvider() { - - super(); - } - - /** - * Returns the image for the label of the given element. - * - * @param element the element for which the image was requested - * @return the image, or null if no image could be found - * - * @see ILabelProvider#getImage(Object) - */ - public Image getImage(Object element) { - - if (element instanceof ILaunchConfiguration) { - - return LocalTerminalLaunchUtilities.getImage((ILaunchConfiguration)element); - } - return null; - } - - /** - * Returns the text for the label of the given element. - * - * @param element the element for which to provide the label text - * @return the text string used to label the element, or null if there is no text - * label for the given object - * - * @see ILabelProvider#getText(Object) - */ - public String getText(Object element) { - - if (element instanceof ILaunchConfiguration) { - - return ((ILaunchConfiguration)element).getName(); - } - return String.valueOf(element); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java deleted file mode 100644 index 33d22e36ba2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalLaunchListProvider.java +++ /dev/null @@ -1,90 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalLaunchListProvider} is a {@link IStructuredContentProvider} that - * provides a list of all {@link ILaunchConfiguration}s of the type "External Tools"/"Program". - * Those launch configurations can be used to start a new session in the Terminal View. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalLaunchListProvider implements IStructuredContentProvider { - - /** - * Creates a new {@link LocalTerminalLaunchListProvider}. - */ - public LocalTerminalLaunchListProvider() { - - super(); - } - - /** - * Returns the matching {@link ILaunchConfiguration}s for the given input element. This content - * provider does not really use the concept of "input" because the input can only be obtained in - * one way (from the {@link ILaunchManager}. - * - * @param input the input element (not checked or used by this method) - * @return the matching {@link ILaunchConfiguration}s - * - * @see IStructuredContentProvider#getElements(Object) - */ - public Object[] getElements(Object input) { - - ILaunchManager launchManager = DebugPlugin.getDefault().getLaunchManager(); - ILaunchConfigurationType type = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE; - ILaunchConfiguration[] configurations = null; - try { - - configurations = launchManager.getLaunchConfigurations(type); - } - catch (CoreException couldNotObtainLaunchConfigurations) { - - Logger.logException(couldNotObtainLaunchConfigurations); - } - return configurations; - } - - /** - * Disposes of this {@link LocalTerminalLaunchListProvider}. Currently, there is no additional - * clean-up necessary, and this method is empty. - * - * @see org.eclipse.jface.viewers.IContentProvider#dispose() - */ - public void dispose() { - - // Does nothing... - } - - /** - * Notifies the {@link LocalTerminalLaunchListProvider} that its input has changed. This method - * is currently empty because {@link LocalTerminalLaunchListProvider} is not aware of the - * concept of "input" - * - * @see #getElements(Object) - * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(Viewer, Object, Object) - */ - public void inputChanged(Viewer viewer, Object oldInput, Object newInput) { - - // Does nothing... - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java deleted file mode 100644 index 9f1689f4114..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.java +++ /dev/null @@ -1,124 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.osgi.util.NLS; - -/** - * The class {@link LocalTerminalMessages} provides localization keys to internationalized display - * messages used by the Local Terminal Connector. - * - * @author Mirko Raner - * @version $Revision: 1.4 $ - */ -public class LocalTerminalMessages extends NLS { - - static { - - NLS.initializeMessages(LocalTerminalMessages.class.getName(), LocalTerminalMessages.class); - } - - private LocalTerminalMessages() { - - super(); - } - - /** The title for the launch configuration selection: "Launch configuration:". */ - public static String launchConfiguration; - - /** The label for the "New..." button. */ - public static String labelNew; - - /** The label for the "Edit..." button. */ - public static String labelEdit; - - /** The label for the "Delete" button. */ - public static String labelDelete; - - /** The label for the "Enable terminal echo" check box. */ - public static String enableLocalEcho; - - /** The label for the "Send SIGINT when Ctrl-C is pressed" check box. */ - public static String sendInterruptOnCtrlC; - - /** The line separator option "LF". */ - public static String lineSeparatorLF; - - /** The line separator option "CR". */ - public static String lineSeparatorCR; - - /** The line separator option "CRLF". */ - public static String lineSeparatorCRLF; - - /** The default line separator option. */ - public static String lineSeparatorDefault; - - /** The base name for new launch configurations. */ - public static String newTerminalLaunchName; - - /** The error message to be issued if a launch configuration could not be found. */ - public static String noSuchLaunchConfiguration; - - /** The message displayed while launching a configuration. */ - public static String launchingConfiguration; - - /** The error message displayed when process creation failed. */ - public static String couldNotCreateIProcess; - - /** The error message for a missing executable path. */ - public static String locationNotSpecified; - - /** The error message for a specified but invalid executable path. */ - public static String invalidLocation; - - /** The error message for an invalid working directory location. */ - public static String invalidWorkingDirectory; - - /** The question message for confirming deletion of a launch configuration. */ - public static String questionDeleteLaunchConfiguration; - - /** The question title for confirming deletion of a launch configuration. */ - public static String questionTitleDeleteLaunchConfiguration; - - /** The error message for platforms that don't support ptys. */ - public static String errorNoPTYSupport; - - /** The error message for attempting to directly launch a Terminal launch configuration. */ - public static String errorDirectLaunch; - - /** The error message for attempting to launch a no longer existing launch configuration. */ - public static String errorLaunchConfigurationNoLongerExists; - - /** The error dialog title for failed terminal connections. */ - public static String errorTitleCouldNotConnectToTerminal; - - /** The title string of the warning displayed when terminal launches are still running. */ - public static String warningTitleTerminalsStillRunning; - - /** The warning message displayed when terminal launches are still running. */ - public static String warningMessageTerminalsStillRunning; - - /** The label for the button that quits the workbench anyway. */ - public static String quitWorkbenchAnyway; - - /** The label for the button that vetoes a shutdown of the workbench. */ - public static String doNoQuitWorkbench; - - /** The label for a terminal process that was terminated during workbench shut-down. */ - public static String terminatedProcess; - - /** The name of the launch configuration tab for terminal settings. */ - public static String terminalTabName; - - /** The group label for the terminal settings on the launch configuration page. */ - public static String terminalSettings; -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties deleted file mode 100644 index f3238b967ad..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalMessages.properties +++ /dev/null @@ -1,49 +0,0 @@ -#################################################################################################### -# Copyright (c) 2008, 2010 Mirko Raner. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Mirko Raner - initial implementation for Eclipse Bug 196337 -#################################################################################################### - -launchConfiguration=Launch configuration\: -enableLocalEcho=Enable terminal echo -sendInterruptOnCtrlC=Send SIGINT when Ctrl-C is pressed -lineSeparatorDefault=Program uses default line separator - or\: -lineSeparatorCRLF=CRLF -lineSeparatorLF=LF -lineSeparatorCR=CR -labelNew=New... -labelEdit=Edit... -labelDelete=Delete -terminalTabName=Terminal -terminalSettings=Terminal settings\: -newTerminalLaunchName=Terminal ({0}) -noSuchLaunchConfiguration=A launch configuration called ''{0}'' does not exist -launchingConfiguration=Launching {0}... -couldNotCreateIProcess=The IProcess could not be created -locationNotSpecified=Executable location was not specified in configuration ''{0}'' -invalidLocation=Executable does not exist for the external tool named ''{0}'' -invalidWorkingDirectory=The path {0} is not a directory and cannot be used as working directory \ - for ''{1}'' -questionDeleteLaunchConfiguration=Do you wish to delete the selected launch configuration? -questionTitleDeleteLaunchConfiguration=Confirm Launch Configuration Deletion -errorNoPTYSupport=CDT PTY support is not available on your host ({0}.{1}).\n\n\ -The Local Terminal connector has been disabled. -errorDirectLaunch=Terminal launch configurations can only be launched from the Terminal view. \ - Please open the Terminal view and click the view's Settings button to select and launch a local \ - Terminal. -errorLaunchConfigurationNoLongerExists=The launch configuration ''{0}'' that is selected in the \ - Terminal Settings does no longer exist. Please open the Settings dialog to select a valid launch \ - configuration. -errorTitleCouldNotConnectToTerminal=Could not connect to Terminal -warningTitleTerminalsStillRunning=Warning: Terminals with active processes are still running -warningMessageTerminalsStillRunning=The workbench is about to shut down even though one or more \ - terminals with active processes are still running. Unsaved data may be lost if the shutdown \ - proceeds. -quitWorkbenchAnyway=Quit Workbench Anyways -doNoQuitWorkbench=Do Not Quit Workbench -terminatedProcess={0} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java deleted file mode 100644 index 3e9ff6bb1ae..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputListener.java +++ /dev/null @@ -1,91 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import java.io.PrintStream; - -import org.eclipse.debug.core.IStreamListener; -import org.eclipse.debug.core.model.IStreamMonitor; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalOutputListener} is an {@link IStreamListener} that transfers output - * from a program's standard output and standard error streams to an {@link ITerminalControl}. - * It does so by listening for appended text and sending it to the terminal's - * {@link ITerminalControl#getRemoteToTerminalOutputStream()}. The class also performs line - * separator conversions as specified by the {@link ILocalTerminalSettings}. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalOutputListener implements IStreamListener { - - private PrintStream printStream; - private String lineSeparator; - - /** - * Creates a new {@link LocalTerminalOutputListener}. - * - * @param control the {@link ITerminalControl} to which the received output is forwarded - * @param settings the {@link ILocalTerminalSettings} - */ - public LocalTerminalOutputListener(ITerminalControl control, ILocalTerminalSettings settings) { - - printStream = new PrintStream(control.getRemoteToTerminalOutputStream(), true); - lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); - if (lineSeparator == null) { - - String defaultLS = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); - if (LocalTerminalUtilities.CRLF.equals(defaultLS)) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; - } - else if (LocalTerminalUtilities.LF.equals(defaultLS)) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; - } - else if (LocalTerminalUtilities.CR.equals(defaultLS)) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; - } - else { - - Logger.log("Unknown default line separator: " + defaultLS); //$NON-NLS-1$ - } - } - } - - /** - * Processes new output that was appended to the intercepted stream. - * - * @param text the new output - * @param monitor the {@link IStreamMonitor} from which the output was received (this parameter - * is currently not evaluated because each {@link IStreamMonitor} has its own dedicated instance - * of {@link LocalTerminalOutputListener} attached) - */ - public void streamAppended(String text, IStreamMonitor monitor) { - - // The VT100TerminalControl apparently adheres to a strict interpretation of the CR and - // LF control codes, i.e., CR moves the caret to the beginning of the line (but does not - // move down to the next line), and LF moves down to the next line (but not to the - // beginning of the line). Therefore, if the program launched in the terminal does not use - // CRLF as its line terminator the line terminators have to be converted to CRLF before - // being passed on to the terminal control: - // - if (!ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(lineSeparator)) { - - text = text.replaceAll(lineSeparator, LocalTerminalUtilities.CRLF); - } - printStream.print(text); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java deleted file mode 100644 index 3005eddadd8..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalOutputStream.java +++ /dev/null @@ -1,185 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import java.io.IOException; -import java.io.OutputStream; - -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.IStreamsProxy; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; - -/** - * The class {@link LocalTerminalOutputStream} is an {@link OutputStream} that copies data that is - * typed into the terminal to the standard input of the active process. Data that is written to the - * stream is directly forwarded to the {@link IStreamsProxy} of the process. CRLF line separators - * that are received from the terminal will be automatically converted to the line separator that is - * specified in the {@link ILocalTerminalSettings}. The Terminal Control generally sends CR line - * separators if the local echo is disabled and CRLF if enabled. The reason for this idiosyncrasy - * is not entirely clear right now and the line separator behavior might change in the future. - * - * TODO: research as to whether the CR/CRLF distinction in VT100TerminalControl.TerminalKeyHandler - * (based on the local echo setting) is really necessary - * - * @author Mirko Raner - * @version $Revision: 1.4 $ - */ -public class LocalTerminalOutputStream extends OutputStream { - - private final static String NOTHING = ""; //$NON-NLS-1$ - private final static String CRLF = LocalTerminalUtilities.CRLF; - private final static char CR = '\r'; - private final static char LF = '\n'; - private final static char CTRL_C = '\03'; - private final static int TERMINAL_SENDS_CR = 0; - private final static int TERMINAL_SENDS_CRLF = 1; - private final static int PROGRAM_EXPECTS_LF = 0; - private final static int PROGRAM_EXPECTS_CRLF = 1; - private final static int PROGRAM_EXPECTS_CR = 2; - private final static int NO_CHANGE = 0; - private final static int CHANGE_CR_TO_LF = 1; - private final static int INSERT_LF_AFTER_CR = 2; - private final static int REMOVE_CR = 3; - private final static int REMOVE_LF = 4; - - // CRLF conversion table: - // - // Expected line separator --> | LF | CRLF | CR | - // ------------------------------------+-----------------+--------------------+----------------+ - // Local echo off - control sends CR | change CR to LF | insert LF after CR | no change | - // ------------------------------------+-----------------+--------------------+----------------+ - // Local echo on - control sends CRLF | remove CR | no change | remove LF | - // - private final static int[][] CRLF_REPLACEMENT = { - - {CHANGE_CR_TO_LF, INSERT_LF_AFTER_CR, NO_CHANGE}, - {REMOVE_CR, NO_CHANGE, REMOVE_LF} - }; - - private final boolean sendSIGINTOnCtrlC; - private IStreamsProxy streamsProxy; - private IProcess process; - private int replacement; - - /** - * Creates a new {@link LocalTerminalOutputStream}. - * - * @param process the {@link IProcess} object of the terminal process - * @param settings the {@link ILocalTerminalSettings} (currently only used for the line - * separator settings) - */ - public LocalTerminalOutputStream(IProcess process, ILocalTerminalSettings settings) { - - this.process = process; - streamsProxy = process.getStreamsProxy(); - sendSIGINTOnCtrlC = LocalTerminalUtilities.getCtrlC(settings); - boolean localEcho = LocalTerminalUtilities.getLocalEcho(settings); - int terminalSends = localEcho? TERMINAL_SENDS_CRLF:TERMINAL_SENDS_CR; - int programExpects; - String lineSeparator = LocalTerminalUtilities.getLineSeparator(settings); - if (lineSeparator == null) { - - lineSeparator = System.getProperty(LocalTerminalUtilities.LINE_SEPARATOR_PROPERTY); - if (LocalTerminalUtilities.CR.equals(lineSeparator)) { - - programExpects = PROGRAM_EXPECTS_CR; - } - else if (LocalTerminalUtilities.LF.equals(lineSeparator)) { - - programExpects = PROGRAM_EXPECTS_LF; - } - else { - - programExpects = PROGRAM_EXPECTS_CRLF; - } - } - else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_LF)) { - - programExpects = PROGRAM_EXPECTS_LF; - } - else if (lineSeparator.equals(ILocalTerminalSettings.LINE_SEPARATOR_CR)) { - - programExpects = PROGRAM_EXPECTS_CR; - } - else { - - programExpects = PROGRAM_EXPECTS_CRLF; - } - replacement = CRLF_REPLACEMENT[terminalSends][programExpects]; - } - - /** - * Writes the specified byte to this output stream. - * - * @param data the byte - * @throws IOException if an I/O error occurs - */ - public void write(int data) throws IOException { - - write(new byte[] {(byte)data}, 0, 1); - } - - /** - * Writes a specified number of bytes from the specified byte array starting at a given offset. - * - * @param data the array containing the data - * @param offset the offset into the array - * @param length the number of bytes to be written - * @throws IOException of an I/O error occurs - */ - public void write(byte[] data, int offset, int length) throws IOException { - - String text = new String(data, offset, length); - // - // TODO: check whether this is correct! new String(byte[], int, int) always uses the default - // encoding! - - if (replacement == CHANGE_CR_TO_LF) { - - text = text.replace(CR, LF); - } - else if (replacement == INSERT_LF_AFTER_CR) { - - text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, CRLF); - } - else if (replacement == REMOVE_CR) { - - text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_CR, NOTHING); - } - else if (replacement == REMOVE_LF) { - - text = text.replaceAll(ILocalTerminalSettings.LINE_SEPARATOR_LF, NOTHING); - } - - // Process Ctrl-C in the proper order: - // - int positionOfCtrlC = -1; - while (sendSIGINTOnCtrlC && (positionOfCtrlC = text.indexOf(CTRL_C)) != -1) { - - // Send text up to (and including) the Ctrl-C to the process, then send a SIGINT: - // - streamsProxy.write(text.substring(0, positionOfCtrlC+1)); - if (process instanceof LocalTerminalProcess) { - - ((LocalTerminalProcess)process).interrupt(); - } - - // Remove the part of the text that was already sent: - // - text = text.substring(positionOfCtrlC+1); - } - if (text.length() > 0) { - - streamsProxy.write(text); - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java deleted file mode 100644 index 6f27d26fba3..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettings.java +++ /dev/null @@ -1,109 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettings - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import java.lang.reflect.Field; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalSettings} is the default implementation of the - * {@link ILocalTerminalSettings} interface. - * - * @author Mirko Raner - * @version $Revision: 1.3 $ - */ -public class LocalTerminalSettings implements ILocalTerminalSettings { - - private String launchConfiguration; - - /** - * Loads the settings from the given {@link ISettings}. - * This method loads the store contents by means of reflection. This is clearly overkill for - * the few settings supported by this class, but the code is much more reusable. Pretty much - * every implementation of a custom settings store is implemented in the same fashion and - * might be replace by a single centralized implementation. - * - * TODO: check for possibilities to reuse this code! - * - * @param store the {@link ISettings} - * @see ILocalTerminalSettings#load(ISettings) - */ - public void load(ISettingsStore store) { - - Field[] declaredField = getClass().getDeclaredFields(); - int numberOfFields = declaredField.length; - for (int index = 0; index < numberOfFields; index++) { - - Field field = declaredField[index]; - Class type = field.getType(); - Object value = store.get(field.getName()); - if (type.equals(boolean.class)) { - - value = Boolean.valueOf((String)value); - } - // TODO: further conversions need to be added as new settings types are introduced - try { - - field.set(this, value); - } - catch (IllegalAccessException illegalAccess) { - - Logger.logException(illegalAccess); - } - } - } - - /** - * Saves the settings to the specified {@link ISettings}. - * See {@link #load(ISettings)} for further implementation notes. - * - * @param store the {@link ISettings} - * - * @see ILocalTerminalSettings#save(ISettings) - */ - public void save(ISettingsStore store) { - - Field[] declaredField = getClass().getDeclaredFields(); - int numberOfFields = declaredField.length; - for (int index = 0; index < numberOfFields; index++) { - - Field field = declaredField[index]; - try { - - field.setAccessible(true); - store.put(field.getName(), String.valueOf(field.get(this))); - } - catch (IllegalAccessException illegalAccess) { - - Logger.logException(illegalAccess); - } - } - } - - /** - * @see ILocalTerminalSettings#getLaunchConfigurationName() - */ - public String getLaunchConfigurationName() { - - return launchConfiguration; - } - - /** - * @see ILocalTerminalSettings#setLaunchConfigurationName(String) - */ - public void setLaunchConfigurationName(String launchConfiguration) { - - this.launchConfiguration = launchConfiguration; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java deleted file mode 100644 index 997c88f47f2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalSettingsPage.java +++ /dev/null @@ -1,327 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2013 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.tm.terminal.ssh/SshSettingsPage - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.debug.ui.ILaunchGroup; -import org.eclipse.jface.dialogs.ErrorDialog; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.jface.viewers.TableViewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Layout; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Table; -import org.eclipse.swt.widgets.Widget; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; -import org.eclipse.tm.internal.terminal.local.ui.DependentHeightComposite; -import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; - -/** - * The class {@link LocalTerminalSettingsPage} is an implementation {@link ISettingsPage} for - * local program connections. - * - * @author Mirko Raner - * @version $Revision: 1.3 $ - */ -public class LocalTerminalSettingsPage extends AbstractSettingsPage -implements ISelectionChangedListener, SelectionListener { - - private ILocalTerminalSettings settings; - private TableViewer viewer; - private Button buttonEdit; - private Button buttonNew; - private Button buttonDelete; - - /** - * Creates a new {@link LocalTerminalSettingsPage} that reflects the settings of the specified - * {@link ILocalTerminalSettings} object. - * - * @param settings the {@link ILocalTerminalSettings} - */ - public LocalTerminalSettingsPage(ILocalTerminalSettings settings) { - - this.settings = settings; - } - - /** - * Creates the {@link org.eclipse.swt.widgets.Control} for the settings page. - * (NOTE: contrary to the common pattern, this method does not actually return the Control it - * created) - * - * @param parent the parent {@link Composite} into which the control is to be inserted - * - * @see ISettingsPage#createControl(Composite) - */ - public void createControl(Composite parent) { - - ILaunchConfiguration defaultConfiguration; - defaultConfiguration = LocalTerminalLaunchUtilities.createDefaultLaunchConfiguration(); - Composite enclosing = parent.getParent(); - Layout enclosingLayout = enclosing.getLayout(); - int extra = 0; - if (enclosingLayout instanceof GridLayout) { - - extra = -2*((GridLayout)enclosingLayout).marginHeight-2; - } - Composite composite = new DependentHeightComposite(parent, SWT.NONE, enclosing, extra); - // - // TODO: This is a HACK that ensures proper resizing of the settings page inside the - // StackLayout of the PageBook. The following code makes implicit assumptions about - // the internal layout of surrounding widgets. This is something that should be - // properly addressed in the framework (maybe in the PageBook class). - - GridLayout layout = new GridLayout(); - layout.marginWidth = layout.marginHeight = 0; - layout.horizontalSpacing = layout.verticalSpacing = 0; - composite.setLayout(layout); - composite.setLayoutData(new GridData(GridData.FILL_BOTH)); - Label label = new Label(composite, SWT.NONE); - label.setText(LocalTerminalMessages.launchConfiguration); - label.setLayoutData(new GridData()); - - // Create list of available launch configurations: - // - Composite tableAndButtons = new Composite(composite, SWT.NONE); - tableAndButtons.setLayoutData(new GridData(GridData.FILL_BOTH)); - layout = new GridLayout(2, false); - layout.marginWidth = 0; - tableAndButtons.setLayout(layout); - Table table = new Table(tableAndButtons, SWT.BORDER); - viewer = new TableViewer(table); - viewer.setLabelProvider(new LocalTerminalLaunchLabelProvider()); - viewer.setContentProvider(new LocalTerminalLaunchListProvider()); - viewer.setInput(new Object()); - viewer.addSelectionChangedListener(this); - table.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, true, 0, 3)); - buttonNew = pushButton(tableAndButtons, LocalTerminalMessages.labelNew, false); - buttonEdit = pushButton(tableAndButtons, LocalTerminalMessages.labelEdit, false); - buttonEdit.setEnabled(settings.getLaunchConfigurationName() != null); - buttonDelete = pushButton(tableAndButtons, LocalTerminalMessages.labelDelete, true); - buttonDelete.setEnabled(settings.getLaunchConfigurationName() != null); - // - // NOTE: echo and line separator settings were moved to the launch configuration! - - // NOTE: loadSettings() is actually NOT called by the framework but needs to be called - // by the settings page itself - // TODO: this should be fixed in the framework; otherwise there is really no point - // in having it be a part of the ISettingsPage interface - // - loadSettings(); - if (defaultConfiguration != null) { - - // If there is only one configuration (the default one), then make sure it gets - // selected: - // - viewer.setSelection(new StructuredSelection(defaultConfiguration), true); - } - } - - /** - * Loads the settings from the internal {@link ILocalTerminalSettings} object. - * This method will update the UI to reflect the current settings. - * - * @see ISettingsPage#loadSettings() - */ - public void loadSettings() { - - String configurationName = settings.getLaunchConfigurationName(); - ILaunchConfiguration configuration; - try { - - configuration = LocalTerminalUtilities.findLaunchConfiguration(configurationName); - } - catch (CoreException couldNotFindLaunchConfiguration) { - - configuration = null; - } - if (settings.getLaunchConfigurationName() != null && configuration != null) { - - viewer.setSelection(new StructuredSelection(configuration), true); - } - } - - /** - * Saves the settings that are currently displayed in the UI to the internal - * {@link ILocalTerminalSettings} object. - * - * @see ISettingsPage#saveSettings() - */ - public void saveSettings() { - - if (viewer != null && !viewer.getSelection().isEmpty()) { - - IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); - Object element = selection.getFirstElement(); - if (element instanceof ILaunchConfiguration) { - - String launchConfiguration = ((ILaunchConfiguration)element).getName(); - settings.setLaunchConfigurationName(launchConfiguration); - } - } - } - - /** - * Checks if the current settings are valid for starting a terminal session. - * This method will only return true if a launch configuration is selected. - * - * @return true if a launch configuration has been selected, false - * otherwise - */ - public boolean validateSettings() { - - return viewer != null && !viewer.getSelection().isEmpty(); - } - - /** - * Enables or disables the Edit... and Delete buttons depending on whether a launch - * configuration is currently selected in the viewer. - * - * @see ISelectionChangedListener#selectionChanged(SelectionChangedEvent) - */ - public void selectionChanged(SelectionChangedEvent event) { - - buttonEdit.setEnabled(!event.getSelection().isEmpty()); - buttonDelete.setEnabled(!event.getSelection().isEmpty()); - } - - /** - * Handles default button clicks for the Edit... and New.. buttons. This method will simply - * pass on the call to {@link #widgetSelected(SelectionEvent)}. - * - * @param event the {@link SelectionEvent} - * - * @see SelectionListener#widgetDefaultSelected(SelectionEvent) - */ - public void widgetDefaultSelected(SelectionEvent event) { - - widgetSelected(event); - } - - /** - * Handles default button clicks for the Edit... and New.. buttons. - * - * @param event the {@link SelectionEvent} - * - * @see SelectionListener#widgetSelected(SelectionEvent) - */ - public void widgetSelected(SelectionEvent event) { - - ILaunchConfiguration configuration = null; - Widget widget = event.widget; - if (widget == null) { - - return; - } - if (widget.equals(buttonNew)) { - - try { - - ILaunchConfigurationWorkingCopy newLaunch; - newLaunch = LocalTerminalLaunchUtilities.createNewLaunchConfigurationWorkingCopy(); - configuration = newLaunch.doSave(); - } - catch (CoreException couldNotCreateNewLaunchConfiguration) { - - Logger.logException(couldNotCreateNewLaunchConfiguration); - } - } - if (widget.equals(buttonEdit) || configuration != null) { - - ILaunchGroup group; - IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); - if (configuration == null) { - - configuration = (ILaunchConfiguration)selection.getFirstElement(); - } - group = DebugUITools.getLaunchGroup(configuration, ILaunchManager.RUN_MODE); - String groupID = group.getIdentifier(); - DebugUITools.openLaunchConfigurationDialog(getShell(), configuration, groupID, null); - // - // TODO: handle return value (maybe start terminal right away if "Run" was selected) - // - a return value of Window.CANCEL indicates that "Close" was selected - // - a return value of Window.OK indicates that "Run" was selected - - viewer.refresh(); - viewer.setSelection(new StructuredSelection(configuration), true); - // - // TODO: handle renamed configurations; setSelection(...) will not work if the user - // renamed the configuration in the dialog (apparently, because renaming actually - // creates a different ILaunchConfiguration object, rather than just renaming the - // existing one) - } - if (widget.equals(buttonDelete)) { - - String title = LocalTerminalMessages.questionTitleDeleteLaunchConfiguration; - String question = LocalTerminalMessages.questionDeleteLaunchConfiguration; - if (MessageDialog.openQuestion(getShell(), title, question)) { - - IStructuredSelection selection = (IStructuredSelection)viewer.getSelection(); - configuration = (ILaunchConfiguration)selection.getFirstElement(); - try { - - configuration.delete(); - } - catch (CoreException exception) { - - ErrorDialog.openError(getShell(), null, null, exception.getStatus()); - } - viewer.refresh(); - } - } - } - - static Shell getShell() { - - IWorkbench workbench = PlatformUI.getWorkbench(); - IWorkbenchWindow activeWindow = workbench.getActiveWorkbenchWindow(); - if (activeWindow != null) { - - return activeWindow.getShell(); - } - IWorkbenchWindow[] allWindows = workbench.getWorkbenchWindows(); - return allWindows.length > 0? allWindows[0].getShell():null; - } - - //------------------------------------ PRIVATE SECTION ---------------------------------------// - - private Button pushButton(Composite parent, String label, boolean grabVertical) { - - GridData layoutData; - Button button = new Button(parent, SWT.PUSH); - button.setText(label); - layoutData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING|GridData.HORIZONTAL_ALIGN_FILL); - layoutData.grabExcessVerticalSpace = grabVertical; - button.setLayoutData(layoutData); - button.addSelectionListener(this); - return button; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java deleted file mode 100644 index 44802ae61bb..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/LocalTerminalUtilities.java +++ /dev/null @@ -1,158 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.osgi.util.NLS; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalUtilities} is a collection of commonly used constants and utility - * methods. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalUtilities { - - private static String NULL = null; - private static String LOCAL_TERMINAL = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; - - /** The name of the line separator system property (i.e., "line.separator"). */ - public final static String LINE_SEPARATOR_PROPERTY = "line.separator"; //$NON-NLS-1$ - - /** The line separator CRLF (i.e., "\r\n"). */ - public final static String CRLF = "\r\n"; //$NON-NLS-1$ - - /** The line separator CR (i.e., "\r"). */ - public final static String CR = "\r"; //$NON-NLS-1$ - - /** The line separator LF (i.e., "\n"). */ - public final static String LF = "\n"; //$NON-NLS-1$ - - private LocalTerminalUtilities() { - - super(); - } - - /** The {@link DebugPlugin}'s {@link ILaunchManager} instance. */ - public final static ILaunchManager LAUNCH_MANAGER = DebugPlugin.getDefault().getLaunchManager(); - - /** - * The {@link ILaunchConfigurationType} for "Terminal" launches (in the "External Tools" - * category). - */ - public final static ILaunchConfigurationType TERMINAL_LAUNCH_TYPE = - LAUNCH_MANAGER.getLaunchConfigurationType(LOCAL_TERMINAL); - - /** - * Finds a launch configuration by its name. - * - * @param name the name of the launch configuration - * @return the corresponding {@link ILaunchConfiguration} object or null if the - * configuration could not be found - * @throws CoreException if there was a general problem accessing launch configurations - */ - public static ILaunchConfiguration findLaunchConfiguration(String name) throws CoreException { - - ILaunchConfiguration[] configuration; - ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager(); - configuration = manager.getLaunchConfigurations(LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE); - int numberOfConfigurations = configuration.length; - for (int index = 0; index < numberOfConfigurations; index++) { - - if (configuration[index].getName().equals(name)) { - - return configuration[index]; - } - } - String error = NLS.bind(LocalTerminalMessages.noSuchLaunchConfiguration, name); - throw new CoreException(new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, error)); - } - - /** - * Gets the local echo setting that is stored in the launch configuration for the given - * {@link ILocalTerminalSettings}. - * - * @param settings the {@link ILocalTerminalSettings} - * @return true for local echo enabled, false otherwise - */ - public static boolean getLocalEcho(ILocalTerminalSettings settings) { - - return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO); - } - - /** - * Gets the Ctrl-C/SIGINT setting that is stored in the launch configuration for the given - * {@link ILocalTerminalSettings}. - * - * @param settings the {@link ILocalTerminalSettings} - * @return true if sending SIGINT for Ctrl-C is enabled, - * false otherwise - */ - public static boolean getCtrlC(ILocalTerminalSettings settings) { - - return getBooleanSetting(settings, LocalTerminalLaunchUtilities.ATTR_CTRL_C); - } - - /** - * Gets the line separator setting that is stored in the launch configuration for the given - * {@link ILocalTerminalSettings}. - * - * @param settings the {@link ILocalTerminalSettings} - * @return {@link ILocalTerminalSettings#LINE_SEPARATOR_LF}, - * {@link ILocalTerminalSettings#LINE_SEPARATOR_CRLF}, - * {@link ILocalTerminalSettings#LINE_SEPARATOR_CR}, or null for the platform's - * default line separator - */ - public static String getLineSeparator(ILocalTerminalSettings settings) { - - String configurationName = settings.getLaunchConfigurationName(); - try { - - String ls; - ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); - ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); - return ls; - } - catch (CoreException exception) { - - Logger.logException(exception); - return null; - } - } - - //------------------------------------- PRIVATE SECTION --------------------------------------// - - private static boolean getBooleanSetting(ILocalTerminalSettings settings, String attribute) { - - String configurationName = settings.getLaunchConfigurationName(); - try { - - ILaunchConfiguration configuration = findLaunchConfiguration(configurationName); - return configuration.getAttribute(attribute, false); - } - catch (CoreException exception) { - - Logger.logException(exception); - return false; - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java deleted file mode 100644 index 999371af27b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchDelegate.java +++ /dev/null @@ -1,288 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch; - -import java.io.File; -import java.io.IOException; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.cdt.utils.pty.PTY; -import org.eclipse.cdt.utils.spawner.ProcessFactory; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.LaunchConfigurationDelegate; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.osgi.util.NLS; -import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; -import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; -import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcess; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessFactory; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.ui.PlatformUI; - -/** - * The class {@link LocalTerminalLaunchDelegate} provides a launch configuration delegate for local - * terminal launches. It is based on the ProgramLaunchDelegate class in the - * org.eclipse.ui.externaltools plug-in. In contrast to the original class, - * {@link LocalTerminalLaunchDelegate} creates its low-level {@link Process} object using the CDT - * {@link ProcessFactory}, which allows the process to run with a pseudo-terminal ({@link PTY}). - * - * @author Mirko Raner and others - * @version $Revision: 1.4 $ - */ -public class LocalTerminalLaunchDelegate extends LaunchConfigurationDelegate { - - private final static String EMPTY = ""; //$NON-NLS-1$ - private final static String PLUGIN_ID = LocalTerminalActivator.PLUGIN_ID; - - /** - * The launch configuration type ID for terminal launches. - */ - public final static String LAUNCH_CONFIGURATION_TYPE_ID = PLUGIN_ID + ".launch"; //$NON-NLS-1$ - - private static LocalTerminalStillRunningListener workbenchCloseListener; - - /** - * Creates a new {@link LocalTerminalLaunchDelegate}. - */ - public LocalTerminalLaunchDelegate() { - - super(); - } - - /** - * Launches a new Local Terminal configuration in the specified mode. The launch object has - * already been registered with the launch manager. - * - * @param configuration the {@link ILaunchConfiguration} to launch - * @param mode the mode in which to launch; currently, Local Terminal launches only support the - * mode {@link org.eclipse.debug.core.ILaunchManager#RUN_MODE} - * @param progressMonitor an {@link IProgressMonitor}, or null for no progress - * monitoring - * @param launch the {@link ILaunch} object - * @exception CoreException if launching fails - */ - public void launch(ILaunchConfiguration configuration, String mode, ILaunch launch, - IProgressMonitor progressMonitor) throws CoreException { - - String processFactoryID; - processFactoryID = configuration.getAttribute(DebugPlugin.ATTR_PROCESS_FACTORY_ID, EMPTY); - if (!LocalTerminalProcessFactory.ID.equals(processFactoryID)) { - - // This launch was not launched via the terminal connector UI but via the launch dialog; - // the launch needs to be explicitly connected to a terminal (otherwise it will appear - // in the regular console), so launching from the launch dialog or from the launch - // history is not supported right now. - // - String message = LocalTerminalMessages.errorDirectLaunch; - IStatus status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message); - throw new CoreException(status); - } - - // Extract all relevant information from the ILaunchConfiguration; the original - // ProgramLaunchDelegate class checks for cancellation again and again after each step, - // which is a somewhat suspect pattern; however, for now, LocalTerminalLaunchDelegate - // handles cancellation in the same way: - // - if (progressMonitor.isCanceled()) { - - return; - } - IPath location = LocalTerminalLaunchUtilities.getLocation(configuration); - if (progressMonitor.isCanceled()) { - - return; - } - IPath workingDirectory = LocalTerminalLaunchUtilities.getWorkingDirectory(configuration); - if (progressMonitor.isCanceled()) { - - return; - } - String[] arguments = LocalTerminalLaunchUtilities.getArguments(configuration); - if (progressMonitor.isCanceled()) { - - return; - } - String[] commandLine = new String[arguments != null? arguments.length+1:1]; - commandLine[0] = location.toOSString(); - if (arguments != null) { - - System.arraycopy(arguments, 0, commandLine, 1, arguments.length); - } - File workingDirectoryAsFile = null; - if (workingDirectory != null) { - - workingDirectoryAsFile = workingDirectory.toFile(); - } - if (progressMonitor.isCanceled()) { - - return; - } - String[] environment = LocalTerminalUtilities.LAUNCH_MANAGER.getEnvironment(configuration); - if (progressMonitor.isCanceled()) { - - return; - } - // - // TODO: check if there is a better way of handling cancellation of terminal launches! - - // Install an IWindowListener that checks for left-over terminal processes when the - // workbench is closed: - // - if (workbenchCloseListener == null) { - - workbenchCloseListener = new LocalTerminalStillRunningListener(); - PlatformUI.getWorkbench().addWorkbenchListener(workbenchCloseListener); - } - - // Create the low-level Process object: - // - Process spawner; - PTY pty = null; - try { - - ProcessFactory factory = ProcessFactory.getFactory(); - if (PTY.isSupported()) { - - pty = new PTY(false); - spawner = factory.exec(commandLine, environment, workingDirectoryAsFile, pty); - } - else { - - spawner = factory.exec(commandLine, environment, workingDirectoryAsFile); - } - } - catch (IOException exception) { - - Status error; - String message = exception.getMessage(); - error = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, message, exception); - throw new CoreException(error); - } - - // Use program name as "process type" attribute: - // - Map processAttributes = new HashMap(); - String programName = location.lastSegment(); - String extension = location.getFileExtension(); - if (extension != null) { - - programName = programName.substring(0, programName.length()-extension.length()-1); - } - processAttributes.put(IProcess.ATTR_PROCESS_TYPE, programName.toLowerCase()); - - // Create the IProcess: - // - IProcess process = null; - if (spawner != null) { - - String[] configurationName = {configuration.getName()}; - String task = NLS.bind(LocalTerminalMessages.launchingConfiguration, configurationName); - progressMonitor.beginTask(task, IProgressMonitor.UNKNOWN); - process = DebugPlugin.newProcess(launch, spawner, commandLine[0], processAttributes); - } - if (spawner == null || process == null) { - - if (spawner != null) { - - spawner.destroy(); - } - String pluginID = LocalTerminalActivator.PLUGIN_ID; - String errorMessage = LocalTerminalMessages.couldNotCreateIProcess; - Status error = new Status(IStatus.ERROR, pluginID, IStatus.ERROR, errorMessage, null); - throw new CoreException(error); - } - if (process instanceof LocalTerminalProcess) { - - ((LocalTerminalProcess)process).setPTY(pty); - } - process.setAttribute(IProcess.ATTR_CMDLINE, generateCommandLine(commandLine)); - - // Wait for process termination if necessary (though probably highly unusual for terminal - // launches); again, the busy waiting pattern was copied from ProgramLaunchDelegate and is - // somewhat suspect: - // - if (!CommonTab.isLaunchInBackground(configuration)) { - - while (!process.isTerminated()) { - - try { - - if (progressMonitor.isCanceled()) { - - process.terminate(); - break; - } - Thread.sleep(50); - } - catch (InterruptedException interrupt) { - - Logger.logException(interrupt); - } - } - } - // - // TODO: find a better replacement for the busy waiting loop - } - - //------------------------------------- PRIVATE SECTION --------------------------------------// - - private String generateCommandLine(String[] commandLine) { - - if (commandLine.length < 1) { - - return EMPTY; - } - StringBuffer buffer = new StringBuffer(); - for (int element = 0; element < commandLine.length; element++) { - - if (element > 0) { - - buffer.append(' '); - } - StringBuffer argument = new StringBuffer(); - char[] characters = commandLine[element].toCharArray(); - boolean argumentContainsSpace = false; - for (int index = 0; index < characters.length; index++) { - - char character = characters[index]; - if (character == '"') { - - argument.append('\\'); - } - else if (character == ' ') { - - argumentContainsSpace = true; - } - argument.append(character); - } - if (argumentContainsSpace) { - - buffer.append('"').append(argument).append('"'); - } - else { - - buffer.append(argument); - } - } - return buffer.toString(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java deleted file mode 100644 index 79db5cd278f..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalLaunchUtilities.java +++ /dev/null @@ -1,305 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ExternalToolsUtil - * Mirko Raner - [314195] vi editor unusable in tcsh local terminal on Linux RHEL4 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch; - -import java.io.File; -import java.text.Format; -import java.text.MessageFormat; -import java.util.Collections; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Platform; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.variables.IStringVariableManager; -import org.eclipse.core.variables.VariablesPlugin; -import org.eclipse.debug.core.DebugPlugin; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.core.ILaunchManager; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.graphics.Image; -import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; -import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; -import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalLaunchUtilities} provides some utility methods that are used by the - * {@link LocalTerminalLaunchDelegate}. The class is based on the ExternalToolsUtil - * class in the org.eclipse.ui.externaltools plug-in. This code had to be duplicated - * because the original class is not part of the public API of its plug-in. - * - * @author Mirko Raner and others - * @version $Revision: 1.4 $ - */ -public class LocalTerminalLaunchUtilities { - - /** The launch configuration attribute for the local echo setting. */ - public final static String ATTR_LOCAL_ECHO = LocalTerminalActivator.PLUGIN_ID + - ".echo"; //$NON-NLS-1$ - - /** The launch configuration attribute for the Ctrl-C/SIGINT setting. */ - public final static String ATTR_CTRL_C = LocalTerminalActivator.PLUGIN_ID + - ".sigint"; //$NON-NLS-1$ - - /** The launch configuration attribute for the line terminator setting. */ - public final static String ATTR_LINE_SEPARATOR = LocalTerminalActivator.PLUGIN_ID + - ".lineseparator"; //$NON-NLS-1$ - - private final static String[] EMPTY = {}; - private final static String STRING = null; - private final static String TERM = "TERM"; //$NON-NLS-1$ - private final static String ANSI = "ansi"; //$NON-NLS-1$ - private final static Map TERM_ANSI = Collections.singletonMap(TERM, ANSI); - - // These constants were copied from IExternalToolConstants to avoid references to internal API: - // - private final static String XT = "org.eclipse.ui.externaltools"; //$NON-NLS-1$; - private final static String ATTR_LOCATION = XT+".ATTR_LOCATION"; //$NON-NLS-1$ - private final static String ATTR_TOOL_ARGUMENTS = XT+".ATTR_TOOL_ARGUMENTS"; //$NON-NLS-1$ - private final static String ATTR_WORKING_DIRECTORY = XT+".ATTR_WORKING_DIRECTORY"; //$NON-NLS-1$ - - private LocalTerminalLaunchUtilities() { - - super(); - } - - /** - * Gets the image that should be used for representing the given launch configuration. - * - * @param configuration the {@link ILaunchConfiguration} - * @return an SWT {@link Image} or null if no suitable image was found - */ - public static Image getImage(ILaunchConfiguration configuration) { - - String identifier; - try { - - identifier = configuration.getType().getIdentifier(); - } - catch (CoreException couldNotDetermineConfigurationType) { - - identifier = null; - Logger.logException(couldNotDetermineConfigurationType); - } - if (identifier != null) { - - return DebugUITools.getImage(identifier); - } - return null; - } - - /** - * Expands and returns the location attribute of the given launch configuration. The location is - * verified to point to an existing file in the local file system. - * - * @param configuration the {@link ILaunchConfiguration} - * @return an absolute path to a file in the local file system - * @throws CoreException if unable to retrieve the associated launch configuration attribute, or - * if unable to resolve any variables, or if the resolved location does not point to an existing - * file in the local file system - */ - public static IPath getLocation(ILaunchConfiguration configuration) throws CoreException { - - Object[] configurationName = {configuration.getName()}; - String location = configuration.getAttribute(ATTR_LOCATION, STRING); - if (location == null) { - - abort(NLS.bind(LocalTerminalMessages.locationNotSpecified, configurationName), null, 0); - } - String expandedLocation = getStringVariableManager().performStringSubstitution(location); - if (expandedLocation == null || expandedLocation.length() == 0) { - - abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); - } - File file = new File(expandedLocation); - if (!file.isFile()) { - - abort(NLS.bind(LocalTerminalMessages.invalidLocation, configurationName), null, 0); - } - return new Path(expandedLocation); - } - - /** - * Expands and returns the working directory attribute of the given launch configuration. - * Returns null if a working directory is not specified. If specified, the working - * directory is guaranteed to point to an existing directory in the local file system. - * - * @param configuration the {@link ILaunchConfiguration} - * @return an absolute path to a directory in the local file system, or null if - * no working directory was specified - * @throws CoreException if unable to retrieve the associated launch configuration attribute, - * or if unable to resolve any variables, or if the resolved location does not point to an - * existing directory in the local file system - */ - public static IPath getWorkingDirectory(ILaunchConfiguration configuration) - throws CoreException { - - String location = configuration.getAttribute(ATTR_WORKING_DIRECTORY, STRING); - if (location != null) { - - String expandedLocation; - expandedLocation = getStringVariableManager().performStringSubstitution(location); - if (expandedLocation.length() > 0) { - - File path = new File(expandedLocation); - if (!path.isDirectory()) { - - Object[] detail = {expandedLocation, configuration.getName()}; - abort(NLS.bind(LocalTerminalMessages.invalidWorkingDirectory, detail), null, 0); - } - } - return new Path(expandedLocation); - } - return null; - } - - /** - * Expands and returns the arguments attribute of the given launch configuration. Returns - * null if arguments were not specified. - * - * @param configuration the {@link ILaunchConfiguration} - * @return an array of resolved arguments, or null if no arguments were specified - * @throws CoreException if unable to retrieve the associated launch configuration attribute, - * or if unable to resolve any variables - */ - public static String[] getArguments(ILaunchConfiguration configuration) throws CoreException { - - String arguments = configuration.getAttribute(ATTR_TOOL_ARGUMENTS, STRING); - if (arguments != null) { - - String expanded = getStringVariableManager().performStringSubstitution(arguments); - return parseStringIntoList(expanded); - } - return null; - } - - /** - * Creates an initial default launch configuration for starting a shell if no terminal/program - * launch configurations are defined yet. - * - * @return new {@link ILaunchConfiguration}, or {@code null} if there were already some - * terminal/program launch configurations defined - */ - public static ILaunchConfiguration createDefaultLaunchConfiguration() { - - ILaunchConfiguration[] configs; - ILaunchManager manager = LocalTerminalUtilities.LAUNCH_MANAGER; - try { - - configs = manager.getLaunchConfigurations(LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE); - if (configs == null || configs.length == 0) { - - // Create a default launch configuration only if there aren't any terminal launch - // configurations defined at all: - // - ILaunchConfigurationWorkingCopy workingCopy; - workingCopy = createNewLaunchConfigurationWorkingCopy(); - return workingCopy.doSave(); - } - } - catch (CoreException exception) - { - exception.printStackTrace(); // TODO: implement proper exception handling - } - return null; - } - - /** - * Creates an {@link ILaunchConfigurationWorkingCopy} that uses the default shell as its - * executable and the user's home directory as the working directory. - * - * @return an unsaved {@link ILaunchConfigurationWorkingCopy} - * @throws CoreException if the {@link ILaunchConfigurationWorkingCopy} could not be - * instantiated - * @see #getDefaultShell() - */ - public static ILaunchConfigurationWorkingCopy createNewLaunchConfigurationWorkingCopy() - throws CoreException { - - ILaunchConfigurationWorkingCopy workingCopy; - ILaunchManager manager = LocalTerminalUtilities.LAUNCH_MANAGER; - String userHome = System.getProperty("user.home", "/"); //$NON-NLS-1$//$NON-NLS-2$ - String defaultShell = getDefaultShell().getAbsolutePath(); - String name = defaultShell.substring(defaultShell.lastIndexOf(File.separator) + 1); - Format terminalLaunchName = new MessageFormat(LocalTerminalMessages.newTerminalLaunchName); - name = terminalLaunchName.format(new Object[] {name}); - name = manager.generateLaunchConfigurationName(name); - workingCopy = LocalTerminalUtilities.TERMINAL_LAUNCH_TYPE.newInstance(null, name); - workingCopy.setAttribute(ILaunchManager.ATTR_ENVIRONMENT_VARIABLES, new HashMap(TERM_ANSI)); - workingCopy.setAttribute(ILaunchManager.ATTR_APPEND_ENVIRONMENT_VARIABLES, true); - workingCopy.setAttribute(ATTR_LOCATION, defaultShell); - workingCopy.setAttribute(ATTR_WORKING_DIRECTORY, userHome); - workingCopy.setAttribute(ATTR_LOCAL_ECHO, runningOnWindows()); - return workingCopy; - } - - /** - * Returns the system's default shell. First, this method will read the value of the environment - * variable {@code SHELL}. If that variable is not set, it will default to {@code cmd.exe} on - * Windows systems, and to {@code /bin/sh} on all other systems. - * - * @return a {@link File} pointing to the default shell (the underlying file is not guaranteed - * to exist in the file system) - */ - public static File getDefaultShell() { - - String shell = System.getenv("SHELL"); //$NON-NLS-1$ - if (shell == null) { - - if (runningOnWindows()) { - - shell = "C:\\Windows\\System32\\cmd.exe"; //$NON-NLS-1$ - } - else { - - shell = "/bin/sh"; //$NON-NLS-1$ - } - } - return new File(shell); - } - - //------------------------------------- PRIVATE SECTION --------------------------------------// - - private static boolean runningOnWindows() { - - return Platform.OS_WIN32.equals(Platform.getOS()); - } - - private static IStringVariableManager getStringVariableManager() { - - return VariablesPlugin.getDefault().getStringVariableManager(); - } - - private static String[] parseStringIntoList(String arguments) { - - if (arguments == null || arguments.length() == 0) { - - return EMPTY; - } - return DebugPlugin.parseArguments(arguments); - } - - private static void abort(String text, Throwable exception, int code) throws CoreException { - - Status status; - status = new Status(IStatus.ERROR, LocalTerminalActivator.PLUGIN_ID, code, text, exception); - throw new CoreException(status); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java deleted file mode 100644 index 17478b61e85..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/LocalTerminalStillRunningListener.java +++ /dev/null @@ -1,127 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - [196337] Adapted from org.eclipse.ui.externaltools/ProgramLaunchDelegate - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch; - -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationType; -import org.eclipse.jface.preference.IPreferenceStore; -import org.eclipse.tm.internal.terminal.local.LocalTerminalActivator; -import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; -import org.eclipse.tm.internal.terminal.local.launch.ui.LocalTerminalStillRunningDialog; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchListener; -import org.eclipse.ui.IWorkbenchWindow; - -/** - * The class {@link LocalTerminalStillRunningListener} is an {@link IWorkbenchListener} that warns - * the user about any terminal launches that are still running when the workbench closes. The user - * might want to take specific action to deal with such left-over processes. Typically, this - * listener will trigger only on very rare cases because the - * {@link org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector} implementation will - * terminate left-over launches when the workbench window is closed. However, it is possible that - * a terminal launch does not get automatically terminated, for example, if it was started through - * an External Tools launch rather than through the terminal. - * - * The class {@link LocalTerminalStillRunningListener} is inspired by the - * ProgramLaunchWindowListener class inside ProgramLaunchDelegate in the - * org.eclipse.ui.externaltools plug-in, though it works through a slightly different - * mechanism. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalStillRunningListener implements IWorkbenchListener { - - /** - * Creates a new {@link LocalTerminalStillRunningListener}. - */ - public LocalTerminalStillRunningListener() { - - super(); - } - - /** - * Gets notified when the workbench is closed and informs the user about any left-over - * terminal launches. - * - * @param workbench the {@link IWorkbench} - * @param forced true if a forced shutdown occurred, false otherwise - * @return true to allow the workbench to proceed with shutdown, false - * to prevent a shutdown (only for non-forced shutdown) - */ - public boolean preShutdown(IWorkbench workbench, boolean forced) { - - if (forced) { - - return true; - } - IPreferenceStore store = LocalTerminalActivator.getDefault().getPreferenceStore(); - if (!store.getBoolean(LocalTerminalActivator.PREF_CONFIRM_TERMINATE_ON_SHUTDOWN)) { - - return true; - } - ILaunchConfigurationType launchType; - String launchTypeID = LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID; - launchType = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunchConfigurationType(launchTypeID); - if (launchType == null) { - - return true; - } - List notTerminated = new ArrayList(); - ILaunch launches[] = LocalTerminalUtilities.LAUNCH_MANAGER.getLaunches(); - ILaunchConfigurationType configurationType; - ILaunchConfiguration configuration; - for (int launch = 0; launch < launches.length; launch++) { - - try { - - configuration = launches[launch].getLaunchConfiguration(); - if (configuration == null) { - - continue; - } - configurationType= configuration.getType(); - } - catch (CoreException exception) { - - Logger.logException(exception); - continue; - } - if (configurationType.equals(launchType) && !launches[launch].isTerminated()) { - - notTerminated.add(launches[launch]); - } - } - if (!notTerminated.isEmpty()) { - - IWorkbenchWindow window = workbench.getActiveWorkbenchWindow(); - ILaunch[] launch = (ILaunch[])notTerminated.toArray(new ILaunch[notTerminated.size()]); - return LocalTerminalStillRunningDialog.openDialog(window.getShell(), launch); - } - return true; - } - - /** - * Not implemented. - * @see IWorkbenchListener#postShutdown(IWorkbench) - */ - public void postShutdown(IWorkbench workbench) { - - // Not implemented - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java deleted file mode 100644 index 7618816c6c8..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalLaunchTabGroup.java +++ /dev/null @@ -1,112 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch.ui; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IConfigurationElement; -import org.eclipse.core.runtime.IExtensionRegistry; -import org.eclipse.core.runtime.Platform; -import org.eclipse.debug.ui.AbstractLaunchConfigurationTabGroup; -import org.eclipse.debug.ui.CommonTab; -import org.eclipse.debug.ui.EnvironmentTab; -import org.eclipse.debug.ui.IDebugUIConstants; -import org.eclipse.debug.ui.ILaunchConfigurationDialog; -import org.eclipse.debug.ui.ILaunchConfigurationTab; -import org.eclipse.debug.ui.ILaunchConfigurationTabGroup; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** -* The class {@link LocalTerminalLaunchTabGroup} defines the tabs for the launch configuration -* dialog that is used for terminal-based launches. The tab groups consists of the main tab for -* a standard program launch (lifted from the org.eclipse.ui.externaltools plug-in), the -* custom {@link LocalTerminalSettingsTab}, and the {@link EnvironmentTab} and {@link CommonTab}, -* which can be publicly accessed from the org.eclipse.debug.ui plug-in. -* -* @author Mirko Raner -* @version $Revision: 1.2 $ -**/ -public class LocalTerminalLaunchTabGroup extends AbstractLaunchConfigurationTabGroup { - - private final static String ID = "id"; //$NON-NLS-1$ - private final static String CLASS = "class"; //$NON-NLS-1$ - private final static String PROGRAM_TAB_GROUP = - "org.eclipse.ui.externaltools.launchConfigurationTabGroup.program"; //$NON-NLS-1$ - - /** - * Creates a new {@link LocalTerminalLaunchTabGroup}. - **/ - public LocalTerminalLaunchTabGroup() { - - super(); - } - - /** - * Creates the tabs contained in the local terminal launch configuration dialog for the specified - * launch mode. The tabs control's are not yet created. This is the first method called in the - * life-cycle of a tab group. - * - * @param dialog the launch configuration dialog this tab group is contained in - * @param mode the mode the launch configuration dialog was opened in - * @see AbstractLaunchConfigurationTabGroup#createTabs(ILaunchConfigurationDialog, String) - **/ - public void createTabs(ILaunchConfigurationDialog dialog, String mode) { - - ILaunchConfigurationTab main = getMainTab(dialog, mode); - ILaunchConfigurationTab terminal = new LocalTerminalSettingsTab(); - ILaunchConfigurationTab environment = new EnvironmentTab(); - ILaunchConfigurationTab common = new CommonTab(); - ILaunchConfigurationTab[] tabs = {main, terminal, environment, common}; - setTabs(tabs); - } - - //-------------------------------------- PRIVATE SECTION -------------------------------------// - - private ILaunchConfigurationTab getMainTab(ILaunchConfigurationDialog dialog, String mode) { - - // Find the main tab for the external program launch in the registry (a direct search is - // only possible for extensions that actually declare a unique ID, which most extensions - // don't; the search for the "id" attribute of a configuration element has to be done - // manually): - // - IConfigurationElement[] element; - IExtensionRegistry registry = Platform.getExtensionRegistry(); - final String TAB_GROUPS = IDebugUIConstants.EXTENSION_POINT_LAUNCH_CONFIGURATION_TAB_GROUPS; - element = registry.getConfigurationElementsFor(IDebugUIConstants.PLUGIN_ID, TAB_GROUPS); - int numberOfElements = element.length; - for (int index = 0; index < numberOfElements; index++) { - - if (element[index].getAttribute(ID).equals(PROGRAM_TAB_GROUP)) { - - try { - - ILaunchConfigurationTabGroup tabGroup; - Object executable = element[index].createExecutableExtension(CLASS); - tabGroup = (ILaunchConfigurationTabGroup)executable; - tabGroup.createTabs(dialog, mode); - - // It's not possible to make assumptions about the class name of the program - // main tab (without over-stepping API boundaries), but it's usually the very - // first tab in the group (which is an assumption that actually also over-steps - // API boundaries, but it's the best possible solution, short of copying the - // whole source code): - // - return tabGroup.getTabs()[0]; - } - catch (CoreException exception) { - - Logger.logException(exception); - } - } - } - return null; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java deleted file mode 100644 index fd4bcbd9a57..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalSettingsTab.java +++ /dev/null @@ -1,282 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch.ui; - -import org.eclipse.core.runtime.CoreException; -import org.eclipse.debug.core.ILaunchConfiguration; -import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy; -import org.eclipse.debug.ui.AbstractLaunchConfigurationTab; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.layout.RowLayout; -import org.eclipse.swt.widgets.Button; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Group; -import org.eclipse.tm.internal.terminal.local.ILocalTerminalSettings; -import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchDelegate; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalSettingsTab} provides the UI for custom settings that are specific - * to terminal-based launches. Currently, the tab allows the user to control the local echo settings - * and the line separator string. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - **/ -public class LocalTerminalSettingsTab extends AbstractLaunchConfigurationTab -implements SelectionListener { - - private final static String NULL = null; - - private Button buttonEcho; - private Button buttonCtrlC; - private Button separatorDefault; - private Button separatorLF; - private Button separatorCRLF; - private Button separatorCR; - - /** - * Creates a new {@link LocalTerminalSettingsTab}. - **/ - public LocalTerminalSettingsTab() { - - super(); - } - - /** - * Creates the top-level control for this launch configuration tab under the given parent - * composite. This method is called once on tab creation. - * - * @param parent the parent {@link Composite} - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(Composite) - **/ - public void createControl(Composite parent) { - - Composite container = new Composite(parent, SWT.NONE); - setControl(container); - container.setLayout(new GridLayout()); - Group composite = new Group(container, SWT.NONE); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - composite.setText(LocalTerminalMessages.terminalSettings); - composite.setLayout(new GridLayout()); - - // Create echo check box: - // - buttonEcho = button(composite, LocalTerminalMessages.enableLocalEcho, SWT.CHECK); - buttonEcho.setLayoutData(new GridData()); - - // Create Ctrl-C/SIGINT check box: - // - buttonCtrlC = button(composite, LocalTerminalMessages.sendInterruptOnCtrlC, SWT.CHECK); - buttonCtrlC.setLayoutData(new GridData()); - - // Create radio buttons for line separator settings: - // - Composite separator = new Composite(composite, SWT.NONE); - RowLayout rowLayout = new RowLayout(); - rowLayout.wrap = false; - separator.setLayout(rowLayout); - separatorDefault = button(separator, LocalTerminalMessages.lineSeparatorDefault, SWT.RADIO); - separatorLF = button(separator, LocalTerminalMessages.lineSeparatorLF, SWT.RADIO); - separatorCRLF = button(separator, LocalTerminalMessages.lineSeparatorCRLF, SWT.RADIO); - separatorCR = button(separator, LocalTerminalMessages.lineSeparatorCR, SWT.RADIO); - separator.setLayoutData(new GridData()); - } - - /** - * Returns the name of this tab. - * - * @return the name of this tab - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getName() - **/ - public String getName() { - - return LocalTerminalMessages.terminalTabName; - } - - /** - * Returns the image for this tab, or null if none - * - * @return the image for this tab, or null if none - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#getImage() - **/ - public Image getImage() { - - return DebugUITools.getImage(LocalTerminalLaunchDelegate.LAUNCH_CONFIGURATION_TYPE_ID); - } - - /** - * Initializes this tab's controls with values from the given launch configuration. This method - * is called when a configuration is selected to view or edit, after the tab's control has been - * created. - * - * @param configuration the launch configuration - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#initializeFrom(ILaunchConfiguration) - **/ - public void initializeFrom(ILaunchConfiguration configuration) { - - boolean echo; - try { - - echo = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); - } - catch (CoreException exception) { - - Logger.logException(exception); - echo = false; - } - boolean ctrlC; - try { - - ctrlC = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); - } - catch (CoreException exception) { - - Logger.logException(exception); - ctrlC = false; - } - String ls; - try { - - ls = configuration.getAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); - } - catch (CoreException exception) { - - Logger.logException(exception); - ls = null; - } - buttonEcho.setSelection(echo); - buttonCtrlC.setSelection(ctrlC); - if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { - - separatorLF.setSelection(true); - } - else if (ILocalTerminalSettings.LINE_SEPARATOR_LF.equals(ls)) { - - separatorLF.setSelection(true); - } - else if (ILocalTerminalSettings.LINE_SEPARATOR_CRLF.equals(ls)) { - - separatorCRLF.setSelection(true); - } - else if (ILocalTerminalSettings.LINE_SEPARATOR_CR.equals(ls)) { - - separatorCR.setSelection(true); - } - else { - - separatorDefault.setSelection(true); - } - } - - /** - * Copies values from this tab into the given launch configuration. - * - * @param configuration the launch configuration - * @see AbstractLaunchConfigurationTab#performApply(ILaunchConfigurationWorkingCopy) - **/ - public void performApply(ILaunchConfigurationWorkingCopy configuration) { - - boolean echo = buttonEcho.getSelection(); - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, echo); - boolean ctrlC = buttonCtrlC.getSelection(); - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, ctrlC); - String lineSeparator = null; - if (separatorCRLF.getSelection()) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CRLF; - } - else if (separatorCR.getSelection()) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_CR; - } - else if (separatorLF.getSelection()) { - - lineSeparator = ILocalTerminalSettings.LINE_SEPARATOR_LF; - } - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, lineSeparator); - } - - /** - * Initializes the given launch configuration with default values for this tab. This method is - * called when a new launch configuration is created such that the configuration can be - * initialized with meaningful values. This method may be called before the tab's control is - * created. - * - * @param configuration the launch configuration - * @see AbstractLaunchConfigurationTab#setDefaults(ILaunchConfigurationWorkingCopy) - **/ - public void setDefaults(ILaunchConfigurationWorkingCopy configuration) { - - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LOCAL_ECHO, false); - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_CTRL_C, false); - configuration.setAttribute(LocalTerminalLaunchUtilities.ATTR_LINE_SEPARATOR, NULL); - } - - /** - * Prevents Terminal launch configurations from being started directly from the launch - * configuration dialog. The Run button in the dialog will only be enabled if all tabs - * consider a launch configuration valid. - * - * TODO: previously used launches can still be launched via the launch history - * (see {@code ExternalToolMenuDelegate#fillMenu(Menu)}) - * - * @param configuration the {@link ILaunchConfiguration} - * @return always {@code false} - * @see org.eclipse.debug.ui.ILaunchConfigurationTab#isValid(ILaunchConfiguration) - */ - public boolean isValid(ILaunchConfiguration configuration) { - - return false; - } - - /** - * Handles selection of any of the buttons in the tab. - * - * @param event the {@link SelectionEvent} - * @see SelectionListener#widgetSelected(SelectionEvent) - **/ - public void widgetSelected(SelectionEvent event) { - - setDirty(true); - getLaunchConfigurationDialog().updateButtons(); - } - - /** - * Handles default selection of any of the buttons in the tab. - * - * @param event the {@link SelectionEvent} - * @see SelectionListener#widgetDefaultSelected(SelectionEvent) - **/ - public void widgetDefaultSelected(SelectionEvent event) { - - widgetSelected(event); - } - - //-------------------------------------- PRIVATE SECTION -------------------------------------// - - private Button button(Composite parent, String label, int buttonType) { - - Button button = new Button(parent, buttonType); - button.addSelectionListener(this); - button.setText(label); - return button; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java deleted file mode 100644 index f2b554e2474..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/launch/ui/LocalTerminalStillRunningDialog.java +++ /dev/null @@ -1,298 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.launch.ui; - -import org.eclipse.debug.core.DebugException; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchesListener2; -import org.eclipse.debug.ui.DebugUITools; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.custom.ScrolledComposite; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.events.SelectionListener; -import org.eclipse.swt.graphics.Color; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.graphics.RGB; -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.swt.widgets.Display; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.ToolBar; -import org.eclipse.swt.widgets.ToolItem; -import org.eclipse.tm.internal.terminal.local.LocalTerminalMessages; -import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; -import org.eclipse.tm.internal.terminal.local.launch.LocalTerminalLaunchUtilities; -import org.eclipse.tm.internal.terminal.local.process.LocalTerminalProcessRegistry; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; - -/** - * The class {@link LocalTerminalStillRunningDialog} is a dialog that is shown when the workbench is - * about to exit and one or more terminal launches are still running. It gives the user a choice - * between aborting the workbench shut-down, proceeding, or terminating the outstanding launches - * individually. When no more launches are running the dialog will automatically disappear and - * workbench shut-down will proceed. - * - * @author Mirko Raner - * @version $Revision: 1.1 $ - */ -public class LocalTerminalStillRunningDialog extends MessageDialog -implements Runnable, SelectionListener, ILaunchesListener2 { - - private final static String TITLE = LocalTerminalMessages.warningTitleTerminalsStillRunning; - private final static String MESSAGE = LocalTerminalMessages.warningMessageTerminalsStillRunning; - private final static String QUIT_ANYWAY = LocalTerminalMessages.quitWorkbenchAnyway; - private final static String DO_NOT_QUIT = LocalTerminalMessages.doNoQuitWorkbench; - private final static String[] BUTTONS = {QUIT_ANYWAY, DO_NOT_QUIT}; - private final static RGB WHITE = new RGB(255, 255, 255); - private final static int SCROLLABLE_HEIGHT = 100; - - // Image key copied from IInternalDebugUIConstants: - // - private final static String IMG_LCL_TERMINATE = "IMG_LCL_TERMINATE"; //$NON-NLS-1$ - - private ILaunch[] unterminated; - private Composite content; - - private LocalTerminalStillRunningDialog(Shell parentShell, ILaunch[] launches) { - - super(parentShell, TITLE, null, MESSAGE, WARNING, BUTTONS, 0); - setShellStyle(SWT.BORDER|SWT.TITLE|SWT.APPLICATION_MODAL|SWT.RESIZE|SWT.MAX); - unterminated = launches; - } - - /** - * Opens a dialog that lists all terminal launches that have not yet terminated. - * - * @param shell the parent {@link Shell} for the dialog - * @param launches the launches that have not yet terminated - * @return true to allow the workbench to proceed with shutdown, false - * to prevent a shutdown (only for non-forced shutdown) - */ - public static boolean openDialog(Shell shell, ILaunch[] launches) { - - LocalTerminalStillRunningDialog dialog; - dialog = new LocalTerminalStillRunningDialog(shell, launches); - dialog.setBlockOnOpen(true); - try { - - LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(dialog); - return dialog.open() == 0; - } - finally { - - LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(dialog); - } - } - - /** - * Creates the dialog buttons and sets the focus on the default button. This is done because - * otherwise the focus might land on one of the stop buttons of the unterminated launches, which - * looks somewhat funny. - * - * @param parent the parent {@link Composite} - */ - protected void createButtonsForButtonBar(Composite parent) { - - super.createButtonsForButtonBar(parent); - getButton(1).forceFocus(); - } - - /** - * Creates the custom area of the dialog that shows the list of terminal launches that have not - * yet been terminated. - * - * @param parent the parent {@link Composite} into which the custom area is inserted - * @return the {@link ScrolledComposite} for the custom area - * - * @see MessageDialog#createCustomArea(Composite) - */ - protected Control createCustomArea(Composite parent) { - - ScrolledComposite scrollable = new ScrolledComposite(parent, SWT.BORDER|SWT.V_SCROLL); - GridData gridData = new GridData(GridData.FILL_BOTH); - gridData.heightHint = SCROLLABLE_HEIGHT; - scrollable.setLayoutData(gridData); - scrollable.setExpandHorizontal(true); - scrollable.setExpandVertical(true); - GridLayout gridLayout = new GridLayout(); - gridLayout.marginWidth = gridLayout.marginHeight = gridLayout.verticalSpacing = 0; - content = new Composite(scrollable, SWT.NONE); - content.setLayout(gridLayout); - content.setBackground(new Color(parent.getDisplay(), WHITE)); - scrollable.setContent(content); - for (int index = 0; index < unterminated.length; index++) { - - Composite item = createItem(content, unterminated[index]); - item.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - } - content.pack(); - scrollable.setMinHeight(content.getBounds().height); - return scrollable; - } - - /** - * Handles the {@link SelectionEvent}s that are sent when the user clicks the stop button of a - * launch. The stop button will immediately be disabled to indicate that the stop request is - * being processed. The actual launch termination will be confirmed in an asynchronous fashion - * by the {@link #launchesTerminated(ILaunch[])} method. - * - * @param event the {@link SelectionEvent} - * - * @see #launchesTerminated(ILaunch[]) - */ - public void widgetSelected(SelectionEvent event) { - - ToolItem item = (ToolItem)event.widget; - ILaunch launch = (ILaunch)item.getParent().getParent().getData(); - item.setEnabled(false); - try { - - LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(launch); - launch.terminate(); - } - catch (DebugException exception) { - - Logger.logException(exception); - } - } - - /** - * Handles default selection events by passing them to {@link #widgetSelected(SelectionEvent)}. - * - * @param event the {@link SelectionEvent} - * - * @see #widgetSelected(SelectionEvent) - * @see SelectionListener#widgetSelected(SelectionEvent) - */ - public void widgetDefaultSelected(SelectionEvent event) { - - widgetSelected(event); - } - - /** - * Removes terminated launches from the list displayed by the dialog and closes the dialog once - * all outstanding launches have been terminated. - * - * @see #launchesTerminated(ILaunch[]) - */ - public void run() { - - boolean allLaunchesTerminated = true; - Control[] child = content.getChildren(); - int numberOfChildren = child.length; - for (int number = 0; number < numberOfChildren; number++) { - - ILaunch launch = (ILaunch)child[number].getData(); - if (launch != null && launch.isTerminated()) { - - child[number].setData(null); - String exitValue; - try { - - exitValue = String.valueOf(launch.getProcesses()[0].getExitValue()); - } - catch (DebugException couldNotGetExitValue) { - - exitValue = '(' + couldNotGetExitValue.getMessage() + ')'; - } - Label label = (Label)((Composite)child[number]).getChildren()[1]; - String process = label.getText(); - process = NLS.bind(LocalTerminalMessages.terminatedProcess, process, exitValue); - label.setText(process); - - // In case the launch terminated by itself (and not because the user pressed the - // stop button) disable the stop button so that no attempt can be made to stop the - // process twice: - // - ((Composite)child[number]).getChildren()[2].setEnabled(false); - } - if (child[number].getData() != null) { - - allLaunchesTerminated = false; - } - } - if (allLaunchesTerminated) { - - setReturnCode(0); - close(); - } - } - - /** - * Removes a recently terminated launch from the list displayed by the dialog. The actual work - * needs to be done in the UI thread and is performed by the {@link #run()} method. - * - * @param terminated a list of terminated launches - * - * @see #run() - */ - public void launchesTerminated(ILaunch[] terminated) { - - Display.getDefault().syncExec(this); - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesAdded(ILaunch[]) - */ - public void launchesAdded(ILaunch[] launches) { - - // Not implemented... - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesChanged(ILaunch[]) - */ - public void launchesChanged(ILaunch[] launches) { - - // Not implemented... - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesRemoved(ILaunch[]) - */ - public void launchesRemoved(ILaunch[] launches) { - - // Not implemented... - } - - //-------------------------------------- PRIVATE SECTION -------------------------------------// - - private Composite createItem(Composite parent, ILaunch launch) { - - Composite item = new Composite(parent, SWT.NULL); - GridLayout gridLayout = new GridLayout(3, false); - item.setData(launch); - item.setLayout(gridLayout); - Image processImage = LocalTerminalLaunchUtilities.getImage(launch.getLaunchConfiguration()); - Label icon = new Label(item, SWT.NULL); - icon.setImage(processImage); - Label label = new Label(item, SWT.NULL); - label.setText(launch.getLaunchConfiguration().getName()); - ToolItem stopButton = new ToolItem(new ToolBar(item, SWT.FLAT), SWT.PUSH); - stopButton.addSelectionListener(this); - Image deleteImage = DebugUITools.getImage(IMG_LCL_TERMINATE); - stopButton.setImage(deleteImage); - GridData gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.verticalAlignment = GridData.CENTER; - gridData.grabExcessHorizontalSpace = true; - label.setLayoutData(gridData); - return item; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java deleted file mode 100644 index 3b4b6b1c28d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcess.java +++ /dev/null @@ -1,191 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008, 2010 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - * Mirko Raner - [314607] Launching a terminal also pops up the console view - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.process; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.cdt.utils.pty.PTY; -import org.eclipse.cdt.utils.spawner.Spawner; -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.model.IProcess; -import org.eclipse.debug.core.model.IStreamsProxy; -import org.eclipse.debug.core.model.RuntimeProcess; - -/** - * The class {@link LocalTerminalProcess} is a customized {@link RuntimeProcess} for use by the - * {@link org.eclipse.tm.internal.terminal.local.LocalTerminalConnector}. It serves the purpose of - * preventing the {@link org.eclipse.debug.internal.ui.DebugUIPlugin DebugUIPlugin}'s - * {@link org.eclipse.debug.internal.ui.views.console.ProcessConsoleManager ProcessConsoleManager} - * from allocating a Console view in addition to the Terminal view that serves as the program's main - * I/O device.

                                    - * Unfortunately, the Process Console Manager determines the need for a Console view by checking the - * {@link IStreamsProxy} of the process for null. If the process has a non-null - * {@link IStreamsProxy} a console will be automatically allocated. This is problematic because - * the Local Terminal Connector requires an {@link IStreamsProxy} but obviously not an additional - * console view. It would have been better if the Process Console Manager would check the - * corresponding attributes in the launch configuration rather than checking the - * {@link IStreamsProxy} of the process. The work-around for now is to remove the underlying - * process from the launch. No console will be allocated for a launch that doesn't have a process - * associated with it. Consequently, a currently running terminal launch will appear in the Debug - * view's list of active launches but the view will not show any child elements (and the element - * cannot be expanded, either). The {@link LocalTerminalProcessRegistry} keeps track of which - * {@link LocalTerminalProcess} is associated with a particular launch. Client code that needs to - * find the process of a launch can obtain it through that registry.

                                    - * However, for a launch to be properly terminated it needs to have at least one process that can - * be terminated. Launches that do not have any processes associated with them are not considered - * terminated and actually terminating them is not possible. To work around this secondary issue, - * the process is added back to its launch just before the launch is terminated. This activity is - * performed by {@link LocalTerminalProcessRegistry#addProcessBackToFinishedLaunch(ILaunch)}. To - * prevent a console allocation during this last step, the {@link #resetStreamsProxy()} method will - * be invoked, which will cause subsequent calls to {@link IProcess#getStreamsProxy()} to return - * null. After the launch is terminated it will appear in the Debug view with the - * terminated process as its child element. The exit value of the terminal process can also be seen - * in that view.

                                    - * {@link #getStreamsProxy()} will also return null during initialization of a - * {@link LocalTerminalProcess} object until after the - * {@link RuntimeProcess#RuntimeProcess(ILaunch, Process, String, Map) super constructor} invocation - * has been completed. This disables a code path that caused a Console view to pop up when the - * {@link org.eclipse.debug.core.model.IStreamMonitor IStreamMonitor} already contained data (like, - * for example, a shell's initial prompt) when the ProcessConsoleManager received an - * {@link org.eclipse.debug.core.ILaunchListener#launchChanged(ILaunch)} notification (which cannot - * be avoided). See https://bugs.eclipse.org/314607 - * for additional details.

                                    - * - * This solution for preventing standard consoles from being opened does certainly not deserve the - * cleanliness award for straightforward coding, but at least it doesn't rely on internal API at - * this point. Ideally, the whole issue should be resolved with some sort of console renderer - * extension point as proposed in bug 242373 (https://bugs.eclipse.org/bugs/show_bug.cgi?id=242373). - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public final class LocalTerminalProcess extends RuntimeProcess { - - /** - * The process type ID of processes produced by this factory. - */ - public final static String PROCESS_TYPE = "org.eclipse.tm.terminal.localProcess"; //$NON-NLS-1$ - - private boolean enableStreamsProxy; - private boolean resetStreamsProxy; - private PTY pty; - - /** - * Creates a new {@link LocalTerminalProcess}. - * - * @param launch the current {@link ILaunch} - * @param process the underlying low-level {@link Process} - * @param name the process name - * @param attributes additional attributes of the process - */ - protected LocalTerminalProcess(ILaunch launch, Process process, String name, Map attributes) { - - super(launch, process, name, setProcessType(attributes)); - enableStreamsProxy = true; - LocalTerminalProcessRegistry.registerWithLaunch(launch, this); - launch.removeProcess(this); - } - - /** - * Sends a SIGINT signal to the underlying system {@link Process}. This is roughly - * equivalent to the user pressing Ctrl-C. - * - * @return true if the interrupt signal was sent successfully; false - * if the signal was not sent successfully or if no signal was sent because the underlying - * process is not a CDT {@link Spawner} - */ - public boolean interrupt() { - - Process process = getSystemProcess(); - if (process instanceof Spawner) { - - return ((Spawner)process).interrupt() == 0; - } - return false; - } - - /** - * Returns the {@link IStreamsProxy} of the process. - * - * @return the original result of {@link RuntimeProcess#getStreamsProxy()}, or null - * after {@link #resetStreamsProxy()} has been called. - */ - public IStreamsProxy getStreamsProxy() { - - if (resetStreamsProxy || !enableStreamsProxy) { - - return null; - } - return super.getStreamsProxy(); - } - - /** - * Resets the {@link IStreamsProxy} of this process. After calling this method, - * {@link #getStreamsProxy()} will always return null. - */ - protected void resetStreamsProxy() { - - resetStreamsProxy = true; - } - - /** - * Sets the pseudo-terminal associated with this process. - * - * @param pty the {@link PTY} - */ - public void setPTY(PTY pty) { - - this.pty = pty; - } - - /** - * Gets the pseudo-terminal associated with this process. - * - * @return the {@link PTY} - */ - public PTY getPTY() { - - return pty; - } - - /** - * Re-attaches the process to its launch and completes termination of the process. This ensures - * that the launch can properly terminate. - * - * @see RuntimeProcess#terminated() - */ - protected void terminated() { - - LocalTerminalProcessRegistry.addProcessBackToFinishedLaunch(getLaunch()); - super.terminated(); - } - - //------------------------------------- PRIVATE SECTION --------------------------------------// - - private static Map setProcessType(Map attributes) { - - // The process type used to be set by the LocalTerminalProcessFactory. However, if some - // client code managed to instantiate a LocalTerminalProcess directly (instead of going - // through the factory) this would result in IProcess objects with an incorrect process type - // attribute. A better solution is to set the process type attribute at the time when the - // LocalTerminalProcess object is actually created: - // - if (attributes == null) { - - attributes = new HashMap(1); - } - attributes.put(IProcess.ATTR_PROCESS_TYPE, PROCESS_TYPE); - return attributes; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java deleted file mode 100644 index 7932a779ac2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessFactory.java +++ /dev/null @@ -1,41 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.process; - -import java.util.Map; - -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.IProcessFactory; -import org.eclipse.debug.core.model.IProcess; - -/** - * The class {@link LocalTerminalProcessFactory} is an {@link IProcessFactory} that produces - * {@link LocalTerminalProcess} objects. - * - * @author Mirko Raner - * @version $Revision: 1.2 $ - */ -public class LocalTerminalProcessFactory implements IProcessFactory { - - /** - * The ID of this factory (as used in plugin.xml). - */ - public final static String ID = "org.eclipse.tm.terminal.localProcess.factory"; //$NON-NLS-1$ - - /** - * @see IProcessFactory#newProcess(ILaunch, Process, String, Map) - */ - public IProcess newProcess(ILaunch launch, Process process, String label, Map attributes) { - - return new LocalTerminalProcess(launch, process, label, attributes); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java deleted file mode 100644 index 7f30d43aef1..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/process/LocalTerminalProcessRegistry.java +++ /dev/null @@ -1,159 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.process; - -import java.util.IdentityHashMap; -import java.util.Map; - -import org.eclipse.debug.core.ILaunch; -import org.eclipse.debug.core.ILaunchesListener2; -import org.eclipse.tm.internal.terminal.local.LocalTerminalUtilities; - -/** - * The {@link LocalTerminalProcessRegistry} keeps a map between {@link ILaunch} objects and the - * {@link LocalTerminalProcess} objects that were associated with them. To prevent standard consoles - * from being opened, a {@link LocalTerminalProcess} is immediately removed from its {@link ILaunch} - * when the process is created (see {@link LocalTerminalProcess} for details). - * {@link LocalTerminalProcessRegistry} is a singleton (without lazy initialization). - * - * @author mirko - * @version $Revision: 1.1 $ - */ -public class LocalTerminalProcessRegistry implements ILaunchesListener2 { - - private final static LocalTerminalProcessRegistry INSTANCE = new LocalTerminalProcessRegistry(); - - private Map processes; - - private LocalTerminalProcessRegistry() { - - // The ILaunch interface does not make any statements about the suitability of implementing - // objects as hash keys. There might be ILaunch implementations that return a different - // hash code value if the object changes internally. To be safe in those cases, an - // IdentityHashMap is used: - // - processes = new IdentityHashMap(); - } - - /** - * Gets the {@link LocalTerminalProcess} that was originally associated with a given - * {@link ILaunch} object. - * - * @param launch the {@link ILaunch} that was used for creating the process - * @return the corresponding {@link LocalTerminalProcess}, or null if no process - * could be found - */ - public static LocalTerminalProcess getFromLaunch(ILaunch launch) { - - return (LocalTerminalProcess)INSTANCE.processes.get(launch); - } - - /** - * Adds a {@link LocalTerminalProcess} object back to its original {@link ILaunch}. This method - * will also perform a {@link LocalTerminalProcess#resetStreamsProxy()} on the process. - * The {@link #addProcessBackToFinishedLaunch(ILaunch)} method is necessary for properly - * terminating the launch of a terminal application (see {@link LocalTerminalProcess} for - * details). - * - * @param launch the {@link ILaunch} whose original process is to be re-attached - */ - public static void addProcessBackToFinishedLaunch(ILaunch launch) { - - LocalTerminalProcess process = getFromLaunch(launch); - if (process == null) { - - // Maybe the process wasn't actually started in a terminal (can happen when a Terminal - // is launched from the External Tools menu): - // - return; - } - process.resetStreamsProxy(); - if (launch.getProcesses().length == 0) { - - launch.addProcess(process); - } - } - - /** - * Registers a {@link LocalTerminalProcess} with a given {@link ILaunch} so that the process can - * be safely removed from the launch. - * - * @param launch the {@link ILaunch} - * @param process the {@link LocalTerminalProcess} originally associated with that launch - */ - public static void registerWithLaunch(ILaunch launch, LocalTerminalProcess process) { - - synchronized (INSTANCE) { - - if (INSTANCE.processes.isEmpty()) { - - // Start listening to terminated launches as soon as the first launch/process pair - // is registered: - // - LocalTerminalUtilities.LAUNCH_MANAGER.addLaunchListener(INSTANCE); - } - INSTANCE.processes.put(launch, process); - } - } - - /** - * Handles the termination of launches. The {@link LocalTerminalProcessRegistry} acts as a - * {@link ILaunchesListener2} if there are monitored launches outstanding. It will automatically - * de-register itself (as a listener) when the last monitored launch was terminated. - * - * @param terminated the launches that were terminated - */ - public void launchesTerminated(ILaunch[] terminated) { - - synchronized (INSTANCE) { - - int numberOfTerminatedLaunches = terminated.length; - for (int launch = 0; launch < numberOfTerminatedLaunches; launch++) { - - INSTANCE.processes.remove(terminated[launch]); - } - if (INSTANCE.processes.isEmpty()) { - - // If there are no more outstanding launches the listener can be removed again: - // - LocalTerminalUtilities.LAUNCH_MANAGER.removeLaunchListener(INSTANCE); - } - } - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesAdded(ILaunch[]) - */ - public void launchesAdded(ILaunch[] launches) { - - // Not implemented. - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesRemoved(ILaunch[]) - */ - public void launchesRemoved(ILaunch[] launches) { - - // Not implemented. - } - - /** - * Not implemented. - * @see ILaunchesListener2#launchesChanged(ILaunch[]) - */ - public void launchesChanged(ILaunch[] launches) { - - // Not implemented. - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java b/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java deleted file mode 100644 index 7cdaa3e05cf..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.local/src/org/eclipse/tm/internal/terminal/local/ui/DependentHeightComposite.java +++ /dev/null @@ -1,88 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2008 Mirko Raner. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Mirko Raner - initial implementation for Eclipse Bug 196337 - **************************************************************************************************/ - -package org.eclipse.tm.internal.terminal.local.ui; - -import org.eclipse.swt.events.ControlEvent; -import org.eclipse.swt.events.ControlListener; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.widgets.Composite; - -/** - * The class {@link DependentHeightComposite} is a special kind of SWT {@link Composite} whose - * height depends on the height of some master {@link Composite} that does not have to be a direct - * parent or child of it. This class was introduced as a work-around for UI resizing problems with - * the Terminal API's PageBook class (which uses a StackLayout). - * - * @author Mirko Raner - * @version $Revision: 1.1 $ - */ -public class DependentHeightComposite extends Composite implements ControlListener { - - private Composite master; - private int preferredHeight = -1; - private int extraHeight; - - /** - * Creates a new {@link DependentHeightComposite}. - * - * @param parent the parent {@link Composite} - * @param style the SWT style - * @param master the master {@link Composite} that determines the height - * @param extra the additional height in pixels (may be negative, to create a smaller height - * than the master {@link Composite}) - */ - public DependentHeightComposite(Composite parent, int style, Composite master, int extra) { - - super(parent, style); - this.master = master; - this.extraHeight = extra; - master.addControlListener(this); - } - - /** - * This method does nothing. - * - * @see ControlListener#controlMoved(ControlEvent) - */ - public void controlMoved(ControlEvent event) { - - // Does nothing... - } - - /** - * Adjusts the {@link DependentHeightComposite} height if the master {@link Composite}'s size - * changed. - * - * @param event the {@link ControlEvent} - */ - public void controlResized(ControlEvent event) { - - setSize(getSize().x, master.getClientArea().height+extraHeight); - preferredHeight = master.getClientArea().height+extraHeight; - master.layout(); - } - - /** - * Computes the preferred size of this {@link DependentHeightComposite}. - * - * @see Composite#computeSize(int, int, boolean) - */ - public Point computeSize(int widthHint, int heightHint, boolean changed) { - - Point size = super.computeSize(widthHint, heightHint, changed); - if (preferredHeight != -1) { - - size.y = preferredHeight; - } - return size; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.local/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.local/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ From 0a5ca1138258b1e5bb24dd648bfd5ca1e4db5787 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 13:01:51 +0100 Subject: [PATCH 589/843] Terminals: Update target platform definition --- terminals-eclipse-4.4.x-luna.target | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target index bc6a0030936..3d93a72375f 100644 --- a/terminals-eclipse-4.4.x-luna.target +++ b/terminals-eclipse-4.4.x-luna.target @@ -31,6 +31,10 @@ + + + + From b2ff4955d519fd702dea7f6aa1310d54705493c6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 13:06:37 +0100 Subject: [PATCH 590/843] Terminals: Update target platform definition --- terminals-eclipse-4.4.x-luna.target | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target index 3d93a72375f..3c6446b7209 100644 --- a/terminals-eclipse-4.4.x-luna.target +++ b/terminals-eclipse-4.4.x-luna.target @@ -1,5 +1,5 @@ - + @@ -35,7 +35,7 @@ - + From 5f0f2461e2561501c947a9b1eddab281dd00438f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 13:08:31 +0100 Subject: [PATCH 591/843] Terminals: Re-add lost RSE features --- terminals-eclipse-4.4.x-luna.target | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target index 3c6446b7209..f600cf0d954 100644 --- a/terminals-eclipse-4.4.x-luna.target +++ b/terminals-eclipse-4.4.x-luna.target @@ -1,5 +1,5 @@ - + @@ -38,5 +38,9 @@ + + + + From 95bf963dd021a7a8ed76f2e8f18ccacb1e7d9c97 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 13:22:21 +0100 Subject: [PATCH 592/843] Terminals: Remove SWTBot from terminals target platform definition --- terminals-eclipse-4.4.x-luna.target | 31 +++++++++-------------------- 1 file changed, 9 insertions(+), 22 deletions(-) diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target index f600cf0d954..48acdfa1fe9 100644 --- a/terminals-eclipse-4.4.x-luna.target +++ b/terminals-eclipse-4.4.x-luna.target @@ -1,28 +1,23 @@ - + - - - - - - - - - - - + + - - + + + + + + @@ -31,16 +26,8 @@ - - - - - - - - From 06c2bb5245c92c460f6c58df80952adc87d3dc7a Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 14:47:39 +0100 Subject: [PATCH 593/843] Terminals: Update target platform definition and team project set to include o.e.remote from source repository --- terminals-eclipse-4.4.x-luna.target | 19 ++++++++----------- terminals.psf | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 11 deletions(-) diff --git a/terminals-eclipse-4.4.x-luna.target b/terminals-eclipse-4.4.x-luna.target index 48acdfa1fe9..f2688fc3852 100644 --- a/terminals-eclipse-4.4.x-luna.target +++ b/terminals-eclipse-4.4.x-luna.target @@ -1,19 +1,11 @@ - + - - - - - - - - @@ -26,8 +18,13 @@ - - + + + + + + + diff --git a/terminals.psf b/terminals.psf index 70509882568..b9d161745cc 100644 --- a/terminals.psf +++ b/terminals.psf @@ -1,6 +1,11 @@ + + + + + @@ -30,6 +35,15 @@ + + + + + + + + + From 3c24c4231fbe72642430855846827b2acdf8e7ff Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 15:13:28 +0100 Subject: [PATCH 594/843] Terminals: Fix invalid category ids for view and commands --- .../plugin.properties | 2 +- .../plugin.properties | 4 +- .../plugin.xml | 4 +- .../terminals/local/nls/Messages.properties | 4 +- .../plugin.properties | 2 +- .../plugin.properties | 2 +- .../plugin.xml | 2 +- .../plugin.properties | 2 +- .../plugin.properties | 2 +- .../plugin.properties | 2 +- .../plugin.properties | 9 ++-- .../plugin.xml | 44 +++++++++++++++++-- 12 files changed, 59 insertions(+), 20 deletions(-) diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties b/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties index 8bb225013de..7b9c05f4e64 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties +++ b/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Terminals Core +pluginName = Terminals Core providerName = Eclipse.org - Target Explorer ExtensionPoint.contextPropertiesProviders = Terminal Context Properties Providers diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties index 2219f89d76e..be513782cda 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Terminals Local Connector +pluginName = Terminals Local Connector providerName = Eclipse.org - Target Explorer # ----- Commands and Menu contributions ----- @@ -20,4 +20,4 @@ menu.showIn.localterminal.label = Terminals # ----- Preference Pages ----- -preference.page.name=Terminals +preference.page.name=Terminals View diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml index 22e2af1c24d..45808813c7c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml @@ -67,7 +67,7 @@ @@ -101,7 +101,7 @@ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties index 626196402ed..accf1b47f28 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties @@ -20,9 +20,9 @@ ExternalExecutablesDialog_field_args=Arguments: ExternalExecutablesDialog_field_icon=Icon: ExternalExecutablesDialog_field_translate=Translate Backslashes on Paste -# ***** Preference Pages ***** +# ----- Preference Pages ----- -PreferencePage_label=General settings for Terminals: +PreferencePage_label=General Terminals view settings: PreferencePage_executables_label="Show In ..." Custom Entries PreferencePage_executables_column_name_label=Name PreferencePage_executables_column_path_label=Path diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties index 154dba87e50..3b864f4b95f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Terminals Process Connector +pluginName = Terminals Process Connector providerName = Eclipse.org - Target Explorer # ----- Terminal Connectors ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties index b6692c2f16c..5fa615038a3 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Terminals RSE Add-on +pluginName = Terminals RSE Add-on providerName = Eclipse.org - Target Explorer # ----- Commands and Menu contributions ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml index 00c7cee50dc..25a58712bc0 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml @@ -77,7 +77,7 @@ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties index a471a57b605..d66a9e897ba 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Serial Terminals Extensions +pluginName = Terminals Serial Extensions providerName = Eclipse.org - Target Explorer # ----- Terminal Launcher Delegates ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties index 9c7fb35b455..60c9aebeb40 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, SSH Terminals Extensions +pluginName = Terminals SSH Extensions providerName = Eclipse.org - Target Explorer # ----- Terminal Connector Types ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties index 80cdf13ce88..ddd14ef4a19 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Telnet Terminals Extensions +pluginName = Terminals Telnet Extensions providerName = Eclipse.org - Target Explorer # ----- Terminal Launcher Delegates ----- diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties index 509b0a050b9..a9d9ded2254 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties @@ -8,11 +8,13 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Target Explorer, Terminals +pluginName = Terminals providerName = Eclipse.org - Target Explorer # ----- Terminals View ----- +ViewCategory.name=Terminals + TerminalsView.name=Terminals TerminalsView.context.name=In Terminals View TerminalsView.context.description=Show modified keyboard shortcuts in context menu @@ -26,6 +28,7 @@ TerminalConnector.streams=Streams Connector (hidden) StreamsLauncherDelegate.label=Streams Terminal # ----- Commands and Menu contributions ----- +command.category.name=Terminals Commands toolbar.terminal.label=Terminals @@ -40,11 +43,11 @@ command.disconnect.tooltip=Disconnect Terminal Connection menu.showIn.label = Show In -# ***** Extension Points ***** +# ----- Extension Points ----- ExtensionPoint.launcherDelegates.name=Terminal Launcher Delegates -# ***** Activity contributions ***** +# ----- Activity contributions ----- activities.category.terminals.name=Terminal activities.category.terminals.description=Use the terminal to connect to remote hosts via telnet, ssh and others. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml index 0fb5c9f740a..f9e422e573e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml @@ -7,9 +7,14 @@ + + + + + + + + + + + + + + + + + + + @@ -184,20 +215,25 @@ + + + From cf87ee533b1fb11f43fa30a90d18b15cec082eef Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 16:02:41 +0100 Subject: [PATCH 595/843] Terminals: Bug 460064 - The Ctrl+Alt+T shortcut should pick up the directory of the editor in focus --- .../plugin.xml | 11 ++++++ .../terminals/internal/PropertyTester.java | 36 +++++++++++++++++++ .../local/launcher/LocalLauncherDelegate.java | 8 +++++ .../local/launcher/LocalLauncherHandler.java | 18 ++++++++++ .../plugin.xml | 4 +-- .../plugin.xml | 4 +-- .../plugin.xml | 4 +-- .../terminals/streams/InputStreamMonitor.java | 2 +- .../streams/OutputStreamMonitor.java | 2 +- .../terminals/streams/StreamsConnector.java | 2 +- 10 files changed, 82 insertions(+), 9 deletions(-) create mode 100644 plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml index 4d281a2f19d..541260cff2d 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml +++ b/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml @@ -3,4 +3,15 @@ + + + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java new file mode 100644 index 00000000000..b2b3dba8d49 --- /dev/null +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tcf.te.core.terminals.internal; + +import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; + + + +/** + * Property tester implementation. + */ +public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { + + /* (non-Javadoc) + * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) + */ + @Override + public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + + // "hasContextPropertiesProvider": Checks if a context properties provider is available for the given receiver. + if ("hasContextPropertiesProvider".equals(property)) { //$NON-NLS-1$ + boolean hasProvider = TerminalContextPropertiesProviderFactory.getProvider(receiver) != null; + return expectedValue instanceof Boolean ? ((Boolean)expectedValue).equals(Boolean.valueOf(hasProvider)) : hasProvider; + } + + return false; + } + +} diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java index a6b30a6077e..10222e316b9 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java @@ -173,6 +173,14 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { break; } } + + if (element instanceof IPath || element instanceof File) { + File f = element instanceof IPath ? ((IPath)element).toFile() : (File)element; + if (f.isDirectory() && f.canRead()) { + dir = f.getAbsolutePath(); + break; + } + } } } if (dir != null) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java index 00525774d6f..aa51e164605 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java @@ -15,10 +15,15 @@ import java.util.Map; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; +import org.eclipse.core.runtime.IPath; import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IPathEditorInput; import org.eclipse.ui.handlers.HandlerUtil; /** @@ -34,6 +39,19 @@ public class LocalLauncherHandler extends AbstractHandler { // Get the current selection ISelection selection = HandlerUtil.getCurrentSelection(event); + // If the selection is not a structured selection, check if there is an active + // editor and get the path from the editor input + if (!(selection instanceof IStructuredSelection)) { + IEditorInput input = HandlerUtil.getActiveEditorInput(event); + if (input instanceof IPathEditorInput) { + IPath path = ((IPathEditorInput)input).getPath(); + if (path != null) { + if (path.toFile().isFile()) path = path.removeLastSegments(1); + if (path.toFile().isDirectory() && path.toFile().canRead()) selection = new StructuredSelection(path); + } + } + } + // Get all applicable launcher delegates for the current selection ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); // Find the local terminal launcher delegate diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml index 31552a2a754..ebb08e2cf35 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml @@ -14,8 +14,8 @@ + property="org.eclipse.tcf.te.core.terminals.hasContextPropertiesProvider" + value="true"/> diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml index ba7ac4af5d1..3af1ce7e8b4 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml @@ -14,8 +14,8 @@ + property="org.eclipse.tcf.te.core.terminals.hasContextPropertiesProvider" + value="true"/> diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml index 68fac1b91f9..a2a34d7ea23 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml @@ -14,8 +14,8 @@ + property="org.eclipse.tcf.te.core.terminals.hasContextPropertiesProvider" + value="true"/> diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java index 928e0179c2a..486c7dfede1 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java @@ -151,7 +151,7 @@ public class InputStreamMonitor extends OutputStream implements IDisposable { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + * @see org.eclipse.ui.services.IDisposable#dispose() */ @Override public void dispose() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java index 5714bf9fd85..ddfbba64424 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java @@ -125,7 +125,7 @@ public class OutputStreamMonitor implements IDisposable { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + * @see org.eclipse.ui.services.IDisposable#dispose() */ @Override public void dispose() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java index b9780be51ae..e9bddcba853 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java @@ -70,7 +70,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.te.runtime.interfaces.IDisposable#dispose() + * @see org.eclipse.ui.services.IDisposable#dispose() */ @Override public void dispose() { From 5d84a80a3913aaada8e61eb260567414eab518f6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 17 Feb 2015 17:17:17 +0100 Subject: [PATCH 596/843] Terminals: Bug 460065 - The SSH Terminal "disconnect" icon disappears when a selection is made --- .../ITerminalsConnectorConstants.java | 7 ------ .../launcher/SerialLauncherDelegate.java | 5 ----- .../ssh/launcher/SshLauncherDelegate.java | 5 ----- .../launcher/TelnetLauncherDelegate.java | 5 ----- .../plugin.xml | 22 ++++--------------- .../ui/terminals/internal/PropertyTester.java | 22 +++++++++---------- .../terminals/services/TerminalService.java | 3 --- .../ui/terminals/tabs/TabFolderManager.java | 2 -- 8 files changed, 14 insertions(+), 57 deletions(-) diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java index 0624d36224f..d7ad345317a 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java +++ b/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java @@ -67,13 +67,6 @@ public interface ITerminalsConnectorConstants { */ public static final String PROP_FORCE_NEW = "terminal.forceNew"; //$NON-NLS-1$ - /** - * Property: Flag to signal if the terminal tab shall have a disconnect button or not. - *

                                    - * Property Type: {@link Boolean} - */ - public static final String PROP_HAS_DISCONNECT_BUTTON = "hasDisconnectButton"; //$NON-NLS-1$ - /** * Property: Terminals launcher delegate id. *

                                    diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java index 6a8dd00a414..1ad192c300c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java @@ -68,11 +68,6 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); } - // Serial terminals do have a disconnect button - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { - properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); - } - // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java index 3fd55ba81e5..2faeb435c12 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java @@ -75,11 +75,6 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); } - // SSH terminals do have a disconnect button - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { - properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); - } - // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java index 6bb351c8f86..2f3c78e281a 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java @@ -75,11 +75,6 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); } - // Telnet terminals do have a disconnect button - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)) { - properties.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, Boolean.TRUE); - } - // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml index f9e422e573e..82f3803c2d8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml @@ -128,7 +128,7 @@ class="org.eclipse.tcf.te.ui.terminals.internal.PropertyTester" id="org.eclipse.tcf.te.ui.terminals.PropertyTester" namespace="org.eclipse.tcf.te.ui.terminals" - properties="hasApplicableLauncherDelegates,hasDisconnectButton,canDisconnect" + properties="hasApplicableLauncherDelegates,canDisconnect" type="java.lang.Object"> @@ -175,16 +175,6 @@ label="%command.disconnect.label" style="push" tooltip="%command.disconnect.tooltip"> - - - - - - - - - - @@ -263,13 +253,9 @@ class="org.eclipse.tcf.te.ui.terminals.internal.handler.DisconnectTerminalCommandHandler" commandId="org.eclipse.tcf.te.ui.terminals.command.disconnect"> - - - - - - - + + + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java index cae006f42ca..1a98d00b8b6 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java @@ -12,8 +12,9 @@ package org.eclipse.tcf.te.ui.terminals.internal; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -34,18 +35,15 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester return expectedValue.equals(Boolean.valueOf(LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection).length > 0)); } - if ("hasDisconnectButton".equals(property) && receiver instanceof CTabItem) { //$NON-NLS-1$ - CTabItem tabItem = (CTabItem)receiver; - if (!tabItem.isDisposed()) { - Boolean hasDisconnectButton = (Boolean) tabItem.getData(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON); - return expectedValue.equals(hasDisconnectButton); - } - return false; - } + if ("canDisconnect".equals(property) && receiver instanceof ITerminalsView) { //$NON-NLS-1$ + CTabItem tabItem = null; - if ("canDisconnect".equals(property) && receiver instanceof CTabItem) { //$NON-NLS-1$ - CTabItem tabItem = (CTabItem)receiver; - if (!tabItem.isDisposed() && tabItem.getData() instanceof ITerminalViewControl) { + TabFolderManager manager = (TabFolderManager) ((ITerminalsView)receiver).getAdapter(TabFolderManager.class); + if (manager != null) { + tabItem = manager.getActiveTabItem(); + } + + if (tabItem != null && !tabItem.isDisposed() && tabItem.getData() instanceof ITerminalViewControl) { ITerminalViewControl terminal = (ITerminalViewControl)tabItem.getData(); TerminalState state = terminal.getState(); return expectedValue.equals(Boolean.valueOf(state != TerminalState.CLOSED)); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java index 08398fcf462..c7857ca24a1 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java @@ -302,9 +302,6 @@ public class TerminalService implements ITerminalService { if (properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW) instanceof Boolean) { flags.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, (Boolean)properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW)); } - if (properties.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) instanceof Boolean) { - flags.put(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, (Boolean)properties.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON)); - } // Open the new console CTabItem item; if (secondaryId != null) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java index 34dda24591d..13e9d8c37d3 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java @@ -283,8 +283,6 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid item.setData(terminal); // Associated the custom data node with the tab item (if any) if (data != null) item.setData("customData", data); //$NON-NLS-1$ - // Set the property that marks the item has a disconnect button or not if selected - item.setData(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON, flags != null && flags.containsKey(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) ? flags.get(ITerminalsConnectorConstants.PROP_HAS_DISCONNECT_BUTTON) : Boolean.FALSE); // Overwrite the text canvas help id String contextHelpId = getParentView().getContextHelpId(); From 49592b0d05e5b2525d8ab5e6aef8a0cc6e96b6fc Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 18 Feb 2015 14:08:16 +0100 Subject: [PATCH 597/843] Terminals: Allow the use of Eclipse variables to specify the initial local terminal working directory within the Terminals View preferences --- .../feature.xml | 1 + .../META-INF/MANIFEST.MF | 2 + .../LocalWizardConfigurationPanel.java | 4 +- .../local/launcher/LocalLauncherDelegate.java | 25 ++++- .../te/ui/terminals/local/nls/Messages.java | 1 + .../terminals/local/nls/Messages.properties | 5 +- .../showin/ExternalExecutablesDialog.java | 4 +- .../showin/preferences/PreferencePage.java | 106 ++++++++++++++++-- .../process/ProcessSettingsPage.java | 2 +- .../AbstractExtendedConfigurationPanel.java | 2 +- .../te/ui/terminals/view/TerminalsView.java | 2 +- 11 files changed, 128 insertions(+), 26 deletions(-) diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.feature/feature.xml index 3da816208d3..50fdbd81eec 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/feature.xml +++ b/features/org.eclipse.tcf.te.terminals.feature/feature.xml @@ -41,6 +41,7 @@ + > executables = new ArrayList>(); /* default */ final Map images = new HashMap(); @@ -87,6 +95,10 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage */ @Override public void init(IWorkbench workbench) { + Bundle bundle = Platform.getBundle("org.eclipse.debug.ui"); //$NON-NLS-1$ + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { + hasVariablesButton = true; + } } /* (non-Javadoc) @@ -108,23 +120,51 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_workingDir_label); - group.setLayout(new GridLayout(2, false)); + group.setLayout(new GridLayout(hasVariablesButton ? 3 : 2, false)); group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); workingDir = new Combo(group, SWT.DROP_DOWN); Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label, Messages.PreferencePage_workingDir_eclipsews_label }); } else { workingDir.setItems(new String[] { Messages.PreferencePage_workingDir_userhome_label, Messages.PreferencePage_workingDir_eclipsehome_label }); } workingDir.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); workingDir.select(0); + workingDir.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + boolean valid = true; + String message = null; + + String text = workingDir.getText(); + if (text != null && !"".equals(text.trim()) //$NON-NLS-1$ + && !Messages.PreferencePage_workingDir_userhome_label.equals(text) + && !Messages.PreferencePage_workingDir_eclipsehome_label.equals(text) + && !Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { + try { + // Resolve possible dynamic variables + IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); + String resolved = vm.performStringSubstitution(text.trim()); + + IPath p = new Path(resolved); + valid = p.toFile().canRead() && p.toFile().isDirectory(); + } catch (CoreException ex) { + valid = false; + message = ex.getLocalizedMessage(); + } + } + + setValid(valid); + setErrorMessage(message); + } + }); browseButton = new Button(group, SWT.PUSH); browseButton.setText(Messages.PreferencePage_workingDir_button_browse); layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); - layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 10); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); browseButton.setLayoutData(layoutData); browseButton.addSelectionListener(new SelectionAdapter() { @Override @@ -149,7 +189,7 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage // ECLIPSE_WORKSPACE Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { if (org.eclipse.core.resources.ResourcesPlugin.getWorkspace() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot() != null && org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation() != null) { @@ -168,7 +208,16 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { dialog.setFilterPath(ew.toOSString()); } else if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ - dialog.setFilterPath(text.trim()); + try { + // Resolve possible dynamic variables + IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); + String resolved = vm.performStringSubstitution(text.trim()); + dialog.setFilterPath(resolved); + } catch (CoreException ex) { + if (Platform.inDebugMode()) { + UIPlugin.getDefault().getLog().log(ex.getStatus()); + } + } } String selected = dialog.open(); @@ -188,12 +237,37 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage } }); + if (hasVariablesButton) { + variablesButton = new Button(group, SWT.PUSH); + variablesButton.setText(Messages.PreferencePage_workingDir_button_variables); + layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); + variablesButton.setLayoutData(layoutData); + variablesButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + org.eclipse.debug.ui.StringVariableSelectionDialog dialog = new org.eclipse.debug.ui.StringVariableSelectionDialog(getShell()); + dialog.open(); + String expression = dialog.getVariableExpression(); + if (expression != null) { + if ("${eclipse_home}".equals(expression)) { //$NON-NLS-1$ + workingDir.select(1); + } else if ("${workspace_loc}".equals(expression)) { //$NON-NLS-1$ + workingDir.select(2); + } else { + workingDir.setText(expression); + } + } + } + }); + } + String initialCwd = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ workingDir.select(0); - } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd)) { + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd) || "${eclipse_home}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(1); - } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd)) { + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd) || "${workspace_loc}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(new Path(initialCwd).toOSString()); @@ -438,9 +512,9 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage String initialCwd = UIPlugin.getScopedPreferences().getDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ workingDir.select(0); - } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd)) { + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_HOME.equals(initialCwd) || "${eclipse_home}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(1); - } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd)) { + } else if (IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS.equals(initialCwd) || "${workspace_loc}".equals(initialCwd)) { //$NON-NLS-1$ workingDir.select(2); } else { workingDir.setText(new Path(initialCwd).toOSString()); @@ -467,8 +541,18 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage } else if (Messages.PreferencePage_workingDir_eclipsews_label.equals(text)) { UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_ECLIPSE_WS); } else { - IPath p = new Path(text.trim()); - UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, p.toFile().canRead() && p.toFile().isDirectory() ? p.toString() : null); + try { + // Resolve possible dynamic variables + IStringVariableManager vm = VariablesPlugin.getDefault().getStringVariableManager(); + String resolved = vm.performStringSubstitution(text.trim()); + + IPath p = new Path(resolved); + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, p.toFile().canRead() && p.toFile().isDirectory() ? text.trim() : null); + } catch (CoreException e) { + if (Platform.inDebugMode()) { + UIPlugin.getDefault().getLog().log(e.getStatus()); + } + } } ExternalExecutablesManager.save(executables); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java index 150f6c6cbde..ab4d292ee4e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java @@ -149,7 +149,7 @@ public class ProcessSettingsPage extends AbstractSettingsPage { } } else { Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { dialog.setFilterPath(org.eclipse.core.resources.ResourcesPlugin.getWorkspace().getRoot().getLocation().toOSString()); } } diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java index 63cd093112d..6277dc6c3d8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java @@ -562,7 +562,7 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu private String getResourceEncoding() { String preference = null; Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { preference = org.eclipse.core.resources.ResourcesPlugin.getPlugin().getPluginPreferences().getString(org.eclipse.core.resources.ResourcesPlugin.PREF_ENCODING); } diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java index 4120959fd91..86e750a8263 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java @@ -662,7 +662,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa Object adapted = null; Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ - if (bundle != null && (bundle.getState() == Bundle.RESOLVED || bundle.getState() == Bundle.ACTIVE)) { + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { if (element instanceof org.eclipse.core.resources.IResource) continue; adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(org.eclipse.core.resources.IResource.class) : null; From c3819f4d49ad7cf6744053148b6b7690d41b5908 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Mon, 16 Feb 2015 22:12:26 -0500 Subject: [PATCH 598/843] Bug 460067 - Update remote terminal to new API Change-Id: I73d856d8fb65309ce667723b8729fa31f892cd34 Signed-off-by: Greg Watson --- .../internal/terminal/remote/Activator.java | 14 +++++++++ .../remote/RemoteConnectionManager.java | 29 ++++++++++--------- .../terminal/remote/RemoteSettingsPage.java | 6 +++- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java index 577abd3410d..2e5ecad2515 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java @@ -14,6 +14,7 @@ import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.tm.internal.terminal.remote.messages.Messages; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import org.osgi.framework.ServiceReference; /** * The activator class controls the plug-in life cycle @@ -108,4 +109,17 @@ public class Activator extends Plugin { } return getDefault().getBundle().getSymbolicName(); } + + /** + * Return the OSGi service with the given service interface. + * + * @param service + * service interface + * @return the specified service or null if it's not registered + */ + public static T getService(Class service) { + final BundleContext context = plugin.getBundle().getBundleContext(); + final ServiceReference ref = context.getServiceReference(service); + return ref != null ? context.getService(ref) : null; + } } diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java index 74ac4835e66..5b3a7e30480 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java @@ -22,12 +22,13 @@ import org.eclipse.core.runtime.jobs.Job; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.osgi.util.NLS; +import org.eclipse.remote.core.IRemoteCommandShellService; import org.eclipse.remote.core.IRemoteConnection; -import org.eclipse.remote.core.IRemoteConnectionManager; +import org.eclipse.remote.core.IRemoteConnectionType; import org.eclipse.remote.core.IRemoteProcess; import org.eclipse.remote.core.IRemoteProcessBuilder; -import org.eclipse.remote.core.IRemoteServices; -import org.eclipse.remote.core.RemoteServices; +import org.eclipse.remote.core.IRemoteProcessService; +import org.eclipse.remote.core.IRemoteServicesManager; import org.eclipse.remote.core.exception.RemoteConnectionException; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; @@ -65,13 +66,11 @@ public class RemoteConnectionManager extends Job { IRemoteConnection remoteConnection = null; try { - String remoteServices = connector.getSshSettings().getRemoteServices(); - IRemoteServices services = RemoteServices.getRemoteServices(remoteServices); - if (services != null) { - IRemoteConnectionManager connMgr = services.getConnectionManager(); - if (connMgr != null) { - remoteConnection = connMgr.getConnection(connector.getSshSettings().getConnectionName()); - } + IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); + String connTypeId = connector.getSshSettings().getRemoteServices(); + IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); + if (connType != null) { + remoteConnection = connType.getConnection(connector.getSshSettings().getConnectionName()); } if (remoteConnection == null) { throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getSshSettings() @@ -96,14 +95,16 @@ public class RemoteConnectionManager extends Job { IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(Activator.getUniqueIdentifier()); String terminalShellCommand = prefs.get(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, ""); //$NON-NLS-1$ if (!("".equals(terminalShellCommand)) //$NON-NLS-1$ - && (remoteConnection.getRemoteServices().getCapabilities() & IRemoteServices.CAPABILITY_SUPPORTS_COMMAND_SHELL) != 0) { - remoteProcess = remoteConnection.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + && remoteConnection.hasService(IRemoteCommandShellService.class)) { + IRemoteCommandShellService cmdShellSvc = remoteConnection.getService(IRemoteCommandShellService.class); + remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); } else { if ("".equals(terminalShellCommand)) { //$NON-NLS-1$ terminalShellCommand = "/bin/bash -l"; //$NON-NLS-1$ } - IRemoteProcessBuilder processBuilder = remoteConnection.getProcessBuilder(new ArgumentParser( - terminalShellCommand).getTokenList()); + IRemoteProcessService procSvc = remoteConnection.getService(IRemoteProcessService.class); + IRemoteProcessBuilder processBuilder = procSvc.getProcessBuilder(new ArgumentParser(terminalShellCommand) + .getTokenList()); remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); } } diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java index e49d8097e47..646274136e0 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java @@ -23,11 +23,13 @@ public class RemoteSettingsPage extends AbstractSettingsPage { fTerminalSettings = settings; } + @Override public void saveSettings() { - fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getRemoteServices().getId()); + fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); } + @Override public void loadSettings() { if (fTerminalSettings != null) { fRemoteConnectionWidget.setConnection(fTerminalSettings.getRemoteServices(), fTerminalSettings.getConnectionName()); @@ -41,6 +43,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { return value; } + @Override public boolean validateSettings() { if (fRemoteConnectionWidget.getConnection() == null) { return false; @@ -48,6 +51,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { return true; } + @Override public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); From 56c14796a0b6b08de3fb909c781eb970148def26 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 18 Feb 2015 15:14:27 +0100 Subject: [PATCH 599/843] Terminals: Adjust dependency to o.e.core.variables to also build in Eclipse 3.8 --- .../org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF index 0fc62682681..89f48b69607 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF @@ -10,7 +10,7 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", - org.eclipse.core.variables;bundle-version="3.2.800", + org.eclipse.core.variables;bundle-version="3.2.600", org.eclipse.debug.ui;bundle-version="3.8.1";resolution:=optional, org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", From bcf2bdc3ea90d2efd584a6305a2fbcd882096990 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 18 Feb 2015 15:35:47 +0100 Subject: [PATCH 600/843] Terminals: Adjust dependency to o.e.core.variables to also build in Eclipse 3.8 --- features/org.eclipse.tcf.te.terminals.feature/feature.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.feature/feature.xml index 50fdbd81eec..094d9542d5e 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/feature.xml +++ b/features/org.eclipse.tcf.te.terminals.feature/feature.xml @@ -41,7 +41,7 @@ - + Date: Wed, 18 Feb 2015 16:25:02 +0100 Subject: [PATCH 601/843] Terminals: Allow customization of default shell used by the local terminal --- .../plugin.properties | 2 +- .../local/launcher/LocalLauncherDelegate.java | 17 ++- .../te/ui/terminals/local/nls/Messages.java | 7 ++ .../terminals/local/nls/Messages.properties | 13 ++- .../showin/interfaces/IPreferenceKeys.java | 12 +- .../showin/preferences/PreferencePage.java | 104 ++++++++++++++++++ .../preferences/PreferencesInitializer.java | 1 + 7 files changed, 146 insertions(+), 10 deletions(-) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties index be513782cda..ceb5be00523 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties @@ -20,4 +20,4 @@ menu.showIn.localterminal.label = Terminals # ----- Preference Pages ----- -preference.page.name=Terminals View +preference.page.name=Local Terminal diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java index 533be9359b8..1baa6bf4e31 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java @@ -257,10 +257,13 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } } if (shell == null) { - if (System.getenv("SHELL") != null && !"".equals(System.getenv("SHELL").trim())) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - shell = System.getenv("SHELL").trim(); //$NON-NLS-1$ - } else { - shell = "/bin/sh"; //$NON-NLS-1$ + shell = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); + if (shell == null || "".equals(shell)) { //$NON-NLS-1$ + if (System.getenv("SHELL") != null && !"".equals(System.getenv("SHELL").trim())) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + shell = System.getenv("SHELL").trim(); //$NON-NLS-1$ + } else { + shell = "/bin/sh"; //$NON-NLS-1$ + } } } @@ -288,6 +291,11 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { image = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH); } + String arguments = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ARGS); + if (arguments == null && !Platform.OS_WIN32.equals(Platform.getOS())) { + arguments = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); + } + // Determine if a PTY will be used boolean isUsingPTY = (properties.get(ITerminalsConnectorConstants.PROP_PROCESS_OBJ) == null && PTY.isSupported(PTY.Mode.TERMINAL)) || properties.get(ITerminalsConnectorConstants.PROP_PTY_OBJ) instanceof PTY; @@ -314,7 +322,6 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { lineSeparator = (String)properties.get(ITerminalsConnectorConstants.PROP_LINE_SEPARATOR); } - String arguments = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ARGS); Process process = (Process)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_OBJ); PTY pty = (PTY)properties.get(ITerminalsConnectorConstants.PROP_PTY_OBJ); ITerminalServiceOutputStreamMonitorListener[] stdoutListeners = (ITerminalServiceOutputStreamMonitorListener[])properties.get(ITerminalsConnectorConstants.PROP_STDOUT_LISTENERS); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java index 515c37d6ad9..aff56bf5b6a 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java @@ -46,6 +46,13 @@ public class Messages extends NLS { public static String PreferencePage_workingDir_note_label; public static String PreferencePage_workingDir_note_text; public static String PreferencePage_workingDir_button_variables; + public static String PreferencePage_workingDir_invalid; + public static String PreferencePage_command_label; + public static String PreferencePage_command_button_browse; + public static String PreferencePage_command_invalid; + public static String PreferencePage_command_note_label; + public static String PreferencePage_command_note_text; + public static String PreferencePage_command_arguments_label; public static String ExternalExecutablesDialog_title_add; public static String ExternalExecutablesDialog_title_edit; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties index aa446624e9a..8bc8c292ae5 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties @@ -22,18 +22,25 @@ ExternalExecutablesDialog_field_translate=Translate Backslashes on Paste # ----- Preference Pages ----- -PreferencePage_label=General Terminals view settings: +PreferencePage_label=Local Terminal Settings: PreferencePage_executables_label="Show In ..." Custom Entries PreferencePage_executables_column_name_label=Name PreferencePage_executables_column_path_label=Path PreferencePage_executables_button_add_label=Add... PreferencePage_executables_button_edit_label=Edit... PreferencePage_executables_button_remove_label=Remove -PreferencePage_workingDir_label=Local Terminal Initial Working Directory +PreferencePage_workingDir_label=Initial Working Directory PreferencePage_workingDir_userhome_label=User home PreferencePage_workingDir_eclipsehome_label=Eclipse home PreferencePage_workingDir_eclipsews_label=Eclipse workspace PreferencePage_workingDir_button_browse=&Browse... PreferencePage_workingDir_note_label=Note: PreferencePage_workingDir_note_text=The chosen initial working directory might be overwritten by the current selection of the active view. -PreferencePage_workingDir_button_variables=&Variables... +PreferencePage_workingDir_button_variables=&Variables... +PreferencePage_workingDir_invalid=Selected initial working directory is not a directory or is not readable. +PreferencePage_command_label=Shell Command +PreferencePage_command_button_browse=&Browse... +PreferencePage_command_invalid=Selected shell command is not a file or is not readable or executable. +PreferencePage_command_note_label=Note: +PreferencePage_command_note_text=Leave the shell command empty to fallback to the SHELL environment variable or if not set, to /bin/sh. +PreferencePage_command_arguments_label=Arguments: diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java index 6bf6c3444cf..631ac16c159 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java @@ -19,7 +19,7 @@ public interface IPreferenceKeys { public final String PREF_TERMINAL = "terminals"; //$NON-NLS-1$ /** - * Preference key: Remove terminated terminals when a new terminal is created. + * Preference key: Local terminal initial working directory. */ public final String PREF_LOCAL_TERMINAL_INITIAL_CWD = PREF_TERMINAL + ".localTerminalInitialCwd"; //$NON-NLS-1$ @@ -37,4 +37,14 @@ public interface IPreferenceKeys { * Preference value: Local terminal initial working directory is "Eclipse workspace" */ public final String PREF_INITIAL_CWD_ECLIPSE_WS = "eclipsews"; //$NON-NLS-1$ + + /** + * Preference key: Local terminal default shell command on Unix hosts. + */ + public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX = PREF_TERMINAL + ".localTerminalDefaultShellUnix"; //$NON-NLS-1$ + + /** + * Preference key: Local terminal default shell command arguments on Unix hosts. + */ + public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS = PREF_TERMINAL + ".localTerminalDefaultShellUnixArgs"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java index 8a3e9d140b8..c47135dd48f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java @@ -56,10 +56,12 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.DirectoryDialog; +import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Text; import org.eclipse.tcf.te.ui.terminals.controls.NoteCompositeHelper; import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; import org.eclipse.tcf.te.ui.terminals.local.nls.Messages; @@ -85,6 +87,10 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage private Button variablesButton; private boolean hasVariablesButton = false; + /* default */ Text command; + private Button commandBrowseButton; + private Text arguments; + /* default */ final List> executables = new ArrayList>(); /* default */ final Map images = new HashMap(); @@ -118,6 +124,89 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage label.setText(Messages.PreferencePage_label); label.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + if (!Platform.OS_WIN32.equals(Platform.getOS())) { + Group group = new Group(panel, SWT.NONE); + group.setText(Messages.PreferencePage_command_label); + group.setLayout(new GridLayout(2, false)); + group.setLayoutData(new GridData(SWT.FILL, SWT.BEGINNING, true, false)); + + command = new Text(group, SWT.SINGLE | SWT.BORDER); + command.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + command.addModifyListener(new ModifyListener() { + @Override + public void modifyText(ModifyEvent e) { + boolean valid = true; + String message = null; + + String text = command.getText(); + if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ + IPath p = new Path(text.trim()); + valid = p.toFile().isFile() && p.toFile().canRead() && p.toFile().canExecute(); + if (!valid) message = Messages.PreferencePage_command_invalid; + } + + setValid(valid); + setErrorMessage(message); + } + }); + + commandBrowseButton = new Button(group, SWT.PUSH); + commandBrowseButton.setText(Messages.PreferencePage_command_button_browse); + layoutData = new GridData(SWT.FILL, SWT.CENTER, false, false); + layoutData.widthHint = Dialog.convertWidthInCharsToPixels(gc.getFontMetrics(), 14); + commandBrowseButton.setLayoutData(layoutData); + commandBrowseButton.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + FileDialog dialog = new FileDialog(parent.getShell(), SWT.OPEN); + + String text = command.getText(); + if (text != null && !"".equals(text.trim())) { //$NON-NLS-1$ + IPath p = new Path(text); + + if (p.toFile().isFile() || !p.toFile().exists()) { + dialog.setFilterPath(p.removeLastSegments(1).toOSString()); + dialog.setFileName(p.lastSegment()); + } else if (p.toFile().isDirectory()) { + dialog.setFilterPath(p.toOSString()); + } + } + + String selected = dialog.open(); + if (selected != null) { + IPath sp = new Path(selected); + command.setText(sp.toOSString()); + } + } + }); + + String cmd = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); + if (cmd != null && !"".equals(cmd)) { //$NON-NLS-1$ + command.setText(new Path(cmd).toOSString()); + } + + Composite argsPanel = new Composite(group, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + argsPanel.setLayout(layout); + layoutData = new GridData(SWT.FILL, SWT.BEGINNING, true, false); + layoutData.horizontalSpan = 2; + argsPanel.setLayoutData(layoutData); + + label = new Label(argsPanel, SWT.NONE); + label.setText(Messages.PreferencePage_command_arguments_label); + + arguments = new Text(argsPanel, SWT.SINGLE | SWT.BORDER); + arguments.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + String args = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); + if (args != null && !"".equals(args)) { //$NON-NLS-1$ + arguments.setText(args); + } + + NoteCompositeHelper.createNoteComposite(group.getFont(), group, Messages.PreferencePage_command_note_label, Messages.PreferencePage_command_note_text); + } + Group group = new Group(panel, SWT.NONE); group.setText(Messages.PreferencePage_workingDir_label); group.setLayout(new GridLayout(hasVariablesButton ? 3 : 2, false)); @@ -150,6 +239,7 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage IPath p = new Path(resolved); valid = p.toFile().canRead() && p.toFile().isDirectory(); + if (!valid) message = Messages.PreferencePage_workingDir_invalid; } catch (CoreException ex) { valid = false; message = ex.getLocalizedMessage(); @@ -509,6 +599,11 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage */ @Override protected void performDefaults() { + if (!Platform.OS_WIN32.equals(Platform.getOS())) { + command.setText(""); //$NON-NLS-1$ + arguments.setText(""); //$NON-NLS-1$ + } + String initialCwd = UIPlugin.getScopedPreferences().getDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ workingDir.select(0); @@ -533,6 +628,15 @@ public class PreferencePage extends org.eclipse.jface.preference.PreferencePage */ @Override public boolean performOk() { + if (!Platform.OS_WIN32.equals(Platform.getOS())) { + String text = command.getText(); + IPath p = new Path(text.trim()); + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX, p.toFile().isFile() && p.toFile().canRead() && p.toFile().canExecute() ? p.toOSString() : null); + + text = arguments.getText(); + UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS, !"".equals(text.trim()) ? text.trim() : null); //$NON-NLS-1$ + } + String text = workingDir.getText(); if (text == null || Messages.PreferencePage_workingDir_userhome_label.equals(text) || "".equals(text.trim())) { //$NON-NLS-1$ UIPlugin.getScopedPreferences().putString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, null); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java index 11d7d9d1b64..036e3e34e31 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java @@ -33,5 +33,6 @@ public class PreferencesInitializer extends AbstractPreferenceInitializer { ScopedEclipsePreferences prefs = UIPlugin.getScopedPreferences(); prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME); + prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX, null); } } From b643b03b7a99459a91f5782301eb67dc89a5f6d9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 18 Feb 2015 18:05:49 +0100 Subject: [PATCH 602/843] Terminals: View stacking in JDT and PDE for Mars (no more Tasks View) --- plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml index 82f3803c2d8..6d8601e9ad2 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml +++ b/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml @@ -84,7 +84,7 @@ id="org.eclipse.tcf.te.ui.terminals.TerminalsView" minimized="false" relationship="stack" - relative="org.eclipse.ui.views.TaskList" + relative="org.eclipse.ui.views.ProblemView" visible="false"> @@ -97,7 +97,7 @@ id="org.eclipse.tcf.te.ui.terminals.TerminalsView" minimized="false" relationship="stack" - relative="org.eclipse.ui.views.TaskList" + relative="org.eclipse.ui.views.ProblemView" visible="false"> From d2903f890ee90f6a4d77dee1514d20193c3fe338 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 18 Feb 2015 20:38:56 -0500 Subject: [PATCH 603/843] Bug 460298 Fix up dependencies so terminal features end up in repo. Change-Id: Ie7ef999c90fd18909b5f4ba6f2dae968c3c9f490 Signed-off-by: Doug Schaefer --- .../feature.xml | 12 ++++-------- .../feature.xml | 5 ++++- .../feature.xml | 5 ++++- .../feature.xml | 5 ++++- 4 files changed, 16 insertions(+), 11 deletions(-) diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml index d13778bc29b..86bf1fb39ec 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml @@ -34,15 +34,11 @@ + + - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml index 4749e583d0a..d88009ad936 100644 --- a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml @@ -35,9 +35,12 @@ + + - + + - + + - Date: Thu, 19 Feb 2015 08:28:11 +0100 Subject: [PATCH 604/843] Terminal: SDK features includes corresponding runtime features instead of just requiring them --- .../org.eclipse.tm.terminal.sdk-feature/feature.xml | 5 ++++- features/org.eclipse.tm.terminal.sdk.feature/feature.xml | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml index f2143184dfd..d1d437578de 100644 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -36,8 +36,11 @@ + + - diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 67e29c617ea..981b48733a0 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -36,9 +36,9 @@ - - - + Date: Thu, 19 Feb 2015 09:39:36 +0100 Subject: [PATCH 605/843] Bug 460303 - Initial output of a local terminal might get wrapped at column 80 Make sure the layout of the terminal control happens before the terminal is connected to the remote. Change-Id: Ic12c93fb6fd459652836a5568f79f168a68d585f Signed-off-by: Anton Leherbauer --- .../emulator/VT100TerminalControl.java | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index a5d180b925a..dcf15b6b77c 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -403,9 +403,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // we cannot connect because the connector was not initialized return; } - getTerminalConnector().connect(this); // clean the error message setMsg(""); //$NON-NLS-1$ + getTerminalConnector().connect(this); waitForConnect(); } @@ -443,25 +443,21 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } - // TODO private void waitForConnect() { Logger.log("entered."); //$NON-NLS-1$ - // TODO - // Eliminate this code - while (getState()==TerminalState.CONNECTING) { - if (fDisplay.readAndDispatch()) - continue; - fDisplay.sleep(); - } - if(getCtlText().isDisposed()) { + // TODO Eliminate the nested dispatch loop + do { + if (!fDisplay.readAndDispatch()) + fDisplay.sleep(); + } while (getState()==TerminalState.CONNECTING); + + if (getCtlText().isDisposed()) { disconnectTerminal(); return; } - if (!getMsg().equals("")) //$NON-NLS-1$ - { + if (getMsg().length() > 0) { showErrorMessage(getMsg()); - disconnectTerminal(); return; } From 73c38e44c75e77bede67261e9d98b2ca6e5b0225 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 19 Feb 2015 10:02:34 +0100 Subject: [PATCH 606/843] Terminals: Bug 443046 -- Encoding is lost if restoring terminal sessions --- .../local/launcher/LocalMementoHandler.java | 2 +- .../view/TerminalsViewMementoHandler.java | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java index f4cbb513e43..67f5ac618a0 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java @@ -16,7 +16,7 @@ import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; import org.eclipse.ui.IMemento; /** - * SSH terminal connection memento handler implementation. + * Local terminal connection memento handler implementation. */ public class LocalMementoHandler implements IMementoHandler { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java index 4fcd76596ec..c4d419fb065 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java @@ -25,12 +25,14 @@ import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.ui.IMemento; import org.eclipse.ui.PlatformUI; /** * Take care of the persisted state handling of the "Terminals" view. */ +@SuppressWarnings("restriction") public class TerminalsViewMementoHandler { // The list of items to save. See the workbench listener implementation // in o.e.tcf.te.ui.terminals.activator.UIPlugin. @@ -100,6 +102,14 @@ public class TerminalsViewMementoHandler { connectionMemento.putBoolean(ITerminalsConnectorConstants.PROP_FORCE_NEW, ((Boolean)properties.get(ITerminalsConnectorConstants.PROP_FORCE_NEW)).booleanValue()); } + // Store the current encoding + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + String encoding = terminal != null ? terminal.getEncoding() : null; + if (encoding == null || "".equals(encoding)) encoding = (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING); //$NON-NLS-1$ + if (encoding != null && !"".equals(encoding)) { //$NON-NLS-1$ + connectionMemento.putString(ITerminalsConnectorConstants.PROP_ENCODING, encoding); + } + // Pass on to the memento handler mementoHandler.saveState(connectionMemento, properties); } @@ -166,6 +176,11 @@ public class TerminalsViewMementoHandler { properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, connection.getBoolean(ITerminalsConnectorConstants.PROP_FORCE_NEW)); } + // Restore the encoding + if (connection.getString(ITerminalsConnectorConstants.PROP_ENCODING) != null) { + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, connection.getString(ITerminalsConnectorConstants.PROP_ENCODING)); + } + // Get the terminal launcher delegate String delegateId = (String)properties.get(ITerminalsConnectorConstants.PROP_DELEGATE_ID); ILauncherDelegate delegate = delegateId != null ? LauncherDelegateManager.getInstance().getLauncherDelegate(delegateId, false) : null; From 08592ec36d523bf5c81851d3ae357fd665224765 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 19 Feb 2015 10:49:32 +0100 Subject: [PATCH 607/843] Terminal: Move terminal logging into workspace state location (if exist) --- .../terminal/provisional/api/Logger.java | 23 ++++++------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index fa6fee91f87..e703482bb90 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -13,11 +13,12 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.provisional.api; -import java.io.File; import java.io.FileOutputStream; import java.io.PrintStream; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; @@ -50,24 +51,14 @@ public final class Logger { private static PrintStream logStream; static { - String logFile = null; - //TODO I think this should go into the workspace metadata instead. - File logDirWindows = new File("C:\\eclipselogs"); //$NON-NLS-1$ - File logDirUNIX = new File("/tmp/eclipselogs"); //$NON-NLS-1$ - - if (logDirWindows.isDirectory()) { - logFile = logDirWindows + "\\tmterminal.log"; //$NON-NLS-1$ - } else if (logDirUNIX.isDirectory()) { - logFile = logDirUNIX + "/tmterminal.log"; //$NON-NLS-1$ - } - - if (logFile != null) { + IPath logFile = Platform.getStateLocation(TerminalPlugin.getDefault().getBundle()); + if (logFile != null && logFile.toFile().isDirectory()) { + logFile = logFile.append("tmterminal.log"); //$NON-NLS-1$ try { - logStream = new PrintStream(new FileOutputStream(logFile, true)); + logStream = new PrintStream(new FileOutputStream(logFile.toFile(), true)); } catch (Exception ex) { logStream = System.err; - logStream - .println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ + logStream.println("Exception when opening log file -- logging to stderr!"); //$NON-NLS-1$ ex.printStackTrace(logStream); } } From 504226af17c983def3cf78e967f5d2e0bbb21d99 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 20 Feb 2015 09:43:30 +0100 Subject: [PATCH 608/843] Terminal: Fix Bug 460334 - Local terminal disconnects if typing german umlaut character --- .../tm/internal/terminal/emulator/VT100Emulator.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 2d75c086a8c..4f8e1364d5a 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -987,19 +987,11 @@ public class VT100Emulator implements ControlListener { String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ - OutputStreamWriter streamWriter = null; try { - streamWriter = new OutputStreamWriter(terminal.getOutputStream(), "ISO-8859-1"); //$NON-NLS-1$ - streamWriter.write(positionReport, 0, positionReport.length()); - streamWriter.flush(); + terminal.getOutputStream().write(positionReport.getBytes("ISO-8859-1")); //$NON-NLS-1$ + terminal.getOutputStream().flush(); } catch (IOException ex) { Logger.log("Caught IOException!"); //$NON-NLS-1$ - } finally { - if (streamWriter != null) { - try { - streamWriter.close(); - } catch (IOException e) { /* ignored on purpose */ } - } } } From 47132a5b5f3ba7b8594728bdf504c58269045a11 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 20 Feb 2015 10:09:47 +0100 Subject: [PATCH 609/843] Terminal: Fix Bug 448144 - accent characters do not work correctly Encode the byte to send for the currently selected encoding before sending it to the terminal. Change-Id: I0ed295163c6e5dd2fde19b8b562d76a8d775a78b --- .../terminal/emulator/VT100TerminalControl.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index dcf15b6b77c..5e3603c44b8 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -578,12 +578,19 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // // TODO: Make the ESCAPE-vs-highbit behavior user configurable. - Logger.log("sending ESC + '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + byte[] bytesToSend = String.valueOf(chKey).getBytes(fEncoding); + Logger.log("sending ESC "); //$NON-NLS-1$ + for (int i = 0; i < bytesToSend.length; i++) { + Logger.log("+ '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + } os.write('\u001b'); - os.write(byteToSend); + os.write(bytesToSend); } else { - Logger.log("sending '" + byteToSend + "'"); //$NON-NLS-1$ //$NON-NLS-2$ - os.write(byteToSend); + byte[] bytesToSend = String.valueOf(chKey).getBytes(fEncoding); + for (int i = 0; i < bytesToSend.length; i++) { + Logger.log("sending '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + } + os.write(bytesToSend); } os.flush(); } From 988c243f0743b98f29bea1db1ad988c7eb3d57e6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 20 Feb 2015 10:27:33 +0100 Subject: [PATCH 610/843] Terminal: Fix Bug 448144 - accent characters do not work correctly Improved logging of send characters --- .../terminal/emulator/VT100TerminalControl.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 5e3603c44b8..028ce2d9a17 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -579,17 +579,22 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // TODO: Make the ESCAPE-vs-highbit behavior user configurable. byte[] bytesToSend = String.valueOf(chKey).getBytes(fEncoding); - Logger.log("sending ESC "); //$NON-NLS-1$ + StringBuilder b = new StringBuilder("sending ESC"); //$NON-NLS-1$ for (int i = 0; i < bytesToSend.length; i++) { - Logger.log("+ '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + if (i != 0) b.append(" +"); //$NON-NLS-1$ + b.append(" '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ } + Logger.log(b.toString()); os.write('\u001b'); os.write(bytesToSend); } else { byte[] bytesToSend = String.valueOf(chKey).getBytes(fEncoding); + StringBuilder b = new StringBuilder("sending"); //$NON-NLS-1$ for (int i = 0; i < bytesToSend.length; i++) { - Logger.log("sending '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ + if (i != 0) b.append(" +"); //$NON-NLS-1$ + b.append(" '" + bytesToSend[i] + "'"); //$NON-NLS-1$ //$NON-NLS-2$ } + Logger.log(b.toString()); os.write(bytesToSend); } os.flush(); From 5d0ca59ab14716784a2197df4769112a6a75b585 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 20 Feb 2015 12:07:17 +0100 Subject: [PATCH 611/843] Terminals: [releng] get o.e.remote from master in team project set Change-Id: I91535fff958c7ef2820fee8cbfb8ba4de00f1ea2 Signed-off-by: Martin Oberhuber --- terminals.psf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/terminals.psf b/terminals.psf index b9d161745cc..43860ef3d8d 100644 --- a/terminals.psf +++ b/terminals.psf @@ -1,11 +1,11 @@ - - - - - + + + + + From 8a4bd7c3667adc953591021ffee9ff006b0cfe05 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 20 Feb 2015 12:14:10 +0100 Subject: [PATCH 612/843] Terminals: [releng] use https in team project set for easier push config The https protocol should work through proxies just like http, so it is easy for getting the initial code. But other than http, it also allows pushing just by specifying the username and password generated from Gerrit at https://git.eclipse.org/r/#/settings/http-password This makes it preferable over git, ssh or other protocols. --- terminals.psf | 66 +++++++++++++++++++++++++-------------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/terminals.psf b/terminals.psf index 43860ef3d8d..5e38d96e301 100644 --- a/terminals.psf +++ b/terminals.psf @@ -1,39 +1,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From afa83b3ffbd8ffa4e0f1dd466123c0e8df80e901 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 20 Feb 2015 13:38:58 +0100 Subject: [PATCH 613/843] [terminal][releng] Update tm.terminal version to 3.3.100 In order to account for bug fixes since LunaSR2 (which was 3.3.0) Change-Id: Ic3999d38b8c8f4827114f0e7d4650d7bd9f76d7c --- features/org.eclipse.tm.terminal.feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.sdk.feature/feature.xml | 2 +- plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/features/org.eclipse.tm.terminal.feature/feature.xml index 17ac8b4b86c..1954fa3f91b 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.feature/feature.xml @@ -1,6 +1,6 @@ - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml deleted file mode 100644 index eb957301c59..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.sdk - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/.project b/deprecated/features/org.eclipse.tm.terminal.view-feature/.project deleted file mode 100644 index 57ff3d8e631..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.view-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties deleted file mode 100644 index 400f7fd68ee..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties deleted file mode 100644 index 0a6e4bdc5e7..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties +++ /dev/null @@ -1,170 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal View (Deprecated) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An Eclipse Workbench standalone view for the Terminal widget.\n\ -\n\ -Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml deleted file mode 100644 index c1984a2165c..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml deleted file mode 100644 index 27352ba805b..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.view - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.project b/deprecated/plugins/org.eclipse.tm.terminal.view/.project deleted file mode 100644 index b54e2fe953b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.view - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index c2dc3aa2f47..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,74 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 9a20fca52a4..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Jul 31 14:55:17 CEST 2006 -eclipse.preferences.version=1 -internal.default.compliance=user diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml deleted file mode 100644 index 5ba920568af..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - The Terminal View supports direct connections to remote systems via serial or network connections. - - - - - - The Terminal Settings Dialog provides the controls for making terminal connections. - - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF deleted file mode 100644 index eb076cf1ebd..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.4.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-Vendor: %providerName -Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true, - org.eclipse.tm.internal.terminal.view;x-internal:=true diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml deleted file mode 100644 index 387756f5c68..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.html b/deprecated/plugins/org.eclipse.tm.terminal.view/about.html deleted file mode 100644 index a603d19ab21..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -About - - -

                                    About This Content

                                    - -

                                    June 5, 2007

                                    -

                                    License

                                    - -

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                    - -

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                    - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties deleted file mode 100644 index 10075af5412..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal View (Deprecated)\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2014. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties deleted file mode 100644 index 51984c14501..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################ -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -################################################################################ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - icons/,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - tm32.png,\ - HelpContexts.xml,\ - doc/,\ - toc.xml,\ - TerminalContexts.xml -src.includes = about.html diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css deleted file mode 100644 index faa4199fe34..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css +++ /dev/null @@ -1 +0,0 @@ -@import "../../PRODUCT_PLUGIN/book.css"; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html deleted file mode 100644 index c423cbf8be5..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - -Terminal View - - - - -

                                    Terminal View

                                    -
                                    -

                                    -The Terminal view provides a raw serial or network connection to your target board. -This view is useful for monitoring output on a target's serial port or making a telnet -connection to a device. -

                                    -The Terminal view is activated by choosing Window > Show View > Other > Terminal > Terminal. -

                                    - - -Multiple Terminal view instances can be active at the same time, connected -to a number of remote systems or disconnected and just holding their settings -ready for re-connect. - -

                                    -
                                           | Next >
                                    - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html deleted file mode 100644 index 1442ac022db..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - -Terminal View Quick Reference - - - -

                                    Terminal View Quick Reference

                                    -
                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                    Button

                                    Description

                                    Connect to selected target.

                                    Disconnect from selected connection.

                                    Open the Terminal Settings dialog. - While connected, only the connection's title can be changed.

                                    Toggle the Command Input field, - for editing complex command lines on dumb terminals.

                                    Toggle Scroll Lock in the current terminal connection.

                                    Select a Terminal connection to show in this view instance. - Only available when multiple connections have been defined in this view.

                                    Open another Terminal connection in the current view, or in a new Terminal view instance.

                                    Remove the currently selected Terminal Connection from this view. - Only available when multiple connections have been defined in this view.

                                    -
                                    -

                                    -

                                    - -
                                    - Each instance of the Terminal view can hold multiple connections, each of which can in - turn be connected to a different remote endpoint - (either serial or network). Of course, the number of serial connections is limited by the - number of serial ports. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html deleted file mode 100644 index 953025ae0db..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - -Terminal Settings Dialog - - - -

                                    Terminal Settings Dialog

                                    - -
                                    -Use the Terminal Settings dialog to configure your connection. -
                                    -
                                    -In the Connection Type field choose Serial, SSH or Telnet. -
                                    -
                                    -The View Title field allows giving a name to your Terminal View instance. -
                                    - -

                                    Serial Connection

                                    - -
                                    -If you choose a serial connection, the Settings area has seven options: - Port, Baud Rate, Data Bits, Stop Bits, Parity, Flow Control, - and Timeout. -
                                    - -
                                    -When you have entered your settings, click OK. This initiates your connection.
                                    - -
                                    -Your connection information appears in the header of the Terminal view. -A cursor appears in the view itself. Hit ENTER to get a >NET> -prompt.
                                    - -

                                    -
                                    - - - - - -
                                    -

                                    NOTE:When using the Terminal view on Linux or Solaris, - serial ports ttyS0 and ttyS1 must have appropriate permissions - set in order to connect to them, unless you are running the Workbench as root. -

                                      
                                    -
                                    - -

                                    -

                                    SSH Connection

                                    - -
                                    -If you choose an SSH connection, the Settings area has six options. -In the Host and Port fields, enter the IP Address and port of the host -you wish to connect to. -The User field specifies the remote user id to use. -The Password field is optional, since SSH can re-use your private keys -as specified on the Eclipse Preferences, General, Network Page. -The Timeout can be changed for very slow networks. The -KeepAlive value specifies an interval in seconds, by which the Terminal -automatically sends a packet to the remote host in order to keep the connection -alive even in case of inactivity. -

                                    When all settings are specified, click -OK. This initiates your connection.

                                    - - -

                                    -

                                    Telnet Connection

                                    - -
                                    -If you choose a Telnet connection, the Settings area has three options. -In the Host field, enter the IP Address of the host you wish to connect to. -In the Port field, select the network port you wish to use. -The Timeout can be changed for very slow networks. Then click -OK. This initiates your connection.
                                    - -
                                    -Your connection information appears in the header of the Terminal view. -A cursor appears in the view itself. Hit ENTER to get a >NET> prompt. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html deleted file mode 100644 index 0b987d5e87b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - -Terminal Emulation - - - -

                                    Terminal Emulation

                                    - -
                                    -The Terminal view is an ANSI-conformant terminal emulator. You can use the -Terminal view to telnet into a remote UNIX host. -
                                    - -
                                    -To do so, set the TERM environment variable on the remote host to ansi. -This enables programs on the remote host, such as vi and Emacs, -to display text properly. -The Terminal view does not currently support other emulation modes, such as VT100. -
                                    - -
                                    -The size of the terminal window as understood by the remote is automatically -adjusted as the size of your Terminal view changes. -The colors and font used by the Terminal can be configured in the -Eclipse Preferences, Appearance section. A separate Terminal Preference -Page allows inverting the terminal colors easily if desired. -
                                    - -

                                    Optional Command Input Field

                                    - -
                                    -The optional Command Input Field can be enabled when sending commands to a dumb -terminal that does not support cursor keys for editing. In such a case, the -Command Input Field provides a full editor that supports cursor navigation, copy -and paste, as well as a history of previous commands that can be accessed by -Ctrl+Space content assist. -
                                    - -
                                    -If more space than the default single editing line is needed for very complex commands, -the Command Input Field can be enlarged by dragging its upper handle up with -the mouse. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html deleted file mode 100644 index 91a8824e7cc..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - -Legal Notice - - - -

                                    Legal Notice

                                    -

                                    -The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012. -

                                    -

                                    -Terms and conditions regarding the use of this guide. -

                                    - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif deleted file mode 100644 index 9e3a547c145798fa08fb692df015a793213fbd1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=2RNk%w1VGsZi0M!5h^!EGh@%r)f`-qjU_W1ny`uv8PzKoy3y2szCv&G-& z_`%54;_CS2?D^^M`je){nykyBv(Mk?_vY>SZY`|a}j_4xfuZlYv_wT+pp z;p+I}>-gd7_vr8W@%8)n`TXDM_u=dKh|$WarlE(qt$M7agU7XT#Itn2uy(Vk zfB*mgA^8LW002J#EC2ui01yBW000J_z+Xm#&}4qdq%wJ2I+@R~k4bKxePc$9H1`IS$H3||U5)uj`H9-J7aY@tZ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif deleted file mode 100644 index 556b230da5693996a541f64393a5cfb91b4bcd33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmZ?wbhEHb6krfw*v!Dd@SlPEEH^^~gT8_P{FCz!-aVMSH2FUm03|Vj;!hSv1_pKp z9gq~r3Qu)m%S5)Zch7sbWtx2K>xBK@v;FkGS@-1G W&gcrAxidxV#@Wd$qt**DSOWlPf-bNC diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif deleted file mode 100644 index f1d5fb31e51476a24e289e7cf2d083058fb3fa2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZ?wbhEHb6krfw*v!Ci-#-3+e0>80!+v}F|MBtjf#m%8_kn2t{)PsiFvI`<|A8bN zDE?$&WMJTC&;f~n%wS-#FF5JBdhd-z496C>ib@<2@H=YBn5x*&y^Cj=!u(ec#pJbA lyIR&OHT#;)l?%|2-kM+()~m7jt&Y*$wbNf#?G|LP1^^IEGNAwf diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif deleted file mode 100644 index 68fd6cf39cac929152036675cc56c7edaf9217e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmZ?wbhEHb6krfwc*el+=g+^tfB$8aO_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif deleted file mode 100644 index bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif deleted file mode 100644 index f538ca707fc7480b4586effcebbb307e1979ae3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif deleted file mode 100644 index ae5e64b9f6f1b090da34d65bd48784886e8e2305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XLEn|DRzLjE2C-3jxKSEQ|~cObj|8uY>Z01BW{U zD~F8728DwR?CeT95(x_rwKK_BwPb8iXlP?(Q0cMwkmTGe!|LZ^v2oGK$r|2mF((UE aj!xCHPGXTXQajxtY@6nCa&v+MgEavEOe8}9 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif deleted file mode 100644 index 24a628713dca636bfe498223f8382f189140cf93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmZ?wbhEHb6krfwn8?7efB*jZ^XLEn|DS<@LGdRGBLf2ygAR}llobH7wWsv2Jk7<( s$kioP{n2(-nO*KN;Z~JpouWlvOix;0c{hLlefKNJ?z8-VL>U;Y0qcJs5C8xG diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif deleted file mode 100644 index b7764789356f9a62aa0b9ad50ff020f4e01e3b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmZ?wbhEHb6krfwc*el+=g;5YzyJLD_50_~U-ut8zIf^C#x1+H@7%j)?fOrjzkdAm z<=~+s2M!)yzIxM^?R(a3*t~1c{=NGTUbuAS`;VXBzW@08?faLn-`;-s^yS<4KY#yj z+Pr!9uFao6z5Vp@&BqU~uUtB{Va>dqTUVSreem&vYxnP5+P7=n)JdIBAKkon`_l6# zcb+}Ief9F$^JkC0d-Lq&^M~8FZC<}>?%EY|)-0dBdfBX%OJ?lYvg+geSMT4xSigGF zotu|VpEz{w%7uG(ZoC4jesJ&er;mpY9{m6R|G$6#{{H<7WH1ahp!k!8k%7U5K?me; zP@FKZuWWE>YHn$5cIfEr>S}Tj@1M{wJ;9+@Tx`ZnF@14fmZ>g%vt~+(Gczyf6J5PV zlz%<{N{QvmMYeIU3JI;$QB<^MViFeS<~+7i)!trJn~{;3hwIW*2L&5PM>_>uMkYb= z)mKb(tgLiQtRxu)-UwV#mXX(!)iQ9FWS_Fo%-q6MS2Kx2^3j6J%LC+!W*AI#Zsk#Q d;)!8kXprg>R&tr6V3;hpC_v6pl#7MI8US7A;iv!r diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pjqWXXeWH$Wh%qo&0|4{v9aI1S diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif deleted file mode 100644 index 559e462985f439553de36c89f65392eae3e9a44e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmZ?wbhEHb6krfw*v!Ci=-|O)$BrF5cyQ02Jv(;n*t~i3x^?STu3Wif$&v*N7X1JJ zp8*vp{$ycfVBliV0SSZ5U|{hHIO(~1uSCNtU5#UEjBbj3ZUQY)yXJ8fa4;1Ld|~WA z@!)sI-4+*(HUmTFi3NKYgjzF96l>i0I}eMb=?0hv=!;iZy|UTOS9Ern3j>2S03Llh A4*&oF diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif deleted file mode 100644 index f538ca707fc7480b4586effcebbb307e1979ae3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif deleted file mode 100644 index c0de0d32dd66e4efb5e94661dd3f180de819a25d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XE4-G{ncpGcYjx|NkFIj)Kt;7$G5`_>+Z^fq|7l z2jpK+o^ap@XW-_L@z|i?$jHvFq@$7W@BkyD6rX^F!y}hAHe)6Mg9L_#7FHRi7cT-A zFfa(}&*GW6ap~#l3jB+n%(#%)*d-IXDQ4w_2gmy4D{r-EOk8+&qC=vVtb_oAH2~_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif deleted file mode 100644 index 2cd9c544436c47a57f20b348b3fb024bb50701a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmZ?wbhEHb6krfw*v!DNV#SID3l_|nF=N7n2^}3B4Gj$y6%_>q1sNF`2?+`R|Nmz| z1&Tje7#SG27<53wATtBYuHJj2L#xNM)vQ#JRl<>hDKU#-N&yE`p}?0M(Gw4T zcQCOfDoF5h^e6?|s2Q}nBw9^#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties deleted file mode 100644 index 8bc93b55917..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties +++ /dev/null @@ -1,21 +0,0 @@ -########################################################################## -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget -########################################################################## -pluginName = Target Management Terminal View (Deprecated) -providerName = Eclipse TM Project -terminal.views.category.name = Terminal -terminal.views.view.name = Terminal diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml deleted file mode 100644 index b43368431ee..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml deleted file mode 100644 index 4ae0aaa1199..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm - org.eclipse.tm.terminal.view - 2.4.200.qualifier - eclipse-plugin - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java deleted file mode 100644 index 5abbcf8a680..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.osgi.util.NLS; - -public class ActionMessages extends NLS { - - static { - NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); - } - public static String NEW_TERMINAL_CONNECTION; - public static String NEW_TERMINAL_VIEW; - public static String CONNECT; - public static String TOGGLE_COMMAND_INPUT_FIELD; - public static String DISCONNECT; - public static String SETTINGS_ELLIPSE; - public static String SCROLL_LOCK_0; - public static String SCROLL_LOCK_1; - public static String REMOVE; - - public static String ConsoleDropDownAction_0; - public static String ConsoleDropDownAction_1; - - public static String SETTINGS; - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties deleted file mode 100644 index 0401f1d8c83..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin -# Michael Scharf (Wind River) - [172483] switch between connections -# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -############################################################################### -NEW_TERMINAL_CONNECTION = New Terminal Connection in Current View... -NEW_TERMINAL_VIEW = New Terminal View -CONNECT = Connect -DISCONNECT = Disconnect -SETTINGS_ELLIPSE = Settings... -SCROLL_LOCK_0 = Scroll &Lock -SCROLL_LOCK_1 = Scroll Lock -SETTINGS = Settings -TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field -REMOVE = Remove Terminal - -ConsoleDropDownAction_0=Select Connection -ConsoleDropDownAction_1=Display Selected Connections - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java deleted file mode 100644 index 47faff88717..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2015 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Michael Scharf (Wind River) - [172483] Adapted from org.eclipse.ui.console/ShowConsoleAction - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; - -/** - * Shows a specific connection in the terminal view - */ -public class ShowTerminalConnectionAction extends Action { - - private final ITerminalViewConnection fConnection; - private final ITerminalViewConnectionManager fConnectionManager; - - /** - * Constructs an action to display the given terminal. - * - * @param manager the terminal multi-view in which the given terminal connection is contained - * @param connection the terminal view connection - */ - public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) { - super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON); - fConnection = connection; - fConnectionManager = manager; - setImageDescriptor(connection.getImageDescriptor()); - } - /** - * the tab at the end quotes '@' chars?!? see - * {@link #setText(String)} - * @param name - * @return a quoted sting - */ - private static String quoteName(String name) { - return name+"\t"; //$NON-NLS-1$ - } - /** - * Builds the name. It uses the summary. If the connections have different - * partNames (the names showed in the view title) then this name is prefixed. - * @param m the connection manager - * @param connection the connection for which the name should me extracted - * @return The name to be displayed - */ - private static String buildName(ITerminalViewConnectionManager m,ITerminalViewConnection connection) { - String name = connection.getFullSummary(); - if(!checkIfAllPartNamesTheSame(m)) - name=connection.getPartName()+" - " +name; //$NON-NLS-1$ - return name; - } - /** - * @param m the connection manager - * @return true if the part names of all connections are the same - */ - private static boolean checkIfAllPartNamesTheSame(ITerminalViewConnectionManager m) { - ITerminalViewConnection[] connections = m.getConnections(); - if(connections.length>1) { - String partName=connections[0].getPartName(); - for (int i = 1; i < connections.length; i++) { - if(!partName.equals(connections[i].getPartName())) { - return false; - } - } - - } - return true; - } - /* (non-Javadoc) - * @see org.eclipse.jface.action.IAction#run() - */ - public void run() { - fConnectionManager.setActiveConnection(fConnection); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java deleted file mode 100644 index 85e86d48fc7..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; - -abstract public class TerminalAction extends Action { - protected final ITerminalView fTarget; - public TerminalAction(ITerminalView target, String strId) { - this(target,strId,0); - } - public TerminalAction(ITerminalView target, String strId, int style) { - super("",style); //$NON-NLS-1$ - - fTarget = target; - - setId(strId); - } - abstract public void run(); - protected void setupAction(String strText, String strToolTip, - String strImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled) { - TerminalViewPlugin plugin; - ImageRegistry imageRegistry; - - plugin = TerminalViewPlugin.getDefault(); - imageRegistry = plugin.getImageRegistry(); - setupAction(strText, strToolTip, strImage, strEnabledImage, - strDisabledImage, bEnabled, imageRegistry); - } - protected void setupAction(String strText, String strToolTip, - String strHoverImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled, ImageRegistry imageRegistry) { - setupAction(strText, - strToolTip, - imageRegistry.getDescriptor(strHoverImage), - imageRegistry.getDescriptor(strEnabledImage), - imageRegistry.getDescriptor(strDisabledImage), - bEnabled); - } - protected void setupAction(String strText, String strToolTip, - ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, - boolean bEnabled) { - setText(strText); - setToolTipText(strToolTip); - setEnabled(bEnabled); - if (enabledImage != null) { - setImageDescriptor(enabledImage); - } - if (disabledImage != null) { - setDisabledImageDescriptor(disabledImage); - } - if (hoverImage != null) { - setHoverImageDescriptor(hoverImage); - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java deleted file mode 100644 index f343c9a9948..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionConnect extends TerminalAction -{ - public TerminalActionConnect(ITerminalView target) - { - super(target, - TerminalActionConnect.class.getName()); - - setupAction(ActionMessages.CONNECT, - ActionMessages.CONNECT, - ImageConsts.IMAGE_CLCL_CONNECT, - ImageConsts.IMAGE_ELCL_CONNECT, - ImageConsts.IMAGE_DLCL_CONNECT, - true); - } - public void run() { - fTarget.onTerminalConnect(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java deleted file mode 100644 index a8624c40450..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionDisconnect extends TerminalAction -{ - /** - * - */ - public TerminalActionDisconnect(ITerminalView target) - { - super(target, - TerminalActionDisconnect.class.getName()); - - setupAction(ActionMessages.DISCONNECT, - ActionMessages.DISCONNECT, - ImageConsts.IMAGE_CLCL_DISCONNECT, - ImageConsts.IMAGE_ELCL_DISCONNECT, - ImageConsts.IMAGE_DLCL_DISCONNECT, - false); - } - public void run() { - fTarget.onTerminalDisconnect(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java deleted file mode 100644 index 20a0ff7a232..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -*******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuCreator; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -/** - * UNDER CONSTRUCTION - * - * @author Fran Litterio - */ -public class TerminalActionNewTerminal extends TerminalAction implements IMenuCreator { - private Menu fMenu; - public TerminalActionNewTerminal(ITerminalView target) - { - super(target, TerminalActionNewTerminal.class.getName()); - - setupAction(ActionMessages.NEW_TERMINAL_CONNECTION, - ActionMessages.NEW_TERMINAL_CONNECTION, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - true); - setMenuCreator(this); - } - public void run() { - fTarget.onTerminalNewTerminal(); - } - public void dispose() { - if (fMenu != null) { - fMenu.dispose(); - } - } - public Menu getMenu(Control parent) { - if(fMenu==null) { - fMenu= new Menu(parent); - addActionToMenu(fMenu, - new Action(ActionMessages.NEW_TERMINAL_CONNECTION) { - public void run() { - fTarget.onTerminalNewTerminal(); - } - - }); - addActionToMenu(fMenu, - new Action(ActionMessages.NEW_TERMINAL_VIEW) { - public void run() { - fTarget.onTerminalNewView(); - } - - }); - } - return fMenu; - } - protected void addActionToMenu(Menu parent, IAction action) { - ActionContributionItem item = new ActionContributionItem(action); - item.fill(parent, -1); - } - public Menu getMenu(Menu parent) { - return null; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java deleted file mode 100644 index b7d9d472f8d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener -{ - private final ITerminalViewConnectionManager fConnectionManager; - public TerminalActionRemove(ITerminalViewConnectionManager target) - { - super(null, - TerminalActionRemove.class.getName()); - fConnectionManager=target; - setupAction(ActionMessages.REMOVE, - ActionMessages.REMOVE, - null, - ImageConsts.IMAGE_ELCL_REMOVE, - ImageConsts.IMAGE_DLCL_REMOVE, - true); - fConnectionManager.addListener(this); - connectionsChanged(); - } - public void run() { - fConnectionManager.removeActive(); - } - public void connectionsChanged() { - setEnabled(fConnectionManager.size()>1); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java deleted file mode 100644 index 2a51a42158c..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionScrollLock extends TerminalAction -{ - public TerminalActionScrollLock(ITerminalView target) - { - super(target, - TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON); - - setupAction(ActionMessages.SCROLL_LOCK_0, - ActionMessages.SCROLL_LOCK_1, - ImageConsts.IMAGE_CLCL_SCROLL_LOCK, - ImageConsts.IMAGE_ELCL_SCROLL_LOCK, - ImageConsts.IMAGE_DLCL_SCROLL_LOCK, - true); - } - public void run() { - fTarget.setScrollLock(!fTarget.isScrollLock()); - setChecked(fTarget.isScrollLock()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java deleted file mode 100644 index f7b2da77e55..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2015 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Michael Scharf (Wind River) - [172483] switch between connections - * (Adapted from org.eclipse.ui.internal.console.ConsoleDropDownAction) - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuCreator; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.tm.internal.terminal.view.ImageConsts; -import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; - -/** - * Drop down action in the console to select the console to display. - */ -public class TerminalActionSelectionDropDown extends Action implements IMenuCreator, ITerminalViewConnectionListener { - private ITerminalViewConnectionManager fConnections; - private Menu fMenu; - public TerminalActionSelectionDropDown(ITerminalViewConnectionManager view) { - fConnections= view; - setText(ActionMessages.ConsoleDropDownAction_0); - setToolTipText(ActionMessages.ConsoleDropDownAction_1); - setImageDescriptor(TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW)); -// PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION); - setMenuCreator(this); - fConnections.addListener(this); - connectionsChanged(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#dispose() - */ - public void dispose() { - if (fMenu != null) { - fMenu.dispose(); - } - fConnections.removeListener(this); - fConnections= null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) - */ - public Menu getMenu(Menu parent) { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) - */ - public Menu getMenu(Control parent) { - if (fMenu != null) { - fMenu.dispose(); - } - - fMenu= new Menu(parent); - ITerminalViewConnection[] consoles= fConnections.getConnections(); - ITerminalViewConnection active = fConnections.getActiveConnection(); - for (int i = 0; i < consoles.length; i++) { - ITerminalViewConnection console = consoles[i]; - Action action = new ShowTerminalConnectionAction(fConnections, console); - action.setChecked(console.equals(active)); - addActionToMenu(fMenu, action, i + 1); - } - return fMenu; - } - - private void addActionToMenu(Menu parent, Action action, int accelerator) { - if (accelerator < 10) { - StringBuffer label= new StringBuffer(); - //add the numerical accelerator - label.append('&'); - label.append(accelerator); - label.append(' '); - label.append(action.getText()); - action.setText(label.toString()); - } - ActionContributionItem item= new ActionContributionItem(action); - item.fill(parent, -1); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IAction#run() - */ - public void run() { - fConnections.swapConnection(); - } - - public void connectionsChanged() { - setEnabled(fConnections.size() > 1); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java deleted file mode 100644 index 060b856cfc9..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionSettings extends TerminalAction -{ - public TerminalActionSettings(ITerminalView target) - { - super(target, - TerminalActionSettings.class.getName()); - - setupAction(ActionMessages.SETTINGS_ELLIPSE, - ActionMessages.SETTINGS, - ImageConsts.IMAGE_CLCL_SETTINGS, - ImageConsts.IMAGE_ELCL_SETTINGS, - ImageConsts.IMAGE_DLCL_SETTINGS, - true); - } - public void run() { - fTarget.onTerminalSettings(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java deleted file mode 100644 index 03ab6d06741..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionToggleCommandInputField extends TerminalAction -{ - public TerminalActionToggleCommandInputField(ITerminalView target) - { - super(target, - TerminalActionToggleCommandInputField.class.getName(),IAction.AS_RADIO_BUTTON); - - setupAction(ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, - ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, - true); - setChecked(fTarget.hasCommandInputField()); - } - public void run() { - fTarget.setCommandInputField(!fTarget.hasCommandInputField()); - setChecked(fTarget.hasCommandInputField()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java deleted file mode 100644 index 087cd136e12..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public interface ITerminalView { - - /** - * Create a new terminal connection within the view. - */ - void onTerminalNewTerminal(); - - /** - * Programmatically create a new terminal connection within the view. This method - * does the same thing as onTerminalNewTerminal, but instead of popping up a settings - * dialog to allow the user fill in connection details, a connector is provided as - * a parameter. The connector should have all of its details pre-configured so it can - * be opened without requiring user input. - */ - void newTerminal(ITerminalConnector c); - - /** - * Create a new Terminal view. - */ - void onTerminalNewView(); - - void onTerminalConnect(); - void onTerminalDisconnect(); - void onTerminalSettings(); - void onTerminalFontChanged(); - boolean hasCommandInputField(); - void setCommandInputField(boolean on); - boolean isScrollLock(); - void setScrollLock(boolean b); -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java deleted file mode 100644 index 1dc39b35051..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -/** - * Represents a connection. The connection might be connected - * or not. - * - */ -public interface ITerminalViewConnection { - - /** - * @return the summary shown in the status line and - * in the drop down box of the connections - */ - String getFullSummary(); - - /** - * @param name the name of the view - */ - void setPartName(String name); - /** - * @return the name of the view (never null) - */ - String getPartName(); - - /** - * @return an image that represents this connection - */ - ImageDescriptor getImageDescriptor(); - /** - * @return the control of this connection - */ - ITerminalViewControl getCtlTerminal(); - - void saveState(ISettingsStore store); - - void loadState(ISettingsStore store); - - /** - * @return true if the input field is visible - */ - boolean hasCommandInputField(); - /** - * @param on turns the input field on - */ - void setCommandInputField(boolean on); - - /** - * @param state changes of the state (might change the summary) - */ - void setState(TerminalState state); - - /** - * @param title used in the summary. If null the summary - * is created automatically - */ - void setTerminalTitle(String title); - - /** - * TODO: legacy (needed to read the old state) - * @param summary - */ - void setSummary(String summary); - /** - * @param encoding the encoding of this connection - */ - void setEncoding(String encoding); - - /** - * @return the encoding of this connection - */ - String getEncoding(); -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java deleted file mode 100644 index 3d3a25fed31..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - - -/** - * Supports multiple connections - * - */ -public interface ITerminalViewConnectionManager { - /** - * Notifies any change in the state of the connections: - *
                                      - *
                                    • a connection is added or removed - *
                                    • the active connection has changed - *
                                    - * - */ - interface ITerminalViewConnectionListener { - void connectionsChanged(); - } - /** - * Used to create instances of the ITerminalViewConnection - * when the state is read from the {@link ISettings} - * - */ - interface ITerminalViewConnectionFactory { - ITerminalViewConnection create(); - } - /** - * @return a list of all connections this view can display - */ - ITerminalViewConnection[] getConnections(); - /** - * @return the number of connections - */ - int size(); - /** - * @return th connection the view is showing at the moment - */ - ITerminalViewConnection getActiveConnection(); - - /** - * @param conn make this connection the active connection - */ - void setActiveConnection(ITerminalViewConnection conn); - /** - * If more than two connections are available, remove the active connection - */ - void removeActive(); - - /** - * @param conn adds a new connection - */ - void addConnection(ITerminalViewConnection conn); - - /** - * If there are more than two connections toggle between this and the - * previously shown connection - */ - void swapConnection(); - - void addListener(ITerminalViewConnectionListener listener); - void removeListener(ITerminalViewConnectionListener listener); - - void saveState(ISettingsStore store); - /** - * @param store - * @param factory used to create new {@link ITerminalViewConnection} - */ - void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); - -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java deleted file mode 100644 index d6761b1ed5d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalConsts - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [172483] added some more icons - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -public interface ImageConsts -{ - public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ - public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ - public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ - - public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ - public static final String IMAGE_TERMINAL_VIEW = "TerminalView"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ - - public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$ - - public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ - public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ - public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ - } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java deleted file mode 100644 index 637634d0c6d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - simplified implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** - * A pagebook is a composite control where only a single control is visible at a - * time. It is similar to a notebook, but without tabs. - * - * @noextend This class is not intended to be subclassed by clients. - */ -public class PageBook extends Composite { - private StackLayout fLayout; - public PageBook(Composite parent, int style) { - super(parent, style); - fLayout= new StackLayout(); - setLayout(fLayout); - } - public void showPage(Control page) { - fLayout.topControl= page; - layout(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java deleted file mode 100644 index fb1f9a0ef7f..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - -public class SettingStorePrefixDecorator implements ISettingsStore { - private final String fPrefix; - private final ISettingsStore fStore; - SettingStorePrefixDecorator(ISettingsStore store,String prefix) { - fPrefix=prefix; - fStore=store; - } - - public String get(String key) { - return fStore.get(fPrefix+key); - } - - public String get(String key, String defaultValue) { - return fStore.get(fPrefix+key,defaultValue); - } - - public void put(String key, String value) { - fStore.put(fPrefix+key,value); - } - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java deleted file mode 100644 index fa6b52add57..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.ui.IMemento; - -/** - * A {@link IDialogSettings} based {@link ISettingsStore}. - * - * Setting Store based on IMemento. IMemento documentations says only alpha numeric - * values may be used as keys. Therefore the implementation converts dots (.) into - * child elements of the memento. - * - * @author Michael Scharf - */ -class SettingsStore implements ISettingsStore { - - private static final String KEYS = "_keys_"; //$NON-NLS-1$ - final private Map fMap=new HashMap(); - public SettingsStore(IMemento memento) { - if(memento==null) - return; - // load all keys ever used from the memento - String keys=memento.getString(KEYS); - if(keys!=null) { - String[] keyNames=keys.split(","); //$NON-NLS-1$ - for (int i = 0; i < keyNames.length; i++) { - String key=keyNames[i]; - if(!KEYS.equals(key)) { - // get the dot separated elements - String[] path=key.split("\\."); //$NON-NLS-1$ - IMemento m=memento; - // iterate over all but the last segment and get the children... - for(int iPath=0; m!=null && iPath+10) - buffer.append(","); //$NON-NLS-1$ - buffer.append(key); - } - // save the keys we have used. - memento.putString(KEYS, buffer.toString()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java deleted file mode 100644 index 7a9789049e6..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ /dev/null @@ -1,423 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - - -import java.nio.charset.Charset; -import java.nio.charset.IllegalCharsetNameException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.ui.PlatformUI; - -class TerminalSettingsDlg extends Dialog { - private Combo fEncodingCombo; - private Combo fCtlConnTypeCombo; - private Text fTerminalTitleText; - private final ITerminalConnector[] fConnectors; - private final ISettingsPage[] fPages; - /** - * Maps the fConnectors index to the fPages index - */ - private final int[] fPageIndex; - private int fNPages; - private int fSelectedConnector; - private PageBook fPageBook; - private IDialogSettings fDialogSettings; - private String fTerminalTitle; - private String fTitle=ViewMessages.TERMINALSETTINGS; - private String fEncoding; - - public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { - super(shell); - fConnectors=getValidConnectors(connectors); - fPages=new ISettingsPage[fConnectors.length]; - fPageIndex=new int[fConnectors.length]; - fSelectedConnector=-1; - for (int i = 0; i < fConnectors.length; i++) { - if(fConnectors[i]==connector) - fSelectedConnector=i; - } - } - public void setTitle(String title) { - fTitle=title; - } - /** - * @param connectors - * @return connectors excluding connectors with errors - */ - private ITerminalConnector[] getValidConnectors(ITerminalConnector[] connectors) { - List list=new ArrayList(Arrays.asList(connectors)); - for (Iterator iterator = list.iterator(); iterator.hasNext();) { - ITerminalConnector info = (ITerminalConnector) iterator.next(); - if(info.isInitialized() && info.getInitializationErrorMessage()!=null || info.isHidden()) - iterator.remove(); - } - connectors=(ITerminalConnector[]) list.toArray(new ITerminalConnector[list.size()]); - return connectors; - } - ISettingsPage getPage(int i) { - if(fPages[i]==null) { - if(fConnectors[i].getInitializationErrorMessage()!=null) { - // create a error message - final ITerminalConnector conn=fConnectors[i]; - fPages[i]=new ISettingsPage(){ - public void createControl(Composite parent) { - Label l=new Label(parent,SWT.WRAP); - String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName()); - l.setText(error); - l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED)); - String msg = NLS.bind(ViewMessages.CANNOT_INITIALIZE, conn.getName(), conn.getInitializationErrorMessage()); - // [168197] Replace JFace MessagDialog by SWT MessageBox - //MessageDialog.openError(getShell(), error, msg); - MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); - mb.setText(error); - mb.setMessage(msg); - mb.open(); - } - public void loadSettings() {} - public void saveSettings() {} - public boolean validateSettings() {return false;} - public void addListener(Listener listener) {} - public void removeListener(Listener listener) {} - }; - } else { - fPages[i]=fConnectors[i].makeSettingsPage(); - } - // TODO: what happens if an error occurs while - // the control is partly created? - fPages[i].createControl(fPageBook); - fPageIndex[i]=fNPages++; - resize(); - } - return fPages[i]; - - } - void resize() { - Point size=getShell().getSize(); - Point newSize=getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT,true); - newSize.x=Math.max(newSize.x,size.x); - newSize.y=Math.max(newSize.y,size.y); - if(newSize.x!=size.x || newSize.y!=size.y) { - setShellSize(newSize); - } else { - fPageBook.getParent().layout(); - } - } - /** - * Increase the size of this dialog's Shell by the specified amounts. - * Do not increase the size of the Shell beyond the bounds of the Display. - */ - protected void setShellSize(Point size) { - Rectangle bounds = getShell().getMonitor().getClientArea(); - getShell().setSize(Math.min(size.x, bounds.width), Math.min(size.y, bounds.height)); - } - - protected void okPressed() { - if (!validateSettings()) { - showErrorMessage(ViewMessages.INVALID_SETTINGS); - return; - } - if (!updateValidState()) { - showErrorMessage(ViewMessages.ENCODING_NOT_AVAILABLE); - return; - } - if(fSelectedConnector>=0) { - getPage(fSelectedConnector).saveSettings(); - } - fTerminalTitle=fTerminalTitleText.getText(); - fEncoding = fEncodingCombo.getText(); - super.okPressed(); - } - protected void cancelPressed() { - fSelectedConnector=-1; - super.cancelPressed(); - } - public int open() { - setShellStyle(getShellStyle() | SWT.RESIZE); - return super.open(); - } - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - - newShell.setText(fTitle); - } - protected Control createDialogArea(Composite parent) { - Composite ctlComposite = (Composite) super.createDialogArea(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(ctlComposite, TerminalViewPlugin.HELPPREFIX + "terminal_settings"); //$NON-NLS-1$ - - setupPanel(ctlComposite); - setupListeners(); - initFields(); - - return ctlComposite; - } - public void create() { - super.create(); - // initialize the OK button after creating the all dialog elements - updateOKButton(); - } - private void initFields() { - // Load controls - for (int i = 0; i < fConnectors.length; i++) { - fCtlConnTypeCombo.add(fConnectors[i].getName()); - } - int selectedConnector=getInitialConnector(); - if(selectedConnector>=0) { - fCtlConnTypeCombo.select(selectedConnector); - selectPage(selectedConnector); - } - doLoad(); - setCombo(fEncodingCombo, fEncoding); - } - /** - * @return the connector to show when the dialog opens - */ - private int getInitialConnector() { - // if there is a selection, use it - if(fSelectedConnector>=0) - return fSelectedConnector; - // try the telnet connector, because it is the cheapest - for (int i = 0; i < fConnectors.length; i++) { - if("org.eclipse.tm.internal.terminal.telnet.TelnetConnector".equals(fConnectors[i].getId())) //$NON-NLS-1$ - return i; - } - // if no telnet connector available, use the first one in the list - if(fConnectors.length>0) - return 0; - return -1; - } - private boolean validateSettings() { - if(fSelectedConnector<0) - return true; - return getPage(fSelectedConnector).validateSettings(); - } - private void setupPanel(Composite wndParent) { - setupSettingsTypePanel(wndParent); - //setupEncodingPanel(wndParent); - if(fConnectors.length>0) { - setupConnTypePanel(wndParent); - setupSettingsGroup(wndParent); - } - } - private void setupSettingsTypePanel(Composite wndParent) { - Group wndGroup; - GridLayout gridLayout; - - wndGroup = new Group(wndParent, SWT.NONE); - gridLayout = new GridLayout(2, false); - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - wndGroup.setText(ViewMessages.VIEW_SETTINGS); - - - Label label=new Label(wndGroup,SWT.NONE); - label.setText(ViewMessages.VIEW_TITLE); - label.setLayoutData(new GridData(GridData.BEGINNING)); - - fTerminalTitleText = new Text(wndGroup, SWT.BORDER); - fTerminalTitleText.setText(fTerminalTitle); - fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - Label encodingLabel=new Label(wndGroup,SWT.NONE); - encodingLabel.setText(ViewMessages.ENCODING); - encodingLabel.setLayoutData(new GridData(GridData.BEGINNING)); - - fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN); - fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - } - private void setupConnTypePanel(Composite wndParent) { - Group wndGroup; - GridLayout gridLayout; - GridData gridData; - - wndGroup = new Group(wndParent, SWT.NONE); - gridLayout = new GridLayout(1, true); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(gridData); - wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ - - fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.widthHint = 200; - fCtlConnTypeCombo.setLayoutData(gridData); - } - - private void setupSettingsGroup(Composite parent) { - Group group = new Group(parent, SWT.NONE); - group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ - group.setLayout(new GridLayout()); - group.setLayoutData(new GridData(GridData.FILL_BOTH)); - fPageBook=new PageBook(group,SWT.NONE); - fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - } - - private void setupListeners() { - if(fCtlConnTypeCombo==null) - return; - fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - selectPage(fCtlConnTypeCombo.getSelectionIndex()); - } - }); - } - public ITerminalConnector getConnector() { - if(fSelectedConnector>=0) - return fConnectors[fSelectedConnector]; - return null; - } - private void selectPage(int index) { - fSelectedConnector=index; - getPage(index); - Control[] pages=fPageBook.getChildren(); - fPageBook.showPage(pages[fPageIndex[fSelectedConnector]]); - updateOKButton(); - - } - /** - * enables the OK button if the user can create a connection - */ - private void updateOKButton() { - // TODO: allow contributions to enable the OK button - // enable the OK button if we have a valid connection selected - if(getButton(IDialogConstants.OK_ID)!=null) { - boolean enable=false; - if(getConnector()!=null) - enable=getConnector().getInitializationErrorMessage()==null; - // enable the OK button if no connectors are available - if(!enable && fConnectors.length==0) - enable=true; - getButton(IDialogConstants.OK_ID).setEnabled(enable); - } - } - protected IDialogSettings getDialogBoundsSettings() { - IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); - fDialogSettings = ds.getSection(getClass().getName()); - if (fDialogSettings == null) { - fDialogSettings = ds.addNewSection(getClass().getName()); - } - return fDialogSettings; - } - public void setTerminalTitle(String partName) { - fTerminalTitle=partName; - - } - public String getTerminalTitle() { - return fTerminalTitle; - } - private void doLoad() { - if (fEncodingCombo != null) { - List encodings = new ArrayList(); - encodings.add("ISO-8859-1"); //$NON-NLS-1$ - encodings.add("UTF-8"); //$NON-NLS-1$ - //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding - //String hostEncoding =Charset.defaultCharset().displayName(); - String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); - if (!encodings.contains(hostEncoding)) - encodings.add(hostEncoding); - populateEncodingsCombo(encodings); - - } - } - private void populateEncodingsCombo(List encodings) { - String[] encodingStrings = new String[encodings.size()]; - encodings.toArray(encodingStrings); - fEncodingCombo.setItems(encodingStrings); - } - private boolean isEncodingValid() { - return isValidEncoding(fEncodingCombo.getText()); - } - private boolean isValidEncoding(String enc) { - try { - return Charset.isSupported(enc); - } catch (IllegalCharsetNameException e) { - return false; - } - - } - private boolean updateValidState() { - boolean isValid = true; - boolean isValidNow = isEncodingValid(); - if (isValidNow != isValid) { - isValid = isValidNow; - } - return isValid; - } - private void showErrorMessage(String message) { - String strTitle = ViewMessages.TERMINALSETTINGS; - MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); - mb.setText(strTitle); - mb.setMessage(message); - mb.open(); - return; - } - - private void setCombo(Combo combo,String value) { - if(value==null) - return; - int nIndex = combo.indexOf(value); - if (nIndex == -1) { - if((combo.getStyle() & SWT.READ_ONLY)==0) { - combo.add(value); - nIndex = combo.indexOf(value); - } else { - return; - } - } - - combo.select(nIndex); - - } - public String getEncoding() { - return fEncoding; - } - public void setEncoding(String fEncoding) { - this.fEncoding = fEncoding; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java deleted file mode 100644 index 029a80091cc..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ /dev/null @@ -1,709 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED - * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 - * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. - * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference - * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED - * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget - * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.actions.TerminalAction; -import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; -import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; -import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; -import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; -import org.eclipse.tm.internal.terminal.actions.TerminalActionScrollLock; -import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; -import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; -import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; -import org.eclipse.tm.internal.terminal.control.ITerminalListener; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; -import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; -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.LayeredSettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IViewPart; -import org.eclipse.ui.IViewReference; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.part.ViewPart; - -public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener { - private static final String PREF_CONNECTORS = "Connectors."; //$NON-NLS-1$ - - private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ - - private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - - private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ - - public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; - - protected ITerminalViewControl fCtlTerminal; - - // TODO (scharf): this decorator is only there to deal wit the common - // actions. Find a better solution. - TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); - - protected TerminalAction fActionTerminalNewTerminal; - - protected TerminalAction fActionTerminalConnect; - - private TerminalAction fActionTerminalScrollLock; - - protected TerminalAction fActionTerminalDisconnect; - - protected TerminalAction fActionTerminalSettings; - - protected TerminalActionCopy fActionEditCopy; - - protected TerminalActionCut fActionEditCut; - - protected TerminalActionPaste fActionEditPaste; - - protected TerminalActionClearAll fActionEditClearAll; - - protected TerminalActionSelectAll fActionEditSelectAll; - - protected TerminalAction fActionToggleCommandInputField; - - protected TerminalPropertyChangeHandler fPropertyChangeHandler; - - protected Action fActionTerminalDropDown; - protected Action fActionTerminalRemove; - - protected boolean fMenuAboutToShow; - - private SettingsStore fStore; - - private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); - - private PageBook fPageBook; - - /** - * This listener updates both, the view and the - * ITerminalViewConnection. - * - */ - class TerminalListener implements ITerminalListener { - volatile ITerminalViewConnection fConnection; - void setConnection(ITerminalViewConnection connection) { - fConnection=connection; - } - public void setState(final TerminalState state) { - runInDisplayThread(new Runnable() { - public void run() { - fConnection.setState(state); - // if the active connection changes, update the view - if(fConnection==fMultiConnectionManager.getActiveConnection()) { - updateStatus(); - } - } - }); - } - public void setTerminalTitle(final String title) { - runInDisplayThread(new Runnable() { - public void run() { - fConnection.setTerminalTitle(title); - // if the active connection changes, update the view - if(fConnection==fMultiConnectionManager.getActiveConnection()) { - updateSummary(); - } - } - }); - } - /** - * @param runnable run in display thread - */ - private void runInDisplayThread(Runnable runnable) { - if(Display.findDisplay(Thread.currentThread())!=null) - runnable.run(); - else if(PlatformUI.isWorkbenchRunning()) - PlatformUI.getWorkbench().getDisplay().syncExec(runnable); - // else should not happen and we ignore it... - } - - } - - public TerminalView() { - Logger - .log("==============================================================="); //$NON-NLS-1$ - fMultiConnectionManager.addListener(this); - } - - /** - * @param title - * @return a unique part name - */ - String findUniqueTitle(String title) { - IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); - String id= getViewSite().getId(); - Set names=new HashSet(); - for (int i = 0; i < pages.length; i++) { - IViewReference[] views = pages[i].getViewReferences(); - for (int j = 0; j < views.length; j++) { - IViewReference view = views[j]; - // only look for views with the same ID - if(id.equals(view.getId())) { - String name=view.getTitle(); - if(name!=null) - names.add(view.getPartName()); - } - } - } - // find a unique name - int i=1; - String uniqueTitle=title; - while(true) { - if(!names.contains(uniqueTitle)) - return uniqueTitle; - uniqueTitle=title+" "+i++; //$NON-NLS-1$ - } - } - - /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. - */ - public void onTerminalNewTerminal() { - Logger.log("creating new Terminal instance."); //$NON-NLS-1$ - setupControls(); - if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) { - fMultiConnectionManager.removeActive(); - } - } - - /** - * Programmatically create a new terminal connection within the view. This method - * does the same thing as onTerminalNewTerminal, but instead of popping up a settings - * dialog to allow the user fill in connection details, a connector is provided as - * a parameter. The connector should have all of its details pre-configured so it can - * be opened without requiring user input. - */ - public void newTerminal(ITerminalConnector c) { - this.setupControls(); - if(c!=null) { - this.setConnector(c); - this.onTerminalConnect(); - } - } - - public void onTerminalNewView() { - try { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesirable. Therefore, we append the active time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. - IViewPart newTerminalView = getSite().getPage().showView( - "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - if(newTerminalView instanceof ITerminalView) { - ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW); - // if there is no connector selected, hide the new view - if(c==null) { - getSite().getPage().hideView(newTerminalView); - } - } - } catch (PartInitException ex) { - Logger.logException(ex); - } - } - - - public void onTerminalConnect() { - //if (isConnected()) - if (fCtlTerminal.getState()!=TerminalState.CLOSED) - return; - if(fCtlTerminal.getTerminalConnector()==null) - setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS)); - setEncoding(getActiveConnection().getEncoding()); - fCtlTerminal.connectTerminal(); - } - - public void updateStatus() { - updateTerminalConnect(); - updateTerminalDisconnect(); - updateTerminalSettings(); - fActionToggleCommandInputField.setChecked(hasCommandInputField()); - fActionTerminalScrollLock.setChecked(isScrollLock()); - updateSummary(); - } - - public void updateTerminalConnect() { - //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); - boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); - - fActionTerminalConnect.setEnabled(bEnabled); - } - - private boolean isConnecting() { - return fCtlTerminal.getState()==TerminalState.CONNECTING; - } - - public void onTerminalDisconnect() { - fCtlTerminal.disconnectTerminal(); - } - - public void updateTerminalDisconnect() { - boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); - fActionTerminalDisconnect.setEnabled(bEnabled); - } - - public void onTerminalSettings() { - newConnection(null); - } - - private ITerminalConnector newConnection(String title) { - ITerminalConnector c=showSettingsDialog(title); - if(c!=null) { - setConnector(c); - onTerminalConnect(); - } - return c; - } - - private ITerminalConnector showSettingsDialog(String title) { - // When the settings dialog is opened, load the Terminal settings from the - // persistent settings. - - ITerminalConnector[] connectors = fCtlTerminal.getConnectors(); - if(fCtlTerminal.getState()!=TerminalState.CLOSED) - connectors=new ITerminalConnector[0]; - // load the state from the settings - // first load from fStore and then from the preferences. - ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); - // if we have no connector show the one from the settings - if(fCtlTerminal.getTerminalConnector()!=null) - c=fCtlTerminal.getTerminalConnector(); - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); - dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); - dlgTerminalSettings.setEncoding(getActiveConnection().getEncoding()); - if(title!=null) - dlgTerminalSettings.setTitle(title); - Logger.log("opening Settings dialog."); //$NON-NLS-1$ - - if (dlgTerminalSettings.open() == Window.CANCEL) { - Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ - return null; - } - - Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ - - // When the settings dialog is closed, we persist the Terminal settings. - saveSettings(fStore,dlgTerminalSettings.getConnector()); - // we also save it in the preferences. This will keep the last change - // made to this connector as default... - saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector()); - - setViewTitle(dlgTerminalSettings.getTerminalTitle()); - setEncoding(dlgTerminalSettings.getEncoding()); - return dlgTerminalSettings.getConnector(); - } - - private void setEncoding(String encoding) { - getActiveConnection().setEncoding(encoding); - updateSummary(); - } - - private void setConnector(ITerminalConnector connector) { - fCtlTerminal.setConnector(connector); - } - - public void updateTerminalSettings() { -// fActionTerminalSettings.setEnabled((fCtlTerminal.getState()==TerminalState.CLOSED)); - } - private void setViewTitle(String title) { - setPartName(title); - getActiveConnection().setPartName(title); - } - private void setViewSummary(String summary) { - setContentDescription(summary); - getViewSite().getActionBars().getStatusLineManager().setMessage( - summary); - setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ - - } - public void updateSummary() { - setViewSummary(getActiveConnection().getFullSummary()); - } - - public void onTerminalFontChanged() { - // set the font for all - empty hook for extenders - } - - // ViewPart interface - - public void createPartControl(Composite wndParent) { - // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key - // sequence. - - fPageBook=new PageBook(wndParent,SWT.NONE); - ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ - fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { - public ITerminalViewConnection create() { - return makeViewConnection(); - } - }); - // if there is no connection loaded, create at least one - // needed to read old states from the old terminal - if(fMultiConnectionManager.size()==0) { - ITerminalViewConnection conn = makeViewConnection(); - fMultiConnectionManager.addConnection(conn); - fMultiConnectionManager.setActiveConnection(conn); - fPageBook.showPage(fCtlTerminal.getRootControl()); - } - setTerminalControl(fMultiConnectionManager.getActiveConnection().getCtlTerminal()); - setViewTitle(findUniqueTitle(ViewMessages.PROP_TITLE)); - setupActions(); - setupLocalToolBars(); - // setup all context menus - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - setupContextMenus(conn[i].getCtlTerminal().getControl()); - } - setupListeners(wndParent); - - PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$ - - legacyLoadState(); - legacySetTitle(); - - refresh(); - onTerminalFontChanged(); - - } - - public void dispose() { - Logger.log("entered."); //$NON-NLS-1$ - - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - - // dispose all connections - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().disposeTerminal(); - } - super.dispose(); - } - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() { - fCtlTerminal.setFocus(); - } - - /** - * This method creates the top-level control for the Terminal view. - */ - protected void setupControls() { - ITerminalViewConnection conn = makeViewConnection(); - fMultiConnectionManager.addConnection(conn); - fMultiConnectionManager.setActiveConnection(conn); - setupContextMenus(fCtlTerminal.getControl()); - } - - private ITerminalViewConnection makeViewConnection() { - ITerminalConnector[] connectors = makeConnectors(); - TerminalListener listener=new TerminalListener(); - ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true); - setTerminalControl(ctrl); - ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); - listener.setConnection(conn); - conn.setPartName(getPartName()); - // load from settings - ITerminalConnector connector = loadSettings(fStore,connectors); - // set the connector.... - ctrl.setConnector(connector); - - return conn; - } - - /** - * @param store contains the data - * @param connectors loads the data from store - * @return null or the currently selected connector - */ - private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { - ITerminalConnector connector=null; - String connectionType=store.get(STORE_CONNECTION_TYPE); - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(store,connectors[i])); - if(connectors[i].getId().equals(connectionType)) - connector=connectors[i]; - } - return connector; - } - - /** - * @return a list of connectors this view can use - */ - protected ITerminalConnector[] makeConnectors() { - ITerminalConnector[] connectors=TerminalConnectorExtension.makeTerminalConnectors(); - return connectors; - } - - /** - * The preference setting store is used to save the settings that are - * shared between all views. - * @return the settings store for the connection based on the preferences. - * - */ - private PreferenceSettingStore getPreferenceSettingsStore() { - return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); - } - /** - * @param store the settings will be saved in this store - * @param connector the connector that will be saved. Can be null. - */ - private void saveSettings(ISettingsStore store, ITerminalConnector connector) { - if(connector!=null) { - connector.save(getStore(store, connector)); - // the last saved connector becomes the default - store.put(STORE_CONNECTION_TYPE,connector.getId()); - } - - } - public void init(IViewSite site, IMemento memento) throws PartInitException { - super.init(site, memento); - fStore=new SettingsStore(memento); - } - public void saveState(IMemento memento) { - super.saveState(memento); - fStore.put(STORE_TITLE,getPartName()); - fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ - fStore.saveState(memento); - } - private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { - return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ - } - - protected void setupActions() { - fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); - fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); - fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); - fActionTerminalScrollLock = new TerminalActionScrollLock(this); - fActionTerminalConnect = new TerminalActionConnect(this); - fActionTerminalDisconnect = new TerminalActionDisconnect(this); - fActionTerminalSettings = new TerminalActionSettings(this); - fActionEditCopy = new TerminalActionCopy(fCtlDecorator); - fActionEditCut = new TerminalActionCut(fCtlDecorator); - fActionEditPaste = new TerminalActionPaste(fCtlDecorator); - fActionEditClearAll = new TerminalActionClearAll(fCtlDecorator); - fActionEditSelectAll = new TerminalActionSelectAll(fCtlDecorator); - fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); - } - protected void setupLocalToolBars() { - IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); - - toolBarMgr.add(fActionTerminalConnect); - toolBarMgr.add(fActionTerminalDisconnect); - toolBarMgr.add(fActionTerminalSettings); - toolBarMgr.add(fActionToggleCommandInputField); - toolBarMgr.add(fActionTerminalScrollLock); - toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ - toolBarMgr.add(fActionTerminalDropDown); - toolBarMgr.add(fActionTerminalNewTerminal); - toolBarMgr.add(fActionTerminalRemove); - } - - protected void setupContextMenus(Control ctlText) { - MenuManager menuMgr; - Menu menu; - TerminalContextMenuHandler contextMenuHandler; - - menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ - menu = menuMgr.createContextMenu(ctlText); - loadContextMenus(menuMgr); - contextMenuHandler = new TerminalContextMenuHandler(); - - ctlText.setMenu(menu); - menuMgr.addMenuListener(contextMenuHandler); - menu.addMenuListener(contextMenuHandler); - } - - protected void loadContextMenus(IMenuManager menuMgr) { - menuMgr.add(fActionEditCopy); - menuMgr.add(fActionEditPaste); - menuMgr.add(new Separator()); - menuMgr.add(fActionEditClearAll); - menuMgr.add(fActionEditSelectAll); - menuMgr.add(new Separator()); - menuMgr.add(fActionToggleCommandInputField); - menuMgr.add(fActionTerminalScrollLock); - - - // Other plug-ins can contribute there actions here - menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ - } - - protected void setupListeners(Composite wndParent) { - fPropertyChangeHandler = new TerminalPropertyChangeHandler(); - JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); - } - - protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { - public void menuHidden(MenuEvent event) { - fMenuAboutToShow = false; - fActionEditCopy.updateAction(fMenuAboutToShow); - } - - public void menuShown(MenuEvent e) { - // - } - public void menuAboutToShow(IMenuManager menuMgr) { - fMenuAboutToShow = true; - fActionEditCopy.updateAction(fMenuAboutToShow); - fActionEditCut.updateAction(fMenuAboutToShow); - fActionEditSelectAll.updateAction(fMenuAboutToShow); - fActionEditPaste.updateAction(fMenuAboutToShow); - fActionEditClearAll.updateAction(fMenuAboutToShow); - } - } - - protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { - public void propertyChange(PropertyChangeEvent event) { - if (event.getProperty().equals(FONT_DEFINITION)) { - onTerminalFontChanged(); - } - } - } - - public boolean hasCommandInputField() { - return getActiveConnection().hasCommandInputField(); - } - - public void setCommandInputField(boolean on) { - getActiveConnection().setCommandInputField(on); - } - - public boolean isScrollLock() { - return fCtlTerminal.isScrollLock(); - } - - public void setScrollLock(boolean on) { - fCtlTerminal.setScrollLock(on); - } - - private ITerminalViewConnection getActiveConnection() { - return fMultiConnectionManager.getActiveConnection(); - } - /** - * @param ctrl this control becomes the currently used one - */ - private void setTerminalControl(ITerminalViewControl ctrl) { - fCtlTerminal=ctrl; - fCtlDecorator.setViewContoler(ctrl); - } - public void connectionsChanged() { - if(getActiveConnection()!=null) { - // update the active {@link ITerminalViewControl} - ITerminalViewControl ctrl = getActiveConnection().getCtlTerminal(); - if(fCtlTerminal!=ctrl) { - setTerminalControl(ctrl); - refresh(); - } - } - } - - /** - * Show the active {@link ITerminalViewControl} in the view - */ - private void refresh() { - fPageBook.showPage(fCtlTerminal.getRootControl()); - updateStatus(); - setPartName(getActiveConnection().getPartName()); - } - /** - * TODO REMOVE This code (added 2008-06-11) - * Legacy code to real the old state. Once the state of the - * terminal has been saved this method is not needed anymore. - * Remove this code with eclipse 3.5. - */ - private void legacyLoadState() { - // TODO legacy: load the old title.... - String summary=fStore.get(STORE_SETTING_SUMMARY); - if(summary!=null) { - getActiveConnection().setSummary(summary); - fStore.put(STORE_SETTING_SUMMARY,null); - } - } - /** - * TODO REMOVE This code (added 2008-06-11) - * Legacy code to real the old state. Once the state of the - * terminal has been saved this method is not needed anymore. - * Remove this code with eclipse 3.5. - */ - private void legacySetTitle() { - // restore the title of this view - String title=fStore.get(STORE_TITLE); - if(title!=null && title.length()>0) { - setViewTitle(title); - fStore.put(STORE_TITLE, null); - } - } - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java deleted file mode 100644 index 576c281811e..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ /dev/null @@ -1,237 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button - * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED - * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.io.UnsupportedEncodingException; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -/** - * This class represents one connection. The connection might be - * closed or open. - * - */ -class TerminalViewConnection implements ITerminalViewConnection { - private static final String STORE_SUMMARY = "Summary"; //$NON-NLS-1$ - private static final String STORE_PART_NAME = "PartName"; //$NON-NLS-1$ - private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ - private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ - private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ - private static final String STORE_ENCODING="Encoding"; //$NON-NLS-1$ - final private ITerminalViewControl fCtlTerminal; - private String fTitle; - private String fSummary; - private String fHistory; - private CommandInputFieldWithHistory fCommandInputField; - private String fPartName; - private String fEncoding; - - public TerminalViewConnection(ITerminalViewControl ctl) { - fCtlTerminal = ctl; - fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){ - public void mouseDown(MouseEvent e) { - // paste when the middle button is clicked - if (e.button == 2) { // middle button - int clipboardType = DND.SELECTION_CLIPBOARD; - Clipboard clipboard = fCtlTerminal.getClipboard(); - if (clipboard.getAvailableTypes(clipboardType).length == 0) - // use normal clipboard if selection clipboard is not available - clipboardType = DND.CLIPBOARD; - String text = (String) clipboard.getContents(TextTransfer.getInstance(), clipboardType); - if (text != null && text.length() > 0) - fCtlTerminal.pasteString(text); - } - } - }); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.actions.ITerminalViewConnection#getName() - */ - public String getFullSummary() { - // if the title is set, then we return the title, else the summary - if(fTitle==null) - return makeSummary(); - return fTitle; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.view.ITerminalViewConnection#getImageDescriptor() - */ - public ImageDescriptor getImageDescriptor() { - return TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW); - } - - public ITerminalViewControl getCtlTerminal() { - return fCtlTerminal; - } - private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { - return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ - } - public void loadState(ISettingsStore store) { - fPartName=store.get(STORE_PART_NAME); - fSummary=store.get(STORE_SUMMARY); - fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); - fEncoding=store.get(STORE_ENCODING); - // load the state of the connection types - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - String connectionType=store.get(STORE_CONNECTION_TYPE); - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(store,connectors[i])); - // if this is active connection type - if(connectors[i].getId().equals(connectionType)) - fCtlTerminal.setConnector(connectors[i]); - } - - if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ - setCommandInputField(true); - } - - public void saveState(ISettingsStore store) { - store.put(STORE_PART_NAME, fPartName); - store.put(STORE_SUMMARY,fSummary); - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_ENCODING, fEncoding); - if(fCommandInputField!=null) - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); - else - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - for (int i = 0; i < connectors.length; i++) { - connectors[i].save(getStore(store,connectors[i])); - } - if(fCtlTerminal.getTerminalConnector()!=null) { - store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); - } - } - public boolean hasCommandInputField() { - return fCommandInputField!=null; - } - public void setCommandInputField(boolean on) { - // save the old history - if(fCommandInputField!=null) { - fHistory= fCommandInputField.getHistory(); - fCommandInputField=null; - } - if(on) { - // TODO make history size configurable - fCommandInputField=new CommandInputFieldWithHistory(100); - fCommandInputField.setHistory(fHistory); - } - fCtlTerminal.setCommandInputField(fCommandInputField); - } - - public void setState(TerminalState state) { - // update the title.... - fTitle=null; - } - - public void setTerminalTitle(String title) { - // When parameter 'title' is not null, it is a String containing text to - // display in the view's content description line. This is used by class - // TerminalText when it processes an ANSI OSC escape sequence that commands - // the terminal to display text in its title bar. - fTitle=title; - } - - private String getStateDisplayName(TerminalState state) { - if(state==TerminalState.CONNECTED) { - return ViewMessages.STATE_CONNECTED; - } else if(state==TerminalState.CONNECTING) { - return ViewMessages.STATE_CONNECTING; - } else if(state==TerminalState.CLOSED) { - return ViewMessages.STATE_CLOSED; - } else { - throw new IllegalStateException(state.toString()); - } - } - - private String makeSummary() { - String strTitle = ""; //$NON-NLS-1$ - if(fCtlTerminal.getTerminalConnector()==null){ - strTitle=ViewMessages.NO_CONNECTION_SELECTED; - } else { - // When parameter 'data' is null, we construct a descriptive string to - // display in the content description line. - String strConnected = getStateDisplayName(fCtlTerminal.getState()); - String summary = getSettingsSummary(); - String encoding=getEncoding(); - //TODO Title should use an NLS String and com.ibm.icu.MessageFormat - //In order to make the logic of assembling, and the separators, better adapt to foreign languages - if(summary.length()>0) - summary=summary+" - "; //$NON-NLS-1$ - String name=fCtlTerminal.getTerminalConnector().getName(); - if(name.length()>0) { - name+=": "; //$NON-NLS-1$ - } - if (encoding.length()>0) { - encoding = NLS.bind(ViewMessages.ENCODING_WITH_PARENTHESES, encoding); - //encoding=ViewMessages.ENCODING+" "+"("+encoding+")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ - } - strTitle = name + "("+ summary + strConnected + ")"+" - "+encoding; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - return strTitle; - } - /** - * @return the setting summary. If there is no connection, or the connection - * has not been initialized, use the last stored state. - */ - private String getSettingsSummary() { - if(fCtlTerminal.getTerminalConnector().isInitialized()) - fSummary=fCtlTerminal.getSettingsSummary(); - if(fSummary==null) - return ""; //$NON-NLS-1$ - return fSummary; - } - - public void setSummary(String summary) { - fSummary=summary; - } - - public String getPartName() { - return fPartName==null?ViewMessages.PROP_TITLE:fPartName; - } - - public void setPartName(String name) { - fPartName=name; - - } - public String getEncoding() { - return fEncoding==null?fCtlTerminal.getEncoding():fEncoding; - } - - public void setEncoding(String fEncoding) { - try { - fCtlTerminal.setEncoding(fEncoding); - this.fEncoding = fEncoding; - } catch (UnsupportedEncodingException uex) { - Logger.logException(uex); - } - - } -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java deleted file mode 100644 index 3ba1a308e75..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - -public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { - private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ - private static final String STORE_SIZE = "size"; //$NON-NLS-1$ - private static final String STORE_ACTIVE_CONNECTION = "active"; //$NON-NLS-1$ - /** - * The list of {@link ITerminalViewConnection} in the order they were cerated. - * Ordered by creation time - */ - private final List fConnections=new ArrayList(); - /** - * The currently displayed connection - */ - private ITerminalViewConnection fActiveConnection; - /** - * The list of {@link ITerminalViewConnection} in the order they - * were made the active connection. The most recently accessed - * connection is at the beginning of the list. - */ - private final List fConnectionHistory=new ArrayList(); - /** - * The {@link ITerminalViewConnectionListener} - */ - private final List fListeners=new ArrayList(); - - public ITerminalViewConnection[] getConnections() { - return (ITerminalViewConnection[]) fConnections.toArray(new ITerminalViewConnection[fConnections.size()]); - } - - public int size() { // TODO Auto-generated method stub - return fConnections.size(); - } - - public ITerminalViewConnection getActiveConnection() { - return fActiveConnection; - } - public void setActiveConnection(ITerminalViewConnection conn) { - fActiveConnection=conn; - // put the connection at the end of the history list - fConnectionHistory.remove(conn); - fConnectionHistory.add(0,conn); - - fireListeners(); - } - - public void swapConnection() { - ITerminalViewConnection conn=getPreviousConnection(); - if(conn!=null) - setActiveConnection(conn); - } - - /** - * @return the connection that was most recently the active connection or null if there is - * no previous connection - */ - private ITerminalViewConnection getPreviousConnection() { - // find the first connection that is not the active connection in - // the list - for (Iterator iterator = fConnectionHistory.iterator(); iterator.hasNext();) { - ITerminalViewConnection conn = (ITerminalViewConnection) iterator.next(); - if(conn!=fActiveConnection) { - return conn; - } - } - return null; - } - - public void addConnection(ITerminalViewConnection conn) { - fConnections.add(conn); - fireListeners(); - } - public void removeConnection(ITerminalViewConnection conn) { - fConnections.remove(conn); - fConnectionHistory.remove(conn); - fireListeners(); - } - - public void addListener(ITerminalViewConnectionListener listener) { - fListeners.add(listener); - } - - public void removeListener(ITerminalViewConnectionListener listener) { - fListeners.remove(listener); - } - protected void fireListeners() { - ITerminalViewConnectionListener[] listeners=(ITerminalViewConnectionListener[]) fListeners.toArray(new ITerminalViewConnectionListener[fListeners.size()]); - for (int i = 0; i < listeners.length; i++) { - listeners[i].connectionsChanged(); - } - } - - public void saveState(ISettingsStore store) { - store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ - // save all connections - int n=0; - for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { - ITerminalViewConnection connection = (ITerminalViewConnection) iterator.next(); - // the name under which we store the connection - String prefix=STORE_CONNECTION_PREFIX+n; - n++; - // remember the active connection by its prefix - if(connection.equals(fActiveConnection)) - store.put(STORE_ACTIVE_CONNECTION,prefix); - connection.saveState(new SettingStorePrefixDecorator(store,prefix)); - } - } - - public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { - int size=0; - try { - size=Integer.parseInt(store.get(STORE_SIZE)); - } catch(Exception e) { - // ignore - } - if(size>0) { - // a slot for the connections - String active=store.get(STORE_ACTIVE_CONNECTION); - int n=0; - for (int i=0;i1) { - fConnections.remove(fActiveConnection); - fConnectionHistory.remove(fActiveConnection); - - // make sure connection is not null.... - fActiveConnection=getPreviousConnection(); - // if there is no previous connection then make - // the first connection the list the active connection - if(fActiveConnection==null) - fActiveConnection=(ITerminalViewConnection) fConnections.get(0); - - fireListeners(); - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java deleted file mode 100644 index 7443f1d5922..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.io.UnsupportedEncodingException; - -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.widgets.Control; -import org.eclipse.tm.internal.terminal.control.ICommandInputField; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -// TODO (scharf): this decorator is only there to deal with the common -// actions. Find a better solution. -public class TerminalViewControlDecorator implements ITerminalViewControl { - ITerminalViewControl fViewContoler; - - public void clearTerminal() { - fViewContoler.clearTerminal(); - } - - public void connectTerminal() { - fViewContoler.connectTerminal(); - } - - public void copy() { - fViewContoler.copy(); - } - - public void disconnectTerminal() { - fViewContoler.disconnectTerminal(); - } - - public void disposeTerminal() { - fViewContoler.disposeTerminal(); - } - - public int getBufferLineLimit() { - return fViewContoler.getBufferLineLimit(); - } - - public Clipboard getClipboard() { - return fViewContoler.getClipboard(); - } - - public ICommandInputField getCommandInputField() { - return fViewContoler.getCommandInputField(); - } - - public ITerminalConnector[] getConnectors() { - return fViewContoler.getConnectors(); - } - - public Control getControl() { - return fViewContoler.getControl(); - } - - public String getEncoding() { - return fViewContoler.getEncoding(); - } - - public Font getFont() { - return fViewContoler.getFont(); - } - - public Control getRootControl() { - return fViewContoler.getRootControl(); - } - - public String getSelection() { - return fViewContoler.getSelection(); - } - - public String getSettingsSummary() { - return fViewContoler.getSettingsSummary(); - } - - public TerminalState getState() { - return fViewContoler.getState(); - } - - public ITerminalConnector getTerminalConnector() { - return fViewContoler.getTerminalConnector(); - } - - public boolean isConnected() { - return fViewContoler.isConnected(); - } - - public boolean isDisposed() { - return fViewContoler.isDisposed(); - } - - public boolean isEmpty() { - return fViewContoler.isEmpty(); - } - - public boolean isScrollLock() { - return fViewContoler.isScrollLock(); - } - - public void paste() { - fViewContoler.paste(); - } - - public boolean pasteString(String string) { - return fViewContoler.pasteString(string); - } - - public void selectAll() { - fViewContoler.selectAll(); - } - - public void sendKey(char arg0) { - fViewContoler.sendKey(arg0); - } - - public void setBufferLineLimit(int bufferLineLimit) { - fViewContoler.setBufferLineLimit(bufferLineLimit); - } - - public void setCommandInputField(ICommandInputField inputField) { - fViewContoler.setCommandInputField(inputField); - } - - public void setConnector(ITerminalConnector connector) { - fViewContoler.setConnector(connector); - } - - public void setEncoding(String encoding) throws UnsupportedEncodingException { - fViewContoler.setEncoding(encoding); - } - - public void setFocus() { - fViewContoler.setFocus(); - } - - public void setFont(Font font) { - fViewContoler.setFont(font); - } - - public void setFont(String fontName) { - fViewContoler.setFont(fontName); - } - - public void setInvertedColors(boolean invert) { - fViewContoler.setInvertedColors(invert); - } - - public void setScrollLock(boolean on) { - fViewContoler.setScrollLock(on); - } - - public ITerminalViewControl getViewContoler() { - return fViewContoler; - } - - public void setViewContoler(ITerminalViewControl viewContoler) { - fViewContoler = viewContoler; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java deleted file mode 100644 index a476924cfb4..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.Iterator; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -public class TerminalViewPlugin extends AbstractUIPlugin { - protected static TerminalViewPlugin fDefault; - - public static final String HELPPREFIX = "org.eclipse.tm.terminal.view."; //$NON-NLS-1$ - - /** - * The constructor. - */ - public TerminalViewPlugin() { - fDefault = this; - } - protected void initializeImageRegistry(ImageRegistry imageRegistry) { - HashMap map; - - map = new HashMap(); - - try { - // Local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); - - map.clear(); - - // Enabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); - - map.clear(); - - // Disabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); - - map.clear(); - - map.put(ImageConsts.IMAGE_TERMINAL_VIEW, "terminal_view.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_EVIEW, map); - - map.clear(); - - } catch (MalformedURLException malformedURLException) { - malformedURLException.printStackTrace(); - } - } - /** - * Returns the shared instance. - */ - public static TerminalViewPlugin getDefault() { - return fDefault; - } - - protected void loadImageRegistry(ImageRegistry imageRegistry, - String strDir, HashMap map) throws MalformedURLException { - URL url; - ImageDescriptor imageDescriptor; - Iterator keys; - String strKey; - String strFile; - - keys = map.keySet().iterator(); - - while (keys.hasNext()) { - strKey = (String) keys.next(); - strFile = (String) map.get(strKey); - - if (strFile != null) { - url = TerminalViewPlugin.getDefault().getBundle().getEntry( - ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); - imageDescriptor = ImageDescriptor.createFromURL(url); - imageRegistry.put(strKey, imageDescriptor); - } - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java deleted file mode 100644 index 8085d33569b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.osgi.util.NLS; - -public class ViewMessages extends NLS { - static { - NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); - } - public static String NO_CONNECTION_SELECTED; - public static String PROP_TITLE; - public static String SETTINGS; - - public static String TERMINALSETTINGS; - public static String NEW_TERMINAL_CONNECTION; - public static String NEW_TERMINAL_VIEW; - public static String CONNECTIONTYPE; - public static String VIEW_TITLE; - public static String VIEW_SETTINGS; - public static String INVALID_SETTINGS; - public static String ENCODING; - public static String ENCODING_WITH_PARENTHESES; - - public static String STATE_CONNECTED; - public static String STATE_CONNECTING; - public static String STATE_CLOSED; - - public static String CANNOT_INITIALIZE; - public static String CONNECTOR_NOT_AVAILABLE; - public static String ENCODING_NOT_AVAILABLE; -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties deleted file mode 100644 index 3d356ab2683..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -# Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings -# Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED -# Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding -# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget -############################################################################### -NO_CONNECTION_SELECTED = No Connection Selected -PROP_TITLE = Terminal -SETTINGS = Settings - -TERMINALSETTINGS = Terminal Settings -NEW_TERMINAL_CONNECTION = New Terminal Connection -NEW_TERMINAL_VIEW = New Terminal View -CONNECTIONTYPE = Connection Type -VIEW_TITLE = View Title: -VIEW_SETTINGS = View Settings: -INVALID_SETTINGS = The specified settings are invalid, please review or cancel. -ENCODING = Encoding: -ENCODING_WITH_PARENTHESES = Encoding: ({0}) - -STATE_CONNECTED = CONNECTED -STATE_CONNECTING = CONNECTING... -STATE_CLOSED = CLOSED - -CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} -CONNECTOR_NOT_AVAILABLE = Connector {0} is not available! -ENCODING_NOT_AVAILABLE = Encoding is not available! \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml deleted file mode 100644 index 4409655e2b2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - \ No newline at end of file From cb46333c9270082b69eeb99847fa17265dd39ffa Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 12 Mar 2015 08:25:34 +0100 Subject: [PATCH 640/843] Releng: Fix the build --- .../.project | 17 + .../build.properties | 19 + .../feature.properties | 171 +++++ .../feature.xml | 57 ++ .../pom.xml | 30 + .../.project | 17 + .../build.properties | 13 + .../feature.properties | 170 +++++ .../feature.xml | 53 ++ .../pom.xml | 30 + .../org.eclipse.tm.terminal.view/.classpath | 7 + .../org.eclipse.tm.terminal.view/.cvsignore | 1 + .../org.eclipse.tm.terminal.view/.project | 34 + .../.settings/org.eclipse.jdt.core.prefs | 74 ++ .../.settings/org.eclipse.jdt.ui.prefs | 3 + .../HelpContexts.xml | 26 + .../META-INF/MANIFEST.MF | 16 + .../TerminalContexts.xml | 19 + .../org.eclipse.tm.terminal.view/about.html | 29 + .../org.eclipse.tm.terminal.view/about.ini | 27 + .../about.mappings | 6 + .../about.properties | 25 + .../build.properties | 33 + .../org.eclipse.tm.terminal.view/doc/book.css | 1 + .../doc/html/01_terminalview.html | 46 ++ .../doc/html/02_terminal_page.html | 82 ++ .../doc/html/03_terminal_settings.html | 101 +++ .../doc/html/04_terminal_emulation.html | 64 ++ .../doc/html/notice.html | 30 + .../icons/clcl16/command_input_field.gif | Bin 0 -> 385 bytes .../icons/clcl16/connect_co.gif | Bin 0 -> 139 bytes .../icons/clcl16/disconnect_co.gif | Bin 0 -> 146 bytes .../icons/clcl16/lock_co.gif | Bin 0 -> 626 bytes .../icons/clcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/clcl16/properties_tsk.gif | Bin 0 -> 118 bytes .../icons/cview16/terminal_view.gif | Bin 0 -> 938 bytes .../icons/dlcl16/command_input_field.gif | Bin 0 -> 239 bytes .../icons/dlcl16/connect_co.gif | Bin 0 -> 874 bytes .../icons/dlcl16/disconnect_co.gif | Bin 0 -> 90 bytes .../icons/dlcl16/lock_co.gif | Bin 0 -> 588 bytes .../icons/dlcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/dlcl16/properties_tsk.gif | Bin 0 -> 90 bytes .../icons/dlcl16/rem_co.gif | Bin 0 -> 159 bytes .../icons/elcl16/command_input_field.gif | Bin 0 -> 239 bytes .../icons/elcl16/connect_co.gif | Bin 0 -> 890 bytes .../icons/elcl16/disconnect_co.gif | Bin 0 -> 118 bytes .../icons/elcl16/lock_co.gif | Bin 0 -> 626 bytes .../icons/elcl16/newterminal.gif | Bin 0 -> 351 bytes .../icons/elcl16/properties_tsk.gif | Bin 0 -> 118 bytes .../icons/elcl16/rem_co.gif | Bin 0 -> 163 bytes .../icons/eview16/terminal_view.gif | Bin 0 -> 938 bytes .../plugin.properties | 21 + .../org.eclipse.tm.terminal.view/plugin.xml | 58 ++ .../org.eclipse.tm.terminal.view/pom.xml | 15 + .../terminal/actions/ActionMessages.java | 43 ++ .../actions/ActionMessages.properties | 33 + .../actions/ShowTerminalConnectionAction.java | 83 ++ .../terminal/actions/TerminalAction.java | 75 ++ .../actions/TerminalActionConnect.java | 39 + .../actions/TerminalActionDisconnect.java | 42 ++ .../actions/TerminalActionNewTerminal.java | 83 ++ .../actions/TerminalActionRemove.java | 40 + .../actions/TerminalActionScrollLock.java | 41 + .../TerminalActionSelectionDropDown.java | 106 +++ .../actions/TerminalActionSettings.java | 39 + ...TerminalActionToggleCommandInputField.java | 36 + .../internal/terminal/view/ITerminalView.java | 48 ++ .../view/ITerminalViewConnection.java | 88 +++ .../view/ITerminalViewConnectionManager.java | 83 ++ .../internal/terminal/view/ImageConsts.java | 52 ++ .../tm/internal/terminal/view/PageBook.java | 34 + .../view/SettingStorePrefixDecorator.java | 35 + .../internal/terminal/view/SettingsStore.java | 111 +++ .../terminal/view/TerminalSettingsDlg.java | 423 +++++++++++ .../internal/terminal/view/TerminalView.java | 709 ++++++++++++++++++ .../terminal/view/TerminalViewConnection.java | 237 ++++++ .../view/TerminalViewConnectionManager.java | 181 +++++ .../view/TerminalViewControlDecorator.java | 172 +++++ .../terminal/view/TerminalViewPlugin.java | 128 ++++ .../internal/terminal/view/ViewMessages.java | 51 ++ .../terminal/view/ViewMessages.properties | 42 ++ .../org.eclipse.tm.terminal.view/tm32.png | Bin 0 -> 2275 bytes .../org.eclipse.tm.terminal.view/toc.xml | 21 + 83 files changed, 4370 insertions(+) create mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project create mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties create mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties create mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml create mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml create mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/.project create mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties create mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties create mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml create mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.classpath create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.project create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.ini create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.properties create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/build.properties create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png create mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project new file mode 100644 index 00000000000..92158332e5e --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.sdk-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties new file mode 100644 index 00000000000..3f525e489bf --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties @@ -0,0 +1,19 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.properties,\ + feature.xml + +generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal +generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial +generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh +generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet +generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties new file mode 100644 index 00000000000..4d52ee3a86c --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties @@ -0,0 +1,171 @@ +############################################################################### +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal (Deprecated) + +# "description" property - description of the feature +description=An ANSI (vt102) compatible Terminal including \ +plug-ins for Serial, SSH and Telnet connections. Includes Source Code.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2014 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml new file mode 100644 index 00000000000..d1d437578de --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml @@ -0,0 +1,57 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml new file mode 100644 index 00000000000..eb957301c59 --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.sdk + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/.project b/deprecated/features/org.eclipse.tm.terminal.view-feature/.project new file mode 100644 index 00000000000..57ff3d8e631 --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.view-feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties new file mode 100644 index 00000000000..400f7fd68ee --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties new file mode 100644 index 00000000000..0a6e4bdc5e7 --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties @@ -0,0 +1,170 @@ +############################################################################### +# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=Target Management Terminal View (Deprecated) + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=Target Management 3.7 Updates + +# "description" property - description of the feature +description=An Eclipse Workbench standalone view for the Terminal widget.\n\ +\n\ +Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### + +# "licenseURL" property - URL of the "Feature License" +# do not translate value - just change to point to a locale-specific HTML page +licenseURL=license.html + +# "license" property - text of the "Feature Update License" +# should be plain text version of license agreement pointed to be "licenseURL" +license=\ +Eclipse Foundation Software User Agreement\n\ +February 1, 2011\n\ +\n\ +Usage Of Content\n\ +\n\ +THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ +OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ +USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ +AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ +NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ +AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ +AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ +OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ +TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ +OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ +BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ +\n\ +Applicable Licenses\n\ +\n\ +Unless otherwise indicated, all Content made available by the\n\ +Eclipse Foundation is provided to you under the terms and conditions of\n\ +the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ +provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ +For purposes of the EPL, "Program" will mean the Content.\n\ +\n\ +Content includes, but is not limited to, source code, object code,\n\ +documentation and other files maintained in the Eclipse Foundation source code\n\ +repository ("Repository") in software modules ("Modules") and made available\n\ +as downloadable archives ("Downloads").\n\ +\n\ + - Content may be structured and packaged into modules to facilitate delivering,\n\ + extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ + plug-in fragments ("Fragments"), and features ("Features").\n\ + - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ + in a directory named "plugins".\n\ + - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ + Each Feature may be packaged as a sub-directory in a directory named "features".\n\ + Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ + numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ + - Features may also include other Features ("Included Features"). Within a Feature, files\n\ + named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ +\n\ +The terms and conditions governing Plug-ins and Fragments should be\n\ +contained in files named "about.html" ("Abouts"). The terms and\n\ +conditions governing Features and Included Features should be contained\n\ +in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ +Licenses may be located in any directory of a Download or Module\n\ +including, but not limited to the following locations:\n\ +\n\ + - The top-level (root) directory\n\ + - Plug-in and Fragment directories\n\ + - Inside Plug-ins and Fragments packaged as JARs\n\ + - Sub-directories of the directory named "src" of certain Plug-ins\n\ + - Feature directories\n\ +\n\ +Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ +Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ +Update License") during the installation process. If the Feature contains\n\ +Included Features, the Feature Update License should either provide you\n\ +with the terms and conditions governing the Included Features or inform\n\ +you where you can locate them. Feature Update Licenses may be found in\n\ +the "license" property of files named "feature.properties" found within a Feature.\n\ +Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ +terms and conditions (or references to such terms and conditions) that\n\ +govern your use of the associated Content in that directory.\n\ +\n\ +THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ +TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ +SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ +\n\ + - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ + - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ + - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ + - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ + - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ + - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ +\n\ +IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ +TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ +is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ +govern that particular Content.\n\ +\n\ +\n\Use of Provisioning Technology\n\ +\n\ +The Eclipse Foundation makes available provisioning software, examples of which include,\n\ +but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ +the purpose of allowing users to install software, documentation, information and/or\n\ +other materials (collectively "Installable Software"). This capability is provided with\n\ +the intent of allowing such users to install, extend and update Eclipse-based products.\n\ +Information about packaging Installable Software is available at\n\ +http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ +\n\ +You may use Provisioning Technology to allow other parties to install Installable Software.\n\ +You shall be responsible for enabling the applicable license agreements relating to the\n\ +Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ +in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ +making it available in accordance with the Specification, you further acknowledge your\n\ +agreement to, and the acquisition of all necessary rights to permit the following:\n\ +\n\ + 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ + the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ + extending or updating the functionality of an Eclipse-based product.\n\ + 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ + Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ + 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ + govern the use of the Installable Software ("Installable Software Agreement") and such\n\ + Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ + with the Specification. Such Installable Software Agreement must inform the user of the\n\ + terms and conditions that govern the Installable Software and must solicit acceptance by\n\ + the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ + indication of agreement by the user, the provisioning Technology will complete installation\n\ + of the Installable Software.\n\ +\n\ +Cryptography\n\ +\n\ +Content may contain encryption software. The country in which you are\n\ +currently may have restrictions on the import, possession, and use,\n\ +and/or re-export to another country, of encryption software. BEFORE\n\ +using any encryption software, please check the country's laws,\n\ +regulations and policies concerning the import, possession, or use, and\n\ +re-export of encryption software, to see if this is permitted.\n\ +\n\ +Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n +########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml new file mode 100644 index 00000000000..c1984a2165c --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml @@ -0,0 +1,53 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml new file mode 100644 index 00000000000..27352ba805b --- /dev/null +++ b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml @@ -0,0 +1,30 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../../admin/pom-build.xml + + org.eclipse.tm.features + org.eclipse.tm.terminal.view + 4.0.0.qualifier + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath new file mode 100644 index 00000000000..ad32c83a788 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore new file mode 100644 index 00000000000..ba077a4031a --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore @@ -0,0 +1 @@ +bin diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.project b/deprecated/plugins/org.eclipse.tm.terminal.view/.project new file mode 100644 index 00000000000..b54e2fe953b --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.view + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..c2dc3aa2f47 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,74 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.6 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.doc.comment.support=enabled +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning +org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled +org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled +org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags +org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled +org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.6 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..9a20fca52a4 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,3 @@ +#Mon Jul 31 14:55:17 CEST 2006 +eclipse.preferences.version=1 +internal.default.compliance=user diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml new file mode 100644 index 00000000000..5ba920568af --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml @@ -0,0 +1,26 @@ + + + + + + The Terminal View supports direct connections to remote systems via serial or network connections. + + + + + + The Terminal Settings Dialog provides the controls for making terminal connections. + + + + + \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..eb076cf1ebd --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true +Bundle-Version: 2.4.200.qualifier +Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin +Bundle-Localization: plugin +Require-Bundle: org.eclipse.ui, + org.eclipse.core.runtime, + org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" +Bundle-ActivationPolicy: lazy +Eclipse-LazyStart: true +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-Vendor: %providerName +Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true, + org.eclipse.tm.internal.terminal.view;x-internal:=true diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml new file mode 100644 index 00000000000..387756f5c68 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml @@ -0,0 +1,19 @@ + + + + + + + + + + \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.html b/deprecated/plugins/org.eclipse.tm.terminal.view/about.html new file mode 100644 index 00000000000..a603d19ab21 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/about.html @@ -0,0 +1,29 @@ + + + + +About + + +

                                    About This Content

                                    + +

                                    June 5, 2007

                                    +

                                    License

                                    + +

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                    + +

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                    + + + + \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini new file mode 100644 index 00000000000..3adc27ab587 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini @@ -0,0 +1,27 @@ +# about.ini +# contains information about a feature +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# "%key" are externalized strings defined in about.properties +# This file does not need to be translated. + +# Property "aboutText" contains blurb for "About" dialog (translated) +aboutText=%blurb + +# Property "windowImage" contains path to window icon (16x16) +# needed for primary features only + +# Property "featureImage" contains path to feature image (32x32) +featureImage=tm32.png + +# Property "aboutImage" contains path to product image (500x330 or 115x164) +# needed for primary features only + +# Property "appName" contains name of the application (not translated) +# needed for primary features only + +# Property "welcomePage" contains path to welcome page (special XML-based format) +# optional + +# Property "welcomePerspective" contains the id of the perspective in which the +# welcome page is to be opened. +# optional \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings new file mode 100644 index 00000000000..bddaab43109 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings @@ -0,0 +1,6 @@ +# about.mappings +# contains fill-ins for about.properties +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file does not need to be translated. + +0=@build@ \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties new file mode 100644 index 00000000000..10075af5412 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties @@ -0,0 +1,25 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber - initial API and implementation +################################################################################ +# about.properties +# contains externalized strings for about.ini +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# fill-ins are supplied by about.mappings +# This file should be translated. +# +# Do not translate any values surrounded by {} + +blurb=Target Management Terminal View (Deprecated)\n\ +\n\ +Version: {featureVersion}\n\ +Build id: {0}\n\ +\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2014. All rights reserved.\n\ +Visit http://www.eclipse.org/tm diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties new file mode 100644 index 00000000000..51984c14501 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties @@ -0,0 +1,33 @@ +################################################################################ +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +################################################################################ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.xml,\ + icons/,\ + plugin.properties,\ + about.html,\ + about.ini,\ + about.mappings,\ + about.properties,\ + tm32.png,\ + HelpContexts.xml,\ + doc/,\ + toc.xml,\ + TerminalContexts.xml +src.includes = about.html diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css new file mode 100644 index 00000000000..faa4199fe34 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css @@ -0,0 +1 @@ +@import "../../PRODUCT_PLUGIN/book.css"; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html new file mode 100644 index 00000000000..c423cbf8be5 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html @@ -0,0 +1,46 @@ + + + + + + + + +Terminal View + + + + +

                                    Terminal View

                                    +
                                    +

                                    +The Terminal view provides a raw serial or network connection to your target board. +This view is useful for monitoring output on a target's serial port or making a telnet +connection to a device. +

                                    +The Terminal view is activated by choosing Window > Show View > Other > Terminal > Terminal. +

                                    + + +Multiple Terminal view instances can be active at the same time, connected +to a number of remote systems or disconnected and just holding their settings +ready for re-connect. + +

                                    +
                                           | Next >
                                    + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html new file mode 100644 index 00000000000..1442ac022db --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html @@ -0,0 +1,82 @@ + + + + + + + + +Terminal View Quick Reference + + + +

                                    Terminal View Quick Reference

                                    +
                                    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

                                    Button

                                    Description

                                    Connect to selected target.

                                    Disconnect from selected connection.

                                    Open the Terminal Settings dialog. + While connected, only the connection's title can be changed.

                                    Toggle the Command Input field, + for editing complex command lines on dumb terminals.

                                    Toggle Scroll Lock in the current terminal connection.

                                    Select a Terminal connection to show in this view instance. + Only available when multiple connections have been defined in this view.

                                    Open another Terminal connection in the current view, or in a new Terminal view instance.

                                    Remove the currently selected Terminal Connection from this view. + Only available when multiple connections have been defined in this view.

                                    +
                                    +

                                    +

                                    + +
                                    + Each instance of the Terminal view can hold multiple connections, each of which can in + turn be connected to a different remote endpoint + (either serial or network). Of course, the number of serial connections is limited by the + number of serial ports. +
                                    + +

                                    + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html new file mode 100644 index 00000000000..953025ae0db --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html @@ -0,0 +1,101 @@ + + + + + + + + +Terminal Settings Dialog + + + +

                                    Terminal Settings Dialog

                                    + +
                                    +Use the Terminal Settings dialog to configure your connection. +
                                    +
                                    +In the Connection Type field choose Serial, SSH or Telnet. +
                                    +
                                    +The View Title field allows giving a name to your Terminal View instance. +
                                    + +

                                    Serial Connection

                                    + +
                                    +If you choose a serial connection, the Settings area has seven options: + Port, Baud Rate, Data Bits, Stop Bits, Parity, Flow Control, + and Timeout. +
                                    + +
                                    +When you have entered your settings, click OK. This initiates your connection.
                                    + +
                                    +Your connection information appears in the header of the Terminal view. +A cursor appears in the view itself. Hit ENTER to get a >NET> +prompt.
                                    + +

                                    +
                                    + + + + + +
                                    +

                                    NOTE:When using the Terminal view on Linux or Solaris, + serial ports ttyS0 and ttyS1 must have appropriate permissions + set in order to connect to them, unless you are running the Workbench as root. +

                                      
                                    +
                                    + +

                                    +

                                    SSH Connection

                                    + +
                                    +If you choose an SSH connection, the Settings area has six options. +In the Host and Port fields, enter the IP Address and port of the host +you wish to connect to. +The User field specifies the remote user id to use. +The Password field is optional, since SSH can re-use your private keys +as specified on the Eclipse Preferences, General, Network Page. +The Timeout can be changed for very slow networks. The +KeepAlive value specifies an interval in seconds, by which the Terminal +automatically sends a packet to the remote host in order to keep the connection +alive even in case of inactivity. +

                                    When all settings are specified, click +OK. This initiates your connection.

                                    + + +

                                    +

                                    Telnet Connection

                                    + +
                                    +If you choose a Telnet connection, the Settings area has three options. +In the Host field, enter the IP Address of the host you wish to connect to. +In the Port field, select the network port you wish to use. +The Timeout can be changed for very slow networks. Then click +OK. This initiates your connection.
                                    + +
                                    +Your connection information appears in the header of the Terminal view. +A cursor appears in the view itself. Hit ENTER to get a >NET> prompt. +
                                    + +

                                    + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html new file mode 100644 index 00000000000..0b987d5e87b --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html @@ -0,0 +1,64 @@ + + + + + + + + +Terminal Emulation + + + +

                                    Terminal Emulation

                                    + +
                                    +The Terminal view is an ANSI-conformant terminal emulator. You can use the +Terminal view to telnet into a remote UNIX host. +
                                    + +
                                    +To do so, set the TERM environment variable on the remote host to ansi. +This enables programs on the remote host, such as vi and Emacs, +to display text properly. +The Terminal view does not currently support other emulation modes, such as VT100. +
                                    + +
                                    +The size of the terminal window as understood by the remote is automatically +adjusted as the size of your Terminal view changes. +The colors and font used by the Terminal can be configured in the +Eclipse Preferences, Appearance section. A separate Terminal Preference +Page allows inverting the terminal colors easily if desired. +
                                    + +

                                    Optional Command Input Field

                                    + +
                                    +The optional Command Input Field can be enabled when sending commands to a dumb +terminal that does not support cursor keys for editing. In such a case, the +Command Input Field provides a full editor that supports cursor navigation, copy +and paste, as well as a history of previous commands that can be accessed by +Ctrl+Space content assist. +
                                    + +
                                    +If more space than the default single editing line is needed for very complex commands, +the Command Input Field can be enlarged by dragging its upper handle up with +the mouse. +
                                    + +

                                    + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html new file mode 100644 index 00000000000..91a8824e7cc --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html @@ -0,0 +1,30 @@ + + + + + + + + +Legal Notice + + + +

                                    Legal Notice

                                    +

                                    +The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012. +

                                    +

                                    +Terms and conditions regarding the use of this guide. +

                                    + + \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..9e3a547c145798fa08fb692df015a793213fbd1a GIT binary patch literal 385 zcmV-{0e=2RNk%w1VGsZi0M!5h^!EGh@%r)f`-qjU_W1ny`uv8PzKoy3y2szCv&G-& z_`%54;_CS2?D^^M`je){nykyBv(Mk?_vY>SZY`|a}j_4xfuZlYv_wT+pp z;p+I}>-gd7_vr8W@%8)n`TXDM_u=dKh|$WarlE(qt$M7agU7XT#Itn2uy(Vk zfB*mgA^8LW002J#EC2ui01yBW000J_z+Xm#&}4qdq%wJ2I+@R~k4bKxePc$9H1`IS$H3||U5)uj`H9-J7aY@tZ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..556b230da5693996a541f64393a5cfb91b4bcd33 GIT binary patch literal 139 zcmZ?wbhEHb6krfw*v!Dd@SlPEEH^^~gT8_P{FCz!-aVMSH2FUm03|Vj;!hSv1_pKp z9gq~r3Qu)m%S5)Zch7sbWtx2K>xBK@v;FkGS@-1G W&gcrAxidxV#@Wd$qt**DSOWlPf-bNC literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..f1d5fb31e51476a24e289e7cf2d083058fb3fa2a GIT binary patch literal 146 zcmZ?wbhEHb6krfw*v!Ci-#-3+e0>80!+v}F|MBtjf#m%8_kn2t{)PsiFvI`<|A8bN zDE?$&WMJTC&;f~n%wS-#FF5JBdhd-z496C>ib@<2@H=YBn5x*&y^Cj=!u(ec#pJbA lyIR&OHT#;)l?%|2-kM+()~m7jt&Y*$wbNf#?G|LP1^^IEGNAwf literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..68fd6cf39cac929152036675cc56c7edaf9217e9 GIT binary patch literal 626 zcmZ?wbhEHb6krfwc*el+=g+^tfB$8aO_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif new file mode 100644 index 0000000000000000000000000000000000000000..80201e0d46944f559b4a73b846886d8c999dc5d1 GIT binary patch literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8 GIT binary patch literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..ae5e64b9f6f1b090da34d65bd48784886e8e2305 GIT binary patch literal 874 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XLEn|DRzLjE2C-3jxKSEQ|~cObj|8uY>Z01BW{U zD~F8728DwR?CeT95(x_rwKK_BwPb8iXlP?(Q0cMwkmTGe!|LZ^v2oGK$r|2mF((UE aj!xCHPGXTXQajxtY@6nCa&v+MgEavEOe8}9 literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..24a628713dca636bfe498223f8382f189140cf93 GIT binary patch literal 90 zcmZ?wbhEHb6krfwn8?7efB*jZ^XLEn|DS<@LGdRGBLf2ygAR}llobH7wWsv2Jk7<( s$kioP{n2(-nO*KN;Z~JpouWlvOix;0c{hLlefKNJ?z8-VL>U;Y0qcJs5C8xG literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..b7764789356f9a62aa0b9ad50ff020f4e01e3b5d GIT binary patch literal 588 zcmZ?wbhEHb6krfwc*el+=g;5YzyJLD_50_~U-ut8zIf^C#x1+H@7%j)?fOrjzkdAm z<=~+s2M!)yzIxM^?R(a3*t~1c{=NGTUbuAS`;VXBzW@08?faLn-`;-s^yS<4KY#yj z+Pr!9uFao6z5Vp@&BqU~uUtB{Va>dqTUVSreem&vYxnP5+P7=n)JdIBAKkon`_l6# zcb+}Ief9F$^JkC0d-Lq&^M~8FZC<}>?%EY|)-0dBdfBX%OJ?lYvg+geSMT4xSigGF zotu|VpEz{w%7uG(ZoC4jesJ&er;mpY9{m6R|G$6#{{H<7WH1ahp!k!8k%7U5K?me; zP@FKZuWWE>YHn$5cIfEr>S}Tj@1M{wJ;9+@Tx`ZnF@14fmZ>g%vt~+(Gczyf6J5PV zlz%<{N{QvmMYeIU3JI;$QB<^MViFeS<~+7i)!trJn~{;3hwIW*2L&5PM>_>uMkYb= z)mKb(tgLiQtRxu)-UwV#mXX(!)iQ9FWS_Fo%-q6MS2Kx2^3j6J%LC+!W*AI#Zsk#Q d;)!8kXprg>R&tr6V3;hpC_v6pl#7MI8US7A;iv!r literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif new file mode 100644 index 0000000000000000000000000000000000000000..80201e0d46944f559b4a73b846886d8c999dc5d1 GIT binary patch literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pjqWXXeWH$Wh%qo&0|4{v9aI1S literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..559e462985f439553de36c89f65392eae3e9a44e GIT binary patch literal 159 zcmZ?wbhEHb6krfw*v!Ci=-|O)$BrF5cyQ02Jv(;n*t~i3x^?STu3Wif$&v*N7X1JJ zp8*vp{$ycfVBliV0SSZ5U|{hHIO(~1uSCNtU5#UEjBbj3ZUQY)yXJ8fa4;1Ld|~WA z@!)sI-4+*(HUmTFi3NKYgjzF96l>i0I}eMb=?0hv=!;iZy|UTOS9Ern3j>2S03Llh A4*&oF literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif new file mode 100644 index 0000000000000000000000000000000000000000..f538ca707fc7480b4586effcebbb307e1979ae3b GIT binary patch literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0de0d32dd66e4efb5e94661dd3f180de819a25d GIT binary patch literal 890 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XE4-G{ncpGcYjx|NkFIj)Kt;7$G5`_>+Z^fq|7l z2jpK+o^ap@XW-_L@z|i?$jHvFq@$7W@BkyD6rX^F!y}hAHe)6Mg9L_#7FHRi7cT-A zFfa(}&*GW6ap~#l3jB+n%(#%)*d-IXDQ4w_2gmy4D{r-EOk8+&qC=vVtb_oAH2~_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif new file mode 100644 index 0000000000000000000000000000000000000000..80201e0d46944f559b4a73b846886d8c999dc5d1 GIT binary patch literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif new file mode 100644 index 0000000000000000000000000000000000000000..2cd9c544436c47a57f20b348b3fb024bb50701a7 GIT binary patch literal 163 zcmZ?wbhEHb6krfw*v!DNV#SID3l_|nF=N7n2^}3B4Gj$y6%_>q1sNF`2?+`R|Nmz| z1&Tje7#SG27<53wATtBYuHJj2L#xNM)vQ#JRl<>hDKU#-N&yE`p}?0M(Gw4T zcQCOfDoF5h^e6?|s2Q}nBw9^#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties new file mode 100644 index 00000000000..8bc93b55917 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties @@ -0,0 +1,21 @@ +########################################################################## +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget +########################################################################## +pluginName = Target Management Terminal View (Deprecated) +providerName = Eclipse TM Project +terminal.views.category.name = Terminal +terminal.views.view.name = Terminal diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml new file mode 100644 index 00000000000..b43368431ee --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml new file mode 100644 index 00000000000..4ae0aaa1199 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml @@ -0,0 +1,15 @@ + + + 4.0.0 + + org.eclipse.tm.maven-build + org.eclipse.tm + 4.0.0-SNAPSHOT + ../../../../admin/pom-build.xml + + org.eclipse.tm + org.eclipse.tm.terminal.view + 2.4.200.qualifier + eclipse-plugin + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java new file mode 100644 index 00000000000..5abbcf8a680 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.osgi.util.NLS; + +public class ActionMessages extends NLS { + + static { + NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); + } + public static String NEW_TERMINAL_CONNECTION; + public static String NEW_TERMINAL_VIEW; + public static String CONNECT; + public static String TOGGLE_COMMAND_INPUT_FIELD; + public static String DISCONNECT; + public static String SETTINGS_ELLIPSE; + public static String SCROLL_LOCK_0; + public static String SCROLL_LOCK_1; + public static String REMOVE; + + public static String ConsoleDropDownAction_0; + public static String ConsoleDropDownAction_1; + + public static String SETTINGS; + +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties new file mode 100644 index 00000000000..0401f1d8c83 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties @@ -0,0 +1,33 @@ +############################################################################### +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin +# Michael Scharf (Wind River) - [172483] switch between connections +# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button +############################################################################### +NEW_TERMINAL_CONNECTION = New Terminal Connection in Current View... +NEW_TERMINAL_VIEW = New Terminal View +CONNECT = Connect +DISCONNECT = Disconnect +SETTINGS_ELLIPSE = Settings... +SCROLL_LOCK_0 = Scroll &Lock +SCROLL_LOCK_1 = Scroll Lock +SETTINGS = Settings +TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field +REMOVE = Remove Terminal + +ConsoleDropDownAction_0=Select Connection +ConsoleDropDownAction_1=Display Selected Connections + diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java new file mode 100644 index 00000000000..47faff88717 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2000, 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Michael Scharf (Wind River) - [172483] Adapted from org.eclipse.ui.console/ShowConsoleAction + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; + +/** + * Shows a specific connection in the terminal view + */ +public class ShowTerminalConnectionAction extends Action { + + private final ITerminalViewConnection fConnection; + private final ITerminalViewConnectionManager fConnectionManager; + + /** + * Constructs an action to display the given terminal. + * + * @param manager the terminal multi-view in which the given terminal connection is contained + * @param connection the terminal view connection + */ + public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) { + super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON); + fConnection = connection; + fConnectionManager = manager; + setImageDescriptor(connection.getImageDescriptor()); + } + /** + * the tab at the end quotes '@' chars?!? see + * {@link #setText(String)} + * @param name + * @return a quoted sting + */ + private static String quoteName(String name) { + return name+"\t"; //$NON-NLS-1$ + } + /** + * Builds the name. It uses the summary. If the connections have different + * partNames (the names showed in the view title) then this name is prefixed. + * @param m the connection manager + * @param connection the connection for which the name should me extracted + * @return The name to be displayed + */ + private static String buildName(ITerminalViewConnectionManager m,ITerminalViewConnection connection) { + String name = connection.getFullSummary(); + if(!checkIfAllPartNamesTheSame(m)) + name=connection.getPartName()+" - " +name; //$NON-NLS-1$ + return name; + } + /** + * @param m the connection manager + * @return true if the part names of all connections are the same + */ + private static boolean checkIfAllPartNamesTheSame(ITerminalViewConnectionManager m) { + ITerminalViewConnection[] connections = m.getConnections(); + if(connections.length>1) { + String partName=connections[0].getPartName(); + for (int i = 1; i < connections.length; i++) { + if(!partName.equals(connections[i].getPartName())) { + return false; + } + } + + } + return true; + } + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + public void run() { + fConnectionManager.setActiveConnection(fConnection); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java new file mode 100644 index 00000000000..85e86d48fc7 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java @@ -0,0 +1,75 @@ +/******************************************************************************* + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; + +abstract public class TerminalAction extends Action { + protected final ITerminalView fTarget; + public TerminalAction(ITerminalView target, String strId) { + this(target,strId,0); + } + public TerminalAction(ITerminalView target, String strId, int style) { + super("",style); //$NON-NLS-1$ + + fTarget = target; + + setId(strId); + } + abstract public void run(); + protected void setupAction(String strText, String strToolTip, + String strImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled) { + TerminalViewPlugin plugin; + ImageRegistry imageRegistry; + + plugin = TerminalViewPlugin.getDefault(); + imageRegistry = plugin.getImageRegistry(); + setupAction(strText, strToolTip, strImage, strEnabledImage, + strDisabledImage, bEnabled, imageRegistry); + } + protected void setupAction(String strText, String strToolTip, + String strHoverImage, String strEnabledImage, String strDisabledImage, + boolean bEnabled, ImageRegistry imageRegistry) { + setupAction(strText, + strToolTip, + imageRegistry.getDescriptor(strHoverImage), + imageRegistry.getDescriptor(strEnabledImage), + imageRegistry.getDescriptor(strDisabledImage), + bEnabled); + } + protected void setupAction(String strText, String strToolTip, + ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, + boolean bEnabled) { + setText(strText); + setToolTipText(strToolTip); + setEnabled(bEnabled); + if (enabledImage != null) { + setImageDescriptor(enabledImage); + } + if (disabledImage != null) { + setDisabledImageDescriptor(disabledImage); + } + if (hoverImage != null) { + setHoverImageDescriptor(hoverImage); + } + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java new file mode 100644 index 00000000000..f343c9a9948 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionConnect extends TerminalAction +{ + public TerminalActionConnect(ITerminalView target) + { + super(target, + TerminalActionConnect.class.getName()); + + setupAction(ActionMessages.CONNECT, + ActionMessages.CONNECT, + ImageConsts.IMAGE_CLCL_CONNECT, + ImageConsts.IMAGE_ELCL_CONNECT, + ImageConsts.IMAGE_DLCL_CONNECT, + true); + } + public void run() { + fTarget.onTerminalConnect(); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java new file mode 100644 index 00000000000..a8624c40450 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionDisconnect extends TerminalAction +{ + /** + * + */ + public TerminalActionDisconnect(ITerminalView target) + { + super(target, + TerminalActionDisconnect.class.getName()); + + setupAction(ActionMessages.DISCONNECT, + ActionMessages.DISCONNECT, + ImageConsts.IMAGE_CLCL_DISCONNECT, + ImageConsts.IMAGE_ELCL_DISCONNECT, + ImageConsts.IMAGE_DLCL_DISCONNECT, + false); + } + public void run() { + fTarget.onTerminalDisconnect(); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java new file mode 100644 index 00000000000..20a0ff7a232 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button +*******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +/** + * UNDER CONSTRUCTION + * + * @author Fran Litterio + */ +public class TerminalActionNewTerminal extends TerminalAction implements IMenuCreator { + private Menu fMenu; + public TerminalActionNewTerminal(ITerminalView target) + { + super(target, TerminalActionNewTerminal.class.getName()); + + setupAction(ActionMessages.NEW_TERMINAL_CONNECTION, + ActionMessages.NEW_TERMINAL_CONNECTION, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + ImageConsts.IMAGE_NEW_TERMINAL, + true); + setMenuCreator(this); + } + public void run() { + fTarget.onTerminalNewTerminal(); + } + public void dispose() { + if (fMenu != null) { + fMenu.dispose(); + } + } + public Menu getMenu(Control parent) { + if(fMenu==null) { + fMenu= new Menu(parent); + addActionToMenu(fMenu, + new Action(ActionMessages.NEW_TERMINAL_CONNECTION) { + public void run() { + fTarget.onTerminalNewTerminal(); + } + + }); + addActionToMenu(fMenu, + new Action(ActionMessages.NEW_TERMINAL_VIEW) { + public void run() { + fTarget.onTerminalNewView(); + } + + }); + } + return fMenu; + } + protected void addActionToMenu(Menu parent, IAction action) { + ActionContributionItem item = new ActionContributionItem(action); + item.fill(parent, -1); + } + public Menu getMenu(Menu parent) { + return null; + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java new file mode 100644 index 00000000000..b7d9d472f8d --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener +{ + private final ITerminalViewConnectionManager fConnectionManager; + public TerminalActionRemove(ITerminalViewConnectionManager target) + { + super(null, + TerminalActionRemove.class.getName()); + fConnectionManager=target; + setupAction(ActionMessages.REMOVE, + ActionMessages.REMOVE, + null, + ImageConsts.IMAGE_ELCL_REMOVE, + ImageConsts.IMAGE_DLCL_REMOVE, + true); + fConnectionManager.addListener(this); + connectionsChanged(); + } + public void run() { + fConnectionManager.removeActive(); + } + public void connectionsChanged() { + setEnabled(fConnectionManager.size()>1); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java new file mode 100644 index 00000000000..2a51a42158c --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionScrollLock extends TerminalAction +{ + public TerminalActionScrollLock(ITerminalView target) + { + super(target, + TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON); + + setupAction(ActionMessages.SCROLL_LOCK_0, + ActionMessages.SCROLL_LOCK_1, + ImageConsts.IMAGE_CLCL_SCROLL_LOCK, + ImageConsts.IMAGE_ELCL_SCROLL_LOCK, + ImageConsts.IMAGE_DLCL_SCROLL_LOCK, + true); + } + public void run() { + fTarget.setScrollLock(!fTarget.isScrollLock()); + setChecked(fTarget.isScrollLock()); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java new file mode 100644 index 00000000000..f7b2da77e55 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java @@ -0,0 +1,106 @@ +/******************************************************************************* + * Copyright (c) 2000, 2015 IBM Corporation and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * IBM Corporation - initial API and implementation + * Michael Scharf (Wind River) - [172483] switch between connections + * (Adapted from org.eclipse.ui.internal.console.ConsoleDropDownAction) + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IMenuCreator; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; +import org.eclipse.tm.internal.terminal.view.ImageConsts; +import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; + +/** + * Drop down action in the console to select the console to display. + */ +public class TerminalActionSelectionDropDown extends Action implements IMenuCreator, ITerminalViewConnectionListener { + private ITerminalViewConnectionManager fConnections; + private Menu fMenu; + public TerminalActionSelectionDropDown(ITerminalViewConnectionManager view) { + fConnections= view; + setText(ActionMessages.ConsoleDropDownAction_0); + setToolTipText(ActionMessages.ConsoleDropDownAction_1); + setImageDescriptor(TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW)); +// PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION); + setMenuCreator(this); + fConnections.addListener(this); + connectionsChanged(); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#dispose() + */ + public void dispose() { + if (fMenu != null) { + fMenu.dispose(); + } + fConnections.removeListener(this); + fConnections= null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) + */ + public Menu getMenu(Menu parent) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) + */ + public Menu getMenu(Control parent) { + if (fMenu != null) { + fMenu.dispose(); + } + + fMenu= new Menu(parent); + ITerminalViewConnection[] consoles= fConnections.getConnections(); + ITerminalViewConnection active = fConnections.getActiveConnection(); + for (int i = 0; i < consoles.length; i++) { + ITerminalViewConnection console = consoles[i]; + Action action = new ShowTerminalConnectionAction(fConnections, console); + action.setChecked(console.equals(active)); + addActionToMenu(fMenu, action, i + 1); + } + return fMenu; + } + + private void addActionToMenu(Menu parent, Action action, int accelerator) { + if (accelerator < 10) { + StringBuffer label= new StringBuffer(); + //add the numerical accelerator + label.append('&'); + label.append(accelerator); + label.append(' '); + label.append(action.getText()); + action.setText(label.toString()); + } + ActionContributionItem item= new ActionContributionItem(action); + item.fill(parent, -1); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.action.IAction#run() + */ + public void run() { + fConnections.swapConnection(); + } + + public void connectionsChanged() { + setEnabled(fConnections.size() > 1); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java new file mode 100644 index 00000000000..060b856cfc9 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionSettings extends TerminalAction +{ + public TerminalActionSettings(ITerminalView target) + { + super(target, + TerminalActionSettings.class.getName()); + + setupAction(ActionMessages.SETTINGS_ELLIPSE, + ActionMessages.SETTINGS, + ImageConsts.IMAGE_CLCL_SETTINGS, + ImageConsts.IMAGE_ELCL_SETTINGS, + ImageConsts.IMAGE_DLCL_SETTINGS, + true); + } + public void run() { + fTarget.onTerminalSettings(); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java new file mode 100644 index 00000000000..03ab6d06741 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java @@ -0,0 +1,36 @@ +/******************************************************************************* + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.actions; + +import org.eclipse.jface.action.IAction; +import org.eclipse.tm.internal.terminal.view.ITerminalView; +import org.eclipse.tm.internal.terminal.view.ImageConsts; + +public class TerminalActionToggleCommandInputField extends TerminalAction +{ + public TerminalActionToggleCommandInputField(ITerminalView target) + { + super(target, + TerminalActionToggleCommandInputField.class.getName(),IAction.AS_RADIO_BUTTON); + + setupAction(ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, + ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, + ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, + true); + setChecked(fTarget.hasCommandInputField()); + } + public void run() { + fTarget.setCommandInputField(!fTarget.hasCommandInputField()); + setChecked(fTarget.hasCommandInputField()); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java new file mode 100644 index 00000000000..087cd136e12 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; + +public interface ITerminalView { + + /** + * Create a new terminal connection within the view. + */ + void onTerminalNewTerminal(); + + /** + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + void newTerminal(ITerminalConnector c); + + /** + * Create a new Terminal view. + */ + void onTerminalNewView(); + + void onTerminalConnect(); + void onTerminalDisconnect(); + void onTerminalSettings(); + void onTerminalFontChanged(); + boolean hasCommandInputField(); + void setCommandInputField(boolean on); + boolean isScrollLock(); + void setScrollLock(boolean b); +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java new file mode 100644 index 00000000000..1dc39b35051 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java @@ -0,0 +1,88 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * Represents a connection. The connection might be connected + * or not. + * + */ +public interface ITerminalViewConnection { + + /** + * @return the summary shown in the status line and + * in the drop down box of the connections + */ + String getFullSummary(); + + /** + * @param name the name of the view + */ + void setPartName(String name); + /** + * @return the name of the view (never null) + */ + String getPartName(); + + /** + * @return an image that represents this connection + */ + ImageDescriptor getImageDescriptor(); + /** + * @return the control of this connection + */ + ITerminalViewControl getCtlTerminal(); + + void saveState(ISettingsStore store); + + void loadState(ISettingsStore store); + + /** + * @return true if the input field is visible + */ + boolean hasCommandInputField(); + /** + * @param on turns the input field on + */ + void setCommandInputField(boolean on); + + /** + * @param state changes of the state (might change the summary) + */ + void setState(TerminalState state); + + /** + * @param title used in the summary. If null the summary + * is created automatically + */ + void setTerminalTitle(String title); + + /** + * TODO: legacy (needed to read the old state) + * @param summary + */ + void setSummary(String summary); + /** + * @param encoding the encoding of this connection + */ + void setEncoding(String encoding); + + /** + * @return the encoding of this connection + */ + String getEncoding(); +} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java new file mode 100644 index 00000000000..3d3a25fed31 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java @@ -0,0 +1,83 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + + +/** + * Supports multiple connections + * + */ +public interface ITerminalViewConnectionManager { + /** + * Notifies any change in the state of the connections: + *
                                      + *
                                    • a connection is added or removed + *
                                    • the active connection has changed + *
                                    + * + */ + interface ITerminalViewConnectionListener { + void connectionsChanged(); + } + /** + * Used to create instances of the ITerminalViewConnection + * when the state is read from the {@link ISettings} + * + */ + interface ITerminalViewConnectionFactory { + ITerminalViewConnection create(); + } + /** + * @return a list of all connections this view can display + */ + ITerminalViewConnection[] getConnections(); + /** + * @return the number of connections + */ + int size(); + /** + * @return th connection the view is showing at the moment + */ + ITerminalViewConnection getActiveConnection(); + + /** + * @param conn make this connection the active connection + */ + void setActiveConnection(ITerminalViewConnection conn); + /** + * If more than two connections are available, remove the active connection + */ + void removeActive(); + + /** + * @param conn adds a new connection + */ + void addConnection(ITerminalViewConnection conn); + + /** + * If there are more than two connections toggle between this and the + * previously shown connection + */ + void swapConnection(); + + void addListener(ITerminalViewConnectionListener listener); + void removeListener(ITerminalViewConnectionListener listener); + + void saveState(ISettingsStore store); + /** + * @param store + * @param factory used to create new {@link ITerminalViewConnection} + */ + void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); + +} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java new file mode 100644 index 00000000000..d6761b1ed5d --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalConsts + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Michael Scharf (Wind River) - [172483] added some more icons + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +public interface ImageConsts +{ + public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ + public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ + public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ + public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ + + public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ + public static final String IMAGE_TERMINAL_VIEW = "TerminalView"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ + + public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ + public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$ + + public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ + public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$ + public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ + public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ + public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ + } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java new file mode 100644 index 00000000000..637634d0c6d --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - simplified implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.swt.custom.StackLayout; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; + +/** + * A pagebook is a composite control where only a single control is visible at a + * time. It is similar to a notebook, but without tabs. + * + * @noextend This class is not intended to be subclassed by clients. + */ +public class PageBook extends Composite { + private StackLayout fLayout; + public PageBook(Composite parent, int style) { + super(parent, style); + fLayout= new StackLayout(); + setLayout(fLayout); + } + public void showPage(Control page) { + fLayout.topControl= page; + layout(); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java new file mode 100644 index 00000000000..fb1f9a0ef7f --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +public class SettingStorePrefixDecorator implements ISettingsStore { + private final String fPrefix; + private final ISettingsStore fStore; + SettingStorePrefixDecorator(ISettingsStore store,String prefix) { + fPrefix=prefix; + fStore=store; + } + + public String get(String key) { + return fStore.get(fPrefix+key); + } + + public String get(String key, String defaultValue) { + return fStore.get(fPrefix+key,defaultValue); + } + + public void put(String key, String value) { + fStore.put(fPrefix+key,value); + } + +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java new file mode 100644 index 00000000000..fa6b52add57 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java @@ -0,0 +1,111 @@ +/******************************************************************************* + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.ui.IMemento; + +/** + * A {@link IDialogSettings} based {@link ISettingsStore}. + * + * Setting Store based on IMemento. IMemento documentations says only alpha numeric + * values may be used as keys. Therefore the implementation converts dots (.) into + * child elements of the memento. + * + * @author Michael Scharf + */ +class SettingsStore implements ISettingsStore { + + private static final String KEYS = "_keys_"; //$NON-NLS-1$ + final private Map fMap=new HashMap(); + public SettingsStore(IMemento memento) { + if(memento==null) + return; + // load all keys ever used from the memento + String keys=memento.getString(KEYS); + if(keys!=null) { + String[] keyNames=keys.split(","); //$NON-NLS-1$ + for (int i = 0; i < keyNames.length; i++) { + String key=keyNames[i]; + if(!KEYS.equals(key)) { + // get the dot separated elements + String[] path=key.split("\\."); //$NON-NLS-1$ + IMemento m=memento; + // iterate over all but the last segment and get the children... + for(int iPath=0; m!=null && iPath+10) + buffer.append(","); //$NON-NLS-1$ + buffer.append(key); + } + // save the keys we have used. + memento.putString(KEYS, buffer.toString()); + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java new file mode 100644 index 00000000000..7a9789049e6 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java @@ -0,0 +1,423 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings + * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + + +import java.nio.charset.Charset; +import java.nio.charset.IllegalCharsetNameException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.jface.dialogs.Dialog; +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.Combo; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.MessageBox; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.ui.PlatformUI; + +class TerminalSettingsDlg extends Dialog { + private Combo fEncodingCombo; + private Combo fCtlConnTypeCombo; + private Text fTerminalTitleText; + private final ITerminalConnector[] fConnectors; + private final ISettingsPage[] fPages; + /** + * Maps the fConnectors index to the fPages index + */ + private final int[] fPageIndex; + private int fNPages; + private int fSelectedConnector; + private PageBook fPageBook; + private IDialogSettings fDialogSettings; + private String fTerminalTitle; + private String fTitle=ViewMessages.TERMINALSETTINGS; + private String fEncoding; + + public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { + super(shell); + fConnectors=getValidConnectors(connectors); + fPages=new ISettingsPage[fConnectors.length]; + fPageIndex=new int[fConnectors.length]; + fSelectedConnector=-1; + for (int i = 0; i < fConnectors.length; i++) { + if(fConnectors[i]==connector) + fSelectedConnector=i; + } + } + public void setTitle(String title) { + fTitle=title; + } + /** + * @param connectors + * @return connectors excluding connectors with errors + */ + private ITerminalConnector[] getValidConnectors(ITerminalConnector[] connectors) { + List list=new ArrayList(Arrays.asList(connectors)); + for (Iterator iterator = list.iterator(); iterator.hasNext();) { + ITerminalConnector info = (ITerminalConnector) iterator.next(); + if(info.isInitialized() && info.getInitializationErrorMessage()!=null || info.isHidden()) + iterator.remove(); + } + connectors=(ITerminalConnector[]) list.toArray(new ITerminalConnector[list.size()]); + return connectors; + } + ISettingsPage getPage(int i) { + if(fPages[i]==null) { + if(fConnectors[i].getInitializationErrorMessage()!=null) { + // create a error message + final ITerminalConnector conn=fConnectors[i]; + fPages[i]=new ISettingsPage(){ + public void createControl(Composite parent) { + Label l=new Label(parent,SWT.WRAP); + String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName()); + l.setText(error); + l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED)); + String msg = NLS.bind(ViewMessages.CANNOT_INITIALIZE, conn.getName(), conn.getInitializationErrorMessage()); + // [168197] Replace JFace MessagDialog by SWT MessageBox + //MessageDialog.openError(getShell(), error, msg); + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(error); + mb.setMessage(msg); + mb.open(); + } + public void loadSettings() {} + public void saveSettings() {} + public boolean validateSettings() {return false;} + public void addListener(Listener listener) {} + public void removeListener(Listener listener) {} + }; + } else { + fPages[i]=fConnectors[i].makeSettingsPage(); + } + // TODO: what happens if an error occurs while + // the control is partly created? + fPages[i].createControl(fPageBook); + fPageIndex[i]=fNPages++; + resize(); + } + return fPages[i]; + + } + void resize() { + Point size=getShell().getSize(); + Point newSize=getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT,true); + newSize.x=Math.max(newSize.x,size.x); + newSize.y=Math.max(newSize.y,size.y); + if(newSize.x!=size.x || newSize.y!=size.y) { + setShellSize(newSize); + } else { + fPageBook.getParent().layout(); + } + } + /** + * Increase the size of this dialog's Shell by the specified amounts. + * Do not increase the size of the Shell beyond the bounds of the Display. + */ + protected void setShellSize(Point size) { + Rectangle bounds = getShell().getMonitor().getClientArea(); + getShell().setSize(Math.min(size.x, bounds.width), Math.min(size.y, bounds.height)); + } + + protected void okPressed() { + if (!validateSettings()) { + showErrorMessage(ViewMessages.INVALID_SETTINGS); + return; + } + if (!updateValidState()) { + showErrorMessage(ViewMessages.ENCODING_NOT_AVAILABLE); + return; + } + if(fSelectedConnector>=0) { + getPage(fSelectedConnector).saveSettings(); + } + fTerminalTitle=fTerminalTitleText.getText(); + fEncoding = fEncodingCombo.getText(); + super.okPressed(); + } + protected void cancelPressed() { + fSelectedConnector=-1; + super.cancelPressed(); + } + public int open() { + setShellStyle(getShellStyle() | SWT.RESIZE); + return super.open(); + } + protected void configureShell(Shell newShell) { + super.configureShell(newShell); + + newShell.setText(fTitle); + } + protected Control createDialogArea(Composite parent) { + Composite ctlComposite = (Composite) super.createDialogArea(parent); + PlatformUI.getWorkbench().getHelpSystem().setHelp(ctlComposite, TerminalViewPlugin.HELPPREFIX + "terminal_settings"); //$NON-NLS-1$ + + setupPanel(ctlComposite); + setupListeners(); + initFields(); + + return ctlComposite; + } + public void create() { + super.create(); + // initialize the OK button after creating the all dialog elements + updateOKButton(); + } + private void initFields() { + // Load controls + for (int i = 0; i < fConnectors.length; i++) { + fCtlConnTypeCombo.add(fConnectors[i].getName()); + } + int selectedConnector=getInitialConnector(); + if(selectedConnector>=0) { + fCtlConnTypeCombo.select(selectedConnector); + selectPage(selectedConnector); + } + doLoad(); + setCombo(fEncodingCombo, fEncoding); + } + /** + * @return the connector to show when the dialog opens + */ + private int getInitialConnector() { + // if there is a selection, use it + if(fSelectedConnector>=0) + return fSelectedConnector; + // try the telnet connector, because it is the cheapest + for (int i = 0; i < fConnectors.length; i++) { + if("org.eclipse.tm.internal.terminal.telnet.TelnetConnector".equals(fConnectors[i].getId())) //$NON-NLS-1$ + return i; + } + // if no telnet connector available, use the first one in the list + if(fConnectors.length>0) + return 0; + return -1; + } + private boolean validateSettings() { + if(fSelectedConnector<0) + return true; + return getPage(fSelectedConnector).validateSettings(); + } + private void setupPanel(Composite wndParent) { + setupSettingsTypePanel(wndParent); + //setupEncodingPanel(wndParent); + if(fConnectors.length>0) { + setupConnTypePanel(wndParent); + setupSettingsGroup(wndParent); + } + } + private void setupSettingsTypePanel(Composite wndParent) { + Group wndGroup; + GridLayout gridLayout; + + wndGroup = new Group(wndParent, SWT.NONE); + gridLayout = new GridLayout(2, false); + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + wndGroup.setText(ViewMessages.VIEW_SETTINGS); + + + Label label=new Label(wndGroup,SWT.NONE); + label.setText(ViewMessages.VIEW_TITLE); + label.setLayoutData(new GridData(GridData.BEGINNING)); + + fTerminalTitleText = new Text(wndGroup, SWT.BORDER); + fTerminalTitleText.setText(fTerminalTitle); + fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + + Label encodingLabel=new Label(wndGroup,SWT.NONE); + encodingLabel.setText(ViewMessages.ENCODING); + encodingLabel.setLayoutData(new GridData(GridData.BEGINNING)); + + fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN); + fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + } + private void setupConnTypePanel(Composite wndParent) { + Group wndGroup; + GridLayout gridLayout; + GridData gridData; + + wndGroup = new Group(wndParent, SWT.NONE); + gridLayout = new GridLayout(1, true); + gridData = new GridData(GridData.FILL_HORIZONTAL); + + wndGroup.setLayout(gridLayout); + wndGroup.setLayoutData(gridData); + wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ + + fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); + gridData = new GridData(GridData.FILL_HORIZONTAL); + gridData.widthHint = 200; + fCtlConnTypeCombo.setLayoutData(gridData); + } + + private void setupSettingsGroup(Composite parent) { + Group group = new Group(parent, SWT.NONE); + group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ + group.setLayout(new GridLayout()); + group.setLayoutData(new GridData(GridData.FILL_BOTH)); + fPageBook=new PageBook(group,SWT.NONE); + fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + } + + private void setupListeners() { + if(fCtlConnTypeCombo==null) + return; + fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + selectPage(fCtlConnTypeCombo.getSelectionIndex()); + } + }); + } + public ITerminalConnector getConnector() { + if(fSelectedConnector>=0) + return fConnectors[fSelectedConnector]; + return null; + } + private void selectPage(int index) { + fSelectedConnector=index; + getPage(index); + Control[] pages=fPageBook.getChildren(); + fPageBook.showPage(pages[fPageIndex[fSelectedConnector]]); + updateOKButton(); + + } + /** + * enables the OK button if the user can create a connection + */ + private void updateOKButton() { + // TODO: allow contributions to enable the OK button + // enable the OK button if we have a valid connection selected + if(getButton(IDialogConstants.OK_ID)!=null) { + boolean enable=false; + if(getConnector()!=null) + enable=getConnector().getInitializationErrorMessage()==null; + // enable the OK button if no connectors are available + if(!enable && fConnectors.length==0) + enable=true; + getButton(IDialogConstants.OK_ID).setEnabled(enable); + } + } + protected IDialogSettings getDialogBoundsSettings() { + IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); + fDialogSettings = ds.getSection(getClass().getName()); + if (fDialogSettings == null) { + fDialogSettings = ds.addNewSection(getClass().getName()); + } + return fDialogSettings; + } + public void setTerminalTitle(String partName) { + fTerminalTitle=partName; + + } + public String getTerminalTitle() { + return fTerminalTitle; + } + private void doLoad() { + if (fEncodingCombo != null) { + List encodings = new ArrayList(); + encodings.add("ISO-8859-1"); //$NON-NLS-1$ + encodings.add("UTF-8"); //$NON-NLS-1$ + //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding + //String hostEncoding =Charset.defaultCharset().displayName(); + String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); + if (!encodings.contains(hostEncoding)) + encodings.add(hostEncoding); + populateEncodingsCombo(encodings); + + } + } + private void populateEncodingsCombo(List encodings) { + String[] encodingStrings = new String[encodings.size()]; + encodings.toArray(encodingStrings); + fEncodingCombo.setItems(encodingStrings); + } + private boolean isEncodingValid() { + return isValidEncoding(fEncodingCombo.getText()); + } + private boolean isValidEncoding(String enc) { + try { + return Charset.isSupported(enc); + } catch (IllegalCharsetNameException e) { + return false; + } + + } + private boolean updateValidState() { + boolean isValid = true; + boolean isValidNow = isEncodingValid(); + if (isValidNow != isValid) { + isValid = isValidNow; + } + return isValid; + } + private void showErrorMessage(String message) { + String strTitle = ViewMessages.TERMINALSETTINGS; + MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); + mb.setText(strTitle); + mb.setMessage(message); + mb.open(); + return; + } + + private void setCombo(Combo combo,String value) { + if(value==null) + return; + int nIndex = combo.indexOf(value); + if (nIndex == -1) { + if((combo.getStyle() & SWT.READ_ONLY)==0) { + combo.add(value); + nIndex = combo.indexOf(value); + } else { + return; + } + } + + combo.select(nIndex); + + } + public String getEncoding() { + return fEncoding; + } + public void setEncoding(String fEncoding) { + this.fEncoding = fEncoding; + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java new file mode 100644 index 00000000000..029a80091cc --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java @@ -0,0 +1,709 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED + * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 + * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. + * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank + * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED + * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.resource.JFaceResources; +import org.eclipse.jface.util.IPropertyChangeListener; +import org.eclipse.jface.util.PropertyChangeEvent; +import org.eclipse.jface.window.Window; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.MenuEvent; +import org.eclipse.swt.events.MenuListener; +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Control; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.tm.internal.terminal.actions.TerminalAction; +import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; +import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; +import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; +import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; +import org.eclipse.tm.internal.terminal.actions.TerminalActionScrollLock; +import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; +import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; +import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; +import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; +import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; +import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; +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.LayeredSettingsStore; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; +import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; +import org.eclipse.ui.IMemento; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IViewReference; +import org.eclipse.ui.IViewSite; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.part.ViewPart; + +public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener { + private static final String PREF_CONNECTORS = "Connectors."; //$NON-NLS-1$ + + private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ + + private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ + + private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ + + public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; + + protected ITerminalViewControl fCtlTerminal; + + // TODO (scharf): this decorator is only there to deal wit the common + // actions. Find a better solution. + TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); + + protected TerminalAction fActionTerminalNewTerminal; + + protected TerminalAction fActionTerminalConnect; + + private TerminalAction fActionTerminalScrollLock; + + protected TerminalAction fActionTerminalDisconnect; + + protected TerminalAction fActionTerminalSettings; + + protected TerminalActionCopy fActionEditCopy; + + protected TerminalActionCut fActionEditCut; + + protected TerminalActionPaste fActionEditPaste; + + protected TerminalActionClearAll fActionEditClearAll; + + protected TerminalActionSelectAll fActionEditSelectAll; + + protected TerminalAction fActionToggleCommandInputField; + + protected TerminalPropertyChangeHandler fPropertyChangeHandler; + + protected Action fActionTerminalDropDown; + protected Action fActionTerminalRemove; + + protected boolean fMenuAboutToShow; + + private SettingsStore fStore; + + private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); + + private PageBook fPageBook; + + /** + * This listener updates both, the view and the + * ITerminalViewConnection. + * + */ + class TerminalListener implements ITerminalListener { + volatile ITerminalViewConnection fConnection; + void setConnection(ITerminalViewConnection connection) { + fConnection=connection; + } + public void setState(final TerminalState state) { + runInDisplayThread(new Runnable() { + public void run() { + fConnection.setState(state); + // if the active connection changes, update the view + if(fConnection==fMultiConnectionManager.getActiveConnection()) { + updateStatus(); + } + } + }); + } + public void setTerminalTitle(final String title) { + runInDisplayThread(new Runnable() { + public void run() { + fConnection.setTerminalTitle(title); + // if the active connection changes, update the view + if(fConnection==fMultiConnectionManager.getActiveConnection()) { + updateSummary(); + } + } + }); + } + /** + * @param runnable run in display thread + */ + private void runInDisplayThread(Runnable runnable) { + if(Display.findDisplay(Thread.currentThread())!=null) + runnable.run(); + else if(PlatformUI.isWorkbenchRunning()) + PlatformUI.getWorkbench().getDisplay().syncExec(runnable); + // else should not happen and we ignore it... + } + + } + + public TerminalView() { + Logger + .log("==============================================================="); //$NON-NLS-1$ + fMultiConnectionManager.addListener(this); + } + + /** + * @param title + * @return a unique part name + */ + String findUniqueTitle(String title) { + IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); + String id= getViewSite().getId(); + Set names=new HashSet(); + for (int i = 0; i < pages.length; i++) { + IViewReference[] views = pages[i].getViewReferences(); + for (int j = 0; j < views.length; j++) { + IViewReference view = views[j]; + // only look for views with the same ID + if(id.equals(view.getId())) { + String name=view.getTitle(); + if(name!=null) + names.add(view.getPartName()); + } + } + } + // find a unique name + int i=1; + String uniqueTitle=title; + while(true) { + if(!names.contains(uniqueTitle)) + return uniqueTitle; + uniqueTitle=title+" "+i++; //$NON-NLS-1$ + } + } + + /** + * Display a new Terminal view. This method is called when the user clicks the New + * Terminal button in any Terminal view's toolbar. + */ + public void onTerminalNewTerminal() { + Logger.log("creating new Terminal instance."); //$NON-NLS-1$ + setupControls(); + if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) { + fMultiConnectionManager.removeActive(); + } + } + + /** + * Programmatically create a new terminal connection within the view. This method + * does the same thing as onTerminalNewTerminal, but instead of popping up a settings + * dialog to allow the user fill in connection details, a connector is provided as + * a parameter. The connector should have all of its details pre-configured so it can + * be opened without requiring user input. + */ + public void newTerminal(ITerminalConnector c) { + this.setupControls(); + if(c!=null) { + this.setConnector(c); + this.onTerminalConnect(); + } + } + + public void onTerminalNewView() { + try { + // The second argument to showView() is a unique String identifying the + // secondary view instance. If it ever matches a previously used secondary + // view identifier, then this call will not create a new Terminal view, + // which is undesirable. Therefore, we append the active time in + // milliseconds to the secondary view identifier to ensure it is always + // unique. This code runs only when the user clicks the New Terminal + // button, so there is no risk that this code will run twice in a single + // millisecond. + IViewPart newTerminalView = getSite().getPage().showView( + "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ + "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ + IWorkbenchPage.VIEW_ACTIVATE); + if(newTerminalView instanceof ITerminalView) { + ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW); + // if there is no connector selected, hide the new view + if(c==null) { + getSite().getPage().hideView(newTerminalView); + } + } + } catch (PartInitException ex) { + Logger.logException(ex); + } + } + + + public void onTerminalConnect() { + //if (isConnected()) + if (fCtlTerminal.getState()!=TerminalState.CLOSED) + return; + if(fCtlTerminal.getTerminalConnector()==null) + setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS)); + setEncoding(getActiveConnection().getEncoding()); + fCtlTerminal.connectTerminal(); + } + + public void updateStatus() { + updateTerminalConnect(); + updateTerminalDisconnect(); + updateTerminalSettings(); + fActionToggleCommandInputField.setChecked(hasCommandInputField()); + fActionTerminalScrollLock.setChecked(isScrollLock()); + updateSummary(); + } + + public void updateTerminalConnect() { + //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); + boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); + + fActionTerminalConnect.setEnabled(bEnabled); + } + + private boolean isConnecting() { + return fCtlTerminal.getState()==TerminalState.CONNECTING; + } + + public void onTerminalDisconnect() { + fCtlTerminal.disconnectTerminal(); + } + + public void updateTerminalDisconnect() { + boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); + fActionTerminalDisconnect.setEnabled(bEnabled); + } + + public void onTerminalSettings() { + newConnection(null); + } + + private ITerminalConnector newConnection(String title) { + ITerminalConnector c=showSettingsDialog(title); + if(c!=null) { + setConnector(c); + onTerminalConnect(); + } + return c; + } + + private ITerminalConnector showSettingsDialog(String title) { + // When the settings dialog is opened, load the Terminal settings from the + // persistent settings. + + ITerminalConnector[] connectors = fCtlTerminal.getConnectors(); + if(fCtlTerminal.getState()!=TerminalState.CLOSED) + connectors=new ITerminalConnector[0]; + // load the state from the settings + // first load from fStore and then from the preferences. + ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); + // if we have no connector show the one from the settings + if(fCtlTerminal.getTerminalConnector()!=null) + c=fCtlTerminal.getTerminalConnector(); + TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); + dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); + dlgTerminalSettings.setEncoding(getActiveConnection().getEncoding()); + if(title!=null) + dlgTerminalSettings.setTitle(title); + Logger.log("opening Settings dialog."); //$NON-NLS-1$ + + if (dlgTerminalSettings.open() == Window.CANCEL) { + Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ + return null; + } + + Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ + + // When the settings dialog is closed, we persist the Terminal settings. + saveSettings(fStore,dlgTerminalSettings.getConnector()); + // we also save it in the preferences. This will keep the last change + // made to this connector as default... + saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector()); + + setViewTitle(dlgTerminalSettings.getTerminalTitle()); + setEncoding(dlgTerminalSettings.getEncoding()); + return dlgTerminalSettings.getConnector(); + } + + private void setEncoding(String encoding) { + getActiveConnection().setEncoding(encoding); + updateSummary(); + } + + private void setConnector(ITerminalConnector connector) { + fCtlTerminal.setConnector(connector); + } + + public void updateTerminalSettings() { +// fActionTerminalSettings.setEnabled((fCtlTerminal.getState()==TerminalState.CLOSED)); + } + private void setViewTitle(String title) { + setPartName(title); + getActiveConnection().setPartName(title); + } + private void setViewSummary(String summary) { + setContentDescription(summary); + getViewSite().getActionBars().getStatusLineManager().setMessage( + summary); + setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ + + } + public void updateSummary() { + setViewSummary(getActiveConnection().getFullSummary()); + } + + public void onTerminalFontChanged() { + // set the font for all - empty hook for extenders + } + + // ViewPart interface + + public void createPartControl(Composite wndParent) { + // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key + // sequence. + + fPageBook=new PageBook(wndParent,SWT.NONE); + ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ + fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { + public ITerminalViewConnection create() { + return makeViewConnection(); + } + }); + // if there is no connection loaded, create at least one + // needed to read old states from the old terminal + if(fMultiConnectionManager.size()==0) { + ITerminalViewConnection conn = makeViewConnection(); + fMultiConnectionManager.addConnection(conn); + fMultiConnectionManager.setActiveConnection(conn); + fPageBook.showPage(fCtlTerminal.getRootControl()); + } + setTerminalControl(fMultiConnectionManager.getActiveConnection().getCtlTerminal()); + setViewTitle(findUniqueTitle(ViewMessages.PROP_TITLE)); + setupActions(); + setupLocalToolBars(); + // setup all context menus + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + setupContextMenus(conn[i].getCtlTerminal().getControl()); + } + setupListeners(wndParent); + + PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$ + + legacyLoadState(); + legacySetTitle(); + + refresh(); + onTerminalFontChanged(); + + } + + public void dispose() { + Logger.log("entered."); //$NON-NLS-1$ + + JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); + + // dispose all connections + ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); + for (int i = 0; i < conn.length; i++) { + conn[i].getCtlTerminal().disposeTerminal(); + } + super.dispose(); + } + /** + * Passing the focus request to the viewer's control. + */ + public void setFocus() { + fCtlTerminal.setFocus(); + } + + /** + * This method creates the top-level control for the Terminal view. + */ + protected void setupControls() { + ITerminalViewConnection conn = makeViewConnection(); + fMultiConnectionManager.addConnection(conn); + fMultiConnectionManager.setActiveConnection(conn); + setupContextMenus(fCtlTerminal.getControl()); + } + + private ITerminalViewConnection makeViewConnection() { + ITerminalConnector[] connectors = makeConnectors(); + TerminalListener listener=new TerminalListener(); + ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true); + setTerminalControl(ctrl); + ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); + listener.setConnection(conn); + conn.setPartName(getPartName()); + // load from settings + ITerminalConnector connector = loadSettings(fStore,connectors); + // set the connector.... + ctrl.setConnector(connector); + + return conn; + } + + /** + * @param store contains the data + * @param connectors loads the data from store + * @return null or the currently selected connector + */ + private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { + ITerminalConnector connector=null; + String connectionType=store.get(STORE_CONNECTION_TYPE); + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(store,connectors[i])); + if(connectors[i].getId().equals(connectionType)) + connector=connectors[i]; + } + return connector; + } + + /** + * @return a list of connectors this view can use + */ + protected ITerminalConnector[] makeConnectors() { + ITerminalConnector[] connectors=TerminalConnectorExtension.makeTerminalConnectors(); + return connectors; + } + + /** + * The preference setting store is used to save the settings that are + * shared between all views. + * @return the settings store for the connection based on the preferences. + * + */ + private PreferenceSettingStore getPreferenceSettingsStore() { + return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); + } + /** + * @param store the settings will be saved in this store + * @param connector the connector that will be saved. Can be null. + */ + private void saveSettings(ISettingsStore store, ITerminalConnector connector) { + if(connector!=null) { + connector.save(getStore(store, connector)); + // the last saved connector becomes the default + store.put(STORE_CONNECTION_TYPE,connector.getId()); + } + + } + public void init(IViewSite site, IMemento memento) throws PartInitException { + super.init(site, memento); + fStore=new SettingsStore(memento); + } + public void saveState(IMemento memento) { + super.saveState(memento); + fStore.put(STORE_TITLE,getPartName()); + fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ + fStore.saveState(memento); + } + private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { + return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ + } + + protected void setupActions() { + fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); + fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); + fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); + fActionTerminalScrollLock = new TerminalActionScrollLock(this); + fActionTerminalConnect = new TerminalActionConnect(this); + fActionTerminalDisconnect = new TerminalActionDisconnect(this); + fActionTerminalSettings = new TerminalActionSettings(this); + fActionEditCopy = new TerminalActionCopy(fCtlDecorator); + fActionEditCut = new TerminalActionCut(fCtlDecorator); + fActionEditPaste = new TerminalActionPaste(fCtlDecorator); + fActionEditClearAll = new TerminalActionClearAll(fCtlDecorator); + fActionEditSelectAll = new TerminalActionSelectAll(fCtlDecorator); + fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); + } + protected void setupLocalToolBars() { + IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); + + toolBarMgr.add(fActionTerminalConnect); + toolBarMgr.add(fActionTerminalDisconnect); + toolBarMgr.add(fActionTerminalSettings); + toolBarMgr.add(fActionToggleCommandInputField); + toolBarMgr.add(fActionTerminalScrollLock); + toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ + toolBarMgr.add(fActionTerminalDropDown); + toolBarMgr.add(fActionTerminalNewTerminal); + toolBarMgr.add(fActionTerminalRemove); + } + + protected void setupContextMenus(Control ctlText) { + MenuManager menuMgr; + Menu menu; + TerminalContextMenuHandler contextMenuHandler; + + menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ + menu = menuMgr.createContextMenu(ctlText); + loadContextMenus(menuMgr); + contextMenuHandler = new TerminalContextMenuHandler(); + + ctlText.setMenu(menu); + menuMgr.addMenuListener(contextMenuHandler); + menu.addMenuListener(contextMenuHandler); + } + + protected void loadContextMenus(IMenuManager menuMgr) { + menuMgr.add(fActionEditCopy); + menuMgr.add(fActionEditPaste); + menuMgr.add(new Separator()); + menuMgr.add(fActionEditClearAll); + menuMgr.add(fActionEditSelectAll); + menuMgr.add(new Separator()); + menuMgr.add(fActionToggleCommandInputField); + menuMgr.add(fActionTerminalScrollLock); + + + // Other plug-ins can contribute there actions here + menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ + } + + protected void setupListeners(Composite wndParent) { + fPropertyChangeHandler = new TerminalPropertyChangeHandler(); + JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); + } + + protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { + public void menuHidden(MenuEvent event) { + fMenuAboutToShow = false; + fActionEditCopy.updateAction(fMenuAboutToShow); + } + + public void menuShown(MenuEvent e) { + // + } + public void menuAboutToShow(IMenuManager menuMgr) { + fMenuAboutToShow = true; + fActionEditCopy.updateAction(fMenuAboutToShow); + fActionEditCut.updateAction(fMenuAboutToShow); + fActionEditSelectAll.updateAction(fMenuAboutToShow); + fActionEditPaste.updateAction(fMenuAboutToShow); + fActionEditClearAll.updateAction(fMenuAboutToShow); + } + } + + protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { + public void propertyChange(PropertyChangeEvent event) { + if (event.getProperty().equals(FONT_DEFINITION)) { + onTerminalFontChanged(); + } + } + } + + public boolean hasCommandInputField() { + return getActiveConnection().hasCommandInputField(); + } + + public void setCommandInputField(boolean on) { + getActiveConnection().setCommandInputField(on); + } + + public boolean isScrollLock() { + return fCtlTerminal.isScrollLock(); + } + + public void setScrollLock(boolean on) { + fCtlTerminal.setScrollLock(on); + } + + private ITerminalViewConnection getActiveConnection() { + return fMultiConnectionManager.getActiveConnection(); + } + /** + * @param ctrl this control becomes the currently used one + */ + private void setTerminalControl(ITerminalViewControl ctrl) { + fCtlTerminal=ctrl; + fCtlDecorator.setViewContoler(ctrl); + } + public void connectionsChanged() { + if(getActiveConnection()!=null) { + // update the active {@link ITerminalViewControl} + ITerminalViewControl ctrl = getActiveConnection().getCtlTerminal(); + if(fCtlTerminal!=ctrl) { + setTerminalControl(ctrl); + refresh(); + } + } + } + + /** + * Show the active {@link ITerminalViewControl} in the view + */ + private void refresh() { + fPageBook.showPage(fCtlTerminal.getRootControl()); + updateStatus(); + setPartName(getActiveConnection().getPartName()); + } + /** + * TODO REMOVE This code (added 2008-06-11) + * Legacy code to real the old state. Once the state of the + * terminal has been saved this method is not needed anymore. + * Remove this code with eclipse 3.5. + */ + private void legacyLoadState() { + // TODO legacy: load the old title.... + String summary=fStore.get(STORE_SETTING_SUMMARY); + if(summary!=null) { + getActiveConnection().setSummary(summary); + fStore.put(STORE_SETTING_SUMMARY,null); + } + } + /** + * TODO REMOVE This code (added 2008-06-11) + * Legacy code to real the old state. Once the state of the + * terminal has been saved this method is not needed anymore. + * Remove this code with eclipse 3.5. + */ + private void legacySetTitle() { + // restore the title of this view + String title=fStore.get(STORE_TITLE); + if(title!=null && title.length()>0) { + setViewTitle(title); + fStore.put(STORE_TITLE, null); + } + } + +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java new file mode 100644 index 00000000000..576c281811e --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java @@ -0,0 +1,237 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button + * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED + * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.io.UnsupportedEncodingException; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.osgi.util.NLS; +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.TextTransfer; +import org.eclipse.swt.events.MouseAdapter; +import org.eclipse.swt.events.MouseEvent; +import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +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.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +/** + * This class represents one connection. The connection might be + * closed or open. + * + */ +class TerminalViewConnection implements ITerminalViewConnection { + private static final String STORE_SUMMARY = "Summary"; //$NON-NLS-1$ + private static final String STORE_PART_NAME = "PartName"; //$NON-NLS-1$ + private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ + private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ + private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ + private static final String STORE_ENCODING="Encoding"; //$NON-NLS-1$ + final private ITerminalViewControl fCtlTerminal; + private String fTitle; + private String fSummary; + private String fHistory; + private CommandInputFieldWithHistory fCommandInputField; + private String fPartName; + private String fEncoding; + + public TerminalViewConnection(ITerminalViewControl ctl) { + fCtlTerminal = ctl; + fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){ + public void mouseDown(MouseEvent e) { + // paste when the middle button is clicked + if (e.button == 2) { // middle button + int clipboardType = DND.SELECTION_CLIPBOARD; + Clipboard clipboard = fCtlTerminal.getClipboard(); + if (clipboard.getAvailableTypes(clipboardType).length == 0) + // use normal clipboard if selection clipboard is not available + clipboardType = DND.CLIPBOARD; + String text = (String) clipboard.getContents(TextTransfer.getInstance(), clipboardType); + if (text != null && text.length() > 0) + fCtlTerminal.pasteString(text); + } + } + }); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.actions.ITerminalViewConnection#getName() + */ + public String getFullSummary() { + // if the title is set, then we return the title, else the summary + if(fTitle==null) + return makeSummary(); + return fTitle; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.view.ITerminalViewConnection#getImageDescriptor() + */ + public ImageDescriptor getImageDescriptor() { + return TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW); + } + + public ITerminalViewControl getCtlTerminal() { + return fCtlTerminal; + } + private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { + return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ + } + public void loadState(ISettingsStore store) { + fPartName=store.get(STORE_PART_NAME); + fSummary=store.get(STORE_SUMMARY); + fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); + fEncoding=store.get(STORE_ENCODING); + // load the state of the connection types + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + String connectionType=store.get(STORE_CONNECTION_TYPE); + for (int i = 0; i < connectors.length; i++) { + connectors[i].load(getStore(store,connectors[i])); + // if this is active connection type + if(connectors[i].getId().equals(connectionType)) + fCtlTerminal.setConnector(connectors[i]); + } + + if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ + setCommandInputField(true); + } + + public void saveState(ISettingsStore store) { + store.put(STORE_PART_NAME, fPartName); + store.put(STORE_SUMMARY,fSummary); + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_ENCODING, fEncoding); + if(fCommandInputField!=null) + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); + else + store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); + store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ + ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); + for (int i = 0; i < connectors.length; i++) { + connectors[i].save(getStore(store,connectors[i])); + } + if(fCtlTerminal.getTerminalConnector()!=null) { + store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); + } + } + public boolean hasCommandInputField() { + return fCommandInputField!=null; + } + public void setCommandInputField(boolean on) { + // save the old history + if(fCommandInputField!=null) { + fHistory= fCommandInputField.getHistory(); + fCommandInputField=null; + } + if(on) { + // TODO make history size configurable + fCommandInputField=new CommandInputFieldWithHistory(100); + fCommandInputField.setHistory(fHistory); + } + fCtlTerminal.setCommandInputField(fCommandInputField); + } + + public void setState(TerminalState state) { + // update the title.... + fTitle=null; + } + + public void setTerminalTitle(String title) { + // When parameter 'title' is not null, it is a String containing text to + // display in the view's content description line. This is used by class + // TerminalText when it processes an ANSI OSC escape sequence that commands + // the terminal to display text in its title bar. + fTitle=title; + } + + private String getStateDisplayName(TerminalState state) { + if(state==TerminalState.CONNECTED) { + return ViewMessages.STATE_CONNECTED; + } else if(state==TerminalState.CONNECTING) { + return ViewMessages.STATE_CONNECTING; + } else if(state==TerminalState.CLOSED) { + return ViewMessages.STATE_CLOSED; + } else { + throw new IllegalStateException(state.toString()); + } + } + + private String makeSummary() { + String strTitle = ""; //$NON-NLS-1$ + if(fCtlTerminal.getTerminalConnector()==null){ + strTitle=ViewMessages.NO_CONNECTION_SELECTED; + } else { + // When parameter 'data' is null, we construct a descriptive string to + // display in the content description line. + String strConnected = getStateDisplayName(fCtlTerminal.getState()); + String summary = getSettingsSummary(); + String encoding=getEncoding(); + //TODO Title should use an NLS String and com.ibm.icu.MessageFormat + //In order to make the logic of assembling, and the separators, better adapt to foreign languages + if(summary.length()>0) + summary=summary+" - "; //$NON-NLS-1$ + String name=fCtlTerminal.getTerminalConnector().getName(); + if(name.length()>0) { + name+=": "; //$NON-NLS-1$ + } + if (encoding.length()>0) { + encoding = NLS.bind(ViewMessages.ENCODING_WITH_PARENTHESES, encoding); + //encoding=ViewMessages.ENCODING+" "+"("+encoding+")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ + } + strTitle = name + "("+ summary + strConnected + ")"+" - "+encoding; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + return strTitle; + } + /** + * @return the setting summary. If there is no connection, or the connection + * has not been initialized, use the last stored state. + */ + private String getSettingsSummary() { + if(fCtlTerminal.getTerminalConnector().isInitialized()) + fSummary=fCtlTerminal.getSettingsSummary(); + if(fSummary==null) + return ""; //$NON-NLS-1$ + return fSummary; + } + + public void setSummary(String summary) { + fSummary=summary; + } + + public String getPartName() { + return fPartName==null?ViewMessages.PROP_TITLE:fPartName; + } + + public void setPartName(String name) { + fPartName=name; + + } + public String getEncoding() { + return fEncoding==null?fCtlTerminal.getEncoding():fEncoding; + } + + public void setEncoding(String fEncoding) { + try { + fCtlTerminal.setEncoding(fEncoding); + this.fEncoding = fEncoding; + } catch (UnsupportedEncodingException uex) { + Logger.logException(uex); + } + + } +} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java new file mode 100644 index 00000000000..3ba1a308e75 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java @@ -0,0 +1,181 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { + private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ + private static final String STORE_SIZE = "size"; //$NON-NLS-1$ + private static final String STORE_ACTIVE_CONNECTION = "active"; //$NON-NLS-1$ + /** + * The list of {@link ITerminalViewConnection} in the order they were cerated. + * Ordered by creation time + */ + private final List fConnections=new ArrayList(); + /** + * The currently displayed connection + */ + private ITerminalViewConnection fActiveConnection; + /** + * The list of {@link ITerminalViewConnection} in the order they + * were made the active connection. The most recently accessed + * connection is at the beginning of the list. + */ + private final List fConnectionHistory=new ArrayList(); + /** + * The {@link ITerminalViewConnectionListener} + */ + private final List fListeners=new ArrayList(); + + public ITerminalViewConnection[] getConnections() { + return (ITerminalViewConnection[]) fConnections.toArray(new ITerminalViewConnection[fConnections.size()]); + } + + public int size() { // TODO Auto-generated method stub + return fConnections.size(); + } + + public ITerminalViewConnection getActiveConnection() { + return fActiveConnection; + } + public void setActiveConnection(ITerminalViewConnection conn) { + fActiveConnection=conn; + // put the connection at the end of the history list + fConnectionHistory.remove(conn); + fConnectionHistory.add(0,conn); + + fireListeners(); + } + + public void swapConnection() { + ITerminalViewConnection conn=getPreviousConnection(); + if(conn!=null) + setActiveConnection(conn); + } + + /** + * @return the connection that was most recently the active connection or null if there is + * no previous connection + */ + private ITerminalViewConnection getPreviousConnection() { + // find the first connection that is not the active connection in + // the list + for (Iterator iterator = fConnectionHistory.iterator(); iterator.hasNext();) { + ITerminalViewConnection conn = (ITerminalViewConnection) iterator.next(); + if(conn!=fActiveConnection) { + return conn; + } + } + return null; + } + + public void addConnection(ITerminalViewConnection conn) { + fConnections.add(conn); + fireListeners(); + } + public void removeConnection(ITerminalViewConnection conn) { + fConnections.remove(conn); + fConnectionHistory.remove(conn); + fireListeners(); + } + + public void addListener(ITerminalViewConnectionListener listener) { + fListeners.add(listener); + } + + public void removeListener(ITerminalViewConnectionListener listener) { + fListeners.remove(listener); + } + protected void fireListeners() { + ITerminalViewConnectionListener[] listeners=(ITerminalViewConnectionListener[]) fListeners.toArray(new ITerminalViewConnectionListener[fListeners.size()]); + for (int i = 0; i < listeners.length; i++) { + listeners[i].connectionsChanged(); + } + } + + public void saveState(ISettingsStore store) { + store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ + // save all connections + int n=0; + for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { + ITerminalViewConnection connection = (ITerminalViewConnection) iterator.next(); + // the name under which we store the connection + String prefix=STORE_CONNECTION_PREFIX+n; + n++; + // remember the active connection by its prefix + if(connection.equals(fActiveConnection)) + store.put(STORE_ACTIVE_CONNECTION,prefix); + connection.saveState(new SettingStorePrefixDecorator(store,prefix)); + } + } + + public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { + int size=0; + try { + size=Integer.parseInt(store.get(STORE_SIZE)); + } catch(Exception e) { + // ignore + } + if(size>0) { + // a slot for the connections + String active=store.get(STORE_ACTIVE_CONNECTION); + int n=0; + for (int i=0;i1) { + fConnections.remove(fActiveConnection); + fConnectionHistory.remove(fActiveConnection); + + // make sure connection is not null.... + fActiveConnection=getPreviousConnection(); + // if there is no previous connection then make + // the first connection the list the active connection + if(fActiveConnection==null) + fActiveConnection=(ITerminalViewConnection) fConnections.get(0); + + fireListeners(); + } + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java new file mode 100644 index 00000000000..7443f1d5922 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java @@ -0,0 +1,172 @@ +/******************************************************************************* + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Michael Scharf (Wind River) - initial API and implementation + * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.io.UnsupportedEncodingException; + +import org.eclipse.swt.dnd.Clipboard; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.widgets.Control; +import org.eclipse.tm.internal.terminal.control.ICommandInputField; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; + +// TODO (scharf): this decorator is only there to deal with the common +// actions. Find a better solution. +public class TerminalViewControlDecorator implements ITerminalViewControl { + ITerminalViewControl fViewContoler; + + public void clearTerminal() { + fViewContoler.clearTerminal(); + } + + public void connectTerminal() { + fViewContoler.connectTerminal(); + } + + public void copy() { + fViewContoler.copy(); + } + + public void disconnectTerminal() { + fViewContoler.disconnectTerminal(); + } + + public void disposeTerminal() { + fViewContoler.disposeTerminal(); + } + + public int getBufferLineLimit() { + return fViewContoler.getBufferLineLimit(); + } + + public Clipboard getClipboard() { + return fViewContoler.getClipboard(); + } + + public ICommandInputField getCommandInputField() { + return fViewContoler.getCommandInputField(); + } + + public ITerminalConnector[] getConnectors() { + return fViewContoler.getConnectors(); + } + + public Control getControl() { + return fViewContoler.getControl(); + } + + public String getEncoding() { + return fViewContoler.getEncoding(); + } + + public Font getFont() { + return fViewContoler.getFont(); + } + + public Control getRootControl() { + return fViewContoler.getRootControl(); + } + + public String getSelection() { + return fViewContoler.getSelection(); + } + + public String getSettingsSummary() { + return fViewContoler.getSettingsSummary(); + } + + public TerminalState getState() { + return fViewContoler.getState(); + } + + public ITerminalConnector getTerminalConnector() { + return fViewContoler.getTerminalConnector(); + } + + public boolean isConnected() { + return fViewContoler.isConnected(); + } + + public boolean isDisposed() { + return fViewContoler.isDisposed(); + } + + public boolean isEmpty() { + return fViewContoler.isEmpty(); + } + + public boolean isScrollLock() { + return fViewContoler.isScrollLock(); + } + + public void paste() { + fViewContoler.paste(); + } + + public boolean pasteString(String string) { + return fViewContoler.pasteString(string); + } + + public void selectAll() { + fViewContoler.selectAll(); + } + + public void sendKey(char arg0) { + fViewContoler.sendKey(arg0); + } + + public void setBufferLineLimit(int bufferLineLimit) { + fViewContoler.setBufferLineLimit(bufferLineLimit); + } + + public void setCommandInputField(ICommandInputField inputField) { + fViewContoler.setCommandInputField(inputField); + } + + public void setConnector(ITerminalConnector connector) { + fViewContoler.setConnector(connector); + } + + public void setEncoding(String encoding) throws UnsupportedEncodingException { + fViewContoler.setEncoding(encoding); + } + + public void setFocus() { + fViewContoler.setFocus(); + } + + public void setFont(Font font) { + fViewContoler.setFont(font); + } + + public void setFont(String fontName) { + fViewContoler.setFont(fontName); + } + + public void setInvertedColors(boolean invert) { + fViewContoler.setInvertedColors(invert); + } + + public void setScrollLock(boolean on) { + fViewContoler.setScrollLock(on); + } + + public ITerminalViewControl getViewContoler() { + return fViewContoler; + } + + public void setViewContoler(ITerminalViewControl viewContoler) { + fViewContoler = viewContoler; + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java new file mode 100644 index 00000000000..a476924cfb4 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java @@ -0,0 +1,128 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin + * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs + * Michael Scharf (Wind River) - [172483] switch between connections + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import java.net.MalformedURLException; +import java.net.URL; +import java.util.HashMap; +import java.util.Iterator; + +import org.eclipse.core.runtime.Platform; +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +public class TerminalViewPlugin extends AbstractUIPlugin { + protected static TerminalViewPlugin fDefault; + + public static final String HELPPREFIX = "org.eclipse.tm.terminal.view."; //$NON-NLS-1$ + + /** + * The constructor. + */ + public TerminalViewPlugin() { + fDefault = this; + } + protected void initializeImageRegistry(ImageRegistry imageRegistry) { + HashMap map; + + map = new HashMap(); + + try { + // Local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); + + map.clear(); + + // Enabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); + + map.clear(); + + // Disabled local toolbars + map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ + map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); + + map.clear(); + + map.put(ImageConsts.IMAGE_TERMINAL_VIEW, "terminal_view.gif"); //$NON-NLS-1$ + + loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_EVIEW, map); + + map.clear(); + + } catch (MalformedURLException malformedURLException) { + malformedURLException.printStackTrace(); + } + } + /** + * Returns the shared instance. + */ + public static TerminalViewPlugin getDefault() { + return fDefault; + } + + protected void loadImageRegistry(ImageRegistry imageRegistry, + String strDir, HashMap map) throws MalformedURLException { + URL url; + ImageDescriptor imageDescriptor; + Iterator keys; + String strKey; + String strFile; + + keys = map.keySet().iterator(); + + while (keys.hasNext()) { + strKey = (String) keys.next(); + strFile = (String) map.get(strKey); + + if (strFile != null) { + url = TerminalViewPlugin.getDefault().getBundle().getEntry( + ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); + imageDescriptor = ImageDescriptor.createFromURL(url); + imageRegistry.put(strKey, imageDescriptor); + } + } + } +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java new file mode 100644 index 00000000000..8085d33569b --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java @@ -0,0 +1,51 @@ +/******************************************************************************* + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - split into core, view and connector plugins + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings + * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED + * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding + * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.view; + +import org.eclipse.osgi.util.NLS; + +public class ViewMessages extends NLS { + static { + NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); + } + public static String NO_CONNECTION_SELECTED; + public static String PROP_TITLE; + public static String SETTINGS; + + public static String TERMINALSETTINGS; + public static String NEW_TERMINAL_CONNECTION; + public static String NEW_TERMINAL_VIEW; + public static String CONNECTIONTYPE; + public static String VIEW_TITLE; + public static String VIEW_SETTINGS; + public static String INVALID_SETTINGS; + public static String ENCODING; + public static String ENCODING_WITH_PARENTHESES; + + public static String STATE_CONNECTED; + public static String STATE_CONNECTING; + public static String STATE_CLOSED; + + public static String CANNOT_INITIALIZE; + public static String CONNECTOR_NOT_AVAILABLE; + public static String ENCODING_NOT_AVAILABLE; +} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties new file mode 100644 index 00000000000..3d356ab2683 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties @@ -0,0 +1,42 @@ +############################################################################### +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Initial Contributors: +# The following Wind River employees contributed to the Terminal component +# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, +# Helmut Haigermoser and Ted Williams. +# +# Contributors: +# Michael Scharf (Wind River) - split into core, view and connector plugins +# Martin Oberhuber (Wind River) - fixed copyright headers and beautified +# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button +# Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings +# Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED +# Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding +# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget +############################################################################### +NO_CONNECTION_SELECTED = No Connection Selected +PROP_TITLE = Terminal +SETTINGS = Settings + +TERMINALSETTINGS = Terminal Settings +NEW_TERMINAL_CONNECTION = New Terminal Connection +NEW_TERMINAL_VIEW = New Terminal View +CONNECTIONTYPE = Connection Type +VIEW_TITLE = View Title: +VIEW_SETTINGS = View Settings: +INVALID_SETTINGS = The specified settings are invalid, please review or cancel. +ENCODING = Encoding: +ENCODING_WITH_PARENTHESES = Encoding: ({0}) + +STATE_CONNECTED = CONNECTED +STATE_CONNECTING = CONNECTING... +STATE_CLOSED = CLOSED + +CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} +CONNECTOR_NOT_AVAILABLE = Connector {0} is not available! +ENCODING_NOT_AVAILABLE = Encoding is not available! \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png new file mode 100644 index 0000000000000000000000000000000000000000..3077b1220dd688632a42e347f90c90cb319835f0 GIT binary patch literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ literal 0 HcmV?d00001 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml new file mode 100644 index 00000000000..4409655e2b2 --- /dev/null +++ b/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + \ No newline at end of file From dea02eb9f98dbdbcea414adf68894e8af04f23f1 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 18 Mar 2015 16:33:41 +0100 Subject: [PATCH 641/843] Terminal: Remove deprecated terminal view and preference migration from deprecated terminal view --- .../.project | 17 - .../build.properties | 19 - .../feature.properties | 171 ----- .../feature.xml | 57 -- .../pom.xml | 30 - .../.project | 17 - .../build.properties | 13 - .../feature.properties | 170 ----- .../feature.xml | 53 -- .../pom.xml | 30 - .../org.eclipse.tm.terminal.view/.classpath | 7 - .../org.eclipse.tm.terminal.view/.cvsignore | 1 - .../org.eclipse.tm.terminal.view/.project | 34 - .../.settings/org.eclipse.jdt.core.prefs | 74 -- .../.settings/org.eclipse.jdt.ui.prefs | 3 - .../HelpContexts.xml | 26 - .../META-INF/MANIFEST.MF | 16 - .../TerminalContexts.xml | 19 - .../org.eclipse.tm.terminal.view/about.html | 29 - .../org.eclipse.tm.terminal.view/about.ini | 27 - .../about.mappings | 6 - .../about.properties | 25 - .../build.properties | 33 - .../org.eclipse.tm.terminal.view/doc/book.css | 1 - .../doc/html/01_terminalview.html | 46 -- .../doc/html/02_terminal_page.html | 82 -- .../doc/html/03_terminal_settings.html | 101 --- .../doc/html/04_terminal_emulation.html | 64 -- .../doc/html/notice.html | 30 - .../icons/clcl16/command_input_field.gif | Bin 385 -> 0 bytes .../icons/clcl16/connect_co.gif | Bin 139 -> 0 bytes .../icons/clcl16/disconnect_co.gif | Bin 146 -> 0 bytes .../icons/clcl16/lock_co.gif | Bin 626 -> 0 bytes .../icons/clcl16/newterminal.gif | Bin 351 -> 0 bytes .../icons/clcl16/properties_tsk.gif | Bin 118 -> 0 bytes .../icons/cview16/terminal_view.gif | Bin 938 -> 0 bytes .../icons/dlcl16/command_input_field.gif | Bin 239 -> 0 bytes .../icons/dlcl16/connect_co.gif | Bin 874 -> 0 bytes .../icons/dlcl16/disconnect_co.gif | Bin 90 -> 0 bytes .../icons/dlcl16/lock_co.gif | Bin 588 -> 0 bytes .../icons/dlcl16/newterminal.gif | Bin 351 -> 0 bytes .../icons/dlcl16/properties_tsk.gif | Bin 90 -> 0 bytes .../icons/dlcl16/rem_co.gif | Bin 159 -> 0 bytes .../icons/elcl16/command_input_field.gif | Bin 239 -> 0 bytes .../icons/elcl16/connect_co.gif | Bin 890 -> 0 bytes .../icons/elcl16/disconnect_co.gif | Bin 118 -> 0 bytes .../icons/elcl16/lock_co.gif | Bin 626 -> 0 bytes .../icons/elcl16/newterminal.gif | Bin 351 -> 0 bytes .../icons/elcl16/properties_tsk.gif | Bin 118 -> 0 bytes .../icons/elcl16/rem_co.gif | Bin 163 -> 0 bytes .../icons/eview16/terminal_view.gif | Bin 938 -> 0 bytes .../plugin.properties | 21 - .../org.eclipse.tm.terminal.view/plugin.xml | 58 -- .../org.eclipse.tm.terminal.view/pom.xml | 15 - .../terminal/actions/ActionMessages.java | 43 -- .../actions/ActionMessages.properties | 33 - .../actions/ShowTerminalConnectionAction.java | 83 -- .../terminal/actions/TerminalAction.java | 75 -- .../actions/TerminalActionConnect.java | 39 - .../actions/TerminalActionDisconnect.java | 42 -- .../actions/TerminalActionNewTerminal.java | 83 -- .../actions/TerminalActionRemove.java | 40 - .../actions/TerminalActionScrollLock.java | 41 - .../TerminalActionSelectionDropDown.java | 106 --- .../actions/TerminalActionSettings.java | 39 - ...TerminalActionToggleCommandInputField.java | 36 - .../internal/terminal/view/ITerminalView.java | 48 -- .../view/ITerminalViewConnection.java | 88 --- .../view/ITerminalViewConnectionManager.java | 83 -- .../internal/terminal/view/ImageConsts.java | 52 -- .../tm/internal/terminal/view/PageBook.java | 34 - .../view/SettingStorePrefixDecorator.java | 35 - .../internal/terminal/view/SettingsStore.java | 111 --- .../terminal/view/TerminalSettingsDlg.java | 423 ----------- .../internal/terminal/view/TerminalView.java | 709 ------------------ .../terminal/view/TerminalViewConnection.java | 237 ------ .../view/TerminalViewConnectionManager.java | 181 ----- .../view/TerminalViewControlDecorator.java | 172 ----- .../terminal/view/TerminalViewPlugin.java | 128 ---- .../internal/terminal/view/ViewMessages.java | 51 -- .../terminal/view/ViewMessages.properties | 42 -- .../org.eclipse.tm.terminal.view/tm32.png | Bin 2275 -> 0 bytes .../org.eclipse.tm.terminal.view/toc.xml | 21 - .../feature.xml | 1 - .../META-INF/MANIFEST.MF | 7 +- plugins/org.eclipse.tm.terminal/plugin.xml | 1 - .../preferences/PreferenceModifyListener.java | 48 -- .../TerminalPreferenceInitializer.java | 18 - 88 files changed, 3 insertions(+), 4442 deletions(-) delete mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/.project delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml delete mode 100644 deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.classpath delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.project delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.ini delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/about.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/build.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/properties_tsk.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/properties_tsk.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/disconnect_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/lock_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/properties_tsk.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/icons/eview16/terminal_view.gif delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png delete mode 100644 deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml delete mode 100644 plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project deleted file mode 100644 index 92158332e5e..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.sdk-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties deleted file mode 100644 index 3f525e489bf..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/build.properties +++ /dev/null @@ -1,19 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.properties,\ - feature.xml - -generate.plugin@org.eclipse.tm.terminal.source=org.eclipse.tm.terminal -generate.plugin@org.eclipse.tm.terminal.serial.source=org.eclipse.tm.terminal.serial -generate.plugin@org.eclipse.tm.terminal.ssh.source=org.eclipse.tm.terminal.ssh -generate.plugin@org.eclipse.tm.terminal.telnet.source=org.eclipse.tm.terminal.telnet -generate.plugin@org.eclipse.tm.terminal.view.source=org.eclipse.tm.terminal.view diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties deleted file mode 100644 index 4d52ee3a86c..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.properties +++ /dev/null @@ -1,171 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal (Deprecated) - -# "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal including \ -plug-ins for Serial, SSH and Telnet connections. Includes Source Code.\n\ -\n\ -Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2014 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml deleted file mode 100644 index d1d437578de..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/feature.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml deleted file mode 100644 index eb957301c59..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.sdk-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.sdk - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/.project b/deprecated/features/org.eclipse.tm.terminal.view-feature/.project deleted file mode 100644 index 57ff3d8e631..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.view-feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties deleted file mode 100644 index 400f7fd68ee..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/build.properties +++ /dev/null @@ -1,13 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ -bin.includes = feature.xml,\ - feature.properties diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties deleted file mode 100644 index 0a6e4bdc5e7..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.properties +++ /dev/null @@ -1,170 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal View (Deprecated) - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An Eclipse Workbench standalone view for the Terminal widget.\n\ -\n\ -Note: This feature is deprecated. Use the "Terminals View" feature from the "Mobile and Device Development" category instead. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2003, 2013 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml deleted file mode 100644 index c1984a2165c..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/feature.xml +++ /dev/null @@ -1,53 +0,0 @@ - - - - - - %description - - - - %copyright - - - - %license - - - - - - - - - - - - - - - - - diff --git a/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml b/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml deleted file mode 100644 index 27352ba805b..00000000000 --- a/deprecated/features/org.eclipse.tm.terminal.view-feature/pom.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm.features - org.eclipse.tm.terminal.view - 4.0.0.qualifier - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath b/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore b/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.project b/deprecated/plugins/org.eclipse.tm.terminal.view/.project deleted file mode 100644 index b54e2fe953b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.view - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index c2dc3aa2f47..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,74 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.doc.comment.support=enabled -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning -org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=disabled -org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=protected -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled -org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags -org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled -org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=public -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs b/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 9a20fca52a4..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Jul 31 14:55:17 CEST 2006 -eclipse.preferences.version=1 -internal.default.compliance=user diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml deleted file mode 100644 index 5ba920568af..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/HelpContexts.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - - - The Terminal View supports direct connections to remote systems via serial or network connections. - - - - - - The Terminal Settings Dialog provides the controls for making terminal connections. - - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF b/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF deleted file mode 100644 index eb076cf1ebd..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/META-INF/MANIFEST.MF +++ /dev/null @@ -1,16 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view;singleton:=true -Bundle-Version: 2.4.200.qualifier -Bundle-Activator: org.eclipse.tm.internal.terminal.view.TerminalViewPlugin -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="[3.2.0,3.4.0)" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-Vendor: %providerName -Export-Package: org.eclipse.tm.internal.terminal.actions;x-internal:=true, - org.eclipse.tm.internal.terminal.view;x-internal:=true diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml deleted file mode 100644 index 387756f5c68..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/TerminalContexts.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.html b/deprecated/plugins/org.eclipse.tm.terminal.view/about.html deleted file mode 100644 index a603d19ab21..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -About - - -

                                    About This Content

                                    - -

                                    June 5, 2007

                                    -

                                    License

                                    - -

                                    The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                    - -

                                    If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                    - - - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini b/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings b/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings deleted file mode 100644 index bddaab43109..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.mappings +++ /dev/null @@ -1,6 +0,0 @@ -# about.mappings -# contains fill-ins for about.properties -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file does not need to be translated. - -0=@build@ \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties deleted file mode 100644 index 10075af5412..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/about.properties +++ /dev/null @@ -1,25 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal View (Deprecated)\n\ -\n\ -Version: {featureVersion}\n\ -Build id: {0}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2014. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties deleted file mode 100644 index 51984c14501..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/build.properties +++ /dev/null @@ -1,33 +0,0 @@ -################################################################################ -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -################################################################################ -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - icons/,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.mappings,\ - about.properties,\ - tm32.png,\ - HelpContexts.xml,\ - doc/,\ - toc.xml,\ - TerminalContexts.xml -src.includes = about.html diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css deleted file mode 100644 index faa4199fe34..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/book.css +++ /dev/null @@ -1 +0,0 @@ -@import "../../PRODUCT_PLUGIN/book.css"; diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html deleted file mode 100644 index c423cbf8be5..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/01_terminalview.html +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - -Terminal View - - - - -

                                    Terminal View

                                    -
                                    -

                                    -The Terminal view provides a raw serial or network connection to your target board. -This view is useful for monitoring output on a target's serial port or making a telnet -connection to a device. -

                                    -The Terminal view is activated by choosing Window > Show View > Other > Terminal > Terminal. -

                                    - - -Multiple Terminal view instances can be active at the same time, connected -to a number of remote systems or disconnected and just holding their settings -ready for re-connect. - -

                                    -
                                           | Next >
                                    - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html deleted file mode 100644 index 1442ac022db..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/02_terminal_page.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - -Terminal View Quick Reference - - - -

                                    Terminal View Quick Reference

                                    -
                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

                                    Button

                                    Description

                                    Connect to selected target.

                                    Disconnect from selected connection.

                                    Open the Terminal Settings dialog. - While connected, only the connection's title can be changed.

                                    Toggle the Command Input field, - for editing complex command lines on dumb terminals.

                                    Toggle Scroll Lock in the current terminal connection.

                                    Select a Terminal connection to show in this view instance. - Only available when multiple connections have been defined in this view.

                                    Open another Terminal connection in the current view, or in a new Terminal view instance.

                                    Remove the currently selected Terminal Connection from this view. - Only available when multiple connections have been defined in this view.

                                    -
                                    -

                                    -

                                    - -
                                    - Each instance of the Terminal view can hold multiple connections, each of which can in - turn be connected to a different remote endpoint - (either serial or network). Of course, the number of serial connections is limited by the - number of serial ports. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html deleted file mode 100644 index 953025ae0db..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/03_terminal_settings.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - - - - - -Terminal Settings Dialog - - - -

                                    Terminal Settings Dialog

                                    - -
                                    -Use the Terminal Settings dialog to configure your connection. -
                                    -
                                    -In the Connection Type field choose Serial, SSH or Telnet. -
                                    -
                                    -The View Title field allows giving a name to your Terminal View instance. -
                                    - -

                                    Serial Connection

                                    - -
                                    -If you choose a serial connection, the Settings area has seven options: - Port, Baud Rate, Data Bits, Stop Bits, Parity, Flow Control, - and Timeout. -
                                    - -
                                    -When you have entered your settings, click OK. This initiates your connection.
                                    - -
                                    -Your connection information appears in the header of the Terminal view. -A cursor appears in the view itself. Hit ENTER to get a >NET> -prompt.
                                    - -

                                    -
                                    - - - - - -
                                    -

                                    NOTE:When using the Terminal view on Linux or Solaris, - serial ports ttyS0 and ttyS1 must have appropriate permissions - set in order to connect to them, unless you are running the Workbench as root. -

                                      
                                    -
                                    - -

                                    -

                                    SSH Connection

                                    - -
                                    -If you choose an SSH connection, the Settings area has six options. -In the Host and Port fields, enter the IP Address and port of the host -you wish to connect to. -The User field specifies the remote user id to use. -The Password field is optional, since SSH can re-use your private keys -as specified on the Eclipse Preferences, General, Network Page. -The Timeout can be changed for very slow networks. The -KeepAlive value specifies an interval in seconds, by which the Terminal -automatically sends a packet to the remote host in order to keep the connection -alive even in case of inactivity. -

                                    When all settings are specified, click -OK. This initiates your connection.

                                    - - -

                                    -

                                    Telnet Connection

                                    - -
                                    -If you choose a Telnet connection, the Settings area has three options. -In the Host field, enter the IP Address of the host you wish to connect to. -In the Port field, select the network port you wish to use. -The Timeout can be changed for very slow networks. Then click -OK. This initiates your connection.
                                    - -
                                    -Your connection information appears in the header of the Terminal view. -A cursor appears in the view itself. Hit ENTER to get a >NET> prompt. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html deleted file mode 100644 index 0b987d5e87b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/04_terminal_emulation.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - - - - -Terminal Emulation - - - -

                                    Terminal Emulation

                                    - -
                                    -The Terminal view is an ANSI-conformant terminal emulator. You can use the -Terminal view to telnet into a remote UNIX host. -
                                    - -
                                    -To do so, set the TERM environment variable on the remote host to ansi. -This enables programs on the remote host, such as vi and Emacs, -to display text properly. -The Terminal view does not currently support other emulation modes, such as VT100. -
                                    - -
                                    -The size of the terminal window as understood by the remote is automatically -adjusted as the size of your Terminal view changes. -The colors and font used by the Terminal can be configured in the -Eclipse Preferences, Appearance section. A separate Terminal Preference -Page allows inverting the terminal colors easily if desired. -
                                    - -

                                    Optional Command Input Field

                                    - -
                                    -The optional Command Input Field can be enabled when sending commands to a dumb -terminal that does not support cursor keys for editing. In such a case, the -Command Input Field provides a full editor that supports cursor navigation, copy -and paste, as well as a history of previous commands that can be accessed by -Ctrl+Space content assist. -
                                    - -
                                    -If more space than the default single editing line is needed for very complex commands, -the Command Input Field can be enlarged by dragging its upper handle up with -the mouse. -
                                    - -

                                    - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html b/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html deleted file mode 100644 index 91a8824e7cc..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/doc/html/notice.html +++ /dev/null @@ -1,30 +0,0 @@ - - - - - - - - -Legal Notice - - - -

                                    Legal Notice

                                    -

                                    -The material in this guide is Copyright (c) Wind River Systems, Inc. and others 2004, 2012. -

                                    -

                                    -Terms and conditions regarding the use of this guide. -

                                    - - \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/command_input_field.gif deleted file mode 100644 index 9e3a547c145798fa08fb692df015a793213fbd1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 385 zcmV-{0e=2RNk%w1VGsZi0M!5h^!EGh@%r)f`-qjU_W1ny`uv8PzKoy3y2szCv&G-& z_`%54;_CS2?D^^M`je){nykyBv(Mk?_vY>SZY`|a}j_4xfuZlYv_wT+pp z;p+I}>-gd7_vr8W@%8)n`TXDM_u=dKh|$WarlE(qt$M7agU7XT#Itn2uy(Vk zfB*mgA^8LW002J#EC2ui01yBW000J_z+Xm#&}4qdq%wJ2I+@R~k4bKxePc$9H1`IS$H3||U5)uj`H9-J7aY@tZ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/connect_co.gif deleted file mode 100644 index 556b230da5693996a541f64393a5cfb91b4bcd33..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 139 zcmZ?wbhEHb6krfw*v!Dd@SlPEEH^^~gT8_P{FCz!-aVMSH2FUm03|Vj;!hSv1_pKp z9gq~r3Qu)m%S5)Zch7sbWtx2K>xBK@v;FkGS@-1G W&gcrAxidxV#@Wd$qt**DSOWlPf-bNC diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/disconnect_co.gif deleted file mode 100644 index f1d5fb31e51476a24e289e7cf2d083058fb3fa2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146 zcmZ?wbhEHb6krfw*v!Ci-#-3+e0>80!+v}F|MBtjf#m%8_kn2t{)PsiFvI`<|A8bN zDE?$&WMJTC&;f~n%wS-#FF5JBdhd-z496C>ib@<2@H=YBn5x*&y^Cj=!u(ec#pJbA lyIR&OHT#;)l?%|2-kM+()~m7jt&Y*$wbNf#?G|LP1^^IEGNAwf diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/lock_co.gif deleted file mode 100644 index 68fd6cf39cac929152036675cc56c7edaf9217e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 626 zcmZ?wbhEHb6krfwc*el+=g+^tfB$8aO_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/clcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/cview16/terminal_view.gif deleted file mode 100644 index bbb6a9e153e146f57903aa2b5e0d2bc58cd641c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 938 zcmZ?wbhEHb6krfw_|Cxa|NsA)GiL(HKmWeGdG{tQEzQ{2n8nEC$+IgA3}@2L{AWn} zZ#?sVS{lO{5MTg;pFe-joXIe2)~xRC?%A_v`}+F+{reXrF$zXQV5o(F;!hSvkehWt z1Sn59aI`Zpa>#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/command_input_field.gif deleted file mode 100644 index f538ca707fc7480b4586effcebbb307e1979ae3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/connect_co.gif deleted file mode 100644 index ae5e64b9f6f1b090da34d65bd48784886e8e2305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 874 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XLEn|DRzLjE2C-3jxKSEQ|~cObj|8uY>Z01BW{U zD~F8728DwR?CeT95(x_rwKK_BwPb8iXlP?(Q0cMwkmTGe!|LZ^v2oGK$r|2mF((UE aj!xCHPGXTXQajxtY@6nCa&v+MgEavEOe8}9 diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/disconnect_co.gif deleted file mode 100644 index 24a628713dca636bfe498223f8382f189140cf93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90 zcmZ?wbhEHb6krfwn8?7efB*jZ^XLEn|DS<@LGdRGBLf2ygAR}llobH7wWsv2Jk7<( s$kioP{n2(-nO*KN;Z~JpouWlvOix;0c{hLlefKNJ?z8-VL>U;Y0qcJs5C8xG diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/lock_co.gif deleted file mode 100644 index b7764789356f9a62aa0b9ad50ff020f4e01e3b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 588 zcmZ?wbhEHb6krfwc*el+=g;5YzyJLD_50_~U-ut8zIf^C#x1+H@7%j)?fOrjzkdAm z<=~+s2M!)yzIxM^?R(a3*t~1c{=NGTUbuAS`;VXBzW@08?faLn-`;-s^yS<4KY#yj z+Pr!9uFao6z5Vp@&BqU~uUtB{Va>dqTUVSreem&vYxnP5+P7=n)JdIBAKkon`_l6# zcb+}Ief9F$^JkC0d-Lq&^M~8FZC<}>?%EY|)-0dBdfBX%OJ?lYvg+geSMT4xSigGF zotu|VpEz{w%7uG(ZoC4jesJ&er;mpY9{m6R|G$6#{{H<7WH1ahp!k!8k%7U5K?me; zP@FKZuWWE>YHn$5cIfEr>S}Tj@1M{wJ;9+@Tx`ZnF@14fmZ>g%vt~+(Gczyf6J5PV zlz%<{N{QvmMYeIU3JI;$QB<^MViFeS<~+7i)!trJn~{;3hwIW*2L&5PM>_>uMkYb= z)mKb(tgLiQtRxu)-UwV#mXX(!)iQ9FWS_Fo%-q6MS2Kx2^3j6J%LC+!W*AI#Zsk#Q d;)!8kXprg>R&tr6V3;hpC_v6pl#7MI8US7A;iv!r diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pjqWXXeWH$Wh%qo&0|4{v9aI1S diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/dlcl16/rem_co.gif deleted file mode 100644 index 559e462985f439553de36c89f65392eae3e9a44e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 159 zcmZ?wbhEHb6krfw*v!Ci=-|O)$BrF5cyQ02Jv(;n*t~i3x^?STu3Wif$&v*N7X1JJ zp8*vp{$ycfVBliV0SSZ5U|{hHIO(~1uSCNtU5#UEjBbj3ZUQY)yXJ8fa4;1Ld|~WA z@!)sI-4+*(HUmTFi3NKYgjzF96l>i0I}eMb=?0hv=!;iZy|UTOS9Ern3j>2S03Llh A4*&oF diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/command_input_field.gif deleted file mode 100644 index f538ca707fc7480b4586effcebbb307e1979ae3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmZ?wbhEHb6krfwIKsg2`}dz;zkdJx`Rnk}Q|B&RId$g3@snpifBE+5^Vg4`zARt8 z>C%P9Hse>gdT6M-Cl4_~*}`|Ns9p zU;xFREQ|~ck_h2{l~5|Km=i5pyLr;i3Ob2Z#xiV)yxV|=ihgM~q8`yJoey=qLxRSFfIA-s)E fymhU7Rhj(uX5s>U{Q`A*>>bSPleA1#6d9}maD{N$ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/connect_co.gif deleted file mode 100644 index c0de0d32dd66e4efb5e94661dd3f180de819a25d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 890 zcmZ?wbhEHb6krfw_|CwvfB*jZ^XE4-G{ncpGcYjx|NkFIj)Kt;7$G5`_>+Z^fq|7l z2jpK+o^ap@XW-_L@z|i?$jHvFq@$7W@BkyD6rX^F!y}hAHe)6Mg9L_#7FHRi7cT-A zFfa(}&*GW6ap~#l3jB+n%(#%)*d-IXDQ4w_2gmy4D{r-EOk8+&qC=vVtb_oAH2~_rouLfByx#?%&}fyLWD1v0z5d?5PE7 zR`f5Qld)u0*3=25e?Oo8@@(7R_j~_-IP~|^@xPx={{4Jz+a#5*w>thj?Emv*)}Lqd z{ydxi=h=d%56*AwR@~CBd~lw{vQCTROI&x%bh)uN_rvwRn@8H8UYvU8{F;hr;pKHQ z>)Pa3H_IR0Pa$D!M)0=Ky*z@`A!~bBwKs})NlZBCiA&o%?WF#m~ z7}(D@q%}3Sv^Lvxbar($*&6px=(m|*(`0F^Jad+^ov|d3U6Ylu%F<;jM#i$5Moren z+8Z}%Gi}}4WMQJVTTOMJ0<*BNLX&x7KtQ~NgpQ6bAFrrxQ$kQmN>H4hp1PKpn21tZ zl3PS-YO)+gMdQHc12(!2 M&1HruY61+_0K&N{n*aa+ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/newterminal.gif deleted file mode 100644 index 80201e0d46944f559b4a73b846886d8c999dc5d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igazNk%w1VGsZi0M!5h|NsC0{{a60|Nj600RR60{{R30{{R303;_R5MgMtu z%T%-WN4)<^zW+|Z|4_mIQNjOG!v9mk|5d~Ph|l(7%Ku}_|7FVmXUqR+%>QW3|8UIx zaLoLF&-sPV_iWGqchmoQ)&F_c|9aK`d({4Z*8Ygv{*2oFliB!+-T#Z;|BBlElHB`@ z;QyE6{g&kaoag_Z=>MMM`kv|kq3Zvs@c*yu`nl}&!1@2d`TxiL|H}UV%>Vz-|NsBw z0RR90A^8LW002J#EC2ui01yBW000Jjz@KnP{2`9Tq!8gl5Eam<;>e^56&{o9rrR-n z;O5n{a@lx2Y7_axCK5DUu7;{UJ*O8e7MroGLkbiLEpI6*B^(n06TG|z`pYHf!VrZ z*PVa54W6%gxH@FFeRoLf4R)Jzc;%{xj64N8hjkY$)1H0yPr!Z4xvR~8FKk*a6_}>- Pph=f=WmBVr5Q8-Uq17^g diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif b/deprecated/plugins/org.eclipse.tm.terminal.view/icons/elcl16/rem_co.gif deleted file mode 100644 index 2cd9c544436c47a57f20b348b3fb024bb50701a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 163 zcmZ?wbhEHb6krfw*v!DNV#SID3l_|nF=N7n2^}3B4Gj$y6%_>q1sNF`2?+`R|Nmz| z1&Tje7#SG27<53wATtBYuHJj2L#xNM)vQ#JRl<>hDKU#-N&yE`p}?0M(Gw4T zcQCOfDoF5h^e6?|s2Q}nBw9^#gWP&mlIC&%G%V1r^46B`$sK!HM|Yd62LSV6;uMg|TcDTyf>3sO!p zvT!)4L>4xBvq>`gln5|79hzvws<1?00YeLyg({nbSILTlo$QmedMhU+F|q2;J|?;5|=b=70_{LC}2!?U|_HY0P>7m*#H0l diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties deleted file mode 100644 index 8bc93b55917..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.properties +++ /dev/null @@ -1,21 +0,0 @@ -########################################################################## -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget -########################################################################## -pluginName = Target Management Terminal View (Deprecated) -providerName = Eclipse TM Project -terminal.views.category.name = Terminal -terminal.views.view.name = Terminal diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml deleted file mode 100644 index b43368431ee..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/plugin.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml deleted file mode 100644 index 4ae0aaa1199..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - org.eclipse.tm.maven-build - org.eclipse.tm - 4.0.0-SNAPSHOT - ../../../../admin/pom-build.xml - - org.eclipse.tm - org.eclipse.tm.terminal.view - 2.4.200.qualifier - eclipse-plugin - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java deleted file mode 100644 index 5abbcf8a680..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.java +++ /dev/null @@ -1,43 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.osgi.util.NLS; - -public class ActionMessages extends NLS { - - static { - NLS.initializeMessages(ActionMessages.class.getName(), ActionMessages.class); - } - public static String NEW_TERMINAL_CONNECTION; - public static String NEW_TERMINAL_VIEW; - public static String CONNECT; - public static String TOGGLE_COMMAND_INPUT_FIELD; - public static String DISCONNECT; - public static String SETTINGS_ELLIPSE; - public static String SCROLL_LOCK_0; - public static String SCROLL_LOCK_1; - public static String REMOVE; - - public static String ConsoleDropDownAction_0; - public static String ConsoleDropDownAction_1; - - public static String SETTINGS; - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties deleted file mode 100644 index 0401f1d8c83..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ActionMessages.properties +++ /dev/null @@ -1,33 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin -# Michael Scharf (Wind River) - [172483] switch between connections -# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -############################################################################### -NEW_TERMINAL_CONNECTION = New Terminal Connection in Current View... -NEW_TERMINAL_VIEW = New Terminal View -CONNECT = Connect -DISCONNECT = Disconnect -SETTINGS_ELLIPSE = Settings... -SCROLL_LOCK_0 = Scroll &Lock -SCROLL_LOCK_1 = Scroll Lock -SETTINGS = Settings -TOGGLE_COMMAND_INPUT_FIELD= Toggle Command Input Field -REMOVE = Remove Terminal - -ConsoleDropDownAction_0=Select Connection -ConsoleDropDownAction_1=Display Selected Connections - diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java deleted file mode 100644 index 47faff88717..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/ShowTerminalConnectionAction.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2015 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Michael Scharf (Wind River) - [172483] Adapted from org.eclipse.ui.console/ShowConsoleAction - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; - -/** - * Shows a specific connection in the terminal view - */ -public class ShowTerminalConnectionAction extends Action { - - private final ITerminalViewConnection fConnection; - private final ITerminalViewConnectionManager fConnectionManager; - - /** - * Constructs an action to display the given terminal. - * - * @param manager the terminal multi-view in which the given terminal connection is contained - * @param connection the terminal view connection - */ - public ShowTerminalConnectionAction(ITerminalViewConnectionManager manager, ITerminalViewConnection connection) { - super(quoteName(buildName(manager,connection)), AS_RADIO_BUTTON); - fConnection = connection; - fConnectionManager = manager; - setImageDescriptor(connection.getImageDescriptor()); - } - /** - * the tab at the end quotes '@' chars?!? see - * {@link #setText(String)} - * @param name - * @return a quoted sting - */ - private static String quoteName(String name) { - return name+"\t"; //$NON-NLS-1$ - } - /** - * Builds the name. It uses the summary. If the connections have different - * partNames (the names showed in the view title) then this name is prefixed. - * @param m the connection manager - * @param connection the connection for which the name should me extracted - * @return The name to be displayed - */ - private static String buildName(ITerminalViewConnectionManager m,ITerminalViewConnection connection) { - String name = connection.getFullSummary(); - if(!checkIfAllPartNamesTheSame(m)) - name=connection.getPartName()+" - " +name; //$NON-NLS-1$ - return name; - } - /** - * @param m the connection manager - * @return true if the part names of all connections are the same - */ - private static boolean checkIfAllPartNamesTheSame(ITerminalViewConnectionManager m) { - ITerminalViewConnection[] connections = m.getConnections(); - if(connections.length>1) { - String partName=connections[0].getPartName(); - for (int i = 1; i < connections.length; i++) { - if(!partName.equals(connections[i].getPartName())) { - return false; - } - } - - } - return true; - } - /* (non-Javadoc) - * @see org.eclipse.jface.action.IAction#run() - */ - public void run() { - fConnectionManager.setActiveConnection(fConnection); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java deleted file mode 100644 index 85e86d48fc7..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalAction.java +++ /dev/null @@ -1,75 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; - -abstract public class TerminalAction extends Action { - protected final ITerminalView fTarget; - public TerminalAction(ITerminalView target, String strId) { - this(target,strId,0); - } - public TerminalAction(ITerminalView target, String strId, int style) { - super("",style); //$NON-NLS-1$ - - fTarget = target; - - setId(strId); - } - abstract public void run(); - protected void setupAction(String strText, String strToolTip, - String strImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled) { - TerminalViewPlugin plugin; - ImageRegistry imageRegistry; - - plugin = TerminalViewPlugin.getDefault(); - imageRegistry = plugin.getImageRegistry(); - setupAction(strText, strToolTip, strImage, strEnabledImage, - strDisabledImage, bEnabled, imageRegistry); - } - protected void setupAction(String strText, String strToolTip, - String strHoverImage, String strEnabledImage, String strDisabledImage, - boolean bEnabled, ImageRegistry imageRegistry) { - setupAction(strText, - strToolTip, - imageRegistry.getDescriptor(strHoverImage), - imageRegistry.getDescriptor(strEnabledImage), - imageRegistry.getDescriptor(strDisabledImage), - bEnabled); - } - protected void setupAction(String strText, String strToolTip, - ImageDescriptor hoverImage, ImageDescriptor enabledImage, ImageDescriptor disabledImage, - boolean bEnabled) { - setText(strText); - setToolTipText(strToolTip); - setEnabled(bEnabled); - if (enabledImage != null) { - setImageDescriptor(enabledImage); - } - if (disabledImage != null) { - setDisabledImageDescriptor(disabledImage); - } - if (hoverImage != null) { - setHoverImageDescriptor(hoverImage); - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java deleted file mode 100644 index f343c9a9948..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionConnect.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionConnect extends TerminalAction -{ - public TerminalActionConnect(ITerminalView target) - { - super(target, - TerminalActionConnect.class.getName()); - - setupAction(ActionMessages.CONNECT, - ActionMessages.CONNECT, - ImageConsts.IMAGE_CLCL_CONNECT, - ImageConsts.IMAGE_ELCL_CONNECT, - ImageConsts.IMAGE_DLCL_CONNECT, - true); - } - public void run() { - fTarget.onTerminalConnect(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java deleted file mode 100644 index a8624c40450..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionDisconnect.java +++ /dev/null @@ -1,42 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionDisconnect extends TerminalAction -{ - /** - * - */ - public TerminalActionDisconnect(ITerminalView target) - { - super(target, - TerminalActionDisconnect.class.getName()); - - setupAction(ActionMessages.DISCONNECT, - ActionMessages.DISCONNECT, - ImageConsts.IMAGE_CLCL_DISCONNECT, - ImageConsts.IMAGE_ELCL_DISCONNECT, - ImageConsts.IMAGE_DLCL_DISCONNECT, - false); - } - public void run() { - fTarget.onTerminalDisconnect(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java deleted file mode 100644 index 20a0ff7a232..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionNewTerminal.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -*******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IAction; -import org.eclipse.jface.action.IMenuCreator; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -/** - * UNDER CONSTRUCTION - * - * @author Fran Litterio - */ -public class TerminalActionNewTerminal extends TerminalAction implements IMenuCreator { - private Menu fMenu; - public TerminalActionNewTerminal(ITerminalView target) - { - super(target, TerminalActionNewTerminal.class.getName()); - - setupAction(ActionMessages.NEW_TERMINAL_CONNECTION, - ActionMessages.NEW_TERMINAL_CONNECTION, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - ImageConsts.IMAGE_NEW_TERMINAL, - true); - setMenuCreator(this); - } - public void run() { - fTarget.onTerminalNewTerminal(); - } - public void dispose() { - if (fMenu != null) { - fMenu.dispose(); - } - } - public Menu getMenu(Control parent) { - if(fMenu==null) { - fMenu= new Menu(parent); - addActionToMenu(fMenu, - new Action(ActionMessages.NEW_TERMINAL_CONNECTION) { - public void run() { - fTarget.onTerminalNewTerminal(); - } - - }); - addActionToMenu(fMenu, - new Action(ActionMessages.NEW_TERMINAL_VIEW) { - public void run() { - fTarget.onTerminalNewView(); - } - - }); - } - return fMenu; - } - protected void addActionToMenu(Menu parent, IAction action) { - ActionContributionItem item = new ActionContributionItem(action); - item.fill(parent, -1); - } - public Menu getMenu(Menu parent) { - return null; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java deleted file mode 100644 index b7d9d472f8d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionRemove.java +++ /dev/null @@ -1,40 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionRemove extends TerminalAction implements ITerminalViewConnectionListener -{ - private final ITerminalViewConnectionManager fConnectionManager; - public TerminalActionRemove(ITerminalViewConnectionManager target) - { - super(null, - TerminalActionRemove.class.getName()); - fConnectionManager=target; - setupAction(ActionMessages.REMOVE, - ActionMessages.REMOVE, - null, - ImageConsts.IMAGE_ELCL_REMOVE, - ImageConsts.IMAGE_DLCL_REMOVE, - true); - fConnectionManager.addListener(this); - connectionsChanged(); - } - public void run() { - fConnectionManager.removeActive(); - } - public void connectionsChanged() { - setEnabled(fConnectionManager.size()>1); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java deleted file mode 100644 index 2a51a42158c..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionScrollLock.java +++ /dev/null @@ -1,41 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionScrollLock extends TerminalAction -{ - public TerminalActionScrollLock(ITerminalView target) - { - super(target, - TerminalActionScrollLock.class.getName(),IAction.AS_RADIO_BUTTON); - - setupAction(ActionMessages.SCROLL_LOCK_0, - ActionMessages.SCROLL_LOCK_1, - ImageConsts.IMAGE_CLCL_SCROLL_LOCK, - ImageConsts.IMAGE_ELCL_SCROLL_LOCK, - ImageConsts.IMAGE_DLCL_SCROLL_LOCK, - true); - } - public void run() { - fTarget.setScrollLock(!fTarget.isScrollLock()); - setChecked(fTarget.isScrollLock()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java deleted file mode 100644 index f7b2da77e55..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSelectionDropDown.java +++ /dev/null @@ -1,106 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2000, 2015 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Michael Scharf (Wind River) - [172483] switch between connections - * (Adapted from org.eclipse.ui.internal.console.ConsoleDropDownAction) - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.ActionContributionItem; -import org.eclipse.jface.action.IMenuCreator; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnection; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.tm.internal.terminal.view.ImageConsts; -import org.eclipse.tm.internal.terminal.view.TerminalViewPlugin; - -/** - * Drop down action in the console to select the console to display. - */ -public class TerminalActionSelectionDropDown extends Action implements IMenuCreator, ITerminalViewConnectionListener { - private ITerminalViewConnectionManager fConnections; - private Menu fMenu; - public TerminalActionSelectionDropDown(ITerminalViewConnectionManager view) { - fConnections= view; - setText(ActionMessages.ConsoleDropDownAction_0); - setToolTipText(ActionMessages.ConsoleDropDownAction_1); - setImageDescriptor(TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW)); -// PlatformUI.getWorkbench().getHelpSystem().setHelp(this, IConsoleHelpContextIds.CONSOLE_DISPLAY_CONSOLE_ACTION); - setMenuCreator(this); - fConnections.addListener(this); - connectionsChanged(); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#dispose() - */ - public void dispose() { - if (fMenu != null) { - fMenu.dispose(); - } - fConnections.removeListener(this); - fConnections= null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Menu) - */ - public Menu getMenu(Menu parent) { - return null; - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IMenuCreator#getMenu(org.eclipse.swt.widgets.Control) - */ - public Menu getMenu(Control parent) { - if (fMenu != null) { - fMenu.dispose(); - } - - fMenu= new Menu(parent); - ITerminalViewConnection[] consoles= fConnections.getConnections(); - ITerminalViewConnection active = fConnections.getActiveConnection(); - for (int i = 0; i < consoles.length; i++) { - ITerminalViewConnection console = consoles[i]; - Action action = new ShowTerminalConnectionAction(fConnections, console); - action.setChecked(console.equals(active)); - addActionToMenu(fMenu, action, i + 1); - } - return fMenu; - } - - private void addActionToMenu(Menu parent, Action action, int accelerator) { - if (accelerator < 10) { - StringBuffer label= new StringBuffer(); - //add the numerical accelerator - label.append('&'); - label.append(accelerator); - label.append(' '); - label.append(action.getText()); - action.setText(label.toString()); - } - ActionContributionItem item= new ActionContributionItem(action); - item.fill(parent, -1); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IAction#run() - */ - public void run() { - fConnections.swapConnection(); - } - - public void connectionsChanged() { - setEnabled(fConnections.size() > 1); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java deleted file mode 100644 index 060b856cfc9..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionSettings.java +++ /dev/null @@ -1,39 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionSettings extends TerminalAction -{ - public TerminalActionSettings(ITerminalView target) - { - super(target, - TerminalActionSettings.class.getName()); - - setupAction(ActionMessages.SETTINGS_ELLIPSE, - ActionMessages.SETTINGS, - ImageConsts.IMAGE_CLCL_SETTINGS, - ImageConsts.IMAGE_ELCL_SETTINGS, - ImageConsts.IMAGE_DLCL_SETTINGS, - true); - } - public void run() { - fTarget.onTerminalSettings(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java deleted file mode 100644 index 03ab6d06741..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/actions/TerminalActionToggleCommandInputField.java +++ /dev/null @@ -1,36 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.view.ITerminalView; -import org.eclipse.tm.internal.terminal.view.ImageConsts; - -public class TerminalActionToggleCommandInputField extends TerminalAction -{ - public TerminalActionToggleCommandInputField(ITerminalView target) - { - super(target, - TerminalActionToggleCommandInputField.class.getName(),IAction.AS_RADIO_BUTTON); - - setupAction(ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, - ActionMessages.TOGGLE_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, - ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, - true); - setChecked(fTarget.hasCommandInputField()); - } - public void run() { - fTarget.setCommandInputField(!fTarget.hasCommandInputField()); - setChecked(fTarget.hasCommandInputField()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java deleted file mode 100644 index 087cd136e12..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalView.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; - -public interface ITerminalView { - - /** - * Create a new terminal connection within the view. - */ - void onTerminalNewTerminal(); - - /** - * Programmatically create a new terminal connection within the view. This method - * does the same thing as onTerminalNewTerminal, but instead of popping up a settings - * dialog to allow the user fill in connection details, a connector is provided as - * a parameter. The connector should have all of its details pre-configured so it can - * be opened without requiring user input. - */ - void newTerminal(ITerminalConnector c); - - /** - * Create a new Terminal view. - */ - void onTerminalNewView(); - - void onTerminalConnect(); - void onTerminalDisconnect(); - void onTerminalSettings(); - void onTerminalFontChanged(); - boolean hasCommandInputField(); - void setCommandInputField(boolean on); - boolean isScrollLock(); - void setScrollLock(boolean b); -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java deleted file mode 100644 index 1dc39b35051..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnection.java +++ /dev/null @@ -1,88 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -/** - * Represents a connection. The connection might be connected - * or not. - * - */ -public interface ITerminalViewConnection { - - /** - * @return the summary shown in the status line and - * in the drop down box of the connections - */ - String getFullSummary(); - - /** - * @param name the name of the view - */ - void setPartName(String name); - /** - * @return the name of the view (never null) - */ - String getPartName(); - - /** - * @return an image that represents this connection - */ - ImageDescriptor getImageDescriptor(); - /** - * @return the control of this connection - */ - ITerminalViewControl getCtlTerminal(); - - void saveState(ISettingsStore store); - - void loadState(ISettingsStore store); - - /** - * @return true if the input field is visible - */ - boolean hasCommandInputField(); - /** - * @param on turns the input field on - */ - void setCommandInputField(boolean on); - - /** - * @param state changes of the state (might change the summary) - */ - void setState(TerminalState state); - - /** - * @param title used in the summary. If null the summary - * is created automatically - */ - void setTerminalTitle(String title); - - /** - * TODO: legacy (needed to read the old state) - * @param summary - */ - void setSummary(String summary); - /** - * @param encoding the encoding of this connection - */ - void setEncoding(String encoding); - - /** - * @return the encoding of this connection - */ - String getEncoding(); -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java deleted file mode 100644 index 3d3a25fed31..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ITerminalViewConnectionManager.java +++ /dev/null @@ -1,83 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - - -/** - * Supports multiple connections - * - */ -public interface ITerminalViewConnectionManager { - /** - * Notifies any change in the state of the connections: - *
                                      - *
                                    • a connection is added or removed - *
                                    • the active connection has changed - *
                                    - * - */ - interface ITerminalViewConnectionListener { - void connectionsChanged(); - } - /** - * Used to create instances of the ITerminalViewConnection - * when the state is read from the {@link ISettings} - * - */ - interface ITerminalViewConnectionFactory { - ITerminalViewConnection create(); - } - /** - * @return a list of all connections this view can display - */ - ITerminalViewConnection[] getConnections(); - /** - * @return the number of connections - */ - int size(); - /** - * @return th connection the view is showing at the moment - */ - ITerminalViewConnection getActiveConnection(); - - /** - * @param conn make this connection the active connection - */ - void setActiveConnection(ITerminalViewConnection conn); - /** - * If more than two connections are available, remove the active connection - */ - void removeActive(); - - /** - * @param conn adds a new connection - */ - void addConnection(ITerminalViewConnection conn); - - /** - * If there are more than two connections toggle between this and the - * previously shown connection - */ - void swapConnection(); - - void addListener(ITerminalViewConnectionListener listener); - void removeListener(ITerminalViewConnectionListener listener); - - void saveState(ISettingsStore store); - /** - * @param store - * @param factory used to create new {@link ITerminalViewConnection} - */ - void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory); - -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java deleted file mode 100644 index d6761b1ed5d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ImageConsts.java +++ /dev/null @@ -1,52 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalConsts - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Michael Scharf (Wind River) - [172483] added some more icons - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -public interface ImageConsts -{ - public final static String IMAGE_DIR_ROOT = "icons/"; //$NON-NLS-1$ - public final static String IMAGE_DIR_LOCALTOOL = "clcl16/"; // basic colors - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_DLCL = "dlcl16/"; // disabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_ELCL = "elcl16/"; // enabled - size 16x16 //$NON-NLS-1$ - public final static String IMAGE_DIR_VIEW = "cview16/"; // views //$NON-NLS-1$ - public final static String IMAGE_DIR_EVIEW = "eview16/"; // views //$NON-NLS-1$ - - public static final String IMAGE_NEW_TERMINAL = "TerminalViewNewTerminal"; //$NON-NLS-1$ - public static final String IMAGE_TERMINAL_VIEW = "TerminalView"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_CONNECT = "ImageClclConnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_DISCONNECT = "ImageClclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_SETTINGS = "ImageClclSettings"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_SCROLL_LOCK = "ImageClclScrollLock"; //$NON-NLS-1$ - - public static final String IMAGE_DLCL_CONNECT = "ImageDlclConnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_DISCONNECT = "ImageDlclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_SETTINGS = "ImageDlclSettings"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_SCROLL_LOCK = "ImageDlclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_DLCL_REMOVE = "ImageDlclRemove"; //$NON-NLS-1$ - - public static final String IMAGE_ELCL_CONNECT = "ImageElclConnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_DISCONNECT = "ImageElclDisconnect"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_SETTINGS = "ImageElclSettings"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_SCROLL_LOCK = "ImageElclScrollLock"; //$NON-NLS-1$ - public static final String IMAGE_ELCL_REMOVE = "ImageElclRemove"; //$NON-NLS-1$ - public static final String IMAGE_CLCL_COMMAND_INPUT_FIELD = "ImageClclCommandInputField";//$NON-NLS-1$ - public static final String IMAGE_ELCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ - public static final String IMAGE_DLCL_COMMAND_INPUT_FIELD = "ImageDlclCommandInputField";//$NON-NLS-1$ - } diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java deleted file mode 100644 index 637634d0c6d..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/PageBook.java +++ /dev/null @@ -1,34 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - simplified implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.swt.custom.StackLayout; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; - -/** - * A pagebook is a composite control where only a single control is visible at a - * time. It is similar to a notebook, but without tabs. - * - * @noextend This class is not intended to be subclassed by clients. - */ -public class PageBook extends Composite { - private StackLayout fLayout; - public PageBook(Composite parent, int style) { - super(parent, style); - fLayout= new StackLayout(); - setLayout(fLayout); - } - public void showPage(Control page) { - fLayout.topControl= page; - layout(); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java deleted file mode 100644 index fb1f9a0ef7f..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingStorePrefixDecorator.java +++ /dev/null @@ -1,35 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - -public class SettingStorePrefixDecorator implements ISettingsStore { - private final String fPrefix; - private final ISettingsStore fStore; - SettingStorePrefixDecorator(ISettingsStore store,String prefix) { - fPrefix=prefix; - fStore=store; - } - - public String get(String key) { - return fStore.get(fPrefix+key); - } - - public String get(String key, String defaultValue) { - return fStore.get(fPrefix+key,defaultValue); - } - - public void put(String key, String value) { - fStore.put(fPrefix+key,value); - } - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java deleted file mode 100644 index fa6b52add57..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/SettingsStore.java +++ /dev/null @@ -1,111 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.ui.IMemento; - -/** - * A {@link IDialogSettings} based {@link ISettingsStore}. - * - * Setting Store based on IMemento. IMemento documentations says only alpha numeric - * values may be used as keys. Therefore the implementation converts dots (.) into - * child elements of the memento. - * - * @author Michael Scharf - */ -class SettingsStore implements ISettingsStore { - - private static final String KEYS = "_keys_"; //$NON-NLS-1$ - final private Map fMap=new HashMap(); - public SettingsStore(IMemento memento) { - if(memento==null) - return; - // load all keys ever used from the memento - String keys=memento.getString(KEYS); - if(keys!=null) { - String[] keyNames=keys.split(","); //$NON-NLS-1$ - for (int i = 0; i < keyNames.length; i++) { - String key=keyNames[i]; - if(!KEYS.equals(key)) { - // get the dot separated elements - String[] path=key.split("\\."); //$NON-NLS-1$ - IMemento m=memento; - // iterate over all but the last segment and get the children... - for(int iPath=0; m!=null && iPath+10) - buffer.append(","); //$NON-NLS-1$ - buffer.append(key); - } - // save the keys we have used. - memento.putString(KEYS, buffer.toString()); - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java deleted file mode 100644 index 7a9789049e6..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalSettingsDlg.java +++ /dev/null @@ -1,423 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - * Uwe Stieber (Wind River) - [282996] [terminal][api] Add "hidden" attribute to terminal connector extension point - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - - -import java.nio.charset.Charset; -import java.nio.charset.IllegalCharsetNameException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.IDialogConstants; -import org.eclipse.jface.dialogs.IDialogSettings; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.graphics.Point; -import org.eclipse.swt.graphics.Rectangle; -import org.eclipse.swt.layout.GridData; -import org.eclipse.swt.layout.GridLayout; -import org.eclipse.swt.widgets.Combo; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Group; -import org.eclipse.swt.widgets.Label; -import org.eclipse.swt.widgets.MessageBox; -import org.eclipse.swt.widgets.Shell; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.ui.PlatformUI; - -class TerminalSettingsDlg extends Dialog { - private Combo fEncodingCombo; - private Combo fCtlConnTypeCombo; - private Text fTerminalTitleText; - private final ITerminalConnector[] fConnectors; - private final ISettingsPage[] fPages; - /** - * Maps the fConnectors index to the fPages index - */ - private final int[] fPageIndex; - private int fNPages; - private int fSelectedConnector; - private PageBook fPageBook; - private IDialogSettings fDialogSettings; - private String fTerminalTitle; - private String fTitle=ViewMessages.TERMINALSETTINGS; - private String fEncoding; - - public TerminalSettingsDlg(Shell shell, ITerminalConnector[] connectors, ITerminalConnector connector) { - super(shell); - fConnectors=getValidConnectors(connectors); - fPages=new ISettingsPage[fConnectors.length]; - fPageIndex=new int[fConnectors.length]; - fSelectedConnector=-1; - for (int i = 0; i < fConnectors.length; i++) { - if(fConnectors[i]==connector) - fSelectedConnector=i; - } - } - public void setTitle(String title) { - fTitle=title; - } - /** - * @param connectors - * @return connectors excluding connectors with errors - */ - private ITerminalConnector[] getValidConnectors(ITerminalConnector[] connectors) { - List list=new ArrayList(Arrays.asList(connectors)); - for (Iterator iterator = list.iterator(); iterator.hasNext();) { - ITerminalConnector info = (ITerminalConnector) iterator.next(); - if(info.isInitialized() && info.getInitializationErrorMessage()!=null || info.isHidden()) - iterator.remove(); - } - connectors=(ITerminalConnector[]) list.toArray(new ITerminalConnector[list.size()]); - return connectors; - } - ISettingsPage getPage(int i) { - if(fPages[i]==null) { - if(fConnectors[i].getInitializationErrorMessage()!=null) { - // create a error message - final ITerminalConnector conn=fConnectors[i]; - fPages[i]=new ISettingsPage(){ - public void createControl(Composite parent) { - Label l=new Label(parent,SWT.WRAP); - String error=NLS.bind(ViewMessages.CONNECTOR_NOT_AVAILABLE,conn.getName()); - l.setText(error); - l.setForeground(l.getDisplay().getSystemColor(SWT.COLOR_RED)); - String msg = NLS.bind(ViewMessages.CANNOT_INITIALIZE, conn.getName(), conn.getInitializationErrorMessage()); - // [168197] Replace JFace MessagDialog by SWT MessageBox - //MessageDialog.openError(getShell(), error, msg); - MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); - mb.setText(error); - mb.setMessage(msg); - mb.open(); - } - public void loadSettings() {} - public void saveSettings() {} - public boolean validateSettings() {return false;} - public void addListener(Listener listener) {} - public void removeListener(Listener listener) {} - }; - } else { - fPages[i]=fConnectors[i].makeSettingsPage(); - } - // TODO: what happens if an error occurs while - // the control is partly created? - fPages[i].createControl(fPageBook); - fPageIndex[i]=fNPages++; - resize(); - } - return fPages[i]; - - } - void resize() { - Point size=getShell().getSize(); - Point newSize=getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT,true); - newSize.x=Math.max(newSize.x,size.x); - newSize.y=Math.max(newSize.y,size.y); - if(newSize.x!=size.x || newSize.y!=size.y) { - setShellSize(newSize); - } else { - fPageBook.getParent().layout(); - } - } - /** - * Increase the size of this dialog's Shell by the specified amounts. - * Do not increase the size of the Shell beyond the bounds of the Display. - */ - protected void setShellSize(Point size) { - Rectangle bounds = getShell().getMonitor().getClientArea(); - getShell().setSize(Math.min(size.x, bounds.width), Math.min(size.y, bounds.height)); - } - - protected void okPressed() { - if (!validateSettings()) { - showErrorMessage(ViewMessages.INVALID_SETTINGS); - return; - } - if (!updateValidState()) { - showErrorMessage(ViewMessages.ENCODING_NOT_AVAILABLE); - return; - } - if(fSelectedConnector>=0) { - getPage(fSelectedConnector).saveSettings(); - } - fTerminalTitle=fTerminalTitleText.getText(); - fEncoding = fEncodingCombo.getText(); - super.okPressed(); - } - protected void cancelPressed() { - fSelectedConnector=-1; - super.cancelPressed(); - } - public int open() { - setShellStyle(getShellStyle() | SWT.RESIZE); - return super.open(); - } - protected void configureShell(Shell newShell) { - super.configureShell(newShell); - - newShell.setText(fTitle); - } - protected Control createDialogArea(Composite parent) { - Composite ctlComposite = (Composite) super.createDialogArea(parent); - PlatformUI.getWorkbench().getHelpSystem().setHelp(ctlComposite, TerminalViewPlugin.HELPPREFIX + "terminal_settings"); //$NON-NLS-1$ - - setupPanel(ctlComposite); - setupListeners(); - initFields(); - - return ctlComposite; - } - public void create() { - super.create(); - // initialize the OK button after creating the all dialog elements - updateOKButton(); - } - private void initFields() { - // Load controls - for (int i = 0; i < fConnectors.length; i++) { - fCtlConnTypeCombo.add(fConnectors[i].getName()); - } - int selectedConnector=getInitialConnector(); - if(selectedConnector>=0) { - fCtlConnTypeCombo.select(selectedConnector); - selectPage(selectedConnector); - } - doLoad(); - setCombo(fEncodingCombo, fEncoding); - } - /** - * @return the connector to show when the dialog opens - */ - private int getInitialConnector() { - // if there is a selection, use it - if(fSelectedConnector>=0) - return fSelectedConnector; - // try the telnet connector, because it is the cheapest - for (int i = 0; i < fConnectors.length; i++) { - if("org.eclipse.tm.internal.terminal.telnet.TelnetConnector".equals(fConnectors[i].getId())) //$NON-NLS-1$ - return i; - } - // if no telnet connector available, use the first one in the list - if(fConnectors.length>0) - return 0; - return -1; - } - private boolean validateSettings() { - if(fSelectedConnector<0) - return true; - return getPage(fSelectedConnector).validateSettings(); - } - private void setupPanel(Composite wndParent) { - setupSettingsTypePanel(wndParent); - //setupEncodingPanel(wndParent); - if(fConnectors.length>0) { - setupConnTypePanel(wndParent); - setupSettingsGroup(wndParent); - } - } - private void setupSettingsTypePanel(Composite wndParent) { - Group wndGroup; - GridLayout gridLayout; - - wndGroup = new Group(wndParent, SWT.NONE); - gridLayout = new GridLayout(2, false); - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - wndGroup.setText(ViewMessages.VIEW_SETTINGS); - - - Label label=new Label(wndGroup,SWT.NONE); - label.setText(ViewMessages.VIEW_TITLE); - label.setLayoutData(new GridData(GridData.BEGINNING)); - - fTerminalTitleText = new Text(wndGroup, SWT.BORDER); - fTerminalTitleText.setText(fTerminalTitle); - fTerminalTitleText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - Label encodingLabel=new Label(wndGroup,SWT.NONE); - encodingLabel.setText(ViewMessages.ENCODING); - encodingLabel.setLayoutData(new GridData(GridData.BEGINNING)); - - fEncodingCombo = new Combo(wndGroup, SWT.DROP_DOWN); - fEncodingCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - } - private void setupConnTypePanel(Composite wndParent) { - Group wndGroup; - GridLayout gridLayout; - GridData gridData; - - wndGroup = new Group(wndParent, SWT.NONE); - gridLayout = new GridLayout(1, true); - gridData = new GridData(GridData.FILL_HORIZONTAL); - - wndGroup.setLayout(gridLayout); - wndGroup.setLayoutData(gridData); - wndGroup.setText(ViewMessages.CONNECTIONTYPE + ":"); //$NON-NLS-1$ - - fCtlConnTypeCombo = new Combo(wndGroup, SWT.DROP_DOWN | SWT.READ_ONLY); - gridData = new GridData(GridData.FILL_HORIZONTAL); - gridData.widthHint = 200; - fCtlConnTypeCombo.setLayoutData(gridData); - } - - private void setupSettingsGroup(Composite parent) { - Group group = new Group(parent, SWT.NONE); - group.setText(ViewMessages.SETTINGS + ":"); //$NON-NLS-1$ - group.setLayout(new GridLayout()); - group.setLayoutData(new GridData(GridData.FILL_BOTH)); - fPageBook=new PageBook(group,SWT.NONE); - fPageBook.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - } - - private void setupListeners() { - if(fCtlConnTypeCombo==null) - return; - fCtlConnTypeCombo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent event) { - selectPage(fCtlConnTypeCombo.getSelectionIndex()); - } - }); - } - public ITerminalConnector getConnector() { - if(fSelectedConnector>=0) - return fConnectors[fSelectedConnector]; - return null; - } - private void selectPage(int index) { - fSelectedConnector=index; - getPage(index); - Control[] pages=fPageBook.getChildren(); - fPageBook.showPage(pages[fPageIndex[fSelectedConnector]]); - updateOKButton(); - - } - /** - * enables the OK button if the user can create a connection - */ - private void updateOKButton() { - // TODO: allow contributions to enable the OK button - // enable the OK button if we have a valid connection selected - if(getButton(IDialogConstants.OK_ID)!=null) { - boolean enable=false; - if(getConnector()!=null) - enable=getConnector().getInitializationErrorMessage()==null; - // enable the OK button if no connectors are available - if(!enable && fConnectors.length==0) - enable=true; - getButton(IDialogConstants.OK_ID).setEnabled(enable); - } - } - protected IDialogSettings getDialogBoundsSettings() { - IDialogSettings ds=TerminalViewPlugin.getDefault().getDialogSettings(); - fDialogSettings = ds.getSection(getClass().getName()); - if (fDialogSettings == null) { - fDialogSettings = ds.addNewSection(getClass().getName()); - } - return fDialogSettings; - } - public void setTerminalTitle(String partName) { - fTerminalTitle=partName; - - } - public String getTerminalTitle() { - return fTerminalTitle; - } - private void doLoad() { - if (fEncodingCombo != null) { - List encodings = new ArrayList(); - encodings.add("ISO-8859-1"); //$NON-NLS-1$ - encodings.add("UTF-8"); //$NON-NLS-1$ - //TODO when moving to J2SE-1.5, restore the simpler way getting the default encoding - //String hostEncoding =Charset.defaultCharset().displayName(); - String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); - if (!encodings.contains(hostEncoding)) - encodings.add(hostEncoding); - populateEncodingsCombo(encodings); - - } - } - private void populateEncodingsCombo(List encodings) { - String[] encodingStrings = new String[encodings.size()]; - encodings.toArray(encodingStrings); - fEncodingCombo.setItems(encodingStrings); - } - private boolean isEncodingValid() { - return isValidEncoding(fEncodingCombo.getText()); - } - private boolean isValidEncoding(String enc) { - try { - return Charset.isSupported(enc); - } catch (IllegalCharsetNameException e) { - return false; - } - - } - private boolean updateValidState() { - boolean isValid = true; - boolean isValidNow = isEncodingValid(); - if (isValidNow != isValid) { - isValid = isValidNow; - } - return isValid; - } - private void showErrorMessage(String message) { - String strTitle = ViewMessages.TERMINALSETTINGS; - MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); - mb.setText(strTitle); - mb.setMessage(message); - mb.open(); - return; - } - - private void setCombo(Combo combo,String value) { - if(value==null) - return; - int nIndex = combo.indexOf(value); - if (nIndex == -1) { - if((combo.getStyle() & SWT.READ_ONLY)==0) { - combo.add(value); - nIndex = combo.indexOf(value); - } else { - return; - } - } - - combo.select(nIndex); - - } - public String getEncoding() { - return fEncoding; - } - public void setEncoding(String fEncoding) { - this.fEncoding = fEncoding; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java deleted file mode 100644 index 029a80091cc..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalView.java +++ /dev/null @@ -1,709 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [206892] State handling: Only allow connect when CLOSED - * Michael Scharf (Wind River) - [209656] ClassCastException in TerminalView under Eclipse-3.4M3 - * Michael Scharf (Wind River) - [189774] Ctrl+V does not work in the command input field. - * Michael Scharf (Wind River) - [217999] Duplicate context menu entries in Terminal - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Michael Scharf (Wind River) - [196454] Initial connection settings dialog should not be blank - * Michael Scharf (Wind River) - [241096] Secondary terminals in same view do not observe the "invert colors" Preference - * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED - * Martin Oberhuber (Wind River) - [205486] Enable ScrollLock - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget - * Kris De Volder (VMWare) - [392092] Extend ITerminalView API to allow programmatically opening a UI-less connector - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.HashSet; -import java.util.Set; - -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.resource.JFaceResources; -import org.eclipse.jface.util.IPropertyChangeListener; -import org.eclipse.jface.util.PropertyChangeEvent; -import org.eclipse.jface.window.Window; -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.MenuEvent; -import org.eclipse.swt.events.MenuListener; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.tm.internal.terminal.actions.TerminalAction; -import org.eclipse.tm.internal.terminal.actions.TerminalActionConnect; -import org.eclipse.tm.internal.terminal.actions.TerminalActionDisconnect; -import org.eclipse.tm.internal.terminal.actions.TerminalActionNewTerminal; -import org.eclipse.tm.internal.terminal.actions.TerminalActionRemove; -import org.eclipse.tm.internal.terminal.actions.TerminalActionScrollLock; -import org.eclipse.tm.internal.terminal.actions.TerminalActionSelectionDropDown; -import org.eclipse.tm.internal.terminal.actions.TerminalActionSettings; -import org.eclipse.tm.internal.terminal.actions.TerminalActionToggleCommandInputField; -import org.eclipse.tm.internal.terminal.control.ITerminalListener; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCut; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; -import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; -import org.eclipse.tm.internal.terminal.preferences.ITerminalConstants; -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.LayeredSettingsStore; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.PreferenceSettingStore; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionFactory; -import org.eclipse.tm.internal.terminal.view.ITerminalViewConnectionManager.ITerminalViewConnectionListener; -import org.eclipse.ui.IMemento; -import org.eclipse.ui.IViewPart; -import org.eclipse.ui.IViewReference; -import org.eclipse.ui.IViewSite; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.part.ViewPart; - -public class TerminalView extends ViewPart implements ITerminalView, ITerminalViewConnectionListener { - private static final String PREF_CONNECTORS = "Connectors."; //$NON-NLS-1$ - - private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ - - private static final String STORE_SETTING_SUMMARY = "SettingSummary"; //$NON-NLS-1$ - - private static final String STORE_TITLE = "Title"; //$NON-NLS-1$ - - public static final String FONT_DEFINITION = ITerminalConstants.FONT_DEFINITION; - - protected ITerminalViewControl fCtlTerminal; - - // TODO (scharf): this decorator is only there to deal wit the common - // actions. Find a better solution. - TerminalViewControlDecorator fCtlDecorator=new TerminalViewControlDecorator(); - - protected TerminalAction fActionTerminalNewTerminal; - - protected TerminalAction fActionTerminalConnect; - - private TerminalAction fActionTerminalScrollLock; - - protected TerminalAction fActionTerminalDisconnect; - - protected TerminalAction fActionTerminalSettings; - - protected TerminalActionCopy fActionEditCopy; - - protected TerminalActionCut fActionEditCut; - - protected TerminalActionPaste fActionEditPaste; - - protected TerminalActionClearAll fActionEditClearAll; - - protected TerminalActionSelectAll fActionEditSelectAll; - - protected TerminalAction fActionToggleCommandInputField; - - protected TerminalPropertyChangeHandler fPropertyChangeHandler; - - protected Action fActionTerminalDropDown; - protected Action fActionTerminalRemove; - - protected boolean fMenuAboutToShow; - - private SettingsStore fStore; - - private final ITerminalViewConnectionManager fMultiConnectionManager=new TerminalViewConnectionManager(); - - private PageBook fPageBook; - - /** - * This listener updates both, the view and the - * ITerminalViewConnection. - * - */ - class TerminalListener implements ITerminalListener { - volatile ITerminalViewConnection fConnection; - void setConnection(ITerminalViewConnection connection) { - fConnection=connection; - } - public void setState(final TerminalState state) { - runInDisplayThread(new Runnable() { - public void run() { - fConnection.setState(state); - // if the active connection changes, update the view - if(fConnection==fMultiConnectionManager.getActiveConnection()) { - updateStatus(); - } - } - }); - } - public void setTerminalTitle(final String title) { - runInDisplayThread(new Runnable() { - public void run() { - fConnection.setTerminalTitle(title); - // if the active connection changes, update the view - if(fConnection==fMultiConnectionManager.getActiveConnection()) { - updateSummary(); - } - } - }); - } - /** - * @param runnable run in display thread - */ - private void runInDisplayThread(Runnable runnable) { - if(Display.findDisplay(Thread.currentThread())!=null) - runnable.run(); - else if(PlatformUI.isWorkbenchRunning()) - PlatformUI.getWorkbench().getDisplay().syncExec(runnable); - // else should not happen and we ignore it... - } - - } - - public TerminalView() { - Logger - .log("==============================================================="); //$NON-NLS-1$ - fMultiConnectionManager.addListener(this); - } - - /** - * @param title - * @return a unique part name - */ - String findUniqueTitle(String title) { - IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages(); - String id= getViewSite().getId(); - Set names=new HashSet(); - for (int i = 0; i < pages.length; i++) { - IViewReference[] views = pages[i].getViewReferences(); - for (int j = 0; j < views.length; j++) { - IViewReference view = views[j]; - // only look for views with the same ID - if(id.equals(view.getId())) { - String name=view.getTitle(); - if(name!=null) - names.add(view.getPartName()); - } - } - } - // find a unique name - int i=1; - String uniqueTitle=title; - while(true) { - if(!names.contains(uniqueTitle)) - return uniqueTitle; - uniqueTitle=title+" "+i++; //$NON-NLS-1$ - } - } - - /** - * Display a new Terminal view. This method is called when the user clicks the New - * Terminal button in any Terminal view's toolbar. - */ - public void onTerminalNewTerminal() { - Logger.log("creating new Terminal instance."); //$NON-NLS-1$ - setupControls(); - if(newConnection(ViewMessages.NEW_TERMINAL_CONNECTION)==null) { - fMultiConnectionManager.removeActive(); - } - } - - /** - * Programmatically create a new terminal connection within the view. This method - * does the same thing as onTerminalNewTerminal, but instead of popping up a settings - * dialog to allow the user fill in connection details, a connector is provided as - * a parameter. The connector should have all of its details pre-configured so it can - * be opened without requiring user input. - */ - public void newTerminal(ITerminalConnector c) { - this.setupControls(); - if(c!=null) { - this.setConnector(c); - this.onTerminalConnect(); - } - } - - public void onTerminalNewView() { - try { - // The second argument to showView() is a unique String identifying the - // secondary view instance. If it ever matches a previously used secondary - // view identifier, then this call will not create a new Terminal view, - // which is undesirable. Therefore, we append the active time in - // milliseconds to the secondary view identifier to ensure it is always - // unique. This code runs only when the user clicks the New Terminal - // button, so there is no risk that this code will run twice in a single - // millisecond. - IViewPart newTerminalView = getSite().getPage().showView( - "org.eclipse.tm.terminal.view.TerminalView",//$NON-NLS-1$ - "SecondaryTerminal" + System.currentTimeMillis(), //$NON-NLS-1$ - IWorkbenchPage.VIEW_ACTIVATE); - if(newTerminalView instanceof ITerminalView) { - ITerminalConnector c = ((TerminalView)newTerminalView).newConnection(ViewMessages.NEW_TERMINAL_VIEW); - // if there is no connector selected, hide the new view - if(c==null) { - getSite().getPage().hideView(newTerminalView); - } - } - } catch (PartInitException ex) { - Logger.logException(ex); - } - } - - - public void onTerminalConnect() { - //if (isConnected()) - if (fCtlTerminal.getState()!=TerminalState.CLOSED) - return; - if(fCtlTerminal.getTerminalConnector()==null) - setConnector(showSettingsDialog(ViewMessages.TERMINALSETTINGS)); - setEncoding(getActiveConnection().getEncoding()); - fCtlTerminal.connectTerminal(); - } - - public void updateStatus() { - updateTerminalConnect(); - updateTerminalDisconnect(); - updateTerminalSettings(); - fActionToggleCommandInputField.setChecked(hasCommandInputField()); - fActionTerminalScrollLock.setChecked(isScrollLock()); - updateSummary(); - } - - public void updateTerminalConnect() { - //boolean bEnabled = ((!isConnecting()) && (!fCtlTerminal.isConnected())); - boolean bEnabled = (fCtlTerminal.getState()==TerminalState.CLOSED); - - fActionTerminalConnect.setEnabled(bEnabled); - } - - private boolean isConnecting() { - return fCtlTerminal.getState()==TerminalState.CONNECTING; - } - - public void onTerminalDisconnect() { - fCtlTerminal.disconnectTerminal(); - } - - public void updateTerminalDisconnect() { - boolean bEnabled = ((isConnecting()) || (fCtlTerminal.isConnected())); - fActionTerminalDisconnect.setEnabled(bEnabled); - } - - public void onTerminalSettings() { - newConnection(null); - } - - private ITerminalConnector newConnection(String title) { - ITerminalConnector c=showSettingsDialog(title); - if(c!=null) { - setConnector(c); - onTerminalConnect(); - } - return c; - } - - private ITerminalConnector showSettingsDialog(String title) { - // When the settings dialog is opened, load the Terminal settings from the - // persistent settings. - - ITerminalConnector[] connectors = fCtlTerminal.getConnectors(); - if(fCtlTerminal.getState()!=TerminalState.CLOSED) - connectors=new ITerminalConnector[0]; - // load the state from the settings - // first load from fStore and then from the preferences. - ITerminalConnector c = loadSettings(new LayeredSettingsStore(fStore,getPreferenceSettingsStore()), connectors); - // if we have no connector show the one from the settings - if(fCtlTerminal.getTerminalConnector()!=null) - c=fCtlTerminal.getTerminalConnector(); - TerminalSettingsDlg dlgTerminalSettings = new TerminalSettingsDlg(getViewSite().getShell(),connectors,c); - dlgTerminalSettings.setTerminalTitle(getActiveConnection().getPartName()); - dlgTerminalSettings.setEncoding(getActiveConnection().getEncoding()); - if(title!=null) - dlgTerminalSettings.setTitle(title); - Logger.log("opening Settings dialog."); //$NON-NLS-1$ - - if (dlgTerminalSettings.open() == Window.CANCEL) { - Logger.log("Settings dialog cancelled."); //$NON-NLS-1$ - return null; - } - - Logger.log("Settings dialog OK'ed."); //$NON-NLS-1$ - - // When the settings dialog is closed, we persist the Terminal settings. - saveSettings(fStore,dlgTerminalSettings.getConnector()); - // we also save it in the preferences. This will keep the last change - // made to this connector as default... - saveSettings(getPreferenceSettingsStore(), dlgTerminalSettings.getConnector()); - - setViewTitle(dlgTerminalSettings.getTerminalTitle()); - setEncoding(dlgTerminalSettings.getEncoding()); - return dlgTerminalSettings.getConnector(); - } - - private void setEncoding(String encoding) { - getActiveConnection().setEncoding(encoding); - updateSummary(); - } - - private void setConnector(ITerminalConnector connector) { - fCtlTerminal.setConnector(connector); - } - - public void updateTerminalSettings() { -// fActionTerminalSettings.setEnabled((fCtlTerminal.getState()==TerminalState.CLOSED)); - } - private void setViewTitle(String title) { - setPartName(title); - getActiveConnection().setPartName(title); - } - private void setViewSummary(String summary) { - setContentDescription(summary); - getViewSite().getActionBars().getStatusLineManager().setMessage( - summary); - setTitleToolTip(getPartName()+": "+summary); //$NON-NLS-1$ - - } - public void updateSummary() { - setViewSummary(getActiveConnection().getFullSummary()); - } - - public void onTerminalFontChanged() { - // set the font for all - empty hook for extenders - } - - // ViewPart interface - - public void createPartControl(Composite wndParent) { - // Bind plugin.xml key bindings to this plugin. Overrides global Control-W key - // sequence. - - fPageBook=new PageBook(wndParent,SWT.NONE); - ISettingsStore s=new SettingStorePrefixDecorator(fStore,"connectionManager"); //$NON-NLS-1$ - fMultiConnectionManager.loadState(s,new ITerminalViewConnectionFactory() { - public ITerminalViewConnection create() { - return makeViewConnection(); - } - }); - // if there is no connection loaded, create at least one - // needed to read old states from the old terminal - if(fMultiConnectionManager.size()==0) { - ITerminalViewConnection conn = makeViewConnection(); - fMultiConnectionManager.addConnection(conn); - fMultiConnectionManager.setActiveConnection(conn); - fPageBook.showPage(fCtlTerminal.getRootControl()); - } - setTerminalControl(fMultiConnectionManager.getActiveConnection().getCtlTerminal()); - setViewTitle(findUniqueTitle(ViewMessages.PROP_TITLE)); - setupActions(); - setupLocalToolBars(); - // setup all context menus - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - setupContextMenus(conn[i].getCtlTerminal().getControl()); - } - setupListeners(wndParent); - - PlatformUI.getWorkbench().getHelpSystem().setHelp(wndParent, TerminalViewPlugin.HELPPREFIX + "terminal_page"); //$NON-NLS-1$ - - legacyLoadState(); - legacySetTitle(); - - refresh(); - onTerminalFontChanged(); - - } - - public void dispose() { - Logger.log("entered."); //$NON-NLS-1$ - - JFaceResources.getFontRegistry().removeListener(fPropertyChangeHandler); - - // dispose all connections - ITerminalViewConnection[] conn=fMultiConnectionManager.getConnections(); - for (int i = 0; i < conn.length; i++) { - conn[i].getCtlTerminal().disposeTerminal(); - } - super.dispose(); - } - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() { - fCtlTerminal.setFocus(); - } - - /** - * This method creates the top-level control for the Terminal view. - */ - protected void setupControls() { - ITerminalViewConnection conn = makeViewConnection(); - fMultiConnectionManager.addConnection(conn); - fMultiConnectionManager.setActiveConnection(conn); - setupContextMenus(fCtlTerminal.getControl()); - } - - private ITerminalViewConnection makeViewConnection() { - ITerminalConnector[] connectors = makeConnectors(); - TerminalListener listener=new TerminalListener(); - ITerminalViewControl ctrl = TerminalViewControlFactory.makeControl(listener, fPageBook, connectors, true); - setTerminalControl(ctrl); - ITerminalViewConnection conn = new TerminalViewConnection(fCtlTerminal); - listener.setConnection(conn); - conn.setPartName(getPartName()); - // load from settings - ITerminalConnector connector = loadSettings(fStore,connectors); - // set the connector.... - ctrl.setConnector(connector); - - return conn; - } - - /** - * @param store contains the data - * @param connectors loads the data from store - * @return null or the currently selected connector - */ - private ITerminalConnector loadSettings(ISettingsStore store, ITerminalConnector[] connectors) { - ITerminalConnector connector=null; - String connectionType=store.get(STORE_CONNECTION_TYPE); - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(store,connectors[i])); - if(connectors[i].getId().equals(connectionType)) - connector=connectors[i]; - } - return connector; - } - - /** - * @return a list of connectors this view can use - */ - protected ITerminalConnector[] makeConnectors() { - ITerminalConnector[] connectors=TerminalConnectorExtension.makeTerminalConnectors(); - return connectors; - } - - /** - * The preference setting store is used to save the settings that are - * shared between all views. - * @return the settings store for the connection based on the preferences. - * - */ - private PreferenceSettingStore getPreferenceSettingsStore() { - return new PreferenceSettingStore(TerminalViewPlugin.getDefault().getPluginPreferences(),PREF_CONNECTORS); - } - /** - * @param store the settings will be saved in this store - * @param connector the connector that will be saved. Can be null. - */ - private void saveSettings(ISettingsStore store, ITerminalConnector connector) { - if(connector!=null) { - connector.save(getStore(store, connector)); - // the last saved connector becomes the default - store.put(STORE_CONNECTION_TYPE,connector.getId()); - } - - } - public void init(IViewSite site, IMemento memento) throws PartInitException { - super.init(site, memento); - fStore=new SettingsStore(memento); - } - public void saveState(IMemento memento) { - super.saveState(memento); - fStore.put(STORE_TITLE,getPartName()); - fMultiConnectionManager.saveState(new SettingStorePrefixDecorator(fStore,"connectionManager")); //$NON-NLS-1$ - fStore.saveState(memento); - } - private ISettingsStore getStore(ISettingsStore store, ITerminalConnector connector) { - return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ - } - - protected void setupActions() { - fActionTerminalDropDown = new TerminalActionSelectionDropDown(fMultiConnectionManager); - fActionTerminalRemove=new TerminalActionRemove(fMultiConnectionManager); - fActionTerminalNewTerminal = new TerminalActionNewTerminal(this); - fActionTerminalScrollLock = new TerminalActionScrollLock(this); - fActionTerminalConnect = new TerminalActionConnect(this); - fActionTerminalDisconnect = new TerminalActionDisconnect(this); - fActionTerminalSettings = new TerminalActionSettings(this); - fActionEditCopy = new TerminalActionCopy(fCtlDecorator); - fActionEditCut = new TerminalActionCut(fCtlDecorator); - fActionEditPaste = new TerminalActionPaste(fCtlDecorator); - fActionEditClearAll = new TerminalActionClearAll(fCtlDecorator); - fActionEditSelectAll = new TerminalActionSelectAll(fCtlDecorator); - fActionToggleCommandInputField = new TerminalActionToggleCommandInputField(this); - } - protected void setupLocalToolBars() { - IToolBarManager toolBarMgr = getViewSite().getActionBars().getToolBarManager(); - - toolBarMgr.add(fActionTerminalConnect); - toolBarMgr.add(fActionTerminalDisconnect); - toolBarMgr.add(fActionTerminalSettings); - toolBarMgr.add(fActionToggleCommandInputField); - toolBarMgr.add(fActionTerminalScrollLock); - toolBarMgr.add(new Separator("fixedGroup")); //$NON-NLS-1$ - toolBarMgr.add(fActionTerminalDropDown); - toolBarMgr.add(fActionTerminalNewTerminal); - toolBarMgr.add(fActionTerminalRemove); - } - - protected void setupContextMenus(Control ctlText) { - MenuManager menuMgr; - Menu menu; - TerminalContextMenuHandler contextMenuHandler; - - menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$ - menu = menuMgr.createContextMenu(ctlText); - loadContextMenus(menuMgr); - contextMenuHandler = new TerminalContextMenuHandler(); - - ctlText.setMenu(menu); - menuMgr.addMenuListener(contextMenuHandler); - menu.addMenuListener(contextMenuHandler); - } - - protected void loadContextMenus(IMenuManager menuMgr) { - menuMgr.add(fActionEditCopy); - menuMgr.add(fActionEditPaste); - menuMgr.add(new Separator()); - menuMgr.add(fActionEditClearAll); - menuMgr.add(fActionEditSelectAll); - menuMgr.add(new Separator()); - menuMgr.add(fActionToggleCommandInputField); - menuMgr.add(fActionTerminalScrollLock); - - - // Other plug-ins can contribute there actions here - menuMgr.add(new Separator("Additions")); //$NON-NLS-1$ - } - - protected void setupListeners(Composite wndParent) { - fPropertyChangeHandler = new TerminalPropertyChangeHandler(); - JFaceResources.getFontRegistry().addListener(fPropertyChangeHandler); - } - - protected class TerminalContextMenuHandler implements MenuListener, IMenuListener { - public void menuHidden(MenuEvent event) { - fMenuAboutToShow = false; - fActionEditCopy.updateAction(fMenuAboutToShow); - } - - public void menuShown(MenuEvent e) { - // - } - public void menuAboutToShow(IMenuManager menuMgr) { - fMenuAboutToShow = true; - fActionEditCopy.updateAction(fMenuAboutToShow); - fActionEditCut.updateAction(fMenuAboutToShow); - fActionEditSelectAll.updateAction(fMenuAboutToShow); - fActionEditPaste.updateAction(fMenuAboutToShow); - fActionEditClearAll.updateAction(fMenuAboutToShow); - } - } - - protected class TerminalPropertyChangeHandler implements IPropertyChangeListener { - public void propertyChange(PropertyChangeEvent event) { - if (event.getProperty().equals(FONT_DEFINITION)) { - onTerminalFontChanged(); - } - } - } - - public boolean hasCommandInputField() { - return getActiveConnection().hasCommandInputField(); - } - - public void setCommandInputField(boolean on) { - getActiveConnection().setCommandInputField(on); - } - - public boolean isScrollLock() { - return fCtlTerminal.isScrollLock(); - } - - public void setScrollLock(boolean on) { - fCtlTerminal.setScrollLock(on); - } - - private ITerminalViewConnection getActiveConnection() { - return fMultiConnectionManager.getActiveConnection(); - } - /** - * @param ctrl this control becomes the currently used one - */ - private void setTerminalControl(ITerminalViewControl ctrl) { - fCtlTerminal=ctrl; - fCtlDecorator.setViewContoler(ctrl); - } - public void connectionsChanged() { - if(getActiveConnection()!=null) { - // update the active {@link ITerminalViewControl} - ITerminalViewControl ctrl = getActiveConnection().getCtlTerminal(); - if(fCtlTerminal!=ctrl) { - setTerminalControl(ctrl); - refresh(); - } - } - } - - /** - * Show the active {@link ITerminalViewControl} in the view - */ - private void refresh() { - fPageBook.showPage(fCtlTerminal.getRootControl()); - updateStatus(); - setPartName(getActiveConnection().getPartName()); - } - /** - * TODO REMOVE This code (added 2008-06-11) - * Legacy code to real the old state. Once the state of the - * terminal has been saved this method is not needed anymore. - * Remove this code with eclipse 3.5. - */ - private void legacyLoadState() { - // TODO legacy: load the old title.... - String summary=fStore.get(STORE_SETTING_SUMMARY); - if(summary!=null) { - getActiveConnection().setSummary(summary); - fStore.put(STORE_SETTING_SUMMARY,null); - } - } - /** - * TODO REMOVE This code (added 2008-06-11) - * Legacy code to real the old state. Once the state of the - * terminal has been saved this method is not needed anymore. - * Remove this code with eclipse 3.5. - */ - private void legacySetTitle() { - // restore the title of this view - String title=fStore.get(STORE_TITLE); - if(title!=null && title.length()>0) { - setViewTitle(title); - fStore.put(STORE_TITLE, null); - } - } - -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java deleted file mode 100644 index 576c281811e..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnection.java +++ /dev/null @@ -1,237 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Michael Scharf (Wind River) - [240097] Allow paste with the middle mouse button - * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED - * Anton Leherbauer (Wind River) - [335021] Middle mouse button copy/paste does not work with the terminal - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.io.UnsupportedEncodingException; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.osgi.util.NLS; -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.dnd.DND; -import org.eclipse.swt.dnd.TextTransfer; -import org.eclipse.swt.events.MouseAdapter; -import org.eclipse.swt.events.MouseEvent; -import org.eclipse.tm.internal.terminal.control.CommandInputFieldWithHistory; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -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.Logger; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -/** - * This class represents one connection. The connection might be - * closed or open. - * - */ -class TerminalViewConnection implements ITerminalViewConnection { - private static final String STORE_SUMMARY = "Summary"; //$NON-NLS-1$ - private static final String STORE_PART_NAME = "PartName"; //$NON-NLS-1$ - private static final String STORE_CONNECTION_TYPE = "ConnectionType"; //$NON-NLS-1$ - private static final String STORE_HAS_COMMAND_INPUT_FIELD = "HasCommandInputField"; //$NON-NLS-1$ - private static final String STORE_COMMAND_INPUT_FIELD_HISTORY = "CommandInputFieldHistory"; //$NON-NLS-1$ - private static final String STORE_ENCODING="Encoding"; //$NON-NLS-1$ - final private ITerminalViewControl fCtlTerminal; - private String fTitle; - private String fSummary; - private String fHistory; - private CommandInputFieldWithHistory fCommandInputField; - private String fPartName; - private String fEncoding; - - public TerminalViewConnection(ITerminalViewControl ctl) { - fCtlTerminal = ctl; - fCtlTerminal.getControl().addMouseListener(new MouseAdapter(){ - public void mouseDown(MouseEvent e) { - // paste when the middle button is clicked - if (e.button == 2) { // middle button - int clipboardType = DND.SELECTION_CLIPBOARD; - Clipboard clipboard = fCtlTerminal.getClipboard(); - if (clipboard.getAvailableTypes(clipboardType).length == 0) - // use normal clipboard if selection clipboard is not available - clipboardType = DND.CLIPBOARD; - String text = (String) clipboard.getContents(TextTransfer.getInstance(), clipboardType); - if (text != null && text.length() > 0) - fCtlTerminal.pasteString(text); - } - } - }); - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.actions.ITerminalViewConnection#getName() - */ - public String getFullSummary() { - // if the title is set, then we return the title, else the summary - if(fTitle==null) - return makeSummary(); - return fTitle; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.view.ITerminalViewConnection#getImageDescriptor() - */ - public ImageDescriptor getImageDescriptor() { - return TerminalViewPlugin.getDefault().getImageRegistry().getDescriptor(ImageConsts.IMAGE_TERMINAL_VIEW); - } - - public ITerminalViewControl getCtlTerminal() { - return fCtlTerminal; - } - private ISettingsStore getStore(ISettingsStore store,ITerminalConnector connector) { - return new SettingStorePrefixDecorator(store,connector.getId()+"."); //$NON-NLS-1$ - } - public void loadState(ISettingsStore store) { - fPartName=store.get(STORE_PART_NAME); - fSummary=store.get(STORE_SUMMARY); - fHistory=store.get(STORE_COMMAND_INPUT_FIELD_HISTORY); - fEncoding=store.get(STORE_ENCODING); - // load the state of the connection types - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - String connectionType=store.get(STORE_CONNECTION_TYPE); - for (int i = 0; i < connectors.length; i++) { - connectors[i].load(getStore(store,connectors[i])); - // if this is active connection type - if(connectors[i].getId().equals(connectionType)) - fCtlTerminal.setConnector(connectors[i]); - } - - if("true".equals(store.get(STORE_HAS_COMMAND_INPUT_FIELD))) //$NON-NLS-1$ - setCommandInputField(true); - } - - public void saveState(ISettingsStore store) { - store.put(STORE_PART_NAME, fPartName); - store.put(STORE_SUMMARY,fSummary); - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_ENCODING, fEncoding); - if(fCommandInputField!=null) - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fCommandInputField.getHistory()); - else - store.put(STORE_COMMAND_INPUT_FIELD_HISTORY, fHistory); - store.put(STORE_HAS_COMMAND_INPUT_FIELD,hasCommandInputField()?"true":"false"); //$NON-NLS-1$//$NON-NLS-2$ - ITerminalConnector[] connectors=fCtlTerminal.getConnectors(); - for (int i = 0; i < connectors.length; i++) { - connectors[i].save(getStore(store,connectors[i])); - } - if(fCtlTerminal.getTerminalConnector()!=null) { - store.put(STORE_CONNECTION_TYPE,fCtlTerminal.getTerminalConnector().getId()); - } - } - public boolean hasCommandInputField() { - return fCommandInputField!=null; - } - public void setCommandInputField(boolean on) { - // save the old history - if(fCommandInputField!=null) { - fHistory= fCommandInputField.getHistory(); - fCommandInputField=null; - } - if(on) { - // TODO make history size configurable - fCommandInputField=new CommandInputFieldWithHistory(100); - fCommandInputField.setHistory(fHistory); - } - fCtlTerminal.setCommandInputField(fCommandInputField); - } - - public void setState(TerminalState state) { - // update the title.... - fTitle=null; - } - - public void setTerminalTitle(String title) { - // When parameter 'title' is not null, it is a String containing text to - // display in the view's content description line. This is used by class - // TerminalText when it processes an ANSI OSC escape sequence that commands - // the terminal to display text in its title bar. - fTitle=title; - } - - private String getStateDisplayName(TerminalState state) { - if(state==TerminalState.CONNECTED) { - return ViewMessages.STATE_CONNECTED; - } else if(state==TerminalState.CONNECTING) { - return ViewMessages.STATE_CONNECTING; - } else if(state==TerminalState.CLOSED) { - return ViewMessages.STATE_CLOSED; - } else { - throw new IllegalStateException(state.toString()); - } - } - - private String makeSummary() { - String strTitle = ""; //$NON-NLS-1$ - if(fCtlTerminal.getTerminalConnector()==null){ - strTitle=ViewMessages.NO_CONNECTION_SELECTED; - } else { - // When parameter 'data' is null, we construct a descriptive string to - // display in the content description line. - String strConnected = getStateDisplayName(fCtlTerminal.getState()); - String summary = getSettingsSummary(); - String encoding=getEncoding(); - //TODO Title should use an NLS String and com.ibm.icu.MessageFormat - //In order to make the logic of assembling, and the separators, better adapt to foreign languages - if(summary.length()>0) - summary=summary+" - "; //$NON-NLS-1$ - String name=fCtlTerminal.getTerminalConnector().getName(); - if(name.length()>0) { - name+=": "; //$NON-NLS-1$ - } - if (encoding.length()>0) { - encoding = NLS.bind(ViewMessages.ENCODING_WITH_PARENTHESES, encoding); - //encoding=ViewMessages.ENCODING+" "+"("+encoding+")"; //$NON-NLS-1$//$NON-NLS-2$ //$NON-NLS-3$ - } - strTitle = name + "("+ summary + strConnected + ")"+" - "+encoding; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - return strTitle; - } - /** - * @return the setting summary. If there is no connection, or the connection - * has not been initialized, use the last stored state. - */ - private String getSettingsSummary() { - if(fCtlTerminal.getTerminalConnector().isInitialized()) - fSummary=fCtlTerminal.getSettingsSummary(); - if(fSummary==null) - return ""; //$NON-NLS-1$ - return fSummary; - } - - public void setSummary(String summary) { - fSummary=summary; - } - - public String getPartName() { - return fPartName==null?ViewMessages.PROP_TITLE:fPartName; - } - - public void setPartName(String name) { - fPartName=name; - - } - public String getEncoding() { - return fEncoding==null?fCtlTerminal.getEncoding():fEncoding; - } - - public void setEncoding(String fEncoding) { - try { - fCtlTerminal.setEncoding(fEncoding); - this.fEncoding = fEncoding; - } catch (UnsupportedEncodingException uex) { - Logger.logException(uex); - } - - } -} \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java deleted file mode 100644 index 3ba1a308e75..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewConnectionManager.java +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; - -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; - -public class TerminalViewConnectionManager implements ITerminalViewConnectionManager { - private static final String STORE_CONNECTION_PREFIX = "connection"; //$NON-NLS-1$ - private static final String STORE_SIZE = "size"; //$NON-NLS-1$ - private static final String STORE_ACTIVE_CONNECTION = "active"; //$NON-NLS-1$ - /** - * The list of {@link ITerminalViewConnection} in the order they were cerated. - * Ordered by creation time - */ - private final List fConnections=new ArrayList(); - /** - * The currently displayed connection - */ - private ITerminalViewConnection fActiveConnection; - /** - * The list of {@link ITerminalViewConnection} in the order they - * were made the active connection. The most recently accessed - * connection is at the beginning of the list. - */ - private final List fConnectionHistory=new ArrayList(); - /** - * The {@link ITerminalViewConnectionListener} - */ - private final List fListeners=new ArrayList(); - - public ITerminalViewConnection[] getConnections() { - return (ITerminalViewConnection[]) fConnections.toArray(new ITerminalViewConnection[fConnections.size()]); - } - - public int size() { // TODO Auto-generated method stub - return fConnections.size(); - } - - public ITerminalViewConnection getActiveConnection() { - return fActiveConnection; - } - public void setActiveConnection(ITerminalViewConnection conn) { - fActiveConnection=conn; - // put the connection at the end of the history list - fConnectionHistory.remove(conn); - fConnectionHistory.add(0,conn); - - fireListeners(); - } - - public void swapConnection() { - ITerminalViewConnection conn=getPreviousConnection(); - if(conn!=null) - setActiveConnection(conn); - } - - /** - * @return the connection that was most recently the active connection or null if there is - * no previous connection - */ - private ITerminalViewConnection getPreviousConnection() { - // find the first connection that is not the active connection in - // the list - for (Iterator iterator = fConnectionHistory.iterator(); iterator.hasNext();) { - ITerminalViewConnection conn = (ITerminalViewConnection) iterator.next(); - if(conn!=fActiveConnection) { - return conn; - } - } - return null; - } - - public void addConnection(ITerminalViewConnection conn) { - fConnections.add(conn); - fireListeners(); - } - public void removeConnection(ITerminalViewConnection conn) { - fConnections.remove(conn); - fConnectionHistory.remove(conn); - fireListeners(); - } - - public void addListener(ITerminalViewConnectionListener listener) { - fListeners.add(listener); - } - - public void removeListener(ITerminalViewConnectionListener listener) { - fListeners.remove(listener); - } - protected void fireListeners() { - ITerminalViewConnectionListener[] listeners=(ITerminalViewConnectionListener[]) fListeners.toArray(new ITerminalViewConnectionListener[fListeners.size()]); - for (int i = 0; i < listeners.length; i++) { - listeners[i].connectionsChanged(); - } - } - - public void saveState(ISettingsStore store) { - store.put(STORE_SIZE,""+fConnections.size()); //$NON-NLS-1$ - // save all connections - int n=0; - for (Iterator iterator = fConnections.iterator(); iterator.hasNext();) { - ITerminalViewConnection connection = (ITerminalViewConnection) iterator.next(); - // the name under which we store the connection - String prefix=STORE_CONNECTION_PREFIX+n; - n++; - // remember the active connection by its prefix - if(connection.equals(fActiveConnection)) - store.put(STORE_ACTIVE_CONNECTION,prefix); - connection.saveState(new SettingStorePrefixDecorator(store,prefix)); - } - } - - public void loadState(ISettingsStore store,ITerminalViewConnectionFactory factory) { - int size=0; - try { - size=Integer.parseInt(store.get(STORE_SIZE)); - } catch(Exception e) { - // ignore - } - if(size>0) { - // a slot for the connections - String active=store.get(STORE_ACTIVE_CONNECTION); - int n=0; - for (int i=0;i1) { - fConnections.remove(fActiveConnection); - fConnectionHistory.remove(fActiveConnection); - - // make sure connection is not null.... - fActiveConnection=getPreviousConnection(); - // if there is no previous connection then make - // the first connection the list the active connection - if(fActiveConnection==null) - fActiveConnection=(ITerminalViewConnection) fConnections.get(0); - - fireListeners(); - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java deleted file mode 100644 index 7443f1d5922..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewControlDecorator.java +++ /dev/null @@ -1,172 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.io.UnsupportedEncodingException; - -import org.eclipse.swt.dnd.Clipboard; -import org.eclipse.swt.graphics.Font; -import org.eclipse.swt.widgets.Control; -import org.eclipse.tm.internal.terminal.control.ICommandInputField; -import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; - -// TODO (scharf): this decorator is only there to deal with the common -// actions. Find a better solution. -public class TerminalViewControlDecorator implements ITerminalViewControl { - ITerminalViewControl fViewContoler; - - public void clearTerminal() { - fViewContoler.clearTerminal(); - } - - public void connectTerminal() { - fViewContoler.connectTerminal(); - } - - public void copy() { - fViewContoler.copy(); - } - - public void disconnectTerminal() { - fViewContoler.disconnectTerminal(); - } - - public void disposeTerminal() { - fViewContoler.disposeTerminal(); - } - - public int getBufferLineLimit() { - return fViewContoler.getBufferLineLimit(); - } - - public Clipboard getClipboard() { - return fViewContoler.getClipboard(); - } - - public ICommandInputField getCommandInputField() { - return fViewContoler.getCommandInputField(); - } - - public ITerminalConnector[] getConnectors() { - return fViewContoler.getConnectors(); - } - - public Control getControl() { - return fViewContoler.getControl(); - } - - public String getEncoding() { - return fViewContoler.getEncoding(); - } - - public Font getFont() { - return fViewContoler.getFont(); - } - - public Control getRootControl() { - return fViewContoler.getRootControl(); - } - - public String getSelection() { - return fViewContoler.getSelection(); - } - - public String getSettingsSummary() { - return fViewContoler.getSettingsSummary(); - } - - public TerminalState getState() { - return fViewContoler.getState(); - } - - public ITerminalConnector getTerminalConnector() { - return fViewContoler.getTerminalConnector(); - } - - public boolean isConnected() { - return fViewContoler.isConnected(); - } - - public boolean isDisposed() { - return fViewContoler.isDisposed(); - } - - public boolean isEmpty() { - return fViewContoler.isEmpty(); - } - - public boolean isScrollLock() { - return fViewContoler.isScrollLock(); - } - - public void paste() { - fViewContoler.paste(); - } - - public boolean pasteString(String string) { - return fViewContoler.pasteString(string); - } - - public void selectAll() { - fViewContoler.selectAll(); - } - - public void sendKey(char arg0) { - fViewContoler.sendKey(arg0); - } - - public void setBufferLineLimit(int bufferLineLimit) { - fViewContoler.setBufferLineLimit(bufferLineLimit); - } - - public void setCommandInputField(ICommandInputField inputField) { - fViewContoler.setCommandInputField(inputField); - } - - public void setConnector(ITerminalConnector connector) { - fViewContoler.setConnector(connector); - } - - public void setEncoding(String encoding) throws UnsupportedEncodingException { - fViewContoler.setEncoding(encoding); - } - - public void setFocus() { - fViewContoler.setFocus(); - } - - public void setFont(Font font) { - fViewContoler.setFont(font); - } - - public void setFont(String fontName) { - fViewContoler.setFont(fontName); - } - - public void setInvertedColors(boolean invert) { - fViewContoler.setInvertedColors(invert); - } - - public void setScrollLock(boolean on) { - fViewContoler.setScrollLock(on); - } - - public ITerminalViewControl getViewContoler() { - return fViewContoler; - } - - public void setViewContoler(ITerminalViewControl viewContoler) { - fViewContoler = viewContoler; - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java deleted file mode 100644 index a476924cfb4..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/TerminalViewPlugin.java +++ /dev/null @@ -1,128 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Anna Dushistova (MontaVista) - [227537] moved actions from terminal.view to terminal plugin - * Martin Oberhuber (Wind River) - [168186] Add Terminal User Docs - * Michael Scharf (Wind River) - [172483] switch between connections - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import java.net.MalformedURLException; -import java.net.URL; -import java.util.HashMap; -import java.util.Iterator; - -import org.eclipse.core.runtime.Platform; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.ui.plugin.AbstractUIPlugin; - -public class TerminalViewPlugin extends AbstractUIPlugin { - protected static TerminalViewPlugin fDefault; - - public static final String HELPPREFIX = "org.eclipse.tm.terminal.view."; //$NON-NLS-1$ - - /** - * The constructor. - */ - public TerminalViewPlugin() { - fDefault = this; - } - protected void initializeImageRegistry(ImageRegistry imageRegistry) { - HashMap map; - - map = new HashMap(); - - try { - // Local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_CLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_LOCALTOOL, map); - - map.clear(); - - // Enabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_ELCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_ELCL, map); - - map.clear(); - - // Disabled local toolbars - map.put(ImageConsts.IMAGE_NEW_TERMINAL, "newterminal.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_CONNECT, "connect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_DISCONNECT, "disconnect_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_SETTINGS, "properties_tsk.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_COMMAND_INPUT_FIELD, "command_input_field.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_SCROLL_LOCK, "lock_co.gif"); //$NON-NLS-1$ - map.put(ImageConsts.IMAGE_DLCL_REMOVE, "rem_co.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_DLCL, map); - - map.clear(); - - map.put(ImageConsts.IMAGE_TERMINAL_VIEW, "terminal_view.gif"); //$NON-NLS-1$ - - loadImageRegistry(imageRegistry, ImageConsts.IMAGE_DIR_EVIEW, map); - - map.clear(); - - } catch (MalformedURLException malformedURLException) { - malformedURLException.printStackTrace(); - } - } - /** - * Returns the shared instance. - */ - public static TerminalViewPlugin getDefault() { - return fDefault; - } - - protected void loadImageRegistry(ImageRegistry imageRegistry, - String strDir, HashMap map) throws MalformedURLException { - URL url; - ImageDescriptor imageDescriptor; - Iterator keys; - String strKey; - String strFile; - - keys = map.keySet().iterator(); - - while (keys.hasNext()) { - strKey = (String) keys.next(); - strFile = (String) map.get(strKey); - - if (strFile != null) { - url = TerminalViewPlugin.getDefault().getBundle().getEntry( - ImageConsts.IMAGE_DIR_ROOT + strDir + strFile); - imageDescriptor = ImageDescriptor.createFromURL(url); - imageRegistry.put(strKey, imageDescriptor); - } - } - } -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java deleted file mode 100644 index 8085d33569b..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.java +++ /dev/null @@ -1,51 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - * Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED - * Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding - * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.view; - -import org.eclipse.osgi.util.NLS; - -public class ViewMessages extends NLS { - static { - NLS.initializeMessages(ViewMessages.class.getName(), ViewMessages.class); - } - public static String NO_CONNECTION_SELECTED; - public static String PROP_TITLE; - public static String SETTINGS; - - public static String TERMINALSETTINGS; - public static String NEW_TERMINAL_CONNECTION; - public static String NEW_TERMINAL_VIEW; - public static String CONNECTIONTYPE; - public static String VIEW_TITLE; - public static String VIEW_SETTINGS; - public static String INVALID_SETTINGS; - public static String ENCODING; - public static String ENCODING_WITH_PARENTHESES; - - public static String STATE_CONNECTED; - public static String STATE_CONNECTING; - public static String STATE_CLOSED; - - public static String CANNOT_INITIALIZE; - public static String CONNECTOR_NOT_AVAILABLE; - public static String ENCODING_NOT_AVAILABLE; -} diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties b/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties deleted file mode 100644 index 3d356ab2683..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/src/org/eclipse/tm/internal/terminal/view/ViewMessages.properties +++ /dev/null @@ -1,42 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Michael Scharf (Wind River) - [240023] Get rid of the terminal's "Pin" button -# Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings -# Martin Oberhuber (Wind River) - [262996] get rid of TerminalState.OPENED -# Ahmet Alptekin (Tubitak) - [244405] Add a UI Control for setting the Terminal's encoding -# Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget -############################################################################### -NO_CONNECTION_SELECTED = No Connection Selected -PROP_TITLE = Terminal -SETTINGS = Settings - -TERMINALSETTINGS = Terminal Settings -NEW_TERMINAL_CONNECTION = New Terminal Connection -NEW_TERMINAL_VIEW = New Terminal View -CONNECTIONTYPE = Connection Type -VIEW_TITLE = View Title: -VIEW_SETTINGS = View Settings: -INVALID_SETTINGS = The specified settings are invalid, please review or cancel. -ENCODING = Encoding: -ENCODING_WITH_PARENTHESES = Encoding: ({0}) - -STATE_CONNECTED = CONNECTED -STATE_CONNECTING = CONNECTING... -STATE_CLOSED = CLOSED - -CANNOT_INITIALIZE = Cannot initialize {0}:\n{1} -CONNECTOR_NOT_AVAILABLE = Connector {0} is not available! -ENCODING_NOT_AVAILABLE = Encoding is not available! \ No newline at end of file diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png b/deprecated/plugins/org.eclipse.tm.terminal.view/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml b/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml deleted file mode 100644 index 4409655e2b2..00000000000 --- a/deprecated/plugins/org.eclipse.tm.terminal.view/toc.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.feature/feature.xml index 7806820e851..9e5c25db581 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.xml @@ -41,7 +41,6 @@ - diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index be20789088f..ccb37735d23 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -13,18 +13,17 @@ Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.control;x-friends:="org.eclipse.tm.terminal.view", - org.eclipse.tm.internal.terminal.control.actions;x-friends:="org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.control.actions, org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.preferences;x-friends:="org.eclipse.tm.terminal.view", + org.eclipse.tm.internal.terminal.preferences, org.eclipse.tm.internal.terminal.provisional.api; x-friends:="org.eclipse.tm.terminal.serial, org.eclipse.tm.terminal.ssh, org.eclipse.tm.terminal.telnet, org.eclipse.tm.terminal.local, - org.eclipse.tm.terminal.view, org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.provisional.api.provider; x-friends:="org.eclipse.tm.terminal.serial, diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal/plugin.xml index 1ec047e252e..b47d9152cfe 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal/plugin.xml @@ -250,7 +250,6 @@ - diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java deleted file mode 100644 index 9e4e635cdf0..00000000000 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/PreferenceModifyListener.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2012 IBM Corporation and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * IBM Corporation - initial API and implementation - * Martin Oberhuber (Wind River) - [378691][api] push Preferences into the Widget - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.preferences; - -import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; -import org.osgi.service.prefs.Preferences; - -public class PreferenceModifyListener extends - org.eclipse.core.runtime.preferences.PreferenceModifyListener { - - public PreferenceModifyListener() { - // Nothing to do - } - - /** - * Intercept programmatic access to old Terminal Preferences such as "invert" - */ - public IEclipsePreferences preApply(IEclipsePreferences node) { - migrateTerminalPreferences(node.node("instance")); //$NON-NLS-1$ - return super.preApply(node); - } - - public static void migrateTerminalPreferences(Preferences node) { - Preferences terminalPrefs = node.node(TerminalPlugin.PLUGIN_ID); - Preferences oldPrefs = node.node("org.eclipse.tm.terminal.view"); //$NON-NLS-1$ - String oldInvert = oldPrefs.get(ITerminalConstants.PREF_INVERT_COLORS, null); - String oldBuflines = oldPrefs.get(ITerminalConstants.PREF_BUFFERLINES, null); - if (oldInvert != null) { - terminalPrefs.put(ITerminalConstants.PREF_INVERT_COLORS, oldInvert); - oldPrefs.remove(ITerminalConstants.PREF_INVERT_COLORS); - } - if (oldBuflines != null) { - terminalPrefs.put(ITerminalConstants.PREF_BUFFERLINES, oldBuflines); - oldPrefs.remove(ITerminalConstants.PREF_BUFFERLINES); - } - } - -} diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 0a1ff32ac4e..5abef797f8a 100644 --- a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -16,7 +16,6 @@ package org.eclipse.tm.internal.terminal.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.core.runtime.preferences.DefaultScope; import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { @@ -30,22 +29,5 @@ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); - migrateTerminalPreferences(); } - - /** - * Migrate settings from the older org.eclipse.tm.terminal.view bundle into the o.e.tm.terminal bundle - */ - public static void migrateTerminalPreferences() { - //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - //IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); - IEclipsePreferences prefs = new InstanceScope().getNode(TerminalPlugin.PLUGIN_ID); - if (!prefs.getBoolean(ITerminalConstants.PREF_HAS_MIGRATED, false)) { - prefs.putBoolean(ITerminalConstants.PREF_HAS_MIGRATED, true); - //InstanceScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - //PreferenceModifyListener.migrateTerminalPreferences(InstanceScope.INSTANCE.getNode("")); //$NON-NLS-1$ - PreferenceModifyListener.migrateTerminalPreferences(new InstanceScope().getNode("")); //$NON-NLS-1$ - } - } - } From 929e68521fe4936ab7ffed7780041b8539ae02c8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 24 Mar 2015 11:17:17 +0100 Subject: [PATCH 642/843] Mars M6 HOTFIX: remove outdated TM terminal feature dependencies --- features/org.eclipse.tcf.te.terminals.feature/feature.xml | 4 ---- features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml | 1 - 2 files changed, 5 deletions(-) diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/features/org.eclipse.tcf.te.terminals.feature/feature.xml index 216902dd490..a1c2dccdcf0 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/feature.xml +++ b/features/org.eclipse.tcf.te.terminals.feature/feature.xml @@ -37,10 +37,6 @@ - - - - - From 0d3c14429978a5f5a36f0e54fc715044c9792f7b Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 26 Mar 2015 09:49:00 +0100 Subject: [PATCH 643/843] Terminals: Fix NPE in TabFolderManager.createTabItem if flags==null --- .../eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java index 41e53b33a01..9e4c96a0c86 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java @@ -272,8 +272,8 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid // Create the terminal control ITerminalViewControl terminal = TerminalViewControlFactory.makeControl(doCreateTerminalTabTerminalListener(this, item), composite, new ITerminalConnector[] { connector }, true); - if (terminal instanceof ITerminalControl && flags.containsKey(ITerminalsConnectorConstants.PROP_DATA_NO_RECONNECT)) { - Object value = flags.get(ITerminalsConnectorConstants.PROP_DATA_NO_RECONNECT); + if (terminal instanceof ITerminalControl) { + Object value = flags != null ? flags.get(ITerminalsConnectorConstants.PROP_DATA_NO_RECONNECT) : null; boolean noReconnect = value instanceof Boolean ? ((Boolean)value).booleanValue() : false; ((ITerminalControl)terminal).setConnectOnEnterIfClosed(!noReconnect); } From ff66d2ba1abe109643522a206fa20400925b0ec9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 09:11:41 +0200 Subject: [PATCH 644/843] Terminal: Change name space of Terminals View plug-ins and features from TCF to TM --- .gitignore | 10 + admin/.gitignore | 1 + admin/.project | 11 + admin/findbugs-exclude.xml | 74 ++++ admin/pom-build.xml | 107 +++++ admin/pom-config.xml | 394 ++++++++++++++++++ .../target-defs/eclipse-4.4.x-luna.target | 0 .../org.eclipse.tm.terminal.feature/pom.xml | 16 +- .../feature.xml | 2 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../pom.xml | 16 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 6 +- .../feature.xml | 37 +- .../p2.inf | 0 .../pom.xml | 12 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 18 +- .../pom.xml | 12 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 12 +- .../pom.xml | 12 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 6 +- .../feature.xml | 22 +- .../pom.xml | 12 +- .../.options | 1 - .../META-INF/MANIFEST.MF | 21 - .../te-feature.png | Bin 2423 -> 0 bytes .../META-INF/MANIFEST.MF | 30 -- .../META-INF/MANIFEST.MF | 24 -- .../META-INF/MANIFEST.MF | 22 - .../pom.xml | 17 - .../META-INF/MANIFEST.MF | 22 - .../META-INF/MANIFEST.MF | 34 -- .../org.eclipse.tcf.te.ui.terminals/pom.xml | 17 - .../org.eclipse.tm.terminal.remote/.gitignore | 1 + .../org.eclipse.tm.terminal.remote/pom.xml | 15 +- .../org.eclipse.tm.terminal.serial/.gitignore | 1 + .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.serial/pom.xml | 16 +- .../org.eclipse.tm.terminal.ssh/.gitignore | 1 + .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.ssh/pom.xml | 16 +- .../org.eclipse.tm.terminal.telnet/.gitignore | 1 + .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.telnet/pom.xml | 16 +- .../org.eclipse.tm.terminal.test/.gitignore | 1 + .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 51 +-- .../.classpath | 0 .../.gitignore | 1 + .../.options | 1 + .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 21 + .../about.html | 0 .../about.ini | 2 +- .../about.mappings | 0 .../about.properties | 2 +- .../build.properties | 2 +- .../plugin.properties | 2 +- .../plugin.xml | 6 +- .../pom.xml | 12 +- .../schema/contextPropertiesProviders.exsd | 15 +- ...minalContextPropertiesProviderFactory.java | 10 +- .../view/core}/TerminalServiceFactory.java | 14 +- .../core}/activator/CoreBundleActivator.java | 6 +- .../ITerminalContextPropertiesProvider.java | 2 +- .../core}/interfaces/ITerminalService.java | 2 +- ...nalServiceOutputStreamMonitorListener.java | 2 +- .../interfaces/ITerminalTabListener.java | 2 +- .../IContextPropertiesConstants.java | 2 +- .../constants/ILineSeparatorConstants.java | 4 +- .../ITerminalsConnectorConstants.java | 4 +- .../view/core}/internal/PropertyTester.java | 6 +- .../tm/terminal/view/core}/nls/Messages.java | 4 +- .../view/core}/nls/Messages.properties | 0 .../preferences/ScopedEclipsePreferences.java | 2 +- .../view/core}/tracing/TraceHandler.java | 4 +- .../tm/terminal/view/core}/utils/Env.java | 2 +- .../tm32.png | Bin 0 -> 2275 bytes .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 30 ++ .../META-INF/p2.inf | 0 .../about.html | 0 .../build.properties | 0 .../contexts.xml | 0 .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../plugin.xml | 42 +- .../pom.xml | 17 + .../view/ui}/local/activator/UIPlugin.java | 8 +- .../LocalWizardConfigurationPanel.java | 34 +- .../view/ui}/local/help/IContextHelpIds.java | 4 +- .../local/launcher/LocalLauncherDelegate.java | 43 +- .../local/launcher/LocalLauncherHandler.java | 10 +- .../local/launcher/LocalMementoHandler.java | 8 +- .../terminal/view/ui}/local/nls/Messages.java | 4 +- .../view/ui}/local/nls/Messages.properties | 0 .../showin/DynamicContributionItems.java | 12 +- .../showin/ExternalExecutablesDialog.java | 10 +- .../ExternalExecutablesInitializer.java | 4 +- .../showin/ExternalExecutablesManager.java | 4 +- .../IExternalExecutablesProperties.java | 2 +- .../showin/interfaces/IPreferenceKeys.java | 2 +- .../showin/preferences/PreferencePage.java | 16 +- .../preferences/PreferencesInitializer.java | 8 +- .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 20 +- .../META-INF/p2.inf | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 10 +- .../pom.xml | 12 +- .../view/ui}/process/ProcessConnector.java | 28 +- .../ui}/process/ProcessLauncherDelegate.java | 31 +- .../view/ui}/process/ProcessMonitor.java | 2 +- .../view/ui}/process/ProcessSettings.java | 6 +- .../view/ui}/process/ProcessSettingsPage.java | 12 +- .../view/ui}/process/activator/UIPlugin.java | 6 +- .../ui}/process/help/IContextHelpIds.java | 4 +- .../view/ui}/process/nls/Messages.java | 6 +- .../view/ui}/process/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 18 +- .../about.html | 0 .../build.properties | 0 .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../plugin.xml | 38 +- .../pom.xml | 12 +- .../view/ui}/rse/activator/UIPlugin.java | 6 +- .../rse/internal/LaunchTerminalHandler.java | 12 +- .../view/ui}/rse/internal/PropertyTester.java | 2 +- .../TerminalContextPropertiesProvider.java | 10 +- .../terminal/view/ui}/rse/nls/Messages.java | 4 +- .../view/ui}/rse/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 24 ++ .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 8 +- .../pom.xml | 12 +- .../view/ui}/serial/activator/UIPlugin.java | 6 +- .../controls/SerialConfigurationPanel.java | 26 +- .../ui}/serial/controls/SerialLinePanel.java | 26 +- .../controls/SerialPortAddressDialog.java | 8 +- .../view/ui}/serial/interfaces/ITraceIds.java | 2 +- .../serial/interfaces/IWireTypeSerial.java | 2 +- .../launcher/SerialLauncherDelegate.java | 33 +- .../serial/launcher/SerialMementoHandler.java | 10 +- .../view/ui}/serial/nls/Messages.java | 4 +- .../view/ui}/serial/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 22 + .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 8 +- .../pom.xml | 17 + .../view/ui}/ssh/activator/UIPlugin.java | 6 +- .../controls/SshWizardConfigurationPanel.java | 34 +- .../ui}/ssh/launcher/SshLauncherDelegate.java | 33 +- .../ui}/ssh/launcher/SshMementoHandler.java | 10 +- .../terminal/view/ui}/ssh/nls/Messages.java | 8 +- .../view/ui}/ssh/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 22 + .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 8 +- .../pom.xml | 12 +- .../view/ui}/telnet/activator/UIPlugin.java | 6 +- .../TelnetWizardConfigurationPanel.java | 24 +- .../launcher/TelnetLauncherDelegate.java | 33 +- .../telnet/launcher/TelnetMementoHandler.java | 10 +- .../view/ui}/telnet/nls/Messages.java | 8 +- .../view/ui}/telnet/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 1 + .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 34 ++ .../about.html | 0 .../build.properties | 0 .../contexts.xml | 0 .../icons/clcl16/command_input_field.gif | Bin .../icons/dlcl16/command_input_field.gif | Bin .../icons/dlcl16/disconnect.gif | Bin .../icons/elcl16/command_input_field.gif | Bin .../icons/elcl16/disconnect.gif | Bin .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../plugin.xml | 146 +++---- .../pom.xml | 12 +- .../schema/launcherDelegates.exsd | 0 .../view/ui}/actions/AbstractAction.java | 17 +- .../view/ui}/actions/PinTerminalAction.java | 11 +- .../ui}/actions/SelectEncodingAction.java | 8 +- .../view/ui}/actions/TabScrollLockAction.java | 12 +- .../ui}/actions/ToggleCommandFieldAction.java | 14 +- .../terminal/view/ui}/activator/UIPlugin.java | 16 +- .../controls/ConfigurationPanelControl.java | 14 +- .../ui}/controls/NoteCompositeHelper.java | 4 +- .../view/ui}/help/IContextHelpIds.java | 4 +- .../ui}/interfaces/IConfigurationPanel.java | 2 +- .../IConfigurationPanelContainer.java | 2 +- .../ui}/interfaces/ILauncherDelegate.java | 4 +- .../view/ui}/interfaces/IMementoHandler.java | 2 +- .../view/ui}/interfaces/IPreferenceKeys.java | 2 +- .../view/ui}/interfaces/ITerminalsView.java | 2 +- .../view/ui}/interfaces/IUIConstants.java | 4 +- .../view/ui}/interfaces/ImageConsts.java | 2 +- .../ui}/interfaces/tracing/ITraceIds.java | 2 +- .../ui}/internal/PreferencesInitializer.java | 8 +- .../view/ui}/internal/PropertyTester.java | 8 +- .../view/ui}/internal/SettingsStore.java | 8 +- .../dialogs/EncodingSelectionDialog.java | 32 +- .../dialogs/LaunchTerminalSettingsDialog.java | 26 +- .../AbstractTriggerCommandHandler.java | 6 +- .../DisconnectTerminalCommandHandler.java | 7 +- .../handler/LaunchTerminalCommandHandler.java | 26 +- .../internal/handler/MaximizeViewHandler.java | 2 +- .../internal/handler/QuickAccessHandler.java | 2 +- .../launcher/AbstractLauncherDelegate.java | 16 +- .../ui}/launcher/LauncherDelegateManager.java | 14 +- .../ui}/listeners/AbstractWindowListener.java | 2 +- .../ui}/listeners/WorkbenchPartListener.java | 6 +- .../listeners/WorkbenchWindowListener.java | 4 +- .../view/ui}/manager/ConsoleManager.java | 16 +- .../tm/terminal/view/ui}/nls/Messages.java | 4 +- .../terminal/view/ui}/nls/Messages.properties | 0 .../panels/AbstractConfigurationPanel.java | 32 +- .../AbstractExtendedConfigurationPanel.java | 20 +- .../view/ui}/services/TerminalService.java | 30 +- .../ui}/streams/AbstractStreamsConnector.java | 12 +- .../view/ui}/streams/InputStreamMonitor.java | 9 +- .../view/ui}/streams/OutputStreamMonitor.java | 12 +- .../view/ui}/streams/StreamsConnector.java | 14 +- .../ui}/streams/StreamsLauncherDelegate.java | 31 +- .../view/ui}/streams/StreamsSettings.java | 6 +- .../view/ui}/tabs/TabCommandFieldHandler.java | 3 +- .../view/ui}/tabs/TabDisposeListener.java | 9 +- .../view/ui}/tabs/TabFolderManager.java | 12 +- .../view/ui}/tabs/TabFolderMenuHandler.java | 18 +- .../ui}/tabs/TabFolderSelectionListener.java | 2 +- .../ui}/tabs/TabFolderToolbarHandler.java | 20 +- .../view/ui}/tabs/TabTerminalListener.java | 8 +- .../terminal/view/ui}/view/TerminalsView.java | 24 +- .../ui}/view/TerminalsViewMementoHandler.java | 19 +- plugins/org.eclipse.tm.terminal/.gitignore | 1 + .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal/pom.xml | 16 +- pom.xml | 66 +++ readme.txt | 4 +- repos/org.eclipse.tm.terminal.repo/.project | 11 + .../org.eclipse.tm.terminal.repo/category.xml | 54 +++ repos/org.eclipse.tm.terminal.repo/pom.xml | 61 +++ 316 files changed, 2060 insertions(+), 1240 deletions(-) create mode 100644 .gitignore create mode 100644 admin/.gitignore create mode 100644 admin/.project create mode 100644 admin/findbugs-exclude.xml create mode 100644 admin/pom-build.xml create mode 100644 admin/pom-config.xml rename terminals-eclipse-4.4.x-luna.target => admin/target-defs/eclipse-4.4.x-luna.target (100%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/.project (92%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/build.properties (100%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/feature.properties (88%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/feature.xml (59%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/p2.inf (100%) rename features/{org.eclipse.tcf.te.terminals.feature => org.eclipse.tm.terminal.view.feature}/pom.xml (58%) rename features/{org.eclipse.tcf.te.terminals.rse.feature => org.eclipse.tm.terminal.view.rse.feature}/.project (91%) rename features/{org.eclipse.tcf.te.terminals.rse.feature => org.eclipse.tm.terminal.view.rse.feature}/build.properties (100%) rename features/{org.eclipse.tcf.te.terminals.rse.feature => org.eclipse.tm.terminal.view.rse.feature}/feature.properties (100%) rename features/{org.eclipse.tcf.te.terminals.rse.feature => org.eclipse.tm.terminal.view.rse.feature}/feature.xml (67%) rename features/{org.eclipse.tcf.te.terminals.sdk.feature => org.eclipse.tm.terminal.view.rse.feature}/pom.xml (58%) rename features/{org.eclipse.tcf.te.terminals.rse.sdk.feature => org.eclipse.tm.terminal.view.rse.sdk.feature}/.project (92%) rename features/{org.eclipse.tcf.te.terminals.rse.sdk.feature => org.eclipse.tm.terminal.view.rse.sdk.feature}/build.properties (100%) rename features/{org.eclipse.tcf.te.terminals.rse.sdk.feature => org.eclipse.tm.terminal.view.rse.sdk.feature}/feature.properties (100%) rename features/{org.eclipse.tcf.te.terminals.rse.sdk.feature => org.eclipse.tm.terminal.view.rse.sdk.feature}/feature.xml (61%) rename features/{org.eclipse.tcf.te.terminals.rse.sdk.feature => org.eclipse.tm.terminal.view.rse.sdk.feature}/pom.xml (58%) rename features/{org.eclipse.tcf.te.terminals.sdk.feature => org.eclipse.tm.terminal.view.sdk.feature}/.project (92%) rename features/{org.eclipse.tcf.te.terminals.sdk.feature => org.eclipse.tm.terminal.view.sdk.feature}/build.properties (100%) rename features/{org.eclipse.tcf.te.terminals.sdk.feature => org.eclipse.tm.terminal.view.sdk.feature}/feature.properties (88%) rename features/{org.eclipse.tcf.te.terminals.sdk.feature => org.eclipse.tm.terminal.view.sdk.feature}/feature.xml (68%) rename features/{org.eclipse.tcf.te.terminals.rse.feature => org.eclipse.tm.terminal.view.sdk.feature}/pom.xml (58%) delete mode 100644 plugins/org.eclipse.tcf.te.core.terminals/.options delete mode 100644 plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.core.terminals/te-feature.png delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.serial/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.ssh/pom.xml delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tcf.te.ui.terminals/pom.xml create mode 100644 plugins/org.eclipse.tm.terminal.remote/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.serial/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.ssh/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.telnet/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.test/.gitignore rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.core/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.view.core/.options rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/.project (94%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/about.html (100%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/about.ini (96%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/about.mappings (100%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/about.properties (97%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/build.properties (96%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/plugin.properties (95%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/plugin.xml (72%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.core.terminals => org.eclipse.tm.terminal.view.core}/schema/contextPropertiesProviders.exsd (90%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/TerminalContextPropertiesProviderFactory.java (96%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/TerminalServiceFactory.java (76%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/activator/CoreBundleActivator.java (93%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/ITerminalContextPropertiesProvider.java (97%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/ITerminalService.java (97%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/ITerminalServiceOutputStreamMonitorListener.java (95%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/ITerminalTabListener.java (95%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/constants/IContextPropertiesConstants.java (96%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/constants/ILineSeparatorConstants.java (87%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/interfaces/constants/ITerminalsConnectorConstants.java (98%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/internal/PropertyTester.java (86%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/nls/Messages.java (87%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/preferences/ScopedEclipsePreferences.java (99%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/tracing/TraceHandler.java (98%) rename plugins/{org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals => org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core}/utils/Env.java (99%) create mode 100644 plugins/org.eclipse.tm.terminal.view.core/tm32.png rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.project (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/META-INF/p2.inf (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/contexts.xml (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/icons/eview16/terminal_view.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui.local}/plugin.xml (74%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/activator/UIPlugin.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/controls/LocalWizardConfigurationPanel.java (85%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/help/IContextHelpIds.java (88%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/launcher/LocalLauncherDelegate.java (91%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/launcher/LocalLauncherHandler.java (90%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/launcher/LocalMementoHandler.java (83%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/nls/Messages.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/DynamicContributionItems.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/ExternalExecutablesDialog.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/ExternalExecutablesInitializer.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/ExternalExecutablesManager.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/interfaces/IExternalExecutablesProperties.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/interfaces/IPreferenceKeys.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/preferences/PreferencePage.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui}/local/showin/preferences/PreferencesInitializer.java (83%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.project (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/META-INF/MANIFEST.MF (53%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/META-INF/p2.inf (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/plugin.xml (62%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process => org.eclipse.tm.terminal.view.ui.process}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/ProcessConnector.java (85%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/ProcessLauncherDelegate.java (80%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/ProcessMonitor.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/ProcessSettings.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/ProcessSettingsPage.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/activator/UIPlugin.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/help/IContextHelpIds.java (89%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/nls/Messages.java (79%) rename plugins/{org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui}/process/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.project (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/META-INF/MANIFEST.MF (52%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/icons/eview16/terminal_view.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/plugin.xml (71%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse => org.eclipse.tm.terminal.view.ui.rse}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/activator/UIPlugin.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/internal/LaunchTerminalHandler.java (90%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/internal/PropertyTester.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/internal/TerminalContextPropertiesProvider.java (86%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/nls/Messages.java (85%) rename plugins/{org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui}/rse/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.project (92%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/plugin.xml (68%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial => org.eclipse.tm.terminal.view.ui.serial}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/activator/UIPlugin.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/controls/SerialConfigurationPanel.java (82%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/controls/SerialLinePanel.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/controls/SerialPortAddressDialog.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/interfaces/ITraceIds.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/interfaces/IWireTypeSerial.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/launcher/SerialLauncherDelegate.java (81%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/launcher/SerialMementoHandler.java (92%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/nls/Messages.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui}/serial/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.project (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh => org.eclipse.tm.terminal.view.ui.ssh}/plugin.xml (68%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/activator/UIPlugin.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/controls/SshWizardConfigurationPanel.java (92%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/launcher/SshLauncherDelegate.java (83%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/launcher/SshMementoHandler.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/nls/Messages.java (77%) rename plugins/{org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui}/ssh/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.project (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/plugin.xml (68%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet => org.eclipse.tm.terminal.view.ui.telnet}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/activator/UIPlugin.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/controls/TelnetWizardConfigurationPanel.java (90%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/launcher/TelnetLauncherDelegate.java (81%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/launcher/TelnetMementoHandler.java (89%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/nls/Messages.java (75%) rename plugins/{org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui}/telnet/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.classpath (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/.gitignore rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.options (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.project (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/about.html (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/build.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/contexts.xml (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/clcl16/command_input_field.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/dlcl16/command_input_field.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/dlcl16/disconnect.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/elcl16/command_input_field.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/elcl16/disconnect.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/icons/eview16/terminal_view.gif (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/plugin.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/plugin.xml (64%) rename plugins/{org.eclipse.tcf.te.ui.terminals.local => org.eclipse.tm.terminal.view.ui}/pom.xml (54%) rename plugins/{org.eclipse.tcf.te.ui.terminals => org.eclipse.tm.terminal.view.ui}/schema/launcherDelegates.exsd (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/actions/AbstractAction.java (91%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/actions/PinTerminalAction.java (82%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/actions/SelectEncodingAction.java (92%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/actions/TabScrollLockAction.java (82%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/actions/ToggleCommandFieldAction.java (87%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/activator/UIPlugin.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/controls/ConfigurationPanelControl.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/controls/NoteCompositeHelper.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/help/IContextHelpIds.java (91%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IConfigurationPanel.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IConfigurationPanelContainer.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/ILauncherDelegate.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IMementoHandler.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IPreferenceKeys.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/ITerminalsView.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IUIConstants.java (81%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/ImageConsts.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/tracing/ITraceIds.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/PreferencesInitializer.java (83%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/PropertyTester.java (90%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/SettingsStore.java (83%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/dialogs/EncodingSelectionDialog.java (87%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/dialogs/LaunchTerminalSettingsDialog.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/handler/AbstractTriggerCommandHandler.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/handler/DisconnectTerminalCommandHandler.java (91%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/handler/LaunchTerminalCommandHandler.java (88%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/handler/MaximizeViewHandler.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/handler/QuickAccessHandler.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/launcher/AbstractLauncherDelegate.java (90%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/launcher/LauncherDelegateManager.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/listeners/AbstractWindowListener.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/listeners/WorkbenchPartListener.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/listeners/WorkbenchWindowListener.java (86%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/manager/ConsoleManager.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/nls/Messages.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/nls/Messages.properties (100%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/panels/AbstractConfigurationPanel.java (82%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/panels/AbstractExtendedConfigurationPanel.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/services/TerminalService.java (89%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/AbstractStreamsConnector.java (95%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/InputStreamMonitor.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/OutputStreamMonitor.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/StreamsConnector.java (76%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/StreamsLauncherDelegate.java (77%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/streams/StreamsSettings.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabCommandFieldHandler.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabDisposeListener.java (92%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabFolderManager.java (98%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabFolderMenuHandler.java (94%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabFolderSelectionListener.java (97%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabFolderToolbarHandler.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/tabs/TabTerminalListener.java (93%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/view/TerminalsView.java (96%) rename plugins/{org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/view/TerminalsViewMementoHandler.java (94%) create mode 100644 plugins/org.eclipse.tm.terminal/.gitignore create mode 100644 pom.xml create mode 100644 repos/org.eclipse.tm.terminal.repo/.project create mode 100644 repos/org.eclipse.tm.terminal.repo/category.xml create mode 100644 repos/org.eclipse.tm.terminal.repo/pom.xml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000000..6f8aa868022 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +bin/ +target/ +workspace/ +debug-workspace/ + +# ignore various emacs droppings +*~ +\#*\# + + diff --git a/admin/.gitignore b/admin/.gitignore new file mode 100644 index 00000000000..ea8c4bf7f35 --- /dev/null +++ b/admin/.gitignore @@ -0,0 +1 @@ +/target diff --git a/admin/.project b/admin/.project new file mode 100644 index 00000000000..c4aa4358e6c --- /dev/null +++ b/admin/.project @@ -0,0 +1,11 @@ + + + Administration (TM Terminal) + + + + + + + + diff --git a/admin/findbugs-exclude.xml b/admin/findbugs-exclude.xml new file mode 100644 index 00000000000..148a739f179 --- /dev/null +++ b/admin/findbugs-exclude.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/pom-build.xml b/admin/pom-build.xml new file mode 100644 index 00000000000..c97b08e1778 --- /dev/null +++ b/admin/pom-build.xml @@ -0,0 +1,107 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-config + 4.0.0-SNAPSHOT + pom-config.xml + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + pom + TM Terminal, Maven Build Master + + + + + org.eclipse.tycho + tycho-maven-plugin + + + org.eclipse.tycho + target-platform-configuration + + + org.eclipse.tycho + tycho-source-plugin + + + + + + + sign + + + + + + + org.eclipse.tycho.extras + tycho-pack200a-plugin + + + org.eclipse.cbi.maven.plugins + eclipse-jarsigner-plugin + + + org.eclipse.tycho.extras + tycho-pack200b-plugin + + + org.eclipse.tycho + tycho-p2-plugin + + + + + + + findbugs + + + + + org.codehaus.mojo + findbugs-maven-plugin + + + + + + + tests + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + true + true + false + + + p2-installable-unit + org.eclipse.sdk.feature.group + ${sdk-version} + + + org.eclipse.sdk.ide + -Xms512m -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -Drse.enableSecureStoreAccess=false -Dorg.eclipse.swt.browser.UseWebKitGTK=true + + + + + + + + diff --git a/admin/pom-config.xml b/admin/pom-config.xml new file mode 100644 index 00000000000..4778841ceba --- /dev/null +++ b/admin/pom-config.xml @@ -0,0 +1,394 @@ + + + 4.0.0 + + + 3.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-config + 4.0.0-SNAPSHOT + pom + TM Terminal, Maven Configuration Master + + + + Eclipse Public License + http://www.eclipse.org/legal/epl-v10.html + repo + + All rights reserved. + + This program and the accompanying materials are made + available under the terms of the Eclipse Public License v1.0 + which accompanies this distribution, and is available at + http://www.eclipse.org/legal/epl-v10.htm + + + + + + Eclipse Foundation + http://www.eclipse.org/ + + + + + 0.20.0 + 0.20.0 + 2.6 + 1.7 + 1.5 + + 2.5.2 + 1.1.1 + + + ${env.WORKSPACE}/admin + UTF-8 + + scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git + + mars + ${project.artifactId}.zip + /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly + 4.5 + + + http://download.eclipse.org/cbi/updates/license + http://download.eclipse.org/eclipse/updates/${sdk-version}milestones + http://download.eclipse.org/tools/orbit/downloads/drops/S20150316021154/repository/ + http://download.eclipse.org/tools/cdt/releases/8.6 + http://download.eclipse.org/tm/updates/4.0milestones + http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones + http://download.eclipse.org/technology/swtbot/releases/latest/ + http://archive.eclipse.org/tm/updates/rxtx + + + + + license-feature + ${license-site} + p2 + + + platform + ${platform-site} + p2 + + + orbit + ${orbit-site} + p2 + + + cdt + ${cdt-site} + p2 + + + rse + ${rse-site} + p2 + + + remote + ${remote-site} + p2 + + + swtbot + ${swtbot-site} + p2 + + + rxtx + ${rxtx-site} + p2 + + + + + + sonatype + https://oss.sonatype.org/content/repositories/public + + true + + + true + + + + cbi + https://repo.eclipse.org/content/repositories/cbi-releases/ + + + + + + + kepler + + + kepler + 4.3 + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/tools/cdt/releases/8.4 + + + + + luna + + + luna + 4.4 + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/tools/cdt/releases/8.5 + + + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + linux + gtk + x86 + + + linux + gtk + x86_64 + + + win32 + win32 + x86 + + + win32 + win32 + x86_64 + + + macosx + cocoa + x86 + + + macosx + cocoa + x86_64 + + + p2 + true + true + consider + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + UTF-8 + + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + UTF-8 + + + + plugin-source + + plugin-source + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + + org.eclipse.tycho.extras + tycho-buildtimestamp-jgit + ${tycho-version} + + + org.eclipse.tycho.extras + tycho-sourceref-jgit + ${tycho-extras-version} + + + + false + jgit + pom.xml + ignore + + true + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + ${project.artifactId} + + + + org.apache.maven.plugins + maven-resources-plugin + ${maven-resources-version} + + UTF-8 + + + + org.apache.maven.plugins + maven-antrun-plugin + ${maven-antrun-version} + + + org.codehaus.gmaven + gmaven-plugin + ${gmaven-version} + + + org.codehaus.mojo + findbugs-maven-plugin + ${findbugs-version} + + UTF-8 + Max + Low + true + false + ${adminDir}/findbugs-exclude.xml + + + + + check + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco-version} + + + + + org.eclipse.tycho.extras + tycho-pack200a-plugin + ${tycho-version} + + + pack200-normalize + verify + + normalize + + + + + + org.eclipse.cbi.maven.plugins + eclipse-jarsigner-plugin + ${eclipse-jarsigner-version} + + + sign + verify + + sign + + + + + + org.eclipse.tycho.extras + tycho-pack200b-plugin + ${tycho-version} + + + pack200-pack + verify + + pack + + + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + + + p2-metadata + package + + p2-metadata + + + + + false + + + + + + diff --git a/terminals-eclipse-4.4.x-luna.target b/admin/target-defs/eclipse-4.4.x-luna.target similarity index 100% rename from terminals-eclipse-4.4.x-luna.target rename to admin/target-defs/eclipse-4.4.x-luna.target diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index da1106db887..a2f63b903fb 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.feature/feature.xml index 9e5c25db581..293170ca182 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.xml @@ -37,7 +37,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.remote.feature/pom.xml index db3f4eba50e..946a6ead885 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.remote.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.remote.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.remote.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml index 23827bd677b..3f0b5f945f1 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.remote.sdk.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.remote.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.remote.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index f0544bbf64f..f648d7ecaa3 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.serial.feature/pom.xml index 04701647b9a..69d16927fbe 100644 --- a/features/org.eclipse.tm.terminal.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.serial.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml index 15eb72bbbb8..12dda0ab3bd 100644 --- a/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.serial.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.serial.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.ssh.feature/pom.xml index 1e6ef93121b..260bab28648 100644 --- a/features/org.eclipse.tm.terminal.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.ssh.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.ssh.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml index 3f0f7429bc7..97e8aae55c8 100644 --- a/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.ssh.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.ssh.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.telnet.feature/pom.xml index c82be495822..68cd02e37b9 100644 --- a/features/org.eclipse.tm.terminal.telnet.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.telnet.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.telnet.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml index 7d2150e6ece..2139e4760c5 100644 --- a/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml @@ -1,16 +1,18 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm.features - org.eclipse.tm.terminal.telnet.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.telnet.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tcf.te.terminals.feature/.project b/features/org.eclipse.tm.terminal.view.feature/.project similarity index 92% rename from features/org.eclipse.tcf.te.terminals.feature/.project rename to features/org.eclipse.tm.terminal.view.feature/.project index 9c5ef5a018f..1320e7a6255 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/.project +++ b/features/org.eclipse.tm.terminal.view.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.terminals.feature + org.eclipse.tm.terminal.view.feature diff --git a/features/org.eclipse.tcf.te.terminals.feature/build.properties b/features/org.eclipse.tm.terminal.view.feature/build.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.feature/build.properties rename to features/org.eclipse.tm.terminal.view.feature/build.properties diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.properties b/features/org.eclipse.tm.terminal.view.feature/feature.properties similarity index 88% rename from features/org.eclipse.tcf.te.terminals.feature/feature.properties rename to features/org.eclipse.tm.terminal.view.feature/feature.properties index 39214dfd3e0..cf94c04841a 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.feature/feature.properties @@ -24,12 +24,12 @@ updateSiteName=Eclipse Update Site # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ - remote hosts (SSH, Telnet, Serial, TCF). Works on Windows, Linux, Mac and Solaris. \ - Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + remote hosts (SSH, Telnet, Serial). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 6 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tcf.te.terminals.feature/feature.xml b/features/org.eclipse.tm.terminal.view.feature/feature.xml similarity index 59% rename from features/org.eclipse.tcf.te.terminals.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.feature/feature.xml index a1c2dccdcf0..89db1a13c93 100644 --- a/features/org.eclipse.tcf.te.terminals.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.feature/feature.xml @@ -1,10 +1,10 @@ @@ -21,68 +21,69 @@ - + - - + - - + + - - - + + + + + 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.terminals.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.view.feature eclipse-feature diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/.project b/features/org.eclipse.tm.terminal.view.rse.feature/.project similarity index 91% rename from features/org.eclipse.tcf.te.terminals.rse.feature/.project rename to features/org.eclipse.tm.terminal.view.rse.feature/.project index 70a2da45c60..7fae4425d90 100644 --- a/features/org.eclipse.tcf.te.terminals.rse.feature/.project +++ b/features/org.eclipse.tm.terminal.view.rse.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.terminals.rse.feature + org.eclipse.tm.terminal.view.rse.feature diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/build.properties b/features/org.eclipse.tm.terminal.view.rse.feature/build.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.rse.feature/build.properties rename to features/org.eclipse.tm.terminal.view.rse.feature/build.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.rse.feature/feature.properties rename to features/org.eclipse.tm.terminal.view.rse.feature/feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml similarity index 67% rename from features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.rse.feature/feature.xml index 43c91f160c1..a36aae3d978 100644 --- a/features/org.eclipse.tcf.te.terminals.rse.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml @@ -1,10 +1,10 @@ @@ -21,7 +21,7 @@ - + @@ -30,15 +30,15 @@ - - - + + + - + 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.terminals.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.view.rse.feature eclipse-feature diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project similarity index 92% rename from features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project rename to features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project index a750dc9c205..e47910add31 100644 --- a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.terminals.rse.sdk.feature + org.eclipse.tm.terminal.view.rse.sdk.feature diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.rse.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.properties rename to features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties diff --git a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml similarity index 61% rename from features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml index b1bfa84c7a7..d4859dc775a 100644 --- a/features/org.eclipse.tcf.te.terminals.rse.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml @@ -1,8 +1,8 @@ @@ -20,16 +20,16 @@ - + - - + + 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.terminals.rse.sdk.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.view.rse.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/.project b/features/org.eclipse.tm.terminal.view.sdk.feature/.project similarity index 92% rename from features/org.eclipse.tcf.te.terminals.sdk.feature/.project rename to features/org.eclipse.tm.terminal.view.sdk.feature/.project index 22f1191393b..c8ba6fd3f78 100644 --- a/features/org.eclipse.tcf.te.terminals.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.terminals.sdk.feature + org.eclipse.tm.terminal.view.sdk.feature diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tcf.te.terminals.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.view.sdk.feature/build.properties diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties similarity index 88% rename from features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties rename to features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties index 0ba33f07709..b47482d1b2d 100644 --- a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties @@ -24,12 +24,12 @@ updateSiteName=Eclipse Update Site # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ - remote hosts via (SSH, Telnet, Serial, TCF). Works on Windows, Linux, Mac and Solaris. \ - Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. + remote hosts via (SSH, Telnet, Serial). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 6 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011, 2014 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml similarity index 68% rename from features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml index 85d255b6d00..6afabf33ff1 100644 --- a/features/org.eclipse.tcf.te.terminals.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml @@ -1,8 +1,8 @@ @@ -20,57 +20,57 @@ - + - + 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.terminals.rse.feature + 4.0.0.qualifier + org.eclipse.tm.terminal.view.sdk.feature eclipse-feature diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.options b/plugins/org.eclipse.tcf.te.core.terminals/.options deleted file mode 100644 index cd0d16fd131..00000000000 --- a/plugins/org.eclipse.tcf.te.core.terminals/.options +++ /dev/null @@ -1 +0,0 @@ -org.eclipse.tcf.te.core.terminals/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF deleted file mode 100644 index 0cf3a8a0ee7..00000000000 --- a/plugins/org.eclipse.tcf.te.core.terminals/META-INF/MANIFEST.MF +++ /dev/null @@ -1,21 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tcf.te.core.terminals;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", - org.eclipse.core.runtime;bundle-version="3.8.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Localization: plugin -Export-Package: org.eclipse.tcf.te.core.terminals, - org.eclipse.tcf.te.core.terminals.activator;x-internal:=true, - org.eclipse.tcf.te.core.terminals.interfaces, - org.eclipse.tcf.te.core.terminals.interfaces.constants, - org.eclipse.tcf.te.core.terminals.internal;x-internal:=true, - org.eclipse.tcf.te.core.terminals.nls;x-internal:=true, - org.eclipse.tcf.te.core.terminals.preferences, - org.eclipse.tcf.te.core.terminals.tracing, - org.eclipse.tcf.te.core.terminals.utils diff --git a/plugins/org.eclipse.tcf.te.core.terminals/te-feature.png b/plugins/org.eclipse.tcf.te.core.terminals/te-feature.png deleted file mode 100644 index 8e1143d7de256d7f080f345ac187d7f2e425495c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2423 zcmV--35fQIP)$6vLOa^-X+cwS0}_>SOkADD z`N0bq=s$_$M+Y!8bS}siGDrCMVcMaQ%!j#81z>&CHy`$VZ)aQks%;N#-iYsP-vlFU zz_A^8j$gh{4{K0W1z}z*7970w>M2htq$5{*C~?-nwg7^UB7(_pWb?R>UeW zab-p-DeyfgyjxXN{`782q5z;M3LM9lLiRi#v(s6)jtkw;5f3L&aI#TFRrj`5e>poi z{ocMs0X(|;$%ku}R_$4He{0kThjHynnzWNv*X4`(vXCZ4Q<@bCjCdp?N}$N9Y$^ufJM!CZiy`cQoctwlL@18=lZ5^ z^?!Kz^;{W%s%TqRu35gVv1KX7N2f79HigvSFc=nM(Ku9})VmfO-A9PDs;WOP|Gdrj zr2vK55`YDZOn7b}-VIe(p?f;=Ru*xya$7VMdy9{CmjP(1vZbZ1nM$^CapWTY^^a4~ zd=2qx7l6Ld(?7~(;n z*9d?DQzVc%x&yMHisx}rDkcr1okB#uZZ%1##|l?KzL$?TWF1u_jypRGl_DuPTp zkJBHW$INU7mR+Dz3xy(Sw+hJT3&`cO@>peEL=E$Ea{$z~s=5j;J~kfs>N8MlM%ir_3UkwJ|+0gYof6 zOiW%wA#cIYYVC6=(3+>N&EV{*i?}i}$+kMfdbVL2VHi4{i&+zqhuG-|LX_cL^9g9N z3KJF8QOs2(rmm$iO>+Z^(WQAM>e+}$zr!jiVk$$nBXtc*P!8etV{~u~VbhS&YizN~ zT=K=ELU_LCOA!hNTu}u@m;HcdIkJ&u(m7fIX|5sD>?=YimYu`d6DeQs>+8ca2YMED z{Ol87K}Saio`32!=sF{3DTy90`n`xoDe0`73ZZ&dJwdqe1sImED+Oosz5oU*p|R;M z)HYVbjE*ClDWsK-?>`d=M+?XBaDeXKUi5Z%;nLZw2nhxZRo1?GodIDiOWzC13})*1CHg&MX6>_+y8|dtWW{iO( z0$IY1&9#FPfS~$Lej zgiSH}XsS!1w!uWA#(?MNFgi35B;v96B!I3Ro#>ropflN7nmaqo03QG8gLwJrHwhpl zwIKSsHqK_E&2>DENZe$(iO9JSSb@tig$6Y+u%gjKtdjKCNAar{UWMYQM_&5N z&;O>E@_h-N-6{E^-p*chb#>9Y%K*B%b|6s|XEV|y0KtOBMM(mXeSqq2St3hNtbXZn z5q*}dPy@El)wBXNO>xvTM`1ZR4F7u!h8hwZ*3y39K+h16OqRT*Zcv}(xm2ojqPnJ% z;u9NCt`i~+npWxyG?AKRch|@?1gwS>XESC>HvE{1w0+$z_Y4hOk(#)gN@K~=7zJm^5)|nQM@@>&$6c-Uj6Q-l z{`fW~M)Du)syF<8mX6j=)f9}`s{$$_6_kSV-(&_dCsH{lfM=w5h3!t%c zQ*!r{&sfrVcG_a}I)+n2ICA)}@Qdm}P1X0mbo9rIei`Z4#Wp{xTLApwiA7T)z?>eq z1e+UBg=x4jd>NN7TtQ~C82Ap31ket1={R(1vOo8wwr@+F3=gN|dLqjA(a%2)rKjgW z(AB-T^Umv~c^eG~06%=>MJ@qBn(rHB>d&w(ouCHzbsY2w9f*CS5|qBD#BNO<%Vj4h peboFv`+ - - 4.0.0 - - - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml - - - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.ssh - eclipse-plugin - diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF deleted file mode 100644 index 6c7042e3328..00000000000 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.telnet;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: org.eclipse.tcf.te.ui.terminals.telnet.activator.UIPlugin -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", - org.eclipse.core.runtime;bundle-version="3.8.0", - org.eclipse.equinox.security;bundle-version="1.1.100", - org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", - org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", - org.eclipse.tm.terminal;bundle-version="3.3.1", - org.eclipse.tm.terminal.telnet;bundle-version="2.1.400", - org.eclipse.ui;bundle-version="3.8.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Localization: plugin -Export-Package: org.eclipse.tcf.te.ui.terminals.telnet.activator;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.telnet.controls, - org.eclipse.tcf.te.ui.terminals.telnet.launcher, - org.eclipse.tcf.te.ui.terminals.telnet.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF b/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF deleted file mode 100644 index c696e235b59..00000000000 --- a/plugins/org.eclipse.tcf.te.ui.terminals/META-INF/MANIFEST.MF +++ /dev/null @@ -1,34 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: org.eclipse.tcf.te.ui.terminals.activator.UIPlugin -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", - org.eclipse.core.runtime;bundle-version="3.8.0", - org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, - org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", - org.eclipse.tm.terminal;bundle-version="3.3.1", - org.eclipse.ui;bundle-version="3.8.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Localization: plugin -Export-Package: org.eclipse.tcf.te.ui.terminals.actions, - org.eclipse.tcf.te.ui.terminals.activator;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.controls, - org.eclipse.tcf.te.ui.terminals.help, - org.eclipse.tcf.te.ui.terminals.interfaces, - org.eclipse.tcf.te.ui.terminals.interfaces.tracing;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.internal;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.internal.dialogs;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.internal.handler;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.launcher, - org.eclipse.tcf.te.ui.terminals.listeners, - org.eclipse.tcf.te.ui.terminals.manager, - org.eclipse.tcf.te.ui.terminals.nls;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.panels, - org.eclipse.tcf.te.ui.terminals.services, - org.eclipse.tcf.te.ui.terminals.streams, - org.eclipse.tcf.te.ui.terminals.tabs, - org.eclipse.tcf.te.ui.terminals.view diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml b/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml deleted file mode 100644 index 8b5e73f93f0..00000000000 --- a/plugins/org.eclipse.tcf.te.ui.terminals/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml - - - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals - eclipse-plugin - diff --git a/plugins/org.eclipse.tm.terminal.remote/.gitignore b/plugins/org.eclipse.tm.terminal.remote/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.remote/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.remote/pom.xml b/plugins/org.eclipse.tm.terminal.remote/pom.xml index 6b257540a07..5f11544d2bd 100644 --- a/plugins/org.eclipse.tm.terminal.remote/pom.xml +++ b/plugins/org.eclipse.tm.terminal.remote/pom.xml @@ -1,15 +1,16 @@ - + 4.0.0 - + - org.eclipse.tm - org.eclipse.tm.maven-build + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + org.eclipse.tm.terminal.remote 1.0.0-SNAPSHOT eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.serial/.gitignore b/plugins/org.eclipse.tm.terminal.serial/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.serial/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF index b27bc126daa..b915b0ce4e5 100644 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 2.1.400.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Localization: plugin Import-Package: gnu.io;resolution:=optional Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml index d4ae3c31e90..3bec81721f1 100644 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.serial/pom.xml @@ -1,15 +1,17 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + + 4.0.0.qualifier org.eclipse.tm.terminal.serial - 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.ssh/.gitignore b/plugins/org.eclipse.tm.terminal.ssh/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.ssh/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF index 4f15d9c50aa..3bfe72556f6 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 2.1.400.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.ssh/pom.xml index a6f6a2a7cf4..b30c8877d25 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.ssh/pom.xml @@ -1,15 +1,17 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + + 4.0.0.qualifier org.eclipse.tm.terminal.ssh - 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.telnet/.gitignore b/plugins/org.eclipse.tm.terminal.telnet/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.telnet/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF index ea631367c33..719f8927128 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 2.1.400.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.telnet/pom.xml index 0b31fe029ac..dd944f7b55a 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.telnet/pom.xml @@ -1,15 +1,17 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + + 4.0.0.qualifier org.eclipse.tm.terminal.telnet - 2.1.400.qualifier eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.test/.gitignore b/plugins/org.eclipse.tm.terminal.test/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.test/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index eabe482ba35..fe02fcee652 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 2.3.0.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index f4ab2492681..8ba12191b91 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -1,32 +1,35 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + + 4.0.0.qualifier org.eclipse.tm.terminal.test - 2.3.0.qualifier eclipse-test-plugin - - - - org.eclipse.tycho - tycho-surefire-plugin - ${tycho-version} - - org.eclipse.tm.terminal.test - org.eclipse.tm.terminal.test.AutomatedPluginTests - false - false - true - org.eclipse.sdk.ide - - - - + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + org.eclipse.tm.terminal.test + org.eclipse.tm.terminal.test.AutomatedPluginTests + false + false + true + org.eclipse.sdk.ide + + + + diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.classpath b/plugins/org.eclipse.tm.terminal.view.core/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/.classpath rename to plugins/org.eclipse.tm.terminal.view.core/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.core/.gitignore b/plugins/org.eclipse.tm.terminal.view.core/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.core/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.view.core/.options b/plugins/org.eclipse.tm.terminal.view.core/.options new file mode 100644 index 00000000000..a0a2c87a3c7 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.core/.options @@ -0,0 +1 @@ +org.eclipse.tm.terminal.view.core/debugmode = 0 diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.project b/plugins/org.eclipse.tm.terminal.view.core/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.core.terminals/.project rename to plugins/org.eclipse.tm.terminal.view.core/.project index 755248325f2..82e91af353c 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/.project +++ b/plugins/org.eclipse.tm.terminal.view.core/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.core.terminals + org.eclipse.tm.terminal.view.core diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..95169afa17b --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF @@ -0,0 +1,21 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.core;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.core, + org.eclipse.tm.terminal.view.core.activator;x-internal:=true, + org.eclipse.tm.terminal.view.core.interfaces, + org.eclipse.tm.terminal.view.core.interfaces.constants, + org.eclipse.tm.terminal.view.core.internal;x-internal:=true, + org.eclipse.tm.terminal.view.core.nls;x-internal:=true, + org.eclipse.tm.terminal.view.core.preferences, + org.eclipse.tm.terminal.view.core.tracing, + org.eclipse.tm.terminal.view.core.utils diff --git a/plugins/org.eclipse.tcf.te.core.terminals/about.html b/plugins/org.eclipse.tm.terminal.view.core/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/about.html rename to plugins/org.eclipse.tm.terminal.view.core/about.html diff --git a/plugins/org.eclipse.tcf.te.core.terminals/about.ini b/plugins/org.eclipse.tm.terminal.view.core/about.ini similarity index 96% rename from plugins/org.eclipse.tcf.te.core.terminals/about.ini rename to plugins/org.eclipse.tm.terminal.view.core/about.ini index 27e63d60c20..3adc27ab587 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/about.ini +++ b/plugins/org.eclipse.tm.terminal.view.core/about.ini @@ -11,7 +11,7 @@ aboutText=%blurb # needed for primary features only # Property "featureImage" contains path to feature image (32x32) -featureImage=te-feature.png +featureImage=tm32.png # Property "aboutImage" contains path to product image (500x330 or 115x164) # needed for primary features only diff --git a/plugins/org.eclipse.tcf.te.core.terminals/about.mappings b/plugins/org.eclipse.tm.terminal.view.core/about.mappings similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/about.mappings rename to plugins/org.eclipse.tm.terminal.view.core/about.mappings diff --git a/plugins/org.eclipse.tcf.te.core.terminals/about.properties b/plugins/org.eclipse.tm.terminal.view.core/about.properties similarity index 97% rename from plugins/org.eclipse.tcf.te.core.terminals/about.properties rename to plugins/org.eclipse.tm.terminal.view.core/about.properties index 3c677ca90e1..61b1ee9d928 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/about.properties +++ b/plugins/org.eclipse.tm.terminal.view.core/about.properties @@ -16,7 +16,7 @@ # # Do not translate any values surrounded by {} -blurb=TCF Terminals\n\ +blurb=TM Terminal\n\ \n\ Version: {featureVersion}\n\ \n\ diff --git a/plugins/org.eclipse.tcf.te.core.terminals/build.properties b/plugins/org.eclipse.tm.terminal.view.core/build.properties similarity index 96% rename from plugins/org.eclipse.tcf.te.core.terminals/build.properties rename to plugins/org.eclipse.tm.terminal.view.core/build.properties index 2cee913a557..01e440a253e 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/build.properties +++ b/plugins/org.eclipse.tm.terminal.view.core/build.properties @@ -17,4 +17,4 @@ bin.includes = META-INF/,\ about.ini,\ about.mappings,\ about.properties,\ - te-feature.png + tm32.png diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties b/plugins/org.eclipse.tm.terminal.view.core/plugin.properties similarity index 95% rename from plugins/org.eclipse.tcf.te.core.terminals/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.core/plugin.properties index 7b9c05f4e64..4a1cc666a12 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.core/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminals Core +pluginName = Terminal View Core providerName = Eclipse.org - Target Explorer ExtensionPoint.contextPropertiesProviders = Terminal Context Properties Providers diff --git a/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml b/plugins/org.eclipse.tm.terminal.view.core/plugin.xml similarity index 72% rename from plugins/org.eclipse.tcf.te.core.terminals/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.core/plugin.xml index 541260cff2d..c9373fa17ff 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/plugin.xml @@ -6,9 +6,9 @@ diff --git a/plugins/org.eclipse.tcf.te.core.terminals/pom.xml b/plugins/org.eclipse.tm.terminal.view.core/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.core.terminals/pom.xml rename to plugins/org.eclipse.tm.terminal.view.core/pom.xml index bcef6fca921..268e911fa58 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.core.terminals + 4.0.0.qualifier + org.eclipse.tm.terminal.view.core eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd b/plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd similarity index 90% rename from plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd rename to plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd index 929f094d543..42db131aa89 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/schema/contextPropertiesProviders.exsd +++ b/plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd @@ -1,15 +1,14 @@ - + - + This extension point is used to contribute terminal context properties providers. The context properties provider allows querying desired properties for a given context. <p> The terminal context is passed in as default variable to the enablement expression evaluation. The terminal context is not expected to be iteratable or countable. - @@ -65,10 +64,10 @@ The terminal context is passed in as default variable to the enablement expressi - The class that implements <code>org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider</code>. + The class that implements <code>org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider</code>. - + @@ -80,7 +79,7 @@ The terminal context is passed in as default variable to the enablement expressi - Target Explorer 1.3.0 + TM Terminal 4.0.0 @@ -92,7 +91,7 @@ The terminal context is passed in as default variable to the enablement expressi This is an example of the extension point usage: <p> <pre><code> - <extension point="org.eclipse.tcf.te.core.terminals.contextPropertiesProviders"> + <extension point="org.eclipse.tm.terminal.view.core.contextPropertiesProviders"> <contextPropertiesProvider class="com.my.contribution.MyContextPropertiesProviderImpl"> </contextPropertiesProvider> @@ -106,7 +105,7 @@ The terminal context is passed in as default variable to the enablement expressi - The provider of a terminal context properties provider must implement <samp>org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider</samp>. + The provider of a terminal context properties provider must implement <samp>org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider</samp>. diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java similarity index 96% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java index c0bddc9bce8..9d26a00a949 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalContextPropertiesProviderFactory.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals; +package org.eclipse.tm.terminal.view.core; import java.util.ArrayList; import java.util.List; @@ -26,9 +26,9 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; -import org.eclipse.tcf.te.core.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tm.terminal.view.core.nls.Messages; /** * Terminal context properties provider factory. @@ -178,7 +178,7 @@ public final class TerminalContextPropertiesProviderFactory { * Load the terminal context properties provider contributions. */ private static void loadContributions() { - IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tcf.te.core.terminals.contextPropertiesProviders"); //$NON-NLS-1$ + IExtensionPoint ep = Platform.getExtensionRegistry().getExtensionPoint("org.eclipse.tm.terminal.view.core.contextPropertiesProviders"); //$NON-NLS-1$ if (ep != null) { IExtension[] extensions = ep.getExtensions(); if (extensions != null) { diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java similarity index 76% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java index 4b5eba9c958..7dd819a8bb9 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/TerminalServiceFactory.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java @@ -7,14 +7,14 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals; +package org.eclipse.tm.terminal.view.core; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; -import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.core.nls.Messages; import org.osgi.framework.Bundle; /** @@ -27,11 +27,11 @@ public final class TerminalServiceFactory { static { // Tries to instantiate the terminal service implementation - // from the o.e.tcf.te.ui.terminals bundle - Bundle bundle = Platform.getBundle("org.eclipse.tcf.te.ui.terminals"); //$NON-NLS-1$ + // from the o.e.tm.terminal.view.ui bundle + Bundle bundle = Platform.getBundle("org.eclipse.tm.terminal.view.ui"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { try { - Class clazz = bundle.loadClass("org.eclipse.tcf.te.ui.terminals.services.TerminalService"); //$NON-NLS-1$ + Class clazz = bundle.loadClass("org.eclipse.tm.terminal.view.ui.services.TerminalService"); //$NON-NLS-1$ instance = (ITerminalService) clazz.newInstance(); } catch (Exception e) { diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java similarity index 93% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java index 054468888df..16e0ed8a31e 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/activator/CoreBundleActivator.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.activator; +package org.eclipse.tm.terminal.view.core.activator; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; @@ -29,13 +29,13 @@ public class CoreBundleActivator implements BundleActivator { } /** - * Convenience method which returns the unique identifier of this plugin. + * Convenience method which returns the unique identifier of this plug-in. */ public static String getUniqueIdentifier() { if (getContext() != null && getContext().getBundle() != null) { return getContext().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.core.terminals"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.core"; //$NON-NLS-1$ } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java similarity index 97% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java index 41f2cd3e79f..86dd363ca06 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalContextPropertiesProvider.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces; +package org.eclipse.tm.terminal.view.core.interfaces; import java.util.Map; diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java similarity index 97% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java index e4c90c5878c..64af6fbdaa9 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalService.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces; +package org.eclipse.tm.terminal.view.core.interfaces; import java.util.Map; diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java similarity index 95% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java index dda3704b018..0205f4c9d42 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalServiceOutputStreamMonitorListener.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces; +package org.eclipse.tm.terminal.view.core.interfaces; /** * An interface to be implemented by listeners who want to listen diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java similarity index 95% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java index 77e3e04eb13..e4e35fa27bd 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/ITerminalTabListener.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces; +package org.eclipse.tm.terminal.view.core.interfaces; /** * Listener to implement and to register to get notified about diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java similarity index 96% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java index b2e98aacd39..b9d2b552b5e 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/IContextPropertiesConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces.constants; +package org.eclipse.tm.terminal.view.core.interfaces.constants; /** * Defines the terminal context properties constants. diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java similarity index 87% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java index 8fea4b82df7..7f147c3d7d7 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ILineSeparatorConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java @@ -7,12 +7,10 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces.constants; +package org.eclipse.tm.terminal.view.core.interfaces.constants; /** * Line separator constants. - *

                                    - * Copied from org.eclipse.tcf.internal.terminal.local.ILocalTerminalSettings. */ public interface ILineSeparatorConstants { diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java similarity index 98% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java index fe7b65295b5..1447f1b99c3 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/interfaces/constants/ITerminalsConnectorConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java @@ -8,9 +8,9 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.interfaces.constants; +package org.eclipse.tm.terminal.view.core.interfaces.constants; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; /** diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java similarity index 86% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java index b2b3dba8d49..ceca0efd26b 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.internal; +package org.eclipse.tm.terminal.view.core.internal; -import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; +import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java similarity index 87% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java index 23cc87c4636..f382eea1887 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.nls; +package org.eclipse.tm.terminal.view.core.nls; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.core.terminals.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.core.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java similarity index 99% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java index 33d505f2ce6..d9e974bc665 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/preferences/ScopedEclipsePreferences.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.preferences; +package org.eclipse.tm.terminal.view.core.preferences; import java.io.OutputStream; import java.util.Map; diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java similarity index 98% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java index fcce8ab071d..fd8bdeb5d12 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/tracing/TraceHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.tracing; +package org.eclipse.tm.terminal.view.core.tracing; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; -import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; +import org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator; /** * Helper class to handle tracing using the platforms debug capabilities. diff --git a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java similarity index 99% rename from plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java rename to plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java index 2605d765812..9471c380223 100644 --- a/plugins/org.eclipse.tcf.te.core.terminals/src/org/eclipse/tcf/te/core/terminals/utils/Env.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.core.terminals.utils; +package org.eclipse.tm.terminal.view.core.utils; import java.io.BufferedReader; import java.io.IOException; diff --git a/plugins/org.eclipse.tm.terminal.view.core/tm32.png b/plugins/org.eclipse.tm.terminal.view.core/tm32.png new file mode 100644 index 0000000000000000000000000000000000000000..3077b1220dd688632a42e347f90c90cb319835f0 GIT binary patch literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.local/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.local/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.options b/plugins/org.eclipse.tm.terminal.view.ui.local/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.options rename to plugins/org.eclipse.tm.terminal.view.ui.local/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.project b/plugins/org.eclipse.tm.terminal.view.ui.local/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.project rename to plugins/org.eclipse.tm.terminal.view.ui.local/.project index f86fbb751ca..2e1b844261f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.local + org.eclipse.tm.terminal.view.ui.local diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..b3c6735717d --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF @@ -0,0 +1,30 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.local;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin +Bundle-Vendor: %providerName +Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, + org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.core.variables;bundle-version="3.2.600", + org.eclipse.debug.ui;bundle-version="3.8.1";resolution:=optional, + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui.process;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.ui.local.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.local.controls, + org.eclipse.tm.terminal.view.ui.local.help, + org.eclipse.tm.terminal.view.ui.local.launcher, + org.eclipse.tm.terminal.view.ui.local.nls;x-internal:=true, + org.eclipse.tm.terminal.view.ui.local.showin, + org.eclipse.tm.terminal.view.ui.local.showin.interfaces, + org.eclipse.tm.terminal.view.ui.local.showin.preferences diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf b/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/p2.inf similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/META-INF/p2.inf rename to plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/p2.inf diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/about.html b/plugins/org.eclipse.tm.terminal.view.ui.local/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.local/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.local/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.local/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml b/plugins/org.eclipse.tm.terminal.view.ui.local/contexts.xml similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/contexts.xml rename to plugins/org.eclipse.tm.terminal.view.ui.local/contexts.xml diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.view.ui.local/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/icons/eview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.view.ui.local/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.local/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml similarity index 74% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml index 45808813c7c..41b308b9c99 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml @@ -6,17 +6,17 @@ - + @@ -24,10 +24,10 @@ - + @@ -45,8 +45,8 @@ + class="org.eclipse.tm.terminal.view.ui.local.showin.DynamicContributionItems" + id="org.eclipse.tm.terminal.view.ui.local.LocalLauncherDynamicContributionItems"> @@ -67,16 +67,16 @@ @@ -84,7 +84,7 @@ @@ -93,8 +93,8 @@ + class="org.eclipse.tm.terminal.view.ui.local.launcher.LocalLauncherHandler" + commandId="org.eclipse.tm.terminal.view.ui.local.command.launch"> @@ -102,8 +102,8 @@ @@ -111,13 +111,13 @@ + class="org.eclipse.tm.terminal.view.ui.local.showin.preferences.PreferencesInitializer"> - + diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml new file mode 100644 index 00000000000..7f7dc4fa7fc --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.local + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java index 80de64f1c4c..9d02abc7189 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java @@ -7,13 +7,13 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.activator; +package org.eclipse.tm.terminal.view.ui.local.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -50,7 +50,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.local"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.local"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java similarity index 85% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java index 63f452e9c77..6270248694d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/controls/LocalWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.controls; +package org.eclipse.tm.terminal.view.ui.local.controls; import java.util.Map; @@ -22,9 +22,9 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +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; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.WorkbenchEncoding; @@ -46,9 +46,9 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration super(container); } - /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) - */ + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + */ @Override public void setupPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); @@ -84,7 +84,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { @@ -95,12 +95,12 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { // set the terminal connector id for local terminal - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tcf.te.ui.terminals.local.LocalConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.view.ui.local.LocalConnector"); //$NON-NLS-1$ // Store the encoding data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); @@ -116,21 +116,21 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override protected void fillSettingsForHost(String host){ } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override protected void saveSettingsForHost(boolean add){ } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid(){ @@ -138,7 +138,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -147,7 +147,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { @@ -156,7 +156,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override protected String getHostFromSettings() { @@ -164,7 +164,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isWithHostList() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isWithHostList() */ @Override public boolean isWithHostList() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java similarity index 88% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java index 5f7b4108173..8f3c4b92431 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.help; +package org.eclipse.tm.terminal.view.ui.local.help; -import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java similarity index 91% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java index 1baa6bf4e31..2220e60d4d0 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.launcher; +package org.eclipse.tm.terminal.view.ui.local.launcher; import java.io.File; import java.net.InetAddress; @@ -32,24 +32,23 @@ import org.eclipse.core.variables.IStringVariableManager; import org.eclipse.core.variables.VariablesPlugin; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.local.controls.LocalWizardConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; -import org.eclipse.tcf.te.ui.terminals.process.ProcessSettings; 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.tm.terminal.view.core.TerminalServiceFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ILineSeparatorConstants; +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; +import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.local.controls.LocalWizardConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.ui.process.ProcessSettings; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.WorkbenchEncoding; @@ -64,7 +63,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { private final IMementoHandler mementoHandler = new LocalMementoHandler(); /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -72,7 +71,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -80,10 +79,10 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Set the terminal tab title @@ -271,7 +270,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { @@ -279,7 +278,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.local.LocalConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.local.LocalConnector"; //$NON-NLS-1$ // Extract the process properties using defaults String image; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java similarity index 90% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java index aa51e164605..a0230185921 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalLauncherHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.launcher; +package org.eclipse.tm.terminal.view.ui.local.launcher; import java.util.HashMap; import java.util.Map; @@ -19,9 +19,9 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; import org.eclipse.ui.IEditorInput; import org.eclipse.ui.IPathEditorInput; import org.eclipse.ui.handlers.HandlerUtil; @@ -57,7 +57,7 @@ public class LocalLauncherHandler extends AbstractHandler { // Find the local terminal launcher delegate ILauncherDelegate delegate = null; for (ILauncherDelegate candidate : delegates) { - if ("org.eclipse.tcf.te.ui.terminals.local.launcher.local".equals(candidate.getId())) { //$NON-NLS-1$ + if ("org.eclipse.tm.terminal.view.ui.local.launcher.local".equals(candidate.getId())) { //$NON-NLS-1$ delegate = candidate; break; } diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java similarity index 83% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java index 67f5ac618a0..819bd05e119 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/launcher/LocalMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.launcher; +package org.eclipse.tm.terminal.view.ui.local.launcher; import java.util.Map; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; import org.eclipse.ui.IMemento; /** @@ -21,7 +21,7 @@ import org.eclipse.ui.IMemento; public class LocalMementoHandler implements IMementoHandler { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void saveState(IMemento memento, Map properties) { @@ -30,7 +30,7 @@ public class LocalMementoHandler implements IMementoHandler { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void restoreState(IMemento memento, Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java index aff56bf5b6a..2082b8ec5d5 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.nls; +package org.eclipse.tm.terminal.view.ui.local.nls; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.local.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.local.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java index 6be5842e924..9679602c553 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/DynamicContributionItems.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.util.ArrayList; import java.util.HashMap; @@ -22,10 +22,10 @@ import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.graphics.ImageData; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.CompoundContributionItem; @@ -49,7 +49,7 @@ public class DynamicContributionItems extends CompoundContributionItem implement this.serviceLocator = serviceLocator; // Get the local terminal launcher delegate - delegate = LauncherDelegateManager.getInstance().getLauncherDelegate("org.eclipse.tcf.te.ui.terminals.local.launcher.local", false); //$NON-NLS-1$ + delegate = LauncherDelegateManager.getInstance().getLauncherDelegate("org.eclipse.tm.terminal.view.ui.local.launcher.local", false); //$NON-NLS-1$ } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java index 44e57c5625b..75896f2968c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.io.File; import java.util.HashMap; @@ -34,9 +34,9 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.ui.terminals.local.help.IContextHelpIds; -import org.eclipse.tcf.te.ui.terminals.local.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.local.help.IContextHelpIds; +import org.eclipse.tm.terminal.view.ui.local.nls.Messages; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.PlatformUI; import org.osgi.framework.Bundle; @@ -338,7 +338,7 @@ public class ExternalExecutablesDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.jface.dialogs.CustomTrayDialog#okPressed() + * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ @Override protected void okPressed() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java index 1bcca4a52c1..758f522398a 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.io.File; import java.util.ArrayList; @@ -17,7 +17,7 @@ import java.util.Map; import java.util.StringTokenizer; import org.eclipse.core.runtime.Platform; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.IStartup; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 1e797d92f08..5df1edf7d7c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.io.File; import java.io.FileReader; @@ -26,7 +26,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; /** * External executables manager implementation. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java index daf625d045c..30c91514b4d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin.interfaces; +package org.eclipse.tm.terminal.view.ui.local.showin.interfaces; /** * External executables data property names. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java index 631ac16c159..ba508ef04a6 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin.interfaces; +package org.eclipse.tm.terminal.view.ui.local.showin.interfaces; /** * Terminals plug-in preference key definitions. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java index c47135dd48f..0ec6d83c0bc 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin.preferences; +package org.eclipse.tm.terminal.view.ui.local.showin.preferences; import java.io.File; import java.net.URI; @@ -62,13 +62,13 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.ui.terminals.controls.NoteCompositeHelper; -import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.local.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.local.showin.ExternalExecutablesDialog; -import org.eclipse.tcf.te.ui.terminals.local.showin.ExternalExecutablesManager; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IExternalExecutablesProperties; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.ui.controls.NoteCompositeHelper; +import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.local.nls.Messages; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesDialog; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.osgi.framework.Bundle; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java similarity index 83% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java rename to plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java index 036e3e34e31..2922ee644b8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/src/org/eclipse/tcf/te/ui/terminals/local/showin/preferences/PreferencesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.local.showin.preferences; +package org.eclipse.tm.terminal.view.ui.local.showin.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; -import org.eclipse.tcf.te.ui.terminals.local.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; +import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; /** * Terminals default preferences initializer. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.process/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.process/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.options b/plugins/org.eclipse.tm.terminal.view.ui.process/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.options rename to plugins/org.eclipse.tm.terminal.view.ui.process/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.project b/plugins/org.eclipse.tm.terminal.view.ui.process/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.project rename to plugins/org.eclipse.tm.terminal.view.ui.process/.project index 65fc5f297b3..388cdcc2270 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.process + org.eclipse.tm.terminal.view.ui.process diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF similarity index 53% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF index db4041309cd..8f22aa287e4 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.process;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: org.eclipse.tcf.te.ui.terminals.process.activator.UIPlugin +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.process;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.process.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native, org.eclipse.cdt.utils.spawner;mandatory:=native @@ -11,14 +11,14 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", - org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", - org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", - org.eclipse.tm.terminal;bundle-version="3.3.1", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tcf.te.ui.terminals.process, - org.eclipse.tcf.te.ui.terminals.process.activator;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.process.help, - org.eclipse.tcf.te.ui.terminals.process.nls;x-internal:=true +Export-Package: org.eclipse.tm.terminal.view.ui.process, + org.eclipse.tm.terminal.view.ui.process.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.process.help, + org.eclipse.tm.terminal.view.ui.process.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf b/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/p2.inf similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf rename to plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/p2.inf diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/about.html b/plugins/org.eclipse.tm.terminal.view.ui.process/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.process/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.process/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.process/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.process/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml similarity index 62% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml index 068e51399a7..58e91247124 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml @@ -5,18 +5,18 @@ - + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml rename to plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml index 859eb193202..0cd2c346929 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.process + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.process eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java similarity index 85% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java index 98400b7384f..26e3675eeef 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process; +package org.eclipse.tm.terminal.view.ui.process; import java.io.File; import java.io.IOException; @@ -23,17 +23,17 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; -import org.eclipse.tcf.te.core.terminals.utils.Env; -import org.eclipse.tcf.te.ui.terminals.manager.ConsoleManager; -import org.eclipse.tcf.te.ui.terminals.process.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.streams.AbstractStreamsConnector; import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.terminal.view.core.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tm.terminal.view.core.utils.Env; +import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; +import org.eclipse.tm.terminal.view.ui.process.nls.Messages; +import org.eclipse.tm.terminal.view.ui.streams.AbstractStreamsConnector; /** * Process connector implementation. @@ -84,7 +84,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tcf.internal.terminal.provisional.api.ITerminalControl) + * @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) { @@ -228,7 +228,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() */ @Override public boolean isLocalEcho() { @@ -236,7 +236,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + * @see org.eclipse.tm.terminal.view.ui.streams.AbstractStreamsConnector#doDisconnect() */ @Override public void doDisconnect() { @@ -256,7 +256,7 @@ public class ProcessConnector extends AbstractStreamsConnector { // ***** Process Connector settings handling ***** /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() */ @Override public ISettingsPage makeSettingsPage() { @@ -264,7 +264,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() */ @Override public String getSettingsSummary() { @@ -272,7 +272,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore) */ @Override public void load(ISettingsStore store) { @@ -280,7 +280,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore) */ @Override public void save(ISettingsStore store) { @@ -288,7 +288,7 @@ public class ProcessConnector extends AbstractStreamsConnector { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setTerminalSize(int, int) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setTerminalSize(int, int) */ @Override public void setTerminalSize(int newWidth, int newHeight) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java similarity index 80% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java index fc78d60dee1..60726066f8d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java @@ -7,24 +7,23 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process; +package org.eclipse.tm.terminal.view.ui.process; import java.util.Map; import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; 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.tm.terminal.view.core.TerminalServiceFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +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; /** * Process launcher delegate implementation. @@ -33,7 +32,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtensi public class ProcessLauncherDelegate extends AbstractLauncherDelegate { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -41,7 +40,7 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -49,10 +48,10 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Get the terminal service @@ -64,7 +63,7 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { @@ -72,7 +71,7 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.ProcessConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.ProcessConnector"; //$NON-NLS-1$ // Extract the process properties String image = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java index f9cce8b650f..c94ff6b7eeb 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessMonitor.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process; +package org.eclipse.tm.terminal.view.ui.process; import org.eclipse.core.runtime.Assert; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java index 4a306ddfbc3..20b0593c332 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettings.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java @@ -7,13 +7,13 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process; +package org.eclipse.tm.terminal.view.ui.process; import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.terminal.view.ui.internal.SettingsStore; /** * Process connector settings implementation. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java index ab4d292ee4e..2465b2d9bf4 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/ProcessSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process; +package org.eclipse.tm.terminal.view.ui.process; import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.core.runtime.Assert; @@ -25,8 +25,8 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.PlatformUI; import org.osgi.framework.Bundle; @@ -56,7 +56,7 @@ public class ProcessSettingsPage extends AbstractSettingsPage { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#createControl(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#createControl(org.eclipse.swt.widgets.Composite) */ @Override public void createControl(Composite parent) { @@ -162,7 +162,7 @@ public class ProcessSettingsPage extends AbstractSettingsPage { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#saveSettings() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#saveSettings() */ @Override public void saveSettings() { @@ -174,7 +174,7 @@ public class ProcessSettingsPage extends AbstractSettingsPage { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#loadSettings() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#loadSettings() */ @Override public void loadSettings() { @@ -185,7 +185,7 @@ public class ProcessSettingsPage extends AbstractSettingsPage { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsPage#validateSettings() + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage#validateSettings() */ @Override public boolean validateSettings() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java index 87d195c745c..9bd8acf5346 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process.activator; +package org.eclipse.tm.terminal.view.ui.process.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -48,7 +48,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.process"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.process"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java similarity index 89% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java index 3fb81c57ff0..9514c022044 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process.help; +package org.eclipse.tm.terminal.view.ui.process.help; -import org.eclipse.tcf.te.ui.terminals.process.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.process.activator.UIPlugin; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java similarity index 79% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java index 60656fa69e0..1b9b2702a65 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.process.nls; +package org.eclipse.tm.terminal.view.ui.process.nls; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.process.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.process.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.process/src/org/eclipse/tcf/te/ui/terminals/process/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.options b/plugins/org.eclipse.tm.terminal.view.ui.rse/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.options rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.project b/plugins/org.eclipse.tm.terminal.view.ui.rse/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.project rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.project index 6dbc964fb5e..c0a42945343 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.rse + org.eclipse.tm.terminal.view.ui.rse diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF similarity index 52% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF index 906a5890c77..3acc32cf9e8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF @@ -1,22 +1,22 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tcf.te.ui.terminals.rse;singleton:=true -Bundle-Version: 1.3.0.qualifier -Bundle-Activator: org.eclipse.tcf.te.ui.terminals.rse.activator.UIPlugin +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.rse;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.rse.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.rse.core;bundle-version="3.3.100", org.eclipse.rse.subsystems.files.core;bundle-version="3.3.1", org.eclipse.rse.ui;bundle-version="3.3.100", - org.eclipse.tcf.te.core.terminals;bundle-version="1.3.0", - org.eclipse.tcf.te.ui.terminals;bundle-version="1.3.0", - org.eclipse.tm.terminal;bundle-version="3.3.1", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tcf.te.ui.terminals.rse.activator;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.rse.internal;x-internal:=true, - org.eclipse.tcf.te.ui.terminals.rse.nls;x-internal:=true +Export-Package: org.eclipse.tm.terminal.view.ui.rse.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.rse.internal;x-internal:=true, + org.eclipse.tm.terminal.view.ui.rse.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html b/plugins/org.eclipse.tm.terminal.view.ui.rse/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.rse/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/icons/eview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml similarity index 71% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml index 25a58712bc0..c07bfae014c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml @@ -3,9 +3,9 @@ - + + class="org.eclipse.tm.terminal.view.ui.rse.internal.TerminalContextPropertiesProvider"> @@ -16,10 +16,10 @@ - + @@ -51,9 +51,9 @@ @@ -61,10 +61,10 @@ - + - + @@ -77,9 +77,9 @@ @@ -87,8 +87,8 @@ + class="org.eclipse.tm.terminal.view.ui.rse.internal.LaunchTerminalHandler" + commandId="org.eclipse.tm.terminal.view.ui.rse.command.launch"> diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml rename to plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml index 70a8617810d..9a28c053d29 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.rse + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.rse eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java index 614dbaaf896..15821b29f92 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.rse.activator; +package org.eclipse.tm.terminal.view.ui.rse.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -48,7 +48,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.rse"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.rse"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java similarity index 90% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java index c70f8299367..361d74629e4 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/LaunchTerminalHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.rse.internal; +package org.eclipse.tm.terminal.view.ui.rse.internal; import java.util.Map; @@ -25,10 +25,10 @@ import org.eclipse.rse.core.model.IRSEModelObject; import org.eclipse.rse.core.subsystems.ISubSystem; import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.internal.dialogs.LaunchTerminalSettingsDialog; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.internal.dialogs.LaunchTerminalSettingsDialog; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; import org.eclipse.ui.handlers.HandlerUtil; /** @@ -64,7 +64,7 @@ public class LaunchTerminalHandler extends AbstractHandler { @Override protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { Assert.isNotNull(delegate); - return !"org.eclipse.tcf.te.ui.terminals.ssh.launcher.ssh".equals(delegate.getId()); //$NON-NLS-1$ + return !"org.eclipse.tm.terminal.view.ui.ssh.launcher.ssh".equals(delegate.getId()); //$NON-NLS-1$ } }; dialog.setSelection(new StructuredSelection(host)); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java index 5aa6ea07990..2d8a799cd48 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.rse.internal; +package org.eclipse.tm.terminal.view.ui.rse.internal; import java.util.Arrays; import java.util.List; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java similarity index 86% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java index 706379f6a88..3bae85c3e2e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/internal/TerminalContextPropertiesProvider.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java @@ -7,14 +7,14 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.rse.internal; +package org.eclipse.tm.terminal.view.ui.rse.internal; import java.util.HashMap; import java.util.Map; import org.eclipse.rse.core.model.IHost; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tm.terminal.view.core.interfaces.constants.IContextPropertiesConstants; /** * Terminal context properties provider implementation. @@ -22,7 +22,7 @@ import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextProperties public class TerminalContextPropertiesProvider implements ITerminalContextPropertiesProvider { /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider#getTargetAddress(java.lang.Object) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider#getTargetAddress(java.lang.Object) */ @Override public Map getTargetAddress(Object context) { @@ -40,7 +40,7 @@ public class TerminalContextPropertiesProvider implements ITerminalContextProper } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider#getProperty(java.lang.Object, java.lang.String) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider#getProperty(java.lang.Object, java.lang.String) */ @Override public Object getProperty(Object context, String key) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java similarity index 85% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java index 7732c2e7178..ff0949eb340 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.rse.nls; +package org.eclipse.tm.terminal.view.ui.rse.nls; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.rse.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.rse.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.rse/src/org/eclipse/tcf/te/ui/terminals/rse/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.serial/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.options b/plugins/org.eclipse.tm.terminal.view.ui.serial/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.options rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.project b/plugins/org.eclipse.tm.terminal.view.ui.serial/.project similarity index 92% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.project rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.project index e4317e21b12..2d7948ad029 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.serial + org.eclipse.tm.terminal.view.ui.serial diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..4e6a2bdd8cb --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF @@ -0,0 +1,24 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.serial;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.serial;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.ui.serial.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.serial.controls, + org.eclipse.tm.terminal.view.ui.serial.interfaces, + org.eclipse.tm.terminal.view.ui.serial.launcher, + org.eclipse.tm.terminal.view.ui.serial.nls;x-internal:=true +Import-Package: gnu.io;resolution:=optional diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html b/plugins/org.eclipse.tm.terminal.view.ui.serial/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.serial/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.serial/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.serial/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml similarity index 68% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml index ebb08e2cf35..e68182694a2 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml @@ -3,10 +3,10 @@ - + @@ -14,7 +14,7 @@ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.serial/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml rename to plugins/org.eclipse.tm.terminal.view.ui.serial/pom.xml index 5014b6d9f1a..efc134e74f4 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.serial + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.serial eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java index 19ac52a269b..6fe86258e9e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.activator; +package org.eclipse.tm.terminal.view.ui.serial.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -47,7 +47,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.serial"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.serial"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java similarity index 82% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java index 8459fcf8911..53d33f8678c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.controls; +package org.eclipse.tm.terminal.view.ui.serial.controls; import java.util.Map; @@ -17,9 +17,9 @@ 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.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +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; /** * Serial wizard configuration panel implementation. @@ -38,7 +38,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override public void setupPanel(Composite parent) { @@ -60,7 +60,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { @@ -72,21 +72,21 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#fillSettingsForHost(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override protected void fillSettingsForHost(String host){ } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#saveSettingsForHost(boolean) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#saveSettingsForHost(boolean) */ @Override protected void saveSettingsForHost(boolean add){ } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid(){ @@ -94,7 +94,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -105,7 +105,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { @@ -116,7 +116,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#getHostFromSettings() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#getHostFromSettings() */ @Override protected String getHostFromSettings() { @@ -124,7 +124,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel#isWithHostList() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#isWithHostList() */ @Override public boolean isWithHostList() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java index 0e8feb62ddc..d71df6c6e7f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialLinePanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.controls; +package org.eclipse.tm.terminal.view.ui.serial.controls; import gnu.io.CommPortIdentifier; @@ -38,12 +38,12 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.serial.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.serial.interfaces.ITraceIds; -import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; +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.AbstractConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.serial.interfaces.ITraceIds; +import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; import org.eclipse.ui.PlatformUI; /** @@ -150,7 +150,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override public void setupPanel(Composite parent) { @@ -608,7 +608,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid() { @@ -676,7 +676,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { private final String fcSelectedTTYTimeoutSlotId = "SerialLinePanel.selectedTTYTimeout." + System.getProperty("os.name"); //$NON-NLS-1$ //$NON-NLS-2$ /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { @@ -723,7 +723,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -740,7 +740,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { @@ -761,7 +761,7 @@ public class SerialLinePanel extends AbstractConfigurationPanel { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java index 1e5632c420c..c067e531e43 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/controls/SerialPortAddressDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.controls; +package org.eclipse.tm.terminal.view.ui.serial.controls; import java.util.List; import java.util.regex.Matcher; @@ -33,8 +33,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tcf.te.ui.terminals.serial.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; +import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; import org.eclipse.ui.PlatformUI; /** @@ -401,7 +401,7 @@ public class SerialPortAddressDialog extends TitleAreaDialog implements IMessage } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.dialogs.CustomTitleAreaDialog#okPressed() + * @see org.eclipse.jface.dialogs.Dialog#okPressed() */ @Override protected void okPressed() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java index 9f0df469edc..74efd38ce79 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/ITraceIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.interfaces; +package org.eclipse.tm.terminal.view.ui.serial.interfaces; /** * Trace slot identifiers. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java index a8da2a84fc5..5c60c77e265 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/interfaces/IWireTypeSerial.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.interfaces; +package org.eclipse.tm.terminal.view.ui.serial.interfaces; /** * The properties specific to the wire type "serial". diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java similarity index 81% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java index 1ad192c300c..b385c78c382 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.launcher; +package org.eclipse.tm.terminal.view.ui.serial.launcher; import java.text.DateFormat; import java.util.Date; @@ -15,21 +15,20 @@ import java.util.Map; import org.eclipse.core.runtime.Assert; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.serial.controls.SerialConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.serial.nls.Messages; 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.tm.internal.terminal.serial.SerialSettings; +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; +import org.eclipse.tm.terminal.view.ui.serial.controls.SerialConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; /** * Serial launcher delegate implementation. @@ -40,7 +39,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { private final IMementoHandler mementoHandler = new SerialMementoHandler(); /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -48,7 +47,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -56,10 +55,10 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Set the terminal tab title @@ -106,7 +105,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java similarity index 92% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java index 47615d28886..747611311dd 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/launcher/SerialMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java @@ -7,13 +7,13 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.launcher; +package org.eclipse.tm.terminal.view.ui.serial.launcher; import java.util.Map; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; import org.eclipse.ui.IMemento; /** @@ -22,7 +22,7 @@ import org.eclipse.ui.IMemento; public class SerialMementoHandler implements IMementoHandler { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void saveState(IMemento memento, Map properties) { @@ -43,7 +43,7 @@ public class SerialMementoHandler implements IMementoHandler { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void restoreState(IMemento memento, Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java index 530171509bf..8d78203c7c8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.serial.nls; +package org.eclipse.tm.terminal.view.ui.serial.nls; import org.eclipse.osgi.util.NLS; @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.serial.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.serial.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.serial/src/org/eclipse/tcf/te/ui/terminals/serial/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.options rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.project index af2dbffa88e..569a6aff988 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.ssh + org.eclipse.tm.terminal.view.ui.ssh diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..6e3c716c2af --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.ssh;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.ssh.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.ssh;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.ui.ssh.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.ssh.controls, + org.eclipse.tm.terminal.view.ui.ssh.launcher, + org.eclipse.tm.terminal.view.ui.ssh.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html b/plugins/org.eclipse.tm.terminal.view.ui.ssh/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.ssh/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml similarity index 68% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml index 3af1ce7e8b4..9ace7597f0f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml @@ -3,10 +3,10 @@ - + @@ -14,7 +14,7 @@ diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml new file mode 100644 index 00000000000..2bd950bfac3 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.ssh + eclipse-plugin + diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java index 8349dae57a3..c43b2634015 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.ssh.activator; +package org.eclipse.tm.terminal.view.ui.ssh.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -47,7 +47,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.ssh"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.ssh"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java similarity index 92% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java index 04d525860f1..581fa582cda 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.ssh.controls; +package org.eclipse.tm.terminal.view.ui.ssh.controls; import java.util.HashMap; import java.util.Map; @@ -27,17 +27,17 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; -import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.internal.terminal.ssh.SshConnector; import org.eclipse.tm.internal.terminal.ssh.SshSettings; +import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tm.terminal.view.core.interfaces.constants.IContextPropertiesConstants; +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; +import org.eclipse.tm.terminal.view.ui.ssh.nls.Messages; /** * SSH wizard configuration panel implementation. @@ -63,7 +63,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override public void setupPanel(Composite parent) { @@ -104,7 +104,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { @@ -157,7 +157,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { @@ -177,7 +177,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override protected void fillSettingsForHost(String host) { @@ -233,7 +233,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -242,7 +242,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override protected void saveSettingsForHost(boolean add) { @@ -363,7 +363,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#removeSecurePassword(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#removeSecurePassword(java.lang.String) */ @Override protected void removeSecurePassword(String host) { @@ -382,7 +382,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid(){ @@ -390,7 +390,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override protected String getHostFromSettings() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java similarity index 83% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java index 2faeb435c12..9d5b9687f08 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.ssh.launcher; +package org.eclipse.tm.terminal.view.ui.ssh.launcher; import java.text.DateFormat; import java.util.Date; @@ -16,21 +16,20 @@ import java.util.Map; import org.eclipse.core.runtime.Assert; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.ssh.controls.SshWizardConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages; 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.tm.internal.terminal.ssh.SshSettings; +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; +import org.eclipse.tm.terminal.view.ui.ssh.controls.SshWizardConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.ssh.nls.Messages; /** * SSH launcher delegate implementation. @@ -41,7 +40,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { private final IMementoHandler mementoHandler = new SshMementoHandler(); /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -49,7 +48,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -57,10 +56,10 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Set the terminal tab title @@ -114,7 +113,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java index f0ce4c2c045..61e3d273ff1 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/launcher/SshMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.ssh.launcher; +package org.eclipse.tm.terminal.view.ui.ssh.launcher; import java.util.Map; @@ -15,8 +15,8 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.equinox.security.storage.ISecurePreferences; import org.eclipse.equinox.security.storage.SecurePreferencesFactory; import org.eclipse.equinox.security.storage.StorageException; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; import org.eclipse.ui.IMemento; /** @@ -26,7 +26,7 @@ public class SshMementoHandler implements IMementoHandler { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void saveState(IMemento memento, Map properties) { @@ -74,7 +74,7 @@ public class SshMementoHandler implements IMementoHandler { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void restoreState(IMemento memento, Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java similarity index 77% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java index 265c2e0d0bb..d5cee145798 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -8,17 +8,17 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.ssh.nls; +package org.eclipse.tm.terminal.view.ui.ssh.nls; import org.eclipse.osgi.util.NLS; /** - * Target Explorer TCF terminals extensions UI plug-in externalized strings management. + * Terminals extensions UI plug-in externalized strings management. */ public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.ssh.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.ssh.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.ssh/src/org/eclipse/tcf/te/ui/terminals/ssh/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.options rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.project similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.project index 13db50347ae..384bfc77b07 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals.telnet + org.eclipse.tm.terminal.view.ui.telnet diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..a59348e7df4 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF @@ -0,0 +1,22 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.telnet;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.telnet.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.telnet;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.ui.telnet.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.telnet.controls, + org.eclipse.tm.terminal.view.ui.telnet.launcher, + org.eclipse.tm.terminal.view.ui.telnet.nls;x-internal:=true diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html b/plugins/org.eclipse.tm.terminal.view.ui.telnet/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/about.html rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.telnet/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml similarity index 68% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml index a2a34d7ea23..d7bd55bb02d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml @@ -3,10 +3,10 @@ - + @@ -14,7 +14,7 @@ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml index f3694ee3653..048ecb27aad 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.telnet + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui.telnet eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java index a6ce8753cea..69549b85412 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java @@ -8,12 +8,12 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.telnet.activator; +package org.eclipse.tm.terminal.view.ui.telnet.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; @@ -48,7 +48,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals.telnet"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui.telnet"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java similarity index 90% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java index 6d011eae71c..b106182366f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/controls/TelnetWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.telnet.controls; +package org.eclipse.tm.terminal.view.ui.telnet.controls; import java.util.HashMap; import java.util.Map; @@ -19,14 +19,14 @@ 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.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.internal.terminal.telnet.NetworkPortMap; import org.eclipse.tm.internal.terminal.telnet.TelnetConnector; import org.eclipse.tm.internal.terminal.telnet.TelnetSettings; +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; /** * telnet wizard configuration panel implementation. @@ -47,7 +47,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override public void setupPanel(Composite parent) { @@ -87,7 +87,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setupData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { @@ -111,7 +111,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { @@ -128,7 +128,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override protected void fillSettingsForHost(String host){ @@ -158,7 +158,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override protected void saveSettingsForHost(boolean add){ @@ -186,7 +186,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid(){ @@ -194,7 +194,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -203,7 +203,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override protected String getHostFromSettings() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java similarity index 81% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java index 2f3c78e281a..56bcf06e715 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.telnet.launcher; +package org.eclipse.tm.terminal.view.ui.telnet.launcher; import java.text.DateFormat; import java.util.Date; @@ -16,21 +16,20 @@ import java.util.Map; import org.eclipse.core.runtime.Assert; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.telnet.controls.TelnetWizardConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.telnet.nls.Messages; 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.tm.internal.terminal.telnet.TelnetSettings; +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; +import org.eclipse.tm.terminal.view.ui.telnet.controls.TelnetWizardConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.telnet.nls.Messages; /** * Telnet launcher delegate implementation. @@ -41,7 +40,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { private final IMementoHandler mementoHandler = new TelnetMementoHandler(); /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -49,7 +48,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -57,10 +56,10 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Set the terminal tab title @@ -113,7 +112,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java similarity index 89% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java index eaa0c6bdefe..05d2d95e8aa 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/launcher/TelnetMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java @@ -7,13 +7,13 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.telnet.launcher; +package org.eclipse.tm.terminal.view.ui.telnet.launcher; import java.util.Map; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; import org.eclipse.ui.IMemento; /** @@ -22,7 +22,7 @@ import org.eclipse.ui.IMemento; public class TelnetMementoHandler implements IMementoHandler { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void saveState(IMemento memento, Map properties) { @@ -40,7 +40,7 @@ public class TelnetMementoHandler implements IMementoHandler { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override public void restoreState(IMemento memento, Map properties) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java similarity index 75% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java index b1f817b8691..4119e2cc99b 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -8,17 +8,17 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.telnet.nls; +package org.eclipse.tm.terminal.view.ui.telnet.nls; import org.eclipse.osgi.util.NLS; /** - * Target Explorer TCF terminals extensions UI plug-in externalized strings management. + * Terminals extensions UI plug-in externalized strings management. */ public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.telnet.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.telnet.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals.telnet/src/org/eclipse/tcf/te/ui/terminals/telnet/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.classpath b/plugins/org.eclipse.tm.terminal.view.ui/.classpath similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/.classpath rename to plugins/org.eclipse.tm.terminal.view.ui/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.options b/plugins/org.eclipse.tm.terminal.view.ui/.options similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/.options rename to plugins/org.eclipse.tm.terminal.view.ui/.options diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.project b/plugins/org.eclipse.tm.terminal.view.ui/.project similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals/.project rename to plugins/org.eclipse.tm.terminal.view.ui/.project index 94502bab4d6..a663c982f5c 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui/.project @@ -1,6 +1,6 @@ - org.eclipse.tcf.te.ui.terminals + org.eclipse.tm.terminal.view.ui diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..0b688d3f7af --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -0,0 +1,34 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.view.ui.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.view.ui.actions, + org.eclipse.tm.terminal.view.ui.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.controls, + org.eclipse.tm.terminal.view.ui.help, + org.eclipse.tm.terminal.view.ui.interfaces, + org.eclipse.tm.terminal.view.ui.interfaces.tracing;x-internal:=true, + org.eclipse.tm.terminal.view.ui.internal;x-internal:=true, + org.eclipse.tm.terminal.view.ui.internal.dialogs;x-internal:=true, + org.eclipse.tm.terminal.view.ui.internal.handler;x-internal:=true, + org.eclipse.tm.terminal.view.ui.launcher, + org.eclipse.tm.terminal.view.ui.listeners, + org.eclipse.tm.terminal.view.ui.manager, + org.eclipse.tm.terminal.view.ui.nls;x-internal:=true, + org.eclipse.tm.terminal.view.ui.panels, + org.eclipse.tm.terminal.view.ui.services, + org.eclipse.tm.terminal.view.ui.streams, + org.eclipse.tm.terminal.view.ui.tabs, + org.eclipse.tm.terminal.view.ui.view diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/about.html b/plugins/org.eclipse.tm.terminal.view.ui/about.html similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/about.html rename to plugins/org.eclipse.tm.terminal.view.ui/about.html diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/build.properties b/plugins/org.eclipse.tm.terminal.view.ui/build.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/build.properties rename to plugins/org.eclipse.tm.terminal.view.ui/build.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml b/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/contexts.xml rename to plugins/org.eclipse.tm.terminal.view.ui/contexts.xml diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/clcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/clcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/disconnect.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/dlcl16/disconnect.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/command_input_field.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/command_input_field.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/disconnect.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/elcl16/disconnect.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/icons/eview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/plugin.properties rename to plugins/org.eclipse.tm.terminal.view.ui/plugin.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml similarity index 64% rename from plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml rename to plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 17b90285ea1..211f6eebe2b 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -8,16 +8,16 @@ @@ -26,10 +26,10 @@ - + - + - + - + - + - + - + @@ -112,33 +112,33 @@ - + - + @@ -147,46 +147,46 @@ - + - + @@ -195,7 +195,7 @@

                                    @@ -207,26 +207,26 @@ @@ -234,7 +234,7 @@ @@ -243,40 +243,40 @@ + class="org.eclipse.tm.terminal.view.ui.internal.handler.LaunchTerminalCommandHandler" + commandId="org.eclipse.tm.terminal.view.ui.command.launch"> + class="org.eclipse.tm.terminal.view.ui.internal.handler.LaunchTerminalCommandHandler" + commandId="org.eclipse.tm.terminal.view.ui.command.launchToolbar"> + class="org.eclipse.tm.terminal.view.ui.internal.handler.DisconnectTerminalCommandHandler" + commandId="org.eclipse.tm.terminal.view.ui.command.disconnect"> - - + + - + - + @@ -294,42 +294,42 @@ + activityId="org.eclipse.tm.terminal.view.ui.activity.views" + pattern="org\.eclipse\.tm\.terminal\.view\.ui/org\.eclipse\.tm\.terminal\.view\.ui\.TerminalsView"> + activityId="org.eclipse.tm.terminal.view.ui.activity.views" + pattern="org\.eclipse\.tm\.terminal\.view\.ui/org\.eclipse\.tm\.terminal\.view\.ui\.toolbar"> + activityId="org.eclipse.tm.terminal.view.ui.activity.views" + pattern="org\.eclipse\.tm\.terminal\.view\.ui/org\.eclipse\.tm\.terminal\.view\.ui\.commands\..*"> + activityId="org.eclipse.tm.terminal.view.ui.activity.views" + categoryId="org.eclipse.tm.terminal.view.ui.category"> + id="org.eclipse.tm.terminal.view.ui.activity.views"> diff --git a/plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml similarity index 54% rename from plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml rename to plugins/org.eclipse.tm.terminal.view.ui/pom.xml index 144c83e1fc1..1f8cb85a45d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -5,13 +5,13 @@ 4.0.0 - org.eclipse.tcf - org.eclipse.tcf.maven-build - 1.3.0-SNAPSHOT - ../../../admin/pom-build.xml + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml - 1.3.0.qualifier - org.eclipse.tcf.te.ui.terminals.local + 4.0.0.qualifier + org.eclipse.tm.terminal.view.ui eclipse-plugin diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd b/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/schema/launcherDelegates.exsd rename to plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java similarity index 91% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java index 3ab4f8cef66..0816f1769ff 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/AbstractAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.actions; +package org.eclipse.tm.terminal.view.ui.actions; import org.eclipse.core.commands.Command; import org.eclipse.core.commands.ParameterizedCommand; @@ -19,12 +19,12 @@ import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderToolbarHandler; import org.eclipse.ui.ISources; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; @@ -33,7 +33,6 @@ import org.eclipse.ui.handlers.IHandlerService; /** * Abstract terminal action wrapper implementation. */ -@SuppressWarnings("restriction") public abstract class AbstractAction extends AbstractTerminalAction { // Reference to the parent toolbar handler private final TabFolderToolbarHandler parent; @@ -64,7 +63,7 @@ public abstract class AbstractAction extends AbstractTerminalAction { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -72,7 +71,7 @@ public abstract class AbstractAction extends AbstractTerminalAction { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#run() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#run() */ @Override public void run() { @@ -139,7 +138,7 @@ public abstract class AbstractAction extends AbstractTerminalAction { protected abstract String getCommandId(); /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) */ @Override public void updateAction(boolean aboutToShow) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java similarity index 82% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java index f152023c581..4e8d5215256 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/PinTerminalAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java @@ -7,19 +7,18 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.actions; +package org.eclipse.tm.terminal.view.ui.actions; import org.eclipse.jface.action.IAction; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Pins the currently visible terminal view. */ -@SuppressWarnings("restriction") public class PinTerminalAction extends AbstractTerminalAction { private ITerminalsView view = null; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java similarity index 92% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java index d1d5672119f..4a697c16f35 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/SelectEncodingAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.actions; +package org.eclipse.tm.terminal.view.ui.actions; import java.io.UnsupportedEncodingException; @@ -15,12 +15,12 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.jface.action.IAction; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.window.Window; -import org.eclipse.tcf.te.ui.terminals.internal.dialogs.EncodingSelectionDialog; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.internal.dialogs.EncodingSelectionDialog; +import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** * Terminal control select encoding action implementation. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java similarity index 82% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java index 571eb8da35c..64bcdda7847 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/TabScrollLockAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java @@ -7,15 +7,15 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.actions; +package org.eclipse.tm.terminal.view.ui.actions; import org.eclipse.jface.action.IAction; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Terminal console tab scroll lock action. @@ -38,7 +38,7 @@ public class TabScrollLockAction extends AbstractTerminalAction { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#run() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#run() */ @Override public void run() { @@ -50,7 +50,7 @@ public class TabScrollLockAction extends AbstractTerminalAction { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#updateAction(boolean) */ @Override public void updateAction(boolean aboutToShow) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java similarity index 87% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java index d2eb36b2cfb..7622cc525d2 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/actions/ToggleCommandFieldAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java @@ -7,18 +7,18 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.actions; +package org.eclipse.tm.terminal.view.ui.actions; import org.eclipse.jface.action.IAction; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.tabs.TabCommandFieldHandler; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.tm.terminal.view.ui.tabs.TabCommandFieldHandler; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** * Toggle command input field. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java index f12b8ee35be..be20bfc735d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.activator; +package org.eclipse.tm.terminal.view.ui.activator; import java.net.URL; import java.util.ArrayList; @@ -21,14 +21,14 @@ import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.graphics.Image; import org.eclipse.swt.widgets.Display; -import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; -import org.eclipse.tcf.te.core.terminals.tracing.TraceHandler; -import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; -import org.eclipse.tcf.te.ui.terminals.listeners.WorkbenchWindowListener; -import org.eclipse.tcf.te.ui.terminals.view.TerminalsView; -import org.eclipse.tcf.te.ui.terminals.view.TerminalsViewMementoHandler; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; +import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; +import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.listeners.WorkbenchWindowListener; +import org.eclipse.tm.terminal.view.ui.view.TerminalsView; +import org.eclipse.tm.terminal.view.ui.view.TerminalsViewMementoHandler; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IWindowListener; @@ -78,7 +78,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tcf.te.ui.terminals"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.view.ui"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java index 75de4de716c..1a3e70ddabf 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/ConfigurationPanelControl.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.controls; +package org.eclipse.tm.terminal.view.ui.controls; import java.util.HashMap; import java.util.Hashtable; @@ -22,9 +22,9 @@ import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel; +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.panels.AbstractConfigurationPanel; /** * Base control to deal with wizard or property page controls @@ -61,7 +61,7 @@ public class ConfigurationPanelControl implements IConfigurationPanelContainer, } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override public void setupPanel(Composite parent) { @@ -75,7 +75,7 @@ public class ConfigurationPanelControl implements IConfigurationPanelContainer, } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override public boolean isValid() { @@ -136,7 +136,7 @@ public class ConfigurationPanelControl implements IConfigurationPanelContainer, } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer#validate() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer#validate() */ @Override public void validate() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java index eb998da2797..a861234c4d6 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/controls/NoteCompositeHelper.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.controls; +package org.eclipse.tm.terminal.view.ui.controls; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.resource.JFaceResources; @@ -23,7 +23,7 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * A helper class to create a composite with a highlighted note diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java similarity index 91% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java index 650f8306566..a1cf1271f13 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.help; +package org.eclipse.tm.terminal.view.ui.help; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java index a39ad7ade42..325028ce12a 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; import java.util.Map; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java index 03d3f41eec2..4ff7cc2e53d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IConfigurationPanelContainer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java index bf3f717ef35..5989ce02ec9 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ILauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java @@ -7,15 +7,15 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; import java.util.Map; import org.eclipse.core.expressions.Expression; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IExecutableExtension; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; /** * Terminal launcher delegate. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java index d6ae8e6d9d7..5afbf66fbbf 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; import java.util.Map; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java index 905b568aa25..3fb50a92142 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; /** * Terminals plug-in preference key definitions. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java index fcad401755e..b5821efe2aa 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ITerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; import org.eclipse.ui.IViewPart; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java similarity index 81% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java index 7c733a0e6bd..3ce443c9166 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/IUIConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; /** * Terminals common UI constants. @@ -16,6 +16,6 @@ public interface IUIConstants { /** * The view id of the terminals view. */ - public static final String ID = "org.eclipse.tcf.te.ui.terminals.TerminalsView"; //$NON-NLS-1$ + public static final String ID = "org.eclipse.tm.terminal.view.ui.TerminalsView"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java index ec47afc8642..990909997d5 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/ImageConsts.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; /** * Image registry constants. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java index 1ed32c06c75..f07bca3ec37 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/interfaces/tracing/ITraceIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.interfaces.tracing; +package org.eclipse.tm.terminal.view.ui.interfaces.tracing; /** * Core plug-in trace slot identifiers. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java similarity index 83% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java index b6b6a6fa434..59dc8d180e8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PreferencesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal; +package org.eclipse.tm.terminal.view.ui.internal; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.tcf.te.core.terminals.preferences.ScopedEclipsePreferences; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.IPreferenceKeys; /** * Terminals default preferences initializer. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java similarity index 90% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index 1a98d00b8b6..8ce61bbbe58 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -7,16 +7,16 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal; +package org.eclipse.tm.terminal.view.ui.internal; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java similarity index 83% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java index 31635db6d95..5a11c168899 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/SettingsStore.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal; +package org.eclipse.tm.terminal.view.ui.internal; import java.util.HashMap; import java.util.Map; @@ -39,7 +39,7 @@ public class SettingsStore implements ISettingsStore { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String, java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String, java.lang.String) */ @Override public final String get(String key, String defaultValue) { @@ -49,7 +49,7 @@ public class SettingsStore implements ISettingsStore { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String) */ @Override public final String get(String key) { @@ -58,7 +58,7 @@ public class SettingsStore implements ISettingsStore { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore#put(java.lang.String, java.lang.String) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#put(java.lang.String, java.lang.String) */ @Override public final void put(String key, String value) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java similarity index 87% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java index dc49648bd26..b129b5a047d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/EncodingSelectionDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.dialogs; +package org.eclipse.tm.terminal.view.ui.internal.dialogs; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.dialogs.TrayDialog; @@ -18,10 +18,10 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tcf.te.ui.terminals.help.IContextHelpIds; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.panels.AbstractExtendedConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.help.IContextHelpIds; +import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer; +import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel; import org.eclipse.ui.PlatformUI; /** @@ -50,9 +50,9 @@ public class EncodingSelectionDialog extends TrayDialog { super(container); } - /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.interfaces.IWizardConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) - */ + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + */ @Override public void setupPanel(Composite parent) { Composite panel = new Composite(parent, SWT.NONE); @@ -70,21 +70,21 @@ public class EncodingSelectionDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override protected void saveSettingsForHost(boolean add) { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override protected void fillSettingsForHost(String host) { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getHostFromSettings() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override protected String getHostFromSettings() { @@ -92,7 +92,7 @@ public class EncodingSelectionDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#getEncoding() + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getEncoding() */ @Override public String getEncoding() { @@ -100,7 +100,7 @@ public class EncodingSelectionDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.panels.AbstractConfigurationPanel#setEncoding(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setEncoding(java.lang.String) */ @Override public void setEncoding(String encoding) { @@ -194,9 +194,9 @@ public class EncodingSelectionDialog extends TrayDialog { } } - /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.jface.dialogs.CustomTrayDialog#okPressed() - */ + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#okPressed() + */ @Override protected void okPressed() { // Save the selected encoding diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java index cc9ae1b8fb2..c65206b87ba 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/dialogs/LaunchTerminalSettingsDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.dialogs; +package org.eclipse.tm.terminal.view.ui.internal.dialogs; import java.util.ArrayList; import java.util.Arrays; @@ -36,15 +36,15 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.controls.ConfigurationPanelControl; -import org.eclipse.tcf.te.ui.terminals.help.IContextHelpIds; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl; +import org.eclipse.tm.terminal.view.ui.help.IContextHelpIds; +import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.interfaces.tracing.ITraceIds; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.PlatformUI; /** @@ -82,7 +82,7 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.BaseWizardConfigurationPanelControl#getGroupLabel() + * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#getGroupLabel() */ @Override public String getGroupLabel() { @@ -90,7 +90,7 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.BaseWizardConfigurationPanelControl#showConfigurationPanel(java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#showConfigurationPanel(java.lang.String) */ @Override public void showConfigurationPanel(String key) { @@ -120,7 +120,7 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer#validate() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer#validate() */ @Override public void validate() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java index da9dde56e48..03b5e7a93f9 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/AbstractTriggerCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.handler; +package org.eclipse.tm.terminal.view.ui.internal.handler; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.Command; @@ -19,8 +19,8 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.jface.viewers.ISelection; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.ISources; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.commands.ICommandService; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java similarity index 91% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java index 7858bf9a7bf..33aa6f9a3c2 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/DisconnectTerminalCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.handler; +package org.eclipse.tm.terminal.view.ui.internal.handler; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; @@ -15,15 +15,14 @@ import org.eclipse.core.commands.ExecutionException; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; import org.eclipse.ui.handlers.HandlerUtil; /** * Disconnect terminal connection command handler implementation. */ -@SuppressWarnings("restriction") public class DisconnectTerminalCommandHandler extends AbstractHandler { /* (non-Javadoc) diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java similarity index 88% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java index e87f96ce0d8..46c34b668ec 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/LaunchTerminalCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.handler; +package org.eclipse.tm.terminal.view.ui.internal.handler; import java.text.DateFormat; import java.util.Date; @@ -22,15 +22,15 @@ import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.window.Window; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; -import org.eclipse.tcf.te.ui.terminals.internal.dialogs.LaunchTerminalSettingsDialog; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tm.terminal.view.core.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.interfaces.tracing.ITraceIds; +import org.eclipse.tm.terminal.view.ui.internal.dialogs.LaunchTerminalSettingsDialog; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; import org.eclipse.ui.handlers.HandlerUtil; /** @@ -45,8 +45,8 @@ public class LaunchTerminalCommandHandler extends AbstractHandler { @Override public Object execute(ExecutionEvent event) throws ExecutionException { String commandId = event.getCommand().getId(); - // "org.eclipse.tcf.te.ui.terminals.command.launchToolbar" - // "org.eclipse.tcf.te.ui.terminals.command.launch" + // "org.eclipse.tm.terminal.view.ui.command.launchToolbar" + // "org.eclipse.tm.terminal.view.ui.command.launch" long start = System.currentTimeMillis(); @@ -63,7 +63,7 @@ public class LaunchTerminalCommandHandler extends AbstractHandler { // Get the current selection ISelection selection = HandlerUtil.getCurrentSelection(event); - if (commandId.equals("org.eclipse.tcf.te.ui.terminals.command.launchToolbar")) { //$NON-NLS-1$ + if (commandId.equals("org.eclipse.tm.terminal.view.ui.command.launchToolbar")) { //$NON-NLS-1$ if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("(a) Attempt to open launch terminal settings dialog after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalCommandHandler.this); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java index a95424d3728..5803e005e07 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/MaximizeViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.handler; +package org.eclipse.tm.terminal.view.ui.internal.handler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java index 24401827b8c..ac63da8a95d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/internal/handler/QuickAccessHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.internal.handler; +package org.eclipse.tm.terminal.view.ui.internal.handler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java similarity index 90% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java index 1b868c4385d..1970d0765c8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/AbstractLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.launcher; +package org.eclipse.tm.terminal.view.ui.launcher; import org.eclipse.core.expressions.Expression; import org.eclipse.core.expressions.ExpressionConverter; @@ -18,9 +18,9 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.PlatformObject; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Abstract launcher delegate implementation. @@ -91,7 +91,7 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getId() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getId() */ @Override public String getId() { @@ -99,7 +99,7 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getLabel() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getLabel() */ @Override public String getLabel() { @@ -107,7 +107,7 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getEnablement() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getEnablement() */ @Override public Expression getEnablement() { @@ -115,7 +115,7 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#isHidden() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#isHidden() */ @Override public boolean isHidden() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java index 1b99f4389a2..0e9d1886feb 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/launcher/LauncherDelegateManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.launcher; +package org.eclipse.tm.terminal.view.ui.launcher; import java.util.ArrayList; import java.util.Arrays; @@ -32,9 +32,9 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.jface.viewers.ISelection; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.ISources; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.handlers.IHandlerService; @@ -168,14 +168,14 @@ public class LauncherDelegateManager { * The comparator assure that extension are read in a predictable order. *

                                    * The order of the extensions is defined as following:
                                    - *

                                    • Extensions contributed by our own plug-ins (org.eclipse.tcf.te.*) + *
                                      • Extensions contributed by our own plug-ins (org.eclipse.tm.terminal.*) * in ascending alphabetic order and
                                      • *
                                      • Extensions contributed by any other plug-in in ascending alphabetic order.
                                      • *
                                      • Extensions contributed by the same plug-in in ascending alphabetic order by the * extensions unique id
                                      • */ /* default */ static class ExtensionPointComparator implements Comparator { - private final static String OWN_PLUGINS_PATTERN = "org.eclipse.tcf.te."; //$NON-NLS-1$ + private final static String OWN_PLUGINS_PATTERN = "org.eclipse.tm.terminal."; //$NON-NLS-1$ /* (non-Javadoc) * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) @@ -379,7 +379,7 @@ public class LauncherDelegateManager { if (initialized) return; IExtensionRegistry registry = Platform.getExtensionRegistry(); - IExtensionPoint point = registry.getExtensionPoint("org.eclipse.tcf.te.ui.terminals.launcherDelegates"); //$NON-NLS-1$ + IExtensionPoint point = registry.getExtensionPoint("org.eclipse.tm.terminal.view.ui.launcherDelegates"); //$NON-NLS-1$ if (point != null) { IExtension[] extensions = getExtensionsSorted(point); for (IExtension extension : extensions) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java index d5752bf4e3a..7627ae4924a 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/AbstractWindowListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.listeners; +package org.eclipse.tm.terminal.view.ui.listeners; import org.eclipse.ui.IPartListener2; import org.eclipse.ui.IPartService; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java index 017b19271f2..e49178a0ba7 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchPartListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.listeners; +package org.eclipse.tm.terminal.view.ui.listeners; import java.util.HashMap; import java.util.Map; @@ -67,7 +67,7 @@ public class WorkbenchPartListener implements IPartListener2 { */ @Override public void partActivated(IWorkbenchPartReference partRef) { - if ("org.eclipse.tcf.te.ui.terminals.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ + if ("org.eclipse.tm.terminal.view.ui.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ IWorkbenchPart part = partRef.getPart(false); if (part != null && part.getSite() != null) { IContextService service = (IContextService)part.getSite().getService(IContextService.class); @@ -88,7 +88,7 @@ public class WorkbenchPartListener implements IPartListener2 { */ @Override public void partDeactivated(IWorkbenchPartReference partRef) { - if ("org.eclipse.tcf.te.ui.terminals.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ + if ("org.eclipse.tm.terminal.view.ui.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ IWorkbenchPart part = partRef.getPart(false); if (part != null && part.getSite() != null) { IContextService service = (IContextService)part.getSite().getService(IContextService.class); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java similarity index 86% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java index 21349a95494..f96a9796ecc 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/listeners/WorkbenchWindowListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.listeners; +package org.eclipse.tm.terminal.view.ui.listeners; import org.eclipse.ui.IPartListener2; @@ -18,7 +18,7 @@ import org.eclipse.ui.IPartListener2; public class WorkbenchWindowListener extends AbstractWindowListener { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.views.listeners.AbstractWindowListener#createPartListener() + * @see org.eclipse.tm.terminal.view.ui.listeners.AbstractWindowListener#createPartListener() */ @Override protected IPartListener2 createPartListener() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index e716c623756..20998332f42 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.manager; +package org.eclipse.tm.terminal.view.ui.manager; import java.util.ArrayList; import java.util.Arrays; @@ -22,16 +22,16 @@ import org.eclipse.core.runtime.Status; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.widgets.Display; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.IPreferenceKeys; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.interfaces.IUIConstants; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; -import org.eclipse.tcf.te.ui.terminals.view.TerminalsView; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; +import org.eclipse.tm.terminal.view.ui.view.TerminalsView; import org.eclipse.ui.IPerspectiveDescriptor; import org.eclipse.ui.IPerspectiveListener; import org.eclipse.ui.IViewPart; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java index 0d47192ebb7..55867c90dc3 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.nls; +package org.eclipse.tm.terminal.view.ui.nls; import java.lang.reflect.Field; @@ -20,7 +20,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tcf.te.ui.terminals.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java similarity index 82% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java index 8ee9b25067d..da3cd494310 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.panels; +package org.eclipse.tm.terminal.view.ui.panels; import java.util.Map; @@ -15,8 +15,8 @@ import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Composite; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; +import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer; /** * Abstract terminal launcher configuration panel implementation. @@ -45,7 +45,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getContainer() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#getContainer() */ @Override public IConfigurationPanelContainer getContainer() { @@ -80,7 +80,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#dispose() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#dispose() */ @Override public void dispose() { @@ -96,7 +96,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getControl() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#getControl() */ @Override public Composite getControl() { @@ -104,7 +104,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setSelection(org.eclipse.jface.viewers.ISelection) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setSelection(org.eclipse.jface.viewers.ISelection) */ @Override public void setSelection(ISelection selection) { @@ -112,7 +112,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#getSelection() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#getSelection() */ @Override public ISelection getSelection() { @@ -120,14 +120,14 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { @@ -149,7 +149,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setEnabled(boolean) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setEnabled(boolean) */ @Override public void setEnabled(boolean enabled) { @@ -164,7 +164,7 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#isValid() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#isValid() */ @Override public boolean isValid() { @@ -173,28 +173,28 @@ public abstract class AbstractConfigurationPanel implements IConfigurationPanel } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#activate() + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#activate() */ @Override public void activate() { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#extractData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#setupData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel#updateData(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#updateData(java.util.Map) */ @Override public void updateData(Map data) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java index 6277dc6c3d8..656aa77331f 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/panels/AbstractExtendedConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.panels; +package org.eclipse.tm.terminal.view.ui.panels; import java.nio.charset.Charset; import java.nio.charset.IllegalCharsetNameException; @@ -38,13 +38,13 @@ import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; -import org.eclipse.tcf.te.core.terminals.TerminalContextPropertiesProviderFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalContextPropertiesProvider; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.IContextPropertiesConstants; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; +import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; +import org.eclipse.tm.terminal.view.core.interfaces.constants.IContextPropertiesConstants; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.ISharedImages; import org.eclipse.ui.WorkbenchEncoding; import org.osgi.framework.Bundle; @@ -120,7 +120,7 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doRestoreWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doRestoreWidgetValues(IDialogSettings settings, String idPrefix) { @@ -237,7 +237,7 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.controls.panels.AbstractWizardConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) */ @Override public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java similarity index 89% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java index e06206e2a20..c69bdda01c8 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/services/TerminalService.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.services; +package org.eclipse.tm.terminal.view.ui.services; import java.util.HashMap; import java.util.Map; @@ -20,16 +20,16 @@ import org.eclipse.core.runtime.SafeRunner; import org.eclipse.core.runtime.Status; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.widgets.Display; -import org.eclipse.tcf.te.core.terminals.activator.CoreBundleActivator; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.interfaces.IUIConstants; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; -import org.eclipse.tcf.te.ui.terminals.manager.ConsoleManager; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; +import org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalTabListener; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.PlatformUI; /** @@ -87,7 +87,7 @@ public class TerminalService implements ITerminalService { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#addTerminalTabListener(org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalService#addTerminalTabListener(org.eclipse.tm.terminal.view.core.interfaces.ITerminalTabListener) */ @Override public final void addTerminalTabListener(ITerminalTabListener listener) { @@ -96,7 +96,7 @@ public class TerminalService implements ITerminalService { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#removeTerminalTabListener(org.eclipse.tcf.te.core.terminals.interfaces.ITerminalTabListener) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalService#removeTerminalTabListener(org.eclipse.tm.terminal.view.core.interfaces.ITerminalTabListener) */ @Override public final void removeTerminalTabListener(ITerminalTabListener listener) { @@ -257,7 +257,7 @@ public class TerminalService implements ITerminalService { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#openConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalService#openConsole(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) */ @Override public void openConsole(final Map properties, final Done done) { @@ -322,7 +322,7 @@ public class TerminalService implements ITerminalService { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#closeConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalService#closeConsole(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) */ @Override public void closeConsole(final Map properties, final Done done) { @@ -340,7 +340,7 @@ public class TerminalService implements ITerminalService { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService#terminateConsole(java.util.Map, org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done) + * @see org.eclipse.tm.terminal.view.core.interfaces.ITerminalService#terminateConsole(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) */ @Override public void terminateConsole(Map properties, Done done) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java similarity index 95% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java index 51496bcbf2a..89fdfbcf67d 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/AbstractStreamsConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java @@ -7,15 +7,15 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import java.io.InputStream; import java.io.OutputStream; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; import org.eclipse.ui.services.IDisposable; /** @@ -151,7 +151,7 @@ public abstract class AbstractStreamsConnector extends TerminalConnectorImpl { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() */ @Override protected void doDisconnect() { @@ -163,9 +163,9 @@ public abstract class AbstractStreamsConnector extends TerminalConnectorImpl { super.doDisconnect(); } - /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream() - */ + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream() + */ @Override public OutputStream getTerminalToRemoteStream() { return stdInMonitor; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java index 486c7dfede1..5a18a691b2b 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/InputStreamMonitor.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import java.io.IOException; import java.io.OutputStream; @@ -20,10 +20,10 @@ import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.services.IDisposable; /** @@ -54,7 +54,6 @@ public class InputStreamMonitor extends OutputStream implements IDisposable { private final Queue queue = new LinkedList(); // ***** Line separator replacement logic ***** - // ***** Adapted from org.eclipse.tcf.internal.terminal.local.LocalTerminalOutputStream ***** private final static int TERMINAL_SENDS_CR = 0; private final static int TERMINAL_SENDS_CRLF = 1; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java index ddfbba64424..07983df66ca 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/OutputStreamMonitor.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import java.io.BufferedInputStream; import java.io.IOException; @@ -20,12 +20,12 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.ListenerList; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ILineSeparatorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.tracing.ITraceIds; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ILineSeparatorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.tracing.ITraceIds; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.services.IDisposable; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java similarity index 76% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java index e9bddcba853..d297a0ba364 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import org.eclipse.core.runtime.Assert; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; @@ -43,7 +43,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tcf.internal.terminal.provisional.api.ITerminalControl) + * @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) { @@ -62,7 +62,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#isLocalEcho() */ @Override public boolean isLocalEcho() { @@ -78,7 +78,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect() + * @see org.eclipse.tm.terminal.view.ui.streams.AbstractStreamsConnector#doDisconnect() */ @Override public void doDisconnect() { @@ -92,7 +92,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo // ***** Process Connector settings handling ***** /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary() */ @Override public String getSettingsSummary() { @@ -100,7 +100,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore) */ @Override public void load(ISettingsStore store) { @@ -108,7 +108,7 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tcf.internal.terminal.provisional.api.ISettingsStore) + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore) */ @Override public void save(ISettingsStore store) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java similarity index 77% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java index 6d492e7ba86..ce82381db48 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java @@ -7,25 +7,24 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import java.io.InputStream; import java.io.OutputStream; import java.util.Map; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService.Done; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanel; -import org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; -import org.eclipse.tcf.te.ui.terminals.launcher.AbstractLauncherDelegate; 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.tm.terminal.view.core.TerminalServiceFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +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; /** * Streams launcher delegate implementation. @@ -34,7 +33,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtensi public class StreamsLauncherDelegate extends AbstractLauncherDelegate { /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#needsUserConfiguration() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override public boolean needsUserConfiguration() { @@ -42,7 +41,7 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#getPanel(org.eclipse.tcf.te.ui.terminals.interfaces.IConfigurationPanelContainer) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { @@ -50,10 +49,10 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tcf.te.core.terminals.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 - public void execute(Map properties, Done done) { + public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); // Get the terminal service @@ -65,7 +64,7 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override public ITerminalConnector createTerminalConnector(Map properties) { @@ -73,7 +72,7 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tcf.te.ui.terminals.StreamsConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.StreamsConnector"; //$NON-NLS-1$ // Extract the streams properties OutputStream stdin = (OutputStream)properties.get(ITerminalsConnectorConstants.PROP_STREAMS_STDIN); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java index dcaaac457ed..5ad03d888ad 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/streams/StreamsSettings.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java @@ -7,15 +7,15 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.streams; +package org.eclipse.tm.terminal.view.ui.streams; import java.io.InputStream; import java.io.OutputStream; import org.eclipse.core.runtime.Assert; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalServiceOutputStreamMonitorListener; -import org.eclipse.tcf.te.ui.terminals.internal.SettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStreamMonitorListener; +import org.eclipse.tm.terminal.view.ui.internal.SettingsStore; /** * Streams connector settings implementation. diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java index c6f5e814da7..9a85fee1112 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabCommandFieldHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IAdaptable; @@ -19,7 +19,6 @@ import org.eclipse.ui.services.IDisposable; /** * Tab command input field handler implementation. */ -@SuppressWarnings("restriction") public class TabCommandFieldHandler implements IDisposable, IAdaptable { // Reference to the parent tab folder manager private final TabFolderManager tabFolderManager; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java similarity index 92% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java index c4f08d92b96..2a61fa1116e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabDisposeListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java @@ -7,22 +7,21 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import org.eclipse.core.runtime.Assert; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.events.DisposeEvent; import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.widgets.Control; -import org.eclipse.tcf.te.core.terminals.TerminalServiceFactory; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.ui.terminals.services.TerminalService; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +import org.eclipse.tm.terminal.view.core.TerminalServiceFactory; +import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.ui.services.TerminalService; /** * Terminals tab default dispose listener implementation. */ -@SuppressWarnings("restriction") public class TabDisposeListener implements DisposeListener { private final TabFolderManager parentTabFolderManager; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java similarity index 98% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index 9e4c96a0c86..78de833f116 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import java.io.UnsupportedEncodingException; import java.util.ArrayList; @@ -43,17 +43,17 @@ import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Menu; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.interfaces.ImageConsts; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.TerminalViewControlFactory; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.PlatformUI; /** diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index f04d9a3d1b5..11af9b37906 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import java.util.ArrayList; import java.util.List; @@ -26,9 +26,6 @@ import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.widgets.Menu; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.actions.SelectEncodingAction; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; @@ -36,6 +33,9 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionSelectAll; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.actions.SelectEncodingAction; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; import org.eclipse.ui.IWorkbenchActionConstants; /** @@ -205,7 +205,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Create and add the copy action add(new TerminalActionCopy() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -251,7 +251,7 @@ public class TabFolderMenuHandler extends PlatformObject { super.run(); } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -262,7 +262,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Create and add the clear all action add(new TerminalActionClearAll() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -284,7 +284,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Create and add the select all action add(new TerminalActionSelectAll() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -295,7 +295,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Create and add the select encoding action add (new SelectEncodingAction((TabFolderManager)getParentView().getAdapter(TabFolderManager.class)) { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java similarity index 97% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java index 37e4110cba7..9912f743dca 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderSelectionListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import org.eclipse.core.runtime.Assert; import org.eclipse.swt.events.SelectionEvent; diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index 07d1a78684f..33733e7e567 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import java.util.ArrayList; import java.util.List; @@ -22,17 +22,17 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.ui.terminals.actions.AbstractAction; -import org.eclipse.tcf.te.ui.terminals.actions.PinTerminalAction; -import org.eclipse.tcf.te.ui.terminals.actions.TabScrollLockAction; -import org.eclipse.tcf.te.ui.terminals.actions.ToggleCommandFieldAction; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionClearAll; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionCopy; import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.actions.AbstractAction; +import org.eclipse.tm.terminal.view.ui.actions.PinTerminalAction; +import org.eclipse.tm.terminal.view.ui.actions.TabScrollLockAction; +import org.eclipse.tm.terminal.view.ui.actions.ToggleCommandFieldAction; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; import org.eclipse.ui.IActionBars; import org.eclipse.ui.IWorkbenchActionConstants; @@ -209,7 +209,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // Create and add the paste action add(new TerminalActionPaste() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -220,7 +220,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // Create and add the copy action add(new TerminalActionCopy() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -231,7 +231,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // Create and add the scroll lock action add (new TabScrollLockAction() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { @@ -242,7 +242,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // Create and add the clear all action add(new TerminalActionClearAll() { /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.actions.AbstractTerminalAction#getTarget() + * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @Override protected ITerminalViewControl getTarget() { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java similarity index 93% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java index f482d58572b..c65f3e0fcda 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/tabs/TabTerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java @@ -7,16 +7,16 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.tabs; +package org.eclipse.tm.terminal.view.ui.tabs; import org.eclipse.core.runtime.Assert; import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.widgets.Display; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Terminals tab default terminal listener implementation. @@ -74,7 +74,7 @@ public class TabTerminalListener implements ITerminalListener { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.ITerminalListener#setState(org.eclipse.tcf.internal.terminal.provisional.api.TerminalState) + * @see org.eclipse.tm.internal.terminal.control.ITerminalListener#setState(org.eclipse.tm.internal.terminal.provisional.api.TerminalState) */ @Override public void setState(final TerminalState state) { @@ -144,7 +144,7 @@ public class TabTerminalListener implements ITerminalListener { } /* (non-Javadoc) - * @see org.eclipse.tcf.internal.terminal.control.ITerminalListener#setTerminalTitle(java.lang.String) + * @see org.eclipse.tm.internal.terminal.control.ITerminalListener#setTerminalTitle(java.lang.String) */ @Override public void setTerminalTitle(String title) { diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java similarity index 96% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index cc4bbf576a9..27c1fb42804 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.view; +package org.eclipse.tm.terminal.view.ui.view; import java.util.Iterator; import java.util.UUID; @@ -49,12 +49,12 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Event; import org.eclipse.swt.widgets.Listener; -import org.eclipse.tcf.te.ui.terminals.activator.UIPlugin; -import org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView; -import org.eclipse.tcf.te.ui.terminals.nls.Messages; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderManager; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderMenuHandler; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderMenuHandler; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderToolbarHandler; import org.eclipse.ui.IMemento; import org.eclipse.ui.ISources; import org.eclipse.ui.IViewSite; @@ -583,7 +583,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#switchToEmptyPageControl() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#switchToEmptyPageControl() */ @Override public void switchToEmptyPageControl() { @@ -594,7 +594,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#switchToTabFolderControl() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#switchToTabFolderControl() */ @Override public void switchToTabFolderControl() { @@ -629,7 +629,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#setPinned(boolean) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#setPinned(boolean) */ @Override public void setPinned(boolean pin) { @@ -637,7 +637,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa } /* (non-Javadoc) - * @see org.eclipse.tcf.te.ui.terminals.interfaces.ITerminalsView#isPinned() + * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#isPinned() */ @Override public boolean isPinned() { @@ -696,7 +696,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa // If the selection is valid, fire the command to open the local terminal if (isValid) { ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); - Command command = service != null ? service.getCommand("org.eclipse.tcf.te.ui.terminals.local.command.launch") : null; //$NON-NLS-1$ + Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.view.ui.local.command.launch") : null; //$NON-NLS-1$ if (command != null && command.isDefined() && command.isEnabled()) { try { ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); diff --git a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java similarity index 94% rename from plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java index c4d419fb065..b8e6486213e 100644 --- a/plugins/org.eclipse.tcf.te.ui.terminals/src/org/eclipse/tcf/te/ui/terminals/view/TerminalsViewMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tcf.te.ui.terminals.view; +package org.eclipse.tm.terminal.view.ui.view; import java.util.ArrayList; import java.util.HashMap; @@ -18,24 +18,23 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.custom.CTabItem; -import org.eclipse.tcf.te.core.terminals.interfaces.ITerminalService; -import org.eclipse.tcf.te.core.terminals.interfaces.constants.ITerminalsConnectorConstants; -import org.eclipse.tcf.te.ui.terminals.actions.PinTerminalAction; -import org.eclipse.tcf.te.ui.terminals.interfaces.ILauncherDelegate; -import org.eclipse.tcf.te.ui.terminals.interfaces.IMementoHandler; -import org.eclipse.tcf.te.ui.terminals.launcher.LauncherDelegateManager; -import org.eclipse.tcf.te.ui.terminals.tabs.TabFolderToolbarHandler; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; +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.actions.PinTerminalAction; +import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; +import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; +import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.tabs.TabFolderToolbarHandler; import org.eclipse.ui.IMemento; import org.eclipse.ui.PlatformUI; /** * Take care of the persisted state handling of the "Terminals" view. */ -@SuppressWarnings("restriction") public class TerminalsViewMementoHandler { // The list of items to save. See the workbench listener implementation - // in o.e.tcf.te.ui.terminals.activator.UIPlugin. + // in o.e.tm.terminal.view.ui.activator.UIPlugin. private final List saveables = new ArrayList(); /** diff --git a/plugins/org.eclipse.tm.terminal/.gitignore b/plugins/org.eclipse.tm.terminal/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF index ccb37735d23..41852053a69 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true -Bundle-Version: 3.3.100.qualifier +Bundle-Version: 4.0.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal/pom.xml b/plugins/org.eclipse.tm.terminal/pom.xml index 96ae5f6cabe..d7d270047f0 100644 --- a/plugins/org.eclipse.tm.terminal/pom.xml +++ b/plugins/org.eclipse.tm.terminal/pom.xml @@ -1,15 +1,17 @@ - + 4.0.0 + - org.eclipse.tm.maven-build - org.eclipse.tm + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build 4.0.0-SNAPSHOT - ../../../admin/pom-build.xml + ../../admin/pom-build.xml - org.eclipse.tm + + 4.0.0.qualifier org.eclipse.tm.terminal - 3.3.100.qualifier eclipse-plugin diff --git a/pom.xml b/pom.xml new file mode 100644 index 00000000000..0836b91f0c9 --- /dev/null +++ b/pom.xml @@ -0,0 +1,66 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + admin/pom-build.xml + + + org.eclipse.tm.terminal + terminal-parent + 4.0.0-SNAPSHOT + pom + TM Terminal, Maven Master + + + + plugins/org.eclipse.tm.terminal + plugins/org.eclipse.tm.terminal.serial + plugins/org.eclipse.tm.terminal.ssh + plugins/org.eclipse.tm.terminal.telnet + plugins/org.eclipse.tm.terminal.remote + + features/org.eclipse.tm.terminal.feature + features/org.eclipse.tm.terminal.sdk.feature + features/org.eclipse.tm.terminal.serial.feature + features/org.eclipse.tm.terminal.serial.sdk.feature + features/org.eclipse.tm.terminal.ssh.feature + features/org.eclipse.tm.terminal.ssh.sdk.feature + features/org.eclipse.tm.terminal.telnet.feature + features/org.eclipse.tm.terminal.telnet.sdk.feature + features/org.eclipse.tm.terminal.remote.feature + features/org.eclipse.tm.terminal.remote.sdk.feature + + + plugins/org.eclipse.tm.terminal.view.core + plugins/org.eclipse.tm.terminal.view.ui + plugins/org.eclipse.tm.terminal.view.ui.local + plugins/org.eclipse.tm.terminal.view.ui.process + plugins/org.eclipse.tm.terminal.view.ui.rse + plugins/org.eclipse.tm.terminal.view.ui.serial + plugins/org.eclipse.tm.terminal.view.ui.ssh + plugins/org.eclipse.tm.terminal.view.ui.telnet + + features/org.eclipse.tm.terminal.view.feature + features/org.eclipse.tm.terminal.view.sdk.feature + features/org.eclipse.tm.terminal.view.rse.feature + features/org.eclipse.tm.terminal.view.rse.sdk.feature + + + repos/org.eclipse.tm.terminal.repo + + + + + tests + + plugins/org.eclipse.tm.terminal.test + + + + diff --git a/readme.txt b/readme.txt index 3f318523fc8..4b5151f88c0 100644 --- a/readme.txt +++ b/readme.txt @@ -1,4 +1,4 @@ -The "terminal" folder holds the TM Terminal Component. -Its core depends on Eclipse RCP only and can be adapted to eRCP. +This repository holds the TM Terminal Component. +Its core depends on Eclipse RCP only. All these Git modules should be named "org.eclipse.tm.terminal.*". See http://www.eclipse.org/tm/ diff --git a/repos/org.eclipse.tm.terminal.repo/.project b/repos/org.eclipse.tm.terminal.repo/.project new file mode 100644 index 00000000000..37c94f97f84 --- /dev/null +++ b/repos/org.eclipse.tm.terminal.repo/.project @@ -0,0 +1,11 @@ + + + org.eclipse.tm.terminal.repo + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml new file mode 100644 index 00000000000..803e18d281a --- /dev/null +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TM Terminal Main Features + + + diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml new file mode 100644 index 00000000000..b80720908cb --- /dev/null +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -0,0 +1,61 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0-SNAPSHOT + org.eclipse.tm.terminal.repo + eclipse-repository + + + + deploy + + + + maven-antrun-plugin + + + deploy + install + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From b20c78496928d3c83419e47605467fa680e9344d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 09:49:55 +0200 Subject: [PATCH 645/843] Releng: Move to Tycho 0.22.0 for build --- admin/pom-config.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 4778841ceba..68c524c671f 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -37,10 +37,10 @@ - 0.20.0 - 0.20.0 - 2.6 - 1.7 + 0.22.0 + 0.22.0 + 2.7 + 1.8 1.5 2.5.2 From a2cc5e08787c402809290358defc08da0419430d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 10:49:31 +0200 Subject: [PATCH 646/843] Releng: Update Terminal target platform definition --- admin/target-defs/eclipse-4.4.x-luna.target | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/target-defs/eclipse-4.4.x-luna.target b/admin/target-defs/eclipse-4.4.x-luna.target index ac4abf65112..3ddc2aa1e4e 100644 --- a/admin/target-defs/eclipse-4.4.x-luna.target +++ b/admin/target-defs/eclipse-4.4.x-luna.target @@ -20,7 +20,7 @@ - + From bcca3ecf9f7ab978e64e67dab069a5ce5274a81d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 12:16:51 +0200 Subject: [PATCH 647/843] Releng: Set terminal stream to "development" --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 68c524c671f..bbdf7c0b658 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -52,7 +52,7 @@ scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git - mars + development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly 4.5 From 8df909e014434994bf6edd842e4c053425e22f04 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 15:27:25 +0200 Subject: [PATCH 648/843] Terminal: Merge o.e.tm.terminal.serial to o.e.tm.terminal.view.ui.serial --- .../feature.xml | 3 +- .../feature.xml | 3 +- .../feature.properties | 168 ---------------- .../feature.properties | 168 ---------------- .../feature.xml | 9 +- .../feature.xml | 8 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 16 +- .../pom.xml | 2 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 13 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.serial/.classpath | 7 - .../org.eclipse.tm.terminal.serial/.cvsignore | 1 - .../org.eclipse.tm.terminal.serial/.gitignore | 1 - .../org.eclipse.tm.terminal.serial/.project | 34 ---- .../.settings/org.eclipse.jdt.core.prefs | 61 ------ .../META-INF/MANIFEST.MF | 18 -- .../org.eclipse.tm.terminal.serial/README.txt | 64 ------ .../org.eclipse.tm.terminal.serial/about.html | 28 --- .../org.eclipse.tm.terminal.serial/about.ini | 27 --- .../about.properties | 24 --- .../build.properties | 29 --- .../plugin.properties | 19 -- .../org.eclipse.tm.terminal.serial/plugin.xml | 21 -- .../org.eclipse.tm.terminal.serial/pom.xml | 17 -- .../internal/terminal/serial/Activator.java | 65 ------- .../terminal/serial/SerialMessages.java | 44 ----- .../terminal/serial/SerialMessages.properties | 49 ----- .../terminal/serial/SerialSettingsPage.java | 183 ------------------ .../org.eclipse.tm.terminal.serial/tm32.png | Bin 2275 -> 0 bytes .../META-INF/MANIFEST.MF | 2 +- .../plugin.properties | 8 +- .../plugin.xml | 10 +- .../ui/serial/connector}/ISerialSettings.java | 2 +- .../connector}/SerialConnectWorker.java | 56 +++--- .../ui/serial/connector}/SerialConnector.java | 41 ++-- .../serial/connector}/SerialPortHandler.java | 24 ++- .../serial/connector}/SerialProperties.java | 2 +- .../ui/serial/connector}/SerialSettings.java | 2 +- .../serial/connector/SerialSettingsPage.java | 47 +++++ .../controls/SerialConfigurationPanel.java | 2 +- .../launcher/SerialLauncherDelegate.java | 4 +- .../terminal/view/ui/serial/nls/Messages.java | 11 ++ .../view/ui/serial/nls/Messages.properties | 25 +++ pom.xml | 5 +- .../org.eclipse.tm.terminal.repo/category.xml | 12 +- 51 files changed, 277 insertions(+), 1136 deletions(-) delete mode 100644 features/org.eclipse.tm.terminal.serial.feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.serial.sdk.feature/feature.properties rename features/{org.eclipse.tm.terminal.serial.feature => org.eclipse.tm.terminal.view.serial.feature}/.project (85%) rename features/{org.eclipse.tm.terminal.serial.feature => org.eclipse.tm.terminal.view.serial.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.view.serial.feature/feature.properties rename features/{org.eclipse.tm.terminal.serial.feature => org.eclipse.tm.terminal.view.serial.feature}/feature.xml (73%) rename features/{org.eclipse.tm.terminal.serial.sdk.feature => org.eclipse.tm.terminal.view.serial.feature}/pom.xml (93%) rename features/{org.eclipse.tm.terminal.serial.sdk.feature => org.eclipse.tm.terminal.view.serial.sdk.feature}/.project (84%) rename features/{org.eclipse.tm.terminal.serial.sdk.feature => org.eclipse.tm.terminal.view.serial.sdk.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties rename features/{org.eclipse.tm.terminal.serial.sdk.feature => org.eclipse.tm.terminal.view.serial.sdk.feature}/feature.xml (78%) rename features/{org.eclipse.tm.terminal.serial.feature => org.eclipse.tm.terminal.view.serial.sdk.feature}/pom.xml (92%) delete mode 100644 plugins/org.eclipse.tm.terminal.serial/.classpath delete mode 100644 plugins/org.eclipse.tm.terminal.serial/.cvsignore delete mode 100644 plugins/org.eclipse.tm.terminal.serial/.gitignore delete mode 100644 plugins/org.eclipse.tm.terminal.serial/.project delete mode 100644 plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs delete mode 100644 plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tm.terminal.serial/README.txt delete mode 100644 plugins/org.eclipse.tm.terminal.serial/about.html delete mode 100644 plugins/org.eclipse.tm.terminal.serial/about.ini delete mode 100644 plugins/org.eclipse.tm.terminal.serial/about.properties delete mode 100644 plugins/org.eclipse.tm.terminal.serial/build.properties delete mode 100644 plugins/org.eclipse.tm.terminal.serial/plugin.properties delete mode 100644 plugins/org.eclipse.tm.terminal.serial/plugin.xml delete mode 100644 plugins/org.eclipse.tm.terminal.serial/pom.xml delete mode 100644 plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java delete mode 100644 plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java delete mode 100644 plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties delete mode 100644 plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java delete mode 100644 plugins/org.eclipse.tm.terminal.serial/tm32.png rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/ISerialSettings.java (94%) rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/SerialConnectWorker.java (80%) rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/SerialConnector.java (87%) rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/SerialPortHandler.java (82%) rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/SerialProperties.java (98%) rename plugins/{org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial => org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector}/SerialSettings.java (98%) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/features/org.eclipse.tm.terminal.feature/feature.xml index 3773fc24998..5cd4c78fbc2 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.feature/feature.xml @@ -33,8 +33,7 @@ - - + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 6076545e181..5e61723d557 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -32,8 +32,7 @@ - - + - + - - + - - - org.eclipse.tm.terminal.serial.feature + org.eclipse.tm.terminal.view.serial.feature diff --git a/features/org.eclipse.tm.terminal.serial.feature/build.properties b/features/org.eclipse.tm.terminal.view.serial.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.serial.feature/build.properties rename to features/org.eclipse.tm.terminal.view.serial.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/feature.properties b/features/org.eclipse.tm.terminal.view.serial.feature/feature.properties new file mode 100644 index 00000000000..b4c68e5d0ae --- /dev/null +++ b/features/org.eclipse.tm.terminal.view.serial.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Serial Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using RXTX API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.serial.feature/feature.xml b/features/org.eclipse.tm.terminal.view.serial.feature/feature.xml similarity index 73% rename from features/org.eclipse.tm.terminal.serial.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.serial.feature/feature.xml index f79d015fe64..901ef31ac52 100644 --- a/features/org.eclipse.tm.terminal.serial.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.serial.feature/feature.xml @@ -1,6 +1,6 @@ @@ -32,21 +31,20 @@ - - + - + diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.serial.feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml rename to features/org.eclipse.tm.terminal.view.serial.feature/pom.xml index 12dda0ab3bd..538fad29831 100644 --- a/features/org.eclipse.tm.terminal.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.serial.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.serial.sdk.feature + org.eclipse.tm.terminal.view.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/.project b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project similarity index 84% rename from features/org.eclipse.tm.terminal.serial.sdk.feature/.project rename to features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project index 36ee0af9873..322a638c887 100644 --- a/features/org.eclipse.tm.terminal.serial.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.serial.sdk.feature + org.eclipse.tm.terminal.view.serial.sdk.feature diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.serial.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.view.serial.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties new file mode 100644 index 00000000000..e7d8cb2121a --- /dev/null +++ b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Serial Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse TM Project + +# "tmUpdateSiteName" property - label for the update site +tmUpdateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal using RXTX API + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml similarity index 78% rename from features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml index d88009ad936..ceaec36c635 100644 --- a/features/org.eclipse.tm.terminal.serial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml @@ -11,7 +11,7 @@ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license --> - - + @@ -44,9 +43,9 @@ diff --git a/features/org.eclipse.tm.terminal.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml similarity index 92% rename from features/org.eclipse.tm.terminal.serial.feature/pom.xml rename to features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml index 69d16927fbe..37b9b57f90f 100644 --- a/features/org.eclipse.tm.terminal.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.serial.feature + org.eclipse.tm.terminal.view.serial.sdk.feature eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal.serial/.classpath b/plugins/org.eclipse.tm.terminal.serial/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.serial/.cvsignore b/plugins/org.eclipse.tm.terminal.serial/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/plugins/org.eclipse.tm.terminal.serial/.gitignore b/plugins/org.eclipse.tm.terminal.serial/.gitignore deleted file mode 100644 index ae3c1726048..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/plugins/org.eclipse.tm.terminal.serial/.project b/plugins/org.eclipse.tm.terminal.serial/.project deleted file mode 100644 index a06d0caecb3..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.serial - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 94637dfe13b..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,61 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF deleted file mode 100644 index b915b0ce4e5..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/META-INF/MANIFEST.MF +++ /dev/null @@ -1,18 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.serial;singleton:=true -Bundle-Version: 4.0.0.qualifier -Bundle-Localization: plugin -Import-Package: gnu.io;resolution:=optional -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="3.3.0" -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true -Eclipse-BuddyPolicy: ext -Bundle-Vendor: %providerName -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ClassPath: . -Bundle-Activator: org.eclipse.tm.internal.terminal.serial.Activator -Export-Package: org.eclipse.tm.internal.terminal.serial;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.serial/README.txt b/plugins/org.eclipse.tm.terminal.serial/README.txt deleted file mode 100644 index f06224544a0..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/README.txt +++ /dev/null @@ -1,64 +0,0 @@ -Important note: ---------------- -This README is for terminal.serial version 1.0.0 and later, corresponding -to RSE downloads after 2.0M4. Instructions for previous versions (using -Sun javacomm / javax.comm package instead of gnu.io) are still available from -http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.tm.core/terminal/org.eclipse.tm.terminal.serial/README.txt?root=Tools_Project&view=markup&pathrev=R1_0_1 - - -Prerequisites: --------------- -In order to compile and run this plugin, RXTX has to be installed. -There are two options: Either installing RXTX as an Eclipse plugin, -or installing RXTX as a JVM extension. For installation as plugin, -you can download a ZIP archive or use the Update Manager; if an -Eclipse plugin is not available for your Platform, you'll need -to install RXTX into the JVM (option B, below). - -In either case, once RXTX is installed, you'll need to quit and -re-start Eclipse PDE in order to recompute the classpath. - - -Option A.1: Installation as an Eclipse Plugin via Update Manager: ------------------------------------------------------------------ -* In Eclipse, choose Help > Software Updates... - - Add New Remote Site: - Name = RXTX - URL = http://rxtx.qbang.org/eclipse/ - - Finish, select proper version, Install All - - -Option A.2: Installation as an Eclipse Plugin via Download: ------------------------------------------------------------ -* Download RXTX SDK or Runtime ZIP from - http://rxtx.qbang.org/eclipse/downloads/ - and extract it into your Eclipse installation. The download - link mentioned also has a README with version and licensing - information. - - -Option B: Installation as a JVM Extension: ------------------------------------------- -* Get RXTX binaries from - ftp://ftp.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip -* Copy RXTXcomm.jar into $JRE/lib/ext -* Copy the native libs for your Platform (*.so, *.jnilib, *.dll) - into the respective native lib folder of your RSE -* More installation instructions are at - http://rxtx.qbang.org/wiki/index.php/Main_Page -* More downloads for other platforms (currently about 30) - are available from the "ToyBox" link on - http://users.frii.com/jarvi/rxtx/download.html - - -For help, contact the RXTX mailing list available via the -RXTX website at http://www.rxtx.org or see the notes on -https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336 - - -Changelog: ----------- -2.0.1 - Revised Update Site text to comply with P2 in Eclipse 3.4 -1.0.1 - Added options for installing RXTX as an Eclipse Plugin -0.9.100 - switched from Sun javax.comm to rxtx gnu.io for serial support -0.9.0 - first version diff --git a/plugins/org.eclipse.tm.terminal.serial/about.html b/plugins/org.eclipse.tm.terminal.serial/about.html deleted file mode 100644 index d4cc693f9f0..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/about.html +++ /dev/null @@ -1,28 +0,0 @@ - - - - -About - - -

                                        About This Content

                                        - -

                                        June 5, 2007

                                        -

                                        License

                                        - -

                                        The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                        - -

                                        If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                        - - - \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/about.ini b/plugins/org.eclipse.tm.terminal.serial/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/about.properties b/plugins/org.eclipse.tm.terminal.serial/about.properties deleted file mode 100644 index d3b0791fe45..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/about.properties +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Serial Connector\n\ -\n\ -Version: {featureVersion}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2015. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.serial/build.properties b/plugins/org.eclipse.tm.terminal.serial/build.properties deleted file mode 100644 index 6da951b9f99..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/build.properties +++ /dev/null @@ -1,29 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - plugin.properties,\ - README.txt,\ - about.html,\ - about.ini,\ - about.properties,\ - tm32.png -src.includes = README.txt,\ - about.html diff --git a/plugins/org.eclipse.tm.terminal.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.serial/plugin.properties deleted file mode 100644 index 9d225da7bd2..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/plugin.properties +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -pluginName = Target Management Terminal Serial Connector -providerName = Eclipse TM Project -serialConnection = Serial \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/plugin.xml b/plugins/org.eclipse.tm.terminal.serial/plugin.xml deleted file mode 100644 index 9fe07138de0..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/plugin.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.serial/pom.xml b/plugins/org.eclipse.tm.terminal.serial/pom.xml deleted file mode 100644 index 3bec81721f1..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - - - 4.0.0.qualifier - org.eclipse.tm.terminal.serial - eclipse-plugin - diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java deleted file mode 100644 index f758aa790e6..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/Activator.java +++ /dev/null @@ -1,65 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; - -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ - - // The shared instance - private static Activator plugin; - - /** - * The constructor - */ - public Activator() { - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - String prop = System.getProperty("gnu.io.rxtx.NoVersionOutput"); //$NON-NLS-1$ - if (prop==null) { - System.setProperty("gnu.io.rxtx.NoVersionOutput", "true"); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - -} diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java deleted file mode 100644 index 876af882e93..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.java +++ /dev/null @@ -1,44 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - split into core, view and connector plugins - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; - -import org.eclipse.osgi.util.NLS; -public class SerialMessages extends NLS { - static { - NLS.initializeMessages(SerialMessages.class.getName(), SerialMessages.class); - } - public static String PROP_TITLE; - public static String PORT; - public static String BAUDRATE; - public static String DATABITS; - public static String STOPBITS; - public static String PARITY; - public static String FLOWCONTROL; - public static String TIMEOUT; - - public static String ERROR_LIBRARY_NOT_INSTALLED; - - public static String PORT_IN_USE; - public static String ANOTHER_TERMINAL; - public static String PORT_STOLEN; - public static String PORT_NOT_STOLEN; - public static String NO_SUCH_PORT; - - public static String OWNERSHIP_GRANTED; - -} diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties deleted file mode 100644 index a599c1267bf..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialMessages.properties +++ /dev/null @@ -1,49 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -# Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox -# Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling -############################################################################### -PROP_TITLE = Terminal -PORT = Port -BAUDRATE = Baud Rate -DATABITS = Data Bits -STOPBITS = Stop Bits -PARITY = Parity -FLOWCONTROL = Flow Control -TIMEOUT = Timeout (sec) -ERROR_LIBRARY_NOT_INSTALLED = The RXTX library has not been installed properly! \n\ -\n\ -Installation:\n\ --------------\n\ -* Either (a) Use Help > Software Updates, Add Site and install from:\n\ -\ \ \ http://rxtx.qbang.org/eclipse/\n\ -* Or (b) Download and install RXTX for Eclipse from:\n\ -\ \ \ http://rxtx.qbang.org/eclipse/downloads/\n\ -\n\ -For other Platforms, more info and help see\n\ -\ \ \ http://www.rxtx.org/\n\ -\ \ \ https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336#c6\n\ -\n\ -This message is also available in your Error Log for Copy & Paste. - -# Port Ownership Handling -PORT_IN_USE = Serial port \''{0}\'' is currently in use by {1}\!\nDo you want to try and steal the port? -ANOTHER_TERMINAL = another Terminal View -PORT_STOLEN = Port \''{0}\'' successfully obtained from {1}\r\n -PORT_NOT_STOLEN = Connection Error!\r\n \''{0}\'' is already in use by {1}.\r\n -NO_SUCH_PORT = No such port: \''{0}\''\r\n - -OWNERSHIP_GRANTED = Connection canceled due to ownership request from {0}.\r\n \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java deleted file mode 100644 index 5646bbfafe2..00000000000 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettingsPage.java +++ /dev/null @@ -1,183 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; - -import java.util.Iterator; -import java.util.List; - -import org.eclipse.swt.SWT; -import org.eclipse.swt.events.ModifyEvent; -import org.eclipse.swt.events.ModifyListener; -import org.eclipse.swt.events.SelectionAdapter; -import org.eclipse.swt.events.SelectionEvent; -import org.eclipse.swt.layout.GridData; -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.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; - -public class SerialSettingsPage extends AbstractSettingsPage { - private Combo fSerialPortCombo; - private Combo fBaudRateCombo; - private Combo fDataBitsCombo; - private Combo fStopBitsCombo; - private Combo fParityCombo; - private Combo fFlowControlCombo; - private Text fTimeout; - private final SerialSettings fTerminalSettings; - - public SerialSettingsPage(SerialSettings settings) { - fTerminalSettings=settings; - } - public void saveSettings() { - fTerminalSettings.setSerialPort(getComboValue(fSerialPortCombo)); - fTerminalSettings.setBaudRate(getComboValue(fBaudRateCombo)); - fTerminalSettings.setDataBits(getComboValue(fDataBitsCombo)); - fTerminalSettings.setStopBits(getComboValue(fStopBitsCombo)); - fTerminalSettings.setParity(getComboValue(fParityCombo)); - fTerminalSettings.setFlowControl(getComboValue(fFlowControlCombo)); - fTerminalSettings.setTimeout(fTimeout.getText()); - } - public void loadSettings() { - // Load controls - SerialProperties properties = fTerminalSettings.getProperties(); - List list; - - list = properties.getSerialPortTable(); - loadCombo(fSerialPortCombo, list); - - list = properties.getBaudRateTable(); - loadCombo(fBaudRateCombo, list); - - list = properties.getDataBitsTable(); - loadCombo(fDataBitsCombo, list); - - list = properties.getStopBitsTable(); - loadCombo(fStopBitsCombo, list); - - list = properties.getParityTable(); - loadCombo(fParityCombo, list); - - list = properties.getFlowControlTable(); - loadCombo(fFlowControlCombo, list); - - setCombo(fSerialPortCombo,fTerminalSettings.getSerialPort()); - setCombo(fBaudRateCombo,fTerminalSettings.getBaudRateString()); - setCombo(fDataBitsCombo,fTerminalSettings.getDataBitsString()); - setCombo(fStopBitsCombo,fTerminalSettings.getStopBitsString()); - setCombo(fParityCombo,fTerminalSettings.getParityString()); - setCombo(fFlowControlCombo,fTerminalSettings.getFlowControlString()); - fTimeout.setText(fTerminalSettings.getTimeoutString()); - } - private void setCombo(Combo combo,String value) { - if(value==null) - return; - int nIndex = combo.indexOf(value); - if (nIndex == -1) { - if((combo.getStyle() & SWT.READ_ONLY)==0) { - combo.add(value); - nIndex = combo.indexOf(value); - } else { - return; - } - } - - combo.select(nIndex); - - } - private String getComboValue(Combo combo) { - int nIndex = combo.getSelectionIndex(); - if (nIndex == -1) { - if((combo.getStyle() & SWT.READ_ONLY)!=0) - return ""; //$NON-NLS-1$ - return combo.getText(); - } - - return combo.getItem(nIndex); - - } - public boolean validateSettings() { - try { - int p = Integer.parseInt(fTimeout.getText().trim()); - if (p < 0) { - return false; - } - } catch (Exception e) { - return false; - } - return true; - } - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout gridLayout = new GridLayout(2, false); - - composite.setLayout(gridLayout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - - fSerialPortCombo=addLabeledCombo(composite, SerialMessages.PORT + ":",false); //$NON-NLS-1$ - fBaudRateCombo=addLabeledCombo(composite, SerialMessages.BAUDRATE + ":"); //$NON-NLS-1$ - fDataBitsCombo=addLabeledCombo(composite, SerialMessages.DATABITS + ":"); //$NON-NLS-1$ - fStopBitsCombo=addLabeledCombo(composite, SerialMessages.STOPBITS + ":"); //$NON-NLS-1$ - fParityCombo=addLabeledCombo(composite, SerialMessages.PARITY + ":"); //$NON-NLS-1$ - fFlowControlCombo=addLabeledCombo(composite, SerialMessages.FLOWCONTROL + ":"); //$NON-NLS-1$ - - new Label(composite, SWT.RIGHT).setText(SerialMessages.TIMEOUT + ":"); //$NON-NLS-1$ - fTimeout = new Text(composite, SWT.BORDER); - fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - fTimeout.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - fireListeners(fTimeout); - } - }); - loadSettings(); - } - - private Combo addLabeledCombo(Composite composite, String label) { - return addLabeledCombo(composite, label, true); - } - private Combo addLabeledCombo(Composite composite, String label,boolean readonly) { - new Label(composite, SWT.RIGHT).setText(label); - int flags=SWT.DROP_DOWN; - if(readonly) - flags|=SWT.READ_ONLY; - final Combo combo = new Combo(composite, flags); - combo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - if (!readonly) { - combo.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { - fireListeners(combo); - } - }); - } - combo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { - fireListeners(combo); - } - }); - return combo; - } - - private void loadCombo(Combo ctlCombo, List table) { - for (Iterator iter = table.iterator(); iter.hasNext();) { - String label = (String) iter.next(); - ctlCombo.add(label); - } - } -} diff --git a/plugins/org.eclipse.tm.terminal.serial/tm32.png b/plugins/org.eclipse.tm.terminal.serial/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF index 4e6a2bdd8cb..59b00cfa6e3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF @@ -11,12 +11,12 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", org.eclipse.tm.terminal;bundle-version="4.0.0", - org.eclipse.tm.terminal.serial;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin Export-Package: org.eclipse.tm.terminal.view.ui.serial.activator;x-internal:=true, + org.eclipse.tm.terminal.view.ui.serial.connector, org.eclipse.tm.terminal.view.ui.serial.controls, org.eclipse.tm.terminal.view.ui.serial.interfaces, org.eclipse.tm.terminal.view.ui.serial.launcher, diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties index d66a9e897ba..652ddd7c29a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties @@ -8,9 +8,13 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminals Serial Extensions +pluginName = TM Terminal Serial Connector Extensions providerName = Eclipse.org - Target Explorer # ----- Terminal Launcher Delegates ----- -SerialLauncherDelegate.label=Serial Terminal \ No newline at end of file +SerialLauncherDelegate.label=Serial Terminal + +# ----- Terminal Connectors ----- + +SerialConnector.label = Serial diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml index e68182694a2..90f70da6a40 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml @@ -1,8 +1,16 @@ + + + + + - + portIdEnum= CommPortIdentifier.getPortIdentifiers(); while (portIdEnum.hasMoreElements()) { CommPortIdentifier identifier = (CommPortIdentifier) portIdEnum.nextElement(); if (identifier.getPortType() == CommPortIdentifier.PORT_SERIAL) { @@ -118,7 +120,8 @@ public class SerialConnectWorker extends Thread { return "org.eclipse.tm.terminal.serial"; //$NON-NLS-1$ } - public void run() { + @Override + public void run() { String portName=null; final String strID = getOwnershipId(); SerialPort serialPort = null; @@ -138,17 +141,18 @@ public class SerialConnectWorker extends Thread { //Bug 221184: Warn about serial port already in use String currentOwner = fConn.getSerialPortIdentifier().getCurrentOwner(); if (strID.equals(currentOwner)) { - currentOwner = SerialMessages.ANOTHER_TERMINAL; + currentOwner = Messages.SerialConnectWorker_ANOTHER_TERMINAL; } final int[] answer = { SWT.YES }; final String fPortName = portName; final String fCurrentOwner = currentOwner; if (currentOwner != null) { Display.getDefault().syncExec(new Runnable() { - public void run() { + @Override + public void run() { MessageBox mb = new MessageBox(fControl.getShell(), SWT.ICON_QUESTION | SWT.YES | SWT.NO); - mb.setText(SerialMessages.PROP_TITLE); - mb.setMessage(NLS.bind(SerialMessages.PORT_IN_USE, fPortName, fCurrentOwner)); + mb.setText(Messages.SerialConnectWorker_PROP_TITLE); + mb.setMessage(NLS.bind(Messages.SerialConnectWorker_PORT_IN_USE, fPortName, fCurrentOwner)); answer[0] = mb.open(); } }); @@ -159,36 +163,36 @@ public class SerialConnectWorker extends Thread { fControl.setState(TerminalState.CLOSED); fConn.setSerialPortHandler(null); return; - } else { - // Try to steal the port -- may throw PortInUseException - int timeoutInMs = s.getTimeout() * 1000; - serialPort = (SerialPort) fConn.getSerialPortIdentifier().open(strID, timeoutInMs); - serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); - serialPort.setFlowControlMode(s.getFlowControl()); - serialPort.addEventListener(fConn.getSerialPortHandler()); - serialPort.notifyOnDataAvailable(true); - fConn.getSerialPortIdentifier().addPortOwnershipListener(fConn.getSerialPortHandler()); - fConn.setSerialPort(serialPort); - if (fCurrentOwner != null) { - fControl.displayTextInTerminal(NLS.bind(SerialMessages.PORT_STOLEN, fPortName, fCurrentOwner)); - - } - fControl.setState(TerminalState.CONNECTED); } + // Try to steal the port -- may throw PortInUseException + int timeoutInMs = s.getTimeout() * 1000; + serialPort = (SerialPort) fConn.getSerialPortIdentifier().open(strID, timeoutInMs); + serialPort.setSerialPortParams(s.getBaudRate(), s.getDataBits(), s.getStopBits(), s.getParity()); + serialPort.setFlowControlMode(s.getFlowControl()); + serialPort.addEventListener(fConn.getSerialPortHandler()); + serialPort.notifyOnDataAvailable(true); + fConn.getSerialPortIdentifier().addPortOwnershipListener(fConn.getSerialPortHandler()); + fConn.setSerialPort(serialPort); + if (fCurrentOwner != null) { + fControl.displayTextInTerminal(NLS.bind(Messages.SerialConnectWorker_PORT_STOLEN, fPortName, fCurrentOwner)); + + } + fControl.setState(TerminalState.CONNECTED); + } catch (PortInUseException portInUseException) { fControl.setState(TerminalState.CLOSED); String theOwner = portInUseException.currentOwner; if (strID.equals(theOwner)) { - theOwner = SerialMessages.ANOTHER_TERMINAL; + theOwner = Messages.SerialConnectWorker_ANOTHER_TERMINAL; } - fControl.displayTextInTerminal(NLS.bind(SerialMessages.PORT_NOT_STOLEN, portName, theOwner)); + fControl.displayTextInTerminal(NLS.bind(Messages.SerialConnectWorker_PORT_NOT_STOLEN, portName, theOwner)); } catch (NoSuchPortException e) { fControl.setState(TerminalState.CLOSED); String msg=e.getMessage(); if(msg==null) msg=portName; - fControl.displayTextInTerminal(NLS.bind(SerialMessages.NO_SUCH_PORT, msg)); + fControl.displayTextInTerminal(NLS.bind(Messages.SerialConnectWorker_NO_SUCH_PORT, msg)); } catch (Exception exception) { Logger.logException(exception); diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java similarity index 87% rename from plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java index e01a1e079f2..de65beb6551 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java @@ -15,9 +15,9 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206892] Don't connect if already connecting * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect - * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; +package org.eclipse.tm.terminal.view.ui.serial.connector; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; @@ -35,7 +35,10 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; +import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; +@SuppressWarnings("restriction") public class SerialConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; @@ -44,22 +47,24 @@ public class SerialConnector extends TerminalConnectorImpl { private SerialPortHandler fTerminalSerialPortHandler; private SerialSettings fSettings; private SerialConnectWorker fConnectWorker = null; - private volatile boolean fDisconnectGoingOn = false; + /* default */ volatile boolean fDisconnectGoingOn = false; public SerialConnector() { } public SerialConnector(SerialSettings settings) { fSettings=settings; } - public void initialize() throws Exception { + @Override + public void initialize() throws Exception { try { fSettings=new SerialSettings(); } catch (NoClassDefFoundError e) { // tell the user how to install the library - throw new CoreException(new Status(IStatus.WARNING,Activator.PLUGIN_ID,0, SerialMessages.ERROR_LIBRARY_NOT_INSTALLED,e)); + throw new CoreException(new Status(IStatus.WARNING,UIPlugin.getUniqueIdentifier(),0, Messages.SerialConnector_Error_LiberayNotInstalled,e)); } } - public void connect(ITerminalControl control) { + @Override + public void connect(ITerminalControl control) { super.connect(control); synchronized(this) { if (fConnectWorker!=null || fDisconnectGoingOn) { @@ -79,7 +84,8 @@ public class SerialConnector extends TerminalConnectorImpl { fConnectWorker = null; } } - public void doDisconnect() { + @Override + public void doDisconnect() { synchronized(this) { //avoid multiple background connect/disconnect threads at the same time if (fConnectWorker!=null) { @@ -106,7 +112,8 @@ public class SerialConnector extends TerminalConnectorImpl { new Thread("Terminal View Serial Port Disconnect Worker") //$NON-NLS-1$ { - public void run() { + @Override + public void run() { try { if (getSerialPortIdentifier() != null) { try { @@ -161,7 +168,8 @@ public class SerialConnector extends TerminalConnectorImpl { public InputStream getInputStream() { return fInputStream; } - public OutputStream getTerminalToRemoteStream() { + @Override + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } private void setInputStream(InputStream inputStream) { @@ -170,7 +178,8 @@ public class SerialConnector extends TerminalConnectorImpl { private void setOutputStream(OutputStream outputStream) { fOutputStream = outputStream; } - public void setTerminalSize(int newWidth, int newHeight) { + @Override + public void setTerminalSize(int newWidth, int newHeight) { // TODO } protected SerialPort getSerialPort() { @@ -215,16 +224,20 @@ public class SerialConnector extends TerminalConnectorImpl { public ISerialSettings getSerialSettings() { return fSettings; } - public ISettingsPage makeSettingsPage() { + @Override + public ISettingsPage makeSettingsPage() { return new SerialSettingsPage(fSettings); } - public String getSettingsSummary() { + @Override + public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + @Override + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java similarity index 82% rename from plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java index 53a93790e2a..23539d6217e 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialPortHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java @@ -16,7 +16,7 @@ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; +package org.eclipse.tm.terminal.view.ui.serial.connector; import gnu.io.CommPortOwnershipListener; import gnu.io.SerialPortEvent; @@ -28,15 +28,16 @@ import org.eclipse.osgi.util.NLS; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; +import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; /** * UNDER CONSTRUCTION */ -public class SerialPortHandler implements - SerialPortEventListener, CommPortOwnershipListener { +@SuppressWarnings("restriction") +public class SerialPortHandler implements SerialPortEventListener, CommPortOwnershipListener { - private final ITerminalControl fControl; - private final SerialConnector fConn; + /* default */ final ITerminalControl fControl; + /* default */ final SerialConnector fConn; protected byte[] bytes = new byte[2048]; /** @@ -75,14 +76,15 @@ public class SerialPortHandler implements StackTraceElement[] elems = e.getStackTrace(); final String requester = elems[elems.length - 4].getClassName(); Display.getDefault().asyncExec(new Runnable() { - public void run() { + @Override + public void run() { fConn.disconnect(); String req = requester; String myPackage = this.getClass().getPackage().getName(); if (req.startsWith(myPackage)) { - req = SerialMessages.ANOTHER_TERMINAL; + req = Messages.SerialConnectWorker_ANOTHER_TERMINAL; } - fControl.displayTextInTerminal(NLS.bind(SerialMessages.OWNERSHIP_GRANTED, req)); + fControl.displayTextInTerminal(NLS.bind(Messages.SerialConnectWorker_OWNERSHIP_GRANTED, req)); } }); fConn.disconnect(); @@ -90,7 +92,8 @@ public class SerialPortHandler implements } // SerialPortEventListener interface - public void serialEvent(SerialPortEvent event) { + @Override + public void serialEvent(SerialPortEvent event) { switch (event.getEventType()) { case SerialPortEvent.DATA_AVAILABLE: onSerialDataAvailable(null); @@ -103,7 +106,8 @@ public class SerialPortHandler implements /** * UNDER CONSTRUCTION */ - public void ownershipChange(int nType) { + @Override + public void ownershipChange(int nType) { switch (nType) { case CommPortOwnershipListener.PORT_OWNERSHIP_REQUESTED: onSerialOwnershipRequested(null); diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java index bbb2fdd64c5..7d4b89b90b6 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialProperties.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; +package org.eclipse.tm.terminal.view.ui.serial.connector; import gnu.io.CommPortIdentifier; diff --git a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java rename to plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java index be10ad14a80..a51881704b3 100644 --- a/plugins/org.eclipse.tm.terminal.serial/src/org/eclipse/tm/internal/terminal/serial/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.serial; +package org.eclipse.tm.terminal.view.ui.serial.connector; import gnu.io.SerialPort; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java new file mode 100644 index 00000000000..d0e865d04fd --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java @@ -0,0 +1,47 @@ +/******************************************************************************* + * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Initial Contributors: + * The following Wind River employees contributed to the Terminal component + * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, + * Helmut Haigermoser and Ted Williams. + * + * Contributors: + * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg + * Martin Oberhuber (Wind River) - fixed copyright headers and beautified + * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.serial.connector; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; + +@SuppressWarnings("restriction") +public class SerialSettingsPage extends AbstractSettingsPage { + private final SerialSettings fTerminalSettings; + + public SerialSettingsPage(SerialSettings settings) { + fTerminalSettings=settings; + } + + @Override + public void createControl(Composite parent) { + } + + @Override + public void loadSettings() { + } + + @Override + public void saveSettings() { + } + + @Override + public boolean validateSettings() { + return false; + } +} diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java index 53d33f8678c..27419b7fb56 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java @@ -65,7 +65,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel @Override public void extractData(Map data) { // set the terminal connector id for serial - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.serial.SerialConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connectors.serial"); //$NON-NLS-1$ serialSettingsPage.extractData(data); data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java index b385c78c382..8e22c713e1a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java @@ -18,7 +18,6 @@ import org.eclipse.osgi.util.NLS; 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.tm.internal.terminal.serial.SerialSettings; 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; @@ -27,6 +26,7 @@ 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; +import org.eclipse.tm.terminal.view.ui.serial.connector.SerialSettings; import org.eclipse.tm.terminal.view.ui.serial.controls.SerialConfigurationPanel; import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; @@ -113,7 +113,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.serial.SerialConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connectors.serial"; //$NON-NLS-1$ String port = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE); String baud = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE); diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java index 8d78203c7c8..7891d1cf2ac 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java @@ -65,4 +65,15 @@ public class Messages extends NLS { public static String SerialPortAddressDialog_Information_MissingPort; public static String SerialPortAddressDialog_Error_InvalidPort; public static String SerialPortAddressDialog_Error_InvalidPortRange; + + public static String SerialConnector_Error_LiberayNotInstalled; + + public static String SerialConnectWorker_PROP_TITLE; + public static String SerialConnectWorker_PORT_IN_USE; + public static String SerialConnectWorker_ANOTHER_TERMINAL; + public static String SerialConnectWorker_PORT_STOLEN; + public static String SerialConnectWorker_PORT_NOT_STOLEN; + public static String SerialConnectWorker_NO_SUCH_PORT; + public static String SerialConnectWorker_OWNERSHIP_GRANTED; + } diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties index 2b89c100940..37a9473d69a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties @@ -44,3 +44,28 @@ SerialPortAddressDialog_Error_InvalidTargetIpAddress=Target IP address is not va SerialPortAddressDialog_Information_MissingPort=Please enter a valid port number. SerialPortAddressDialog_Error_InvalidPort=Target port number must be a valid number in the range of 0 to 65535. SerialPortAddressDialog_Error_InvalidPortRange=Target port number must be in the range of 0 to 65535. + + +SerialConnector_Error_LiberayNotInstalled = The RXTX library has not been installed properly! \n\ +\n\ +Installation:\n\ +-------------\n\ +* Either (a) Use Help > Software Updates, Add Site and install from:\n\ +\ \ \ http://rxtx.qbang.org/eclipse/\n\ +* Or (b) Download and install RXTX for Eclipse from:\n\ +\ \ \ http://rxtx.qbang.org/eclipse/downloads/\n\ +\n\ +For other Platforms, more info and help see\n\ +\ \ \ http://www.rxtx.org/\n\ +\ \ \ https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336#c6\n\ +\n\ +This message is also available in your Error Log for Copy & Paste. + +# Port Ownership Handling +SerialConnectWorker_PROP_TITLE = Terminal +SerialConnectWorker_PORT_IN_USE = Serial port \''{0}\'' is currently in use by {1}\!\nDo you want to try and steal the port? +SerialConnectWorker_ANOTHER_TERMINAL = another Terminal View +SerialConnectWorker_PORT_STOLEN = Port \''{0}\'' successfully obtained from {1}\r\n +SerialConnectWorker_PORT_NOT_STOLEN = Connection Error!\r\n \''{0}\'' is already in use by {1}.\r\n +SerialConnectWorker_NO_SUCH_PORT = No such port: \''{0}\''\r\n +SerialConnectWorker_OWNERSHIP_GRANTED = Connection canceled due to ownership request from {0}.\r\n diff --git a/pom.xml b/pom.xml index 0836b91f0c9..b482ab6927d 100644 --- a/pom.xml +++ b/pom.xml @@ -20,15 +20,12 @@ plugins/org.eclipse.tm.terminal - plugins/org.eclipse.tm.terminal.serial plugins/org.eclipse.tm.terminal.ssh plugins/org.eclipse.tm.terminal.telnet plugins/org.eclipse.tm.terminal.remote features/org.eclipse.tm.terminal.feature features/org.eclipse.tm.terminal.sdk.feature - features/org.eclipse.tm.terminal.serial.feature - features/org.eclipse.tm.terminal.serial.sdk.feature features/org.eclipse.tm.terminal.ssh.feature features/org.eclipse.tm.terminal.ssh.sdk.feature features/org.eclipse.tm.terminal.telnet.feature @@ -50,6 +47,8 @@ features/org.eclipse.tm.terminal.view.sdk.feature features/org.eclipse.tm.terminal.view.rse.feature features/org.eclipse.tm.terminal.view.rse.sdk.feature + features/org.eclipse.tm.terminal.view.serial.feature + features/org.eclipse.tm.terminal.view.serial.sdk.feature repos/org.eclipse.tm.terminal.repo diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 803e18d281a..689aed5042c 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -7,12 +7,6 @@ - - - - - - @@ -45,6 +39,12 @@ + + + + + + From dc34159037c3592a9111d915b0c9a558493b65b6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 16 Apr 2015 15:29:26 +0200 Subject: [PATCH 649/843] Terminals: Make sure that the sources matches the installed binaries --- .../org.eclipse.tm.terminal.view.sdk.feature/feature.xml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml index ecea14fd856..42e78d06c90 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml @@ -22,10 +22,13 @@ - + + + - - + Date: Fri, 17 Apr 2015 11:19:19 +0200 Subject: [PATCH 650/843] Terminal: Merge terminal connector plug-ins and rework terminal feature structure --- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 63 +++++++ .../p2.inf | 4 +- .../pom.xml | 2 +- .../.project | 17 ++ .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 58 ++++++ .../pom.xml | 32 ++++ .../.project | 17 ++ .../build.properties | 0 .../feature.properties | 6 +- .../feature.xml | 10 +- .../pom.xml | 2 +- .../.project | 17 ++ .../build.properties | 0 .../feature.properties | 6 +- .../feature.xml | 10 +- .../pom.xml | 32 ++++ .../.project | 2 +- .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 15 +- .../pom.xml | 2 +- .../.project | 17 ++ .../build.properties | 0 .../feature.properties | 36 ++++ .../feature.xml | 17 +- .../pom.xml | 32 ++++ .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 36 ++++ .../feature.xml | 51 ++++++ .../pom.xml | 2 +- .../.project | 17 ++ .../build.properties | 13 ++ .../feature.properties | 36 ++++ .../feature.xml | 17 +- .../pom.xml | 32 ++++ .../.project | 2 +- .../build.properties | 13 ++ .../feature.properties | 11 +- .../feature.xml | 20 +-- .../pom.xml | 2 +- .../.project | 2 +- .../build.properties | 13 ++ .../feature.properties | 11 +- .../feature.xml | 49 +++++ .../pom.xml | 2 +- .../org.eclipse.tm.terminal.feature/.project | 11 ++ .../build.properties | 24 +-- .../feature.properties | 165 ++--------------- .../feature.xml | 31 +--- .../org.eclipse.tm.terminal.feature/pom.xml | 43 ++--- .../feature.properties | 8 +- .../feature.xml | 7 +- .../feature.properties | 8 +- .../feature.xml | 5 +- .../.project | 16 ++ .../build.properties | 21 ++- .../feature.properties | 165 ++--------------- .../feature.xml | 30 ++-- .../pom.xml | 43 ++--- .../feature.properties | 168 ------------------ .../feature.properties | 168 ------------------ .../feature.properties | 6 +- .../feature.xml | 40 +---- .../feature.properties | 6 +- .../feature.xml | 4 +- .../feature.properties | 8 +- .../feature.xml | 2 +- .../feature.properties | 8 +- .../feature.xml | 34 +--- .../.project | 17 -- .../.project | 17 -- .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 24 +-- .../META-INF/p2.inf | 0 .../about.html | 0 .../build.properties | 0 .../contexts.xml | 0 .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../plugin.xml | 40 ++--- .../pom.xml | 2 +- .../connector}/local/activator/UIPlugin.java | 2 +- .../LocalWizardConfigurationPanel.java | 2 +- .../local/help/IContextHelpIds.java | 4 +- .../local/launcher/LocalLauncherDelegate.java | 10 +- .../local/launcher/LocalLauncherHandler.java | 2 +- .../local/launcher/LocalMementoHandler.java | 2 +- .../connector}/local/nls/Messages.java | 2 +- .../connector}/local/nls/Messages.properties | 0 .../showin/DynamicContributionItems.java | 4 +- .../showin/ExternalExecutablesDialog.java | 8 +- .../ExternalExecutablesInitializer.java | 4 +- .../showin/ExternalExecutablesManager.java | 4 +- .../IExternalExecutablesProperties.java | 2 +- .../showin/interfaces/IPreferenceKeys.java | 2 +- .../showin/preferences/PreferencePage.java | 14 +- .../preferences/PreferencesInitializer.java | 6 +- .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 14 +- .../META-INF/p2.inf | 4 +- .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 10 +- .../pom.xml | 17 ++ .../connector}/process/ProcessConnector.java | 4 +- .../process/ProcessLauncherDelegate.java | 2 +- .../connector}/process/ProcessMonitor.java | 2 +- .../connector}/process/ProcessSettings.java | 2 +- .../process/ProcessSettingsPage.java | 2 +- .../process/activator/UIPlugin.java | 2 +- .../process/help/IContextHelpIds.java | 4 +- .../connector}/process/nls/Messages.java | 2 +- .../process/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 18 +- .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 10 +- .../pom.xml | 2 +- .../connector}/serial/activator/UIPlugin.java | 2 +- .../serial/connector/ISerialSettings.java | 2 +- .../serial/connector/SerialConnectWorker.java | 4 +- .../serial/connector/SerialConnector.java | 6 +- .../serial/connector/SerialPortHandler.java | 4 +- .../serial/connector/SerialProperties.java | 2 +- .../serial/connector/SerialSettings.java | 2 +- .../serial/connector/SerialSettingsPage.java | 2 +- .../controls/SerialConfigurationPanel.java | 4 +- .../serial/controls/SerialLinePanel.java | 8 +- .../controls/SerialPortAddressDialog.java | 6 +- .../serial/interfaces/ITraceIds.java | 2 +- .../serial/interfaces/IWireTypeSerial.java | 2 +- .../launcher/SerialLauncherDelegate.java | 10 +- .../serial/launcher/SerialMementoHandler.java | 2 +- .../connector}/serial/nls/Messages.java | 2 +- .../connector}/serial/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 24 +++ .../about.html | 0 .../build.properties | 0 .../plugin.properties | 4 +- .../plugin.xml | 12 +- .../pom.xml | 2 +- .../connector}/ssh/activator/UIPlugin.java | 40 ++++- .../ssh/connector}/ISshConstants.java | 2 +- .../ssh/connector}/ISshSettings.java | 2 +- .../connector}/KeyboardInteractiveDialog.java | 77 ++++---- .../ssh/connector}/SshConnection.java | 45 +++-- .../ssh/connector}/SshConnector.java | 2 +- .../connector/ssh/connector}/SshMessages.java | 2 +- .../ssh/connector}/SshMessages.properties | 0 .../connector/ssh/connector}/SshSettings.java | 2 +- .../ssh/connector}/SshSettingsPage.java | 17 +- .../ssh/connector}/UserValidationDialog.java | 86 ++++----- .../controls/SshWizardConfigurationPanel.java | 8 +- .../ssh/launcher/SshLauncherDelegate.java | 8 +- .../ssh/launcher/SshMementoHandler.java | 2 +- .../terminal/connector}/ssh/nls/Messages.java | 2 +- .../connector}/ssh/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 16 +- .../about.html | 0 .../build.properties | 0 .../plugin.properties | 4 + .../plugin.xml | 14 +- .../pom.xml | 2 +- .../connector}/telnet/activator/UIPlugin.java | 2 +- .../telnet/connector}/ITelnetSettings.java | 2 +- .../telnet/connector}/NetworkPortMap.java | 2 +- .../telnet/connector}/TelnetCodes.java | 2 +- .../connector}/TelnetConnectWorker.java | 2 +- .../telnet/connector}/TelnetConnection.java | 2 +- .../telnet/connector}/TelnetConnector.java | 2 +- .../telnet/connector}/TelnetMessages.java | 2 +- .../connector}/TelnetMessages.properties | 0 .../telnet/connector}/TelnetOption.java | 2 +- .../telnet/connector}/TelnetProperties.java | 2 +- .../telnet/connector}/TelnetSettings.java | 2 +- .../telnet/connector}/TelnetSettingsPage.java | 2 +- .../TelnetWizardConfigurationPanel.java | 8 +- .../launcher/TelnetLauncherDelegate.java | 8 +- .../telnet/launcher/TelnetMementoHandler.java | 2 +- .../connector}/telnet/nls/Messages.java | 2 +- .../connector}/telnet/nls/Messages.properties | 0 .../.classpath | 0 .../.cvsignore | 0 .../.gitignore | 0 .../.options | 0 .../.project | 2 +- .../org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../HelpContexts.xml | 0 .../META-INF/MANIFEST.MF | 18 +- .../README.txt | 0 .../about.html | 0 .../about.ini | 0 .../about.properties | 0 .../build.properties | 0 ...rg.eclipse.tm.terminal.stylesheet.dark.css | 0 .../icons/clcl16/clear_co.gif | Bin .../icons/dlcl16/clear_co.gif | Bin .../icons/elcl16/clear_co.gif | Bin .../plugin.properties | 6 +- .../plugin.xml | 3 +- .../pom.xml | 2 +- .../schema/connectors.exsd} | 6 +- .../terminal/connector/TerminalConnector.java | 0 ...TerminalToRemoteInjectionOutputStream.java | 0 .../control/CommandInputFieldWithHistory.java | 0 .../terminal/control/ICommandInputField.java | 0 .../terminal/control/ITerminalListener.java | 0 .../control/ITerminalViewControl.java | 0 .../control/TerminalViewControlFactory.java | 0 .../actions/AbstractTerminalAction.java | 0 .../control/actions/ActionMessages.java | 0 .../control/actions/ActionMessages.properties | 0 .../terminal/control/actions/ImageConsts.java | 0 .../actions/TerminalActionClearAll.java | 0 .../control/actions/TerminalActionCopy.java | 0 .../control/actions/TerminalActionCut.java | 0 .../control/actions/TerminalActionPaste.java | 0 .../actions/TerminalActionSelectAll.java | 0 .../control/impl/ITerminalControlForText.java | 0 .../control/impl/TerminalInputStream.java | 0 .../control/impl/TerminalMessages.java | 0 .../control/impl/TerminalMessages.properties | 0 .../terminal/control/impl/TerminalPlugin.java | 0 .../emulator/EditActionAccelerators.java | 0 .../emulator/IVT100EmulatorBackend.java | 0 .../emulator/LoggingOutputStream.java | 0 .../emulator/VT100BackendTraceDecorator.java | 0 .../terminal/emulator/VT100Emulator.java | 0 .../emulator/VT100EmulatorBackend.java | 0 .../emulator/VT100TerminalControl.java | 0 .../terminal/model/ISnapshotChanges.java | 0 .../terminal/model/SnapshotChanges.java | 0 .../model/SynchronizedTerminalTextData.java | 0 .../terminal/model/TerminalTextData.java | 0 .../model/TerminalTextDataFastScroll.java | 0 .../model/TerminalTextDataSnapshot.java | 0 .../terminal/model/TerminalTextDataStore.java | 0 .../model/TerminalTextDataWindow.java | 0 .../preferences/ITerminalConstants.java | 0 .../TerminalPreferenceInitializer.java | 0 .../preferences/TerminalPreferencePage.java | 0 .../provisional/api/AbstractSettingsPage.java | 0 .../provisional/api/ISettingsPage.java | 0 .../provisional/api/ISettingsStore.java | 0 .../provisional/api/ITerminalConnector.java | 0 .../provisional/api/ITerminalControl.java | 0 .../provisional/api/LayeredSettingsStore.java | 0 .../terminal/provisional/api/Logger.java | 0 .../api/PreferenceSettingStore.java | 0 .../api/TerminalConnectorExtension.java | 0 .../provisional/api/TerminalState.java | 0 .../api/provider/TerminalConnectorImpl.java | 0 .../textcanvas/AbstractTextCanvasModel.java | 0 .../terminal/textcanvas/GridCanvas.java | 0 .../terminal/textcanvas/ILinelRenderer.java | 0 .../terminal/textcanvas/ITextCanvasModel.java | 0 .../textcanvas/ITextCanvasModelListener.java | 0 .../terminal/textcanvas/PipedInputStream.java | 0 .../textcanvas/PollingTextCanvasModel.java | 0 .../terminal/textcanvas/StyleMap.java | 0 .../terminal/textcanvas/TextCanvas.java | 0 .../terminal/textcanvas/TextLineRenderer.java | 0 .../terminal/textcanvas/VirtualCanvas.java | 0 .../tm/terminal/model/ITerminalTextData.java | 0 .../model/ITerminalTextDataReadOnly.java | 0 .../model/ITerminalTextDataSnapshot.java | 0 .../tm/terminal/model/LineSegment.java | 0 .../org/eclipse/tm/terminal/model/Style.java | 0 .../eclipse/tm/terminal/model/StyleColor.java | 0 .../model/TerminalTextDataFactory.java | 0 .../tm32.png | Bin .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.remote/plugin.xml | 2 +- plugins/org.eclipse.tm.terminal.ssh/.project | 34 ---- .../.settings/org.eclipse.jdt.core.prefs | 61 ------- .../.settings/org.eclipse.jdt.ui.prefs | 3 - .../META-INF/MANIFEST.MF | 17 -- .../org.eclipse.tm.terminal.ssh/about.html | 29 --- .../about.properties | 24 --- .../build.properties | 22 --- .../plugin.properties | 13 -- .../org.eclipse.tm.terminal.ssh/plugin.xml | 22 --- .../tm/internal/terminal/ssh/Activator.java | 94 ---------- .../org.eclipse.tm.terminal.telnet/.cvsignore | 1 - .../org.eclipse.tm.terminal.telnet/.project | 34 ---- .../.settings/org.eclipse.jdt.core.prefs | 61 ------- .../.settings/org.eclipse.jdt.ui.prefs | 3 - .../META-INF/MANIFEST.MF | 12 -- .../org.eclipse.tm.terminal.telnet/about.html | 29 --- .../org.eclipse.tm.terminal.telnet/about.ini | 27 --- .../about.properties | 24 --- .../build.properties | 29 --- .../plugin.properties | 19 -- .../org.eclipse.tm.terminal.telnet/plugin.xml | 21 --- .../org.eclipse.tm.terminal.telnet/tm32.png | Bin 2275 -> 0 bytes .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.test/plugin.xml | 5 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 17 -- .../pom.xml | 17 -- .../.classpath | 7 - .../.gitignore | 1 - .../META-INF/MANIFEST.MF | 22 --- .../pom.xml | 17 -- .../META-INF/MANIFEST.MF | 2 +- .../plugin.xml | 2 +- plugins/org.eclipse.tm.terminal/.classpath | 7 - plugins/org.eclipse.tm.terminal/.cvsignore | 1 - plugins/org.eclipse.tm.terminal/.gitignore | 1 - plugins/org.eclipse.tm.terminal/about.ini | 27 --- plugins/org.eclipse.tm.terminal/tm32.png | Bin 2275 -> 0 bytes pom.xml | 43 +++-- .../org.eclipse.tm.terminal.repo/category.xml | 34 +++- 355 files changed, 1454 insertions(+), 2010 deletions(-) rename features/{org.eclipse.tm.terminal.telnet.sdk.feature => org.eclipse.tm.terminal.connector.local.feature}/.project (84%) rename features/{org.eclipse.tm.terminal.telnet.feature => org.eclipse.tm.terminal.connector.local.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.local.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.connector.local.feature/feature.xml rename features/{org.eclipse.tm.terminal.view.feature => org.eclipse.tm.terminal.connector.local.feature}/p2.inf (86%) rename features/{org.eclipse.tm.terminal.view.serial.sdk.feature => org.eclipse.tm.terminal.connector.local.feature}/pom.xml (93%) create mode 100644 features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project rename features/{org.eclipse.tm.terminal.telnet.sdk.feature => org.eclipse.tm.terminal.connector.local.sdk.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.connector.serial.feature/.project rename features/{org.eclipse.tm.terminal.view.serial.feature => org.eclipse.tm.terminal.connector.serial.feature}/build.properties (100%) rename features/{org.eclipse.tm.terminal.view.serial.feature => org.eclipse.tm.terminal.connector.serial.feature}/feature.properties (91%) rename features/{org.eclipse.tm.terminal.view.serial.feature => org.eclipse.tm.terminal.connector.serial.feature}/feature.xml (74%) rename features/{org.eclipse.tm.terminal.telnet.feature => org.eclipse.tm.terminal.connector.serial.feature}/pom.xml (92%) create mode 100644 features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project rename features/{org.eclipse.tm.terminal.view.serial.sdk.feature => org.eclipse.tm.terminal.connector.serial.sdk.feature}/build.properties (100%) rename features/{org.eclipse.tm.terminal.view.serial.sdk.feature => org.eclipse.tm.terminal.connector.serial.sdk.feature}/feature.properties (91%) rename features/{org.eclipse.tm.terminal.view.serial.sdk.feature => org.eclipse.tm.terminal.connector.serial.sdk.feature}/feature.xml (74%) create mode 100644 features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml rename features/{org.eclipse.tm.terminal.telnet.feature => org.eclipse.tm.terminal.connector.ssh.feature}/.project (85%) rename features/{org.eclipse.tm.terminal.ssh.feature => org.eclipse.tm.terminal.connector.ssh.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties rename features/{org.eclipse.tm.terminal.ssh.feature => org.eclipse.tm.terminal.connector.ssh.feature}/feature.xml (72%) rename features/{org.eclipse.tm.terminal.telnet.sdk.feature => org.eclipse.tm.terminal.connector.ssh.feature}/pom.xml (92%) create mode 100644 features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project rename features/{org.eclipse.tm.terminal.ssh.sdk.feature => org.eclipse.tm.terminal.connector.ssh.sdk.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties rename features/{org.eclipse.tm.terminal.ssh.sdk.feature => org.eclipse.tm.terminal.connector.ssh.sdk.feature}/feature.xml (65%) create mode 100644 features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.feature/.project create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml rename features/{org.eclipse.tm.terminal.ssh.feature => org.eclipse.tm.terminal.connector.telnet.feature}/pom.xml (92%) create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties rename features/{org.eclipse.tm.terminal.telnet.sdk.feature => org.eclipse.tm.terminal.connector.telnet.sdk.feature}/feature.xml (64%) create mode 100644 features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml rename features/{org.eclipse.tm.terminal.ssh.feature => org.eclipse.tm.terminal.control.feature}/.project (86%) create mode 100644 features/org.eclipse.tm.terminal.control.feature/build.properties rename features/{org.eclipse.tm.terminal.telnet.feature => org.eclipse.tm.terminal.control.feature}/feature.properties (97%) rename features/{org.eclipse.tm.terminal.telnet.feature => org.eclipse.tm.terminal.control.feature}/feature.xml (63%) rename features/{org.eclipse.tm.terminal.ssh.sdk.feature => org.eclipse.tm.terminal.control.feature}/pom.xml (93%) rename features/{org.eclipse.tm.terminal.ssh.sdk.feature => org.eclipse.tm.terminal.control.sdk.feature}/.project (85%) create mode 100644 features/org.eclipse.tm.terminal.control.sdk.feature/build.properties rename features/{org.eclipse.tm.terminal.telnet.sdk.feature => org.eclipse.tm.terminal.control.sdk.feature}/feature.properties (97%) create mode 100644 features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml rename features/{org.eclipse.tm.terminal.view.serial.feature => org.eclipse.tm.terminal.control.sdk.feature}/pom.xml (93%) delete mode 100644 features/org.eclipse.tm.terminal.ssh.feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.view.serial.feature/.project delete mode 100644 features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.connector.local}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.connector.local}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/.options (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/.project (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/META-INF/MANIFEST.MF (52%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/META-INF/p2.inf (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/contexts.xml (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/icons/eview16/terminal_view.gif (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/plugin.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.local}/plugin.xml (69%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.local}/pom.xml (90%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/activator/UIPlugin.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/controls/LocalWizardConfigurationPanel.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/help/IContextHelpIds.java (88%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/launcher/LocalLauncherDelegate.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/launcher/LocalLauncherHandler.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/launcher/LocalMementoHandler.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/nls/Messages.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/nls/Messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/DynamicContributionItems.java (97%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/ExternalExecutablesDialog.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/ExternalExecutablesInitializer.java (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/ExternalExecutablesManager.java (97%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/interfaces/IExternalExecutablesProperties.java (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/interfaces/IPreferenceKeys.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/preferences/PreferencePage.java (97%) rename plugins/{org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector}/local/showin/preferences/PreferencesInitializer.java (86%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.process}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.telnet => org.eclipse.tm.terminal.connector.process}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/.options (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/.project (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/META-INF/MANIFEST.MF (62%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/META-INF/p2.inf (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/plugin.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.process}/plugin.xml (56%) create mode 100644 plugins/org.eclipse.tm.terminal.connector.process/pom.xml rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/ProcessConnector.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/ProcessLauncherDelegate.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/ProcessMonitor.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/ProcessSettings.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/ProcessSettingsPage.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/activator/UIPlugin.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/help/IContextHelpIds.java (88%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/nls/Messages.java (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector}/process/nls/Messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.serial}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.serial}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/.options (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/.project (91%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/META-INF/MANIFEST.MF (51%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/plugin.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.serial}/plugin.xml (69%) rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.connector.serial}/pom.xml (89%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/activator/UIPlugin.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/ISerialSettings.java (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialConnectWorker.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialConnector.java (97%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialPortHandler.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialProperties.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialSettings.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/connector/SerialSettingsPage.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/controls/SerialConfigurationPanel.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/controls/SerialLinePanel.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/controls/SerialPortAddressDialog.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/interfaces/ITraceIds.java (92%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/interfaces/IWireTypeSerial.java (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/launcher/SerialLauncherDelegate.java (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/launcher/SerialMementoHandler.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/nls/Messages.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector}/serial/nls/Messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.ssh}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.process => org.eclipse.tm.terminal.connector.ssh}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/.options (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/.project (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/.settings/org.eclipse.pde.prefs (100%) create mode 100644 plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/plugin.properties (89%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.ssh}/plugin.xml (61%) rename plugins/{org.eclipse.tm.terminal.view.ui.local => org.eclipse.tm.terminal.connector.ssh}/pom.xml (90%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/activator/UIPlugin.java (71%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/ISshConstants.java (95%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/ISshSettings.java (97%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/KeyboardInteractiveDialog.java (64%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshConnection.java (92%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshConnector.java (98%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshMessages.java (98%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshMessages.properties (100%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshSettings.java (98%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/SshSettingsPage.java (94%) rename plugins/{org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector}/UserValidationDialog.java (91%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/controls/SshWizardConfigurationPanel.java (98%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/launcher/SshLauncherDelegate.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/launcher/SshMementoHandler.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/nls/Messages.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector}/ssh/nls/Messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.telnet}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.serial => org.eclipse.tm.terminal.connector.telnet}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/.options (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/.project (94%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/.settings/org.eclipse.pde.prefs (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.connector.telnet}/META-INF/MANIFEST.MF (52%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/plugin.properties (91%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet => org.eclipse.tm.terminal.connector.telnet}/plugin.xml (56%) rename plugins/{org.eclipse.tm.terminal.telnet => org.eclipse.tm.terminal.connector.telnet}/pom.xml (89%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/activator/UIPlugin.java (98%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/ITelnetSettings.java (93%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/NetworkPortMap.java (97%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetCodes.java (98%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetConnectWorker.java (98%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetConnection.java (99%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetConnector.java (98%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetMessages.java (94%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetMessages.properties (100%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetOption.java (99%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetProperties.java (95%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetSettings.java (97%) rename plugins/{org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector}/TelnetSettingsPage.java (99%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/controls/TelnetWizardConfigurationPanel.java (96%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/launcher/TelnetLauncherDelegate.java (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/launcher/TelnetMementoHandler.java (97%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/nls/Messages.java (95%) rename plugins/{org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui => org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector}/telnet/nls/Messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.telnet => org.eclipse.tm.terminal.control}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.control}/.cvsignore (100%) rename plugins/{org.eclipse.tm.terminal.view.ui.ssh => org.eclipse.tm.terminal.control}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/.options (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/.project (94%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/.settings/org.eclipse.core.resources.prefs (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/HelpContexts.xml (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/META-INF/MANIFEST.MF (73%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/README.txt (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.control}/about.ini (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/about.properties (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/css/org.eclipse.tm.terminal.stylesheet.dark.css (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/icons/clcl16/clear_co.gif (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/icons/dlcl16/clear_co.gif (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/icons/elcl16/clear_co.gif (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/plugin.properties (90%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/plugin.xml (99%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/pom.xml (91%) rename plugins/{org.eclipse.tm.terminal/schema/terminalConnectors.exsd => org.eclipse.tm.terminal.control/schema/connectors.exsd} (92%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/ITerminalTextData.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/LineSegment.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/Style.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/StyleColor.java (100%) rename plugins/{org.eclipse.tm.terminal => org.eclipse.tm.terminal.control}/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java (100%) rename plugins/{org.eclipse.tm.terminal.ssh => org.eclipse.tm.terminal.control}/tm32.png (100%) delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/.project delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/about.html delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/about.properties delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/build.properties delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/plugin.properties delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/plugin.xml delete mode 100644 plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/.cvsignore delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/.project delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/about.html delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/about.ini delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/about.properties delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/build.properties delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/plugin.properties delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/plugin.xml delete mode 100644 plugins/org.eclipse.tm.terminal.telnet/tm32.png delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.serial/pom.xml delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml delete mode 100644 plugins/org.eclipse.tm.terminal/.classpath delete mode 100644 plugins/org.eclipse.tm.terminal/.cvsignore delete mode 100644 plugins/org.eclipse.tm.terminal/.gitignore delete mode 100644 plugins/org.eclipse.tm.terminal/about.ini delete mode 100644 plugins/org.eclipse.tm.terminal/tm32.png diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.local.feature/.project similarity index 84% rename from features/org.eclipse.tm.terminal.telnet.sdk.feature/.project rename to features/org.eclipse.tm.terminal.connector.local.feature/.project index 7c3cd363468..2b177926011 100644 --- a/features/org.eclipse.tm.terminal.telnet.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.connector.local.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.telnet.sdk.feature + org.eclipse.tm.terminal.connector.local.feature diff --git a/features/org.eclipse.tm.terminal.telnet.feature/build.properties b/features/org.eclipse.tm.terminal.connector.local.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.telnet.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.local.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties new file mode 100644 index 00000000000..5a75241ccaf --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Telnet Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml new file mode 100644 index 00000000000..c5a855c1e41 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -0,0 +1,63 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.view.feature/p2.inf b/features/org.eclipse.tm.terminal.connector.local.feature/p2.inf similarity index 86% rename from features/org.eclipse.tm.terminal.view.feature/p2.inf rename to features/org.eclipse.tm.terminal.connector.local.feature/p2.inf index 86a0e388bbc..ea454dd75ec 100644 --- a/features/org.eclipse.tm.terminal.view.feature/p2.inf +++ b/features/org.eclipse.tm.terminal.connector.local.feature/p2.inf @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -12,7 +12,7 @@ # exist in CDT 8.3 and we can also work on top of CDT 8.3. # The real dependencies are all properly managed via p2.inf in the -# org.eclipse.tcf.te.ui.terminals.process/META-INF/p2.inf file. +# org.eclipse.tm.terminal.connector.process/META-INF/p2.inf file. # The only benefit of requesting the feature here is that it allow pulling in # additional fragments that we are not aware of in the bundle's p2.inf. diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml rename to features/org.eclipse.tm.terminal.connector.local.feature/pom.xml index 37b9b57f90f..48329669262 100644 --- a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.view.serial.sdk.feature + org.eclipse.tm.terminal.connector.local.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project new file mode 100644 index 00000000000..e85d50ff010 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.local.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.telnet.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties new file mode 100644 index 00000000000..fb6c12b2ebd --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Telnet Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml new file mode 100644 index 00000000000..450f45945c3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml @@ -0,0 +1,58 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml new file mode 100644 index 00000000000..313460bf867 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.connector.local.sdk.feature + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/.project b/features/org.eclipse.tm.terminal.connector.serial.feature/.project new file mode 100644 index 00000000000..cf695db1244 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.serial.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/build.properties b/features/org.eclipse.tm.terminal.connector.serial.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.serial.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.serial.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties similarity index 91% rename from features/org.eclipse.tm.terminal.view.serial.feature/feature.properties rename to features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties index b4c68e5d0ae..d37b6db1fba 100644 --- a/features/org.eclipse.tm.terminal.view.serial.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties @@ -18,10 +18,10 @@ featureName=TM Terminal Serial Connector Extensions # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=TM Terminal 4.0 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml similarity index 74% rename from features/org.eclipse.tm.terminal.view.serial.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml index 901ef31ac52..4773775e059 100644 --- a/features/org.eclipse.tm.terminal.view.serial.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml @@ -11,7 +11,7 @@ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license --> - + - - + + 4.0.0.qualifier - org.eclipse.tm.terminal.telnet.feature + org.eclipse.tm.terminal.connector.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project new file mode 100644 index 00000000000..2015b76a0ba --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.serial.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.serial.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties similarity index 91% rename from features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties rename to features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties index e7d8cb2121a..64e244a6d41 100644 --- a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties @@ -18,10 +18,10 @@ featureName=TM Terminal Serial Connector Extensions, SDK # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=TM Terminal 4.0 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml similarity index 74% rename from features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml index ceaec36c635..5743b6311e1 100644 --- a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml @@ -11,7 +11,7 @@ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license --> - + - + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.connector.serial.sdk.feature + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.telnet.feature/.project b/features/org.eclipse.tm.terminal.connector.ssh.feature/.project similarity index 85% rename from features/org.eclipse.tm.terminal.telnet.feature/.project rename to features/org.eclipse.tm.terminal.connector.ssh.feature/.project index 4d78b79db3c..c96f85db4dd 100644 --- a/features/org.eclipse.tm.terminal.telnet.feature/.project +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.telnet.feature + org.eclipse.tm.terminal.connector.ssh.feature diff --git a/features/org.eclipse.tm.terminal.ssh.feature/build.properties b/features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.ssh.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties new file mode 100644 index 00000000000..d60ae03b044 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal SSH Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.ssh.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml similarity index 72% rename from features/org.eclipse.tm.terminal.ssh.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml index 62d03196a60..2cb5e43a7bd 100644 --- a/features/org.eclipse.tm.terminal.ssh.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml @@ -11,7 +11,7 @@ Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license --> - - + @@ -41,14 +40,14 @@ - - + + diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml similarity index 92% rename from features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml rename to features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml index 2139e4760c5..7df265ce5b8 100644 --- a/features/org.eclipse.tm.terminal.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.telnet.sdk.feature + org.eclipse.tm.terminal.connector.ssh.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project new file mode 100644 index 00000000000..3a7e0685dd4 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.ssh.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.ssh.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties new file mode 100644 index 00000000000..f4ba02af787 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal SSH Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=An SSH connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml similarity index 65% rename from features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml index 9057e585ef6..03aa7939d27 100644 --- a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml @@ -1,6 +1,6 @@ - - + - + diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml new file mode 100644 index 00000000000..9e350e035d8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.connector.ssh.sdk.feature + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/.project b/features/org.eclipse.tm.terminal.connector.telnet.feature/.project new file mode 100644 index 00000000000..97df9e70ce7 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.telnet.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties b/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties new file mode 100644 index 00000000000..400f7fd68ee --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties new file mode 100644 index 00000000000..5a75241ccaf --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Telnet Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml new file mode 100644 index 00000000000..26557e905d1 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml @@ -0,0 +1,51 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml similarity index 92% rename from features/org.eclipse.tm.terminal.ssh.feature/pom.xml rename to features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml index 260bab28648..c8f7acb9c03 100644 --- a/features/org.eclipse.tm.terminal.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.ssh.feature + org.eclipse.tm.terminal.connector.telnet.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project new file mode 100644 index 00000000000..7abe52415a8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.telnet.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties new file mode 100644 index 00000000000..400f7fd68ee --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties new file mode 100644 index 00000000000..fb6c12b2ebd --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Martin Oberhuber (Wind River) - initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Telnet Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=A Telnet connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml similarity index 64% rename from features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml index 37148d190eb..92015698be8 100644 --- a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml @@ -1,6 +1,6 @@ - - + - + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml new file mode 100644 index 00000000000..77396b43f29 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml @@ -0,0 +1,32 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.connector.telnet.sdk.feature + eclipse-feature + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/.project b/features/org.eclipse.tm.terminal.control.feature/.project similarity index 86% rename from features/org.eclipse.tm.terminal.ssh.feature/.project rename to features/org.eclipse.tm.terminal.control.feature/.project index e3330c4a45b..2002b5a3f20 100644 --- a/features/org.eclipse.tm.terminal.ssh.feature/.project +++ b/features/org.eclipse.tm.terminal.control.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.ssh.feature + org.eclipse.tm.terminal.control.feature diff --git a/features/org.eclipse.tm.terminal.control.feature/build.properties b/features/org.eclipse.tm.terminal.control.feature/build.properties new file mode 100644 index 00000000000..f398bf802a8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.control.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet.feature/feature.properties b/features/org.eclipse.tm.terminal.control.feature/feature.properties similarity index 97% rename from features/org.eclipse.tm.terminal.telnet.feature/feature.properties rename to features/org.eclipse.tm.terminal.control.feature/feature.properties index 68ee0271eaf..97b7b5e5031 100644 --- a/features/org.eclipse.tm.terminal.telnet.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.feature/feature.properties @@ -15,16 +15,17 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector +featureName=TM Terminal Control # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. +description=An ANSI (vt102) compatible Terminal widget \ +with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/features/org.eclipse.tm.terminal.telnet.feature/feature.xml b/features/org.eclipse.tm.terminal.control.feature/feature.xml similarity index 63% rename from features/org.eclipse.tm.terminal.telnet.feature/feature.xml rename to features/org.eclipse.tm.terminal.control.feature/feature.xml index 9602035210b..5d21f9b4e27 100644 --- a/features/org.eclipse.tm.terminal.telnet.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.control.feature/feature.xml @@ -1,6 +1,6 @@ @@ -32,21 +33,18 @@ - - + - - - + diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.control.feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml rename to features/org.eclipse.tm.terminal.control.feature/pom.xml index 97e8aae55c8..0d8253cd8b1 100644 --- a/features/org.eclipse.tm.terminal.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.ssh.sdk.feature + org.eclipse.tm.terminal.control.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/.project b/features/org.eclipse.tm.terminal.control.sdk.feature/.project similarity index 85% rename from features/org.eclipse.tm.terminal.ssh.sdk.feature/.project rename to features/org.eclipse.tm.terminal.control.sdk.feature/.project index 5559076f138..09a6bce3e20 100644 --- a/features/org.eclipse.tm.terminal.ssh.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.ssh.sdk.feature + org.eclipse.tm.terminal.control.sdk.feature diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties new file mode 100644 index 00000000000..f398bf802a8 --- /dev/null +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties similarity index 97% rename from features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties rename to features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties index 054f79a897a..77c220ce021 100644 --- a/features/org.eclipse.tm.terminal.telnet.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties @@ -15,16 +15,17 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Telnet Connector, SDK +featureName=TM Terminal Control, SDK # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. +description=An ANSI (vt102) compatible Terminal widget \ +with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml new file mode 100644 index 00000000000..d18a54ff542 --- /dev/null +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml @@ -0,0 +1,49 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml similarity index 93% rename from features/org.eclipse.tm.terminal.view.serial.feature/pom.xml rename to features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml index 538fad29831..a3380348fe8 100644 --- a/features/org.eclipse.tm.terminal.view.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml @@ -12,7 +12,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.view.serial.feature + org.eclipse.tm.terminal.control.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.feature/.project b/features/org.eclipse.tm.terminal.feature/.project index c72dafff564..a456794a2fa 100644 --- a/features/org.eclipse.tm.terminal.feature/.project +++ b/features/org.eclipse.tm.terminal.feature/.project @@ -14,4 +14,15 @@ org.eclipse.pde.FeatureNature + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + diff --git a/features/org.eclipse.tm.terminal.feature/build.properties b/features/org.eclipse.tm.terminal.feature/build.properties index f398bf802a8..c8eb6010921 100644 --- a/features/org.eclipse.tm.terminal.feature/build.properties +++ b/features/org.eclipse.tm.terminal.feature/build.properties @@ -1,13 +1,13 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### bin.includes = feature.xml,\ - feature.properties + feature.properties,\ + p2.inf +src.includes = feature.properties diff --git a/features/org.eclipse.tm.terminal.feature/feature.properties b/features/org.eclipse.tm.terminal.feature/feature.properties index 48eaef3ee38..4a88bf60c93 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.feature/feature.properties @@ -1,13 +1,12 @@ -############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# +################################################################################## +# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# # Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### +# Wind River Systems - initial API and implementation +################################################################################## # feature.properties # contains externalized strings for feature.xml # "%foo" in feature.xml corresponds to the key "foo" in this file @@ -15,155 +14,25 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Widget +featureName=TM Terminal # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal widget \ -with RCP-only dependencies. +description=An integrated Eclipse View for the local command prompt (console) or \ + remote hosts (SSH, Telnet, Serial). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 6 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ http://www.eclipse.org/legal/epl-v10.html + ################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/features/org.eclipse.tm.terminal.feature/feature.xml index 5cd4c78fbc2..3eea85380eb 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.feature/feature.xml @@ -1,22 +1,10 @@ - @@ -33,19 +21,16 @@ - + - - + + + + + + - - diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index a2f63b903fb..82edd61bd87 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -1,32 +1,21 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + 4.0.0 - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + - 4.0.0.qualifier - org.eclipse.tm.terminal.feature - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - + 4.0.0.qualifier + org.eclipse.tm.terminal.feature + eclipse-feature + + + true + diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.remote.feature/feature.properties index ddc31e1b159..22329c5c36d 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.properties @@ -12,13 +12,13 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Remote Connector +featureName=TM Terminal Remote Connector Extensions # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=An remote connector implementation for the Terminal. diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.remote.feature/feature.xml index 293170ca182..487dbbed29e 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.remote.feature/feature.xml @@ -30,21 +30,20 @@ - - + - + - + - - + - + + + org.eclipse.pde.ds.core.builder + + + org.eclipse.pde.FeatureNature + + + 1311579318584 + + 10 + + org.eclipse.ui.ide.multiFilter + 1.0-name-matches-false-false-target + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.sdk.feature/build.properties index f398bf802a8..d9e56c50b07 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/build.properties +++ b/features/org.eclipse.tm.terminal.sdk.feature/build.properties @@ -1,13 +1,12 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license -################################################################################ +############################################################################### +# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### bin.includes = feature.xml,\ feature.properties +src.includes = feature.properties diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties index 21350113ad1..7b8d6be0183 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties @@ -1,13 +1,12 @@ -############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# +################################################################################## +# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# # Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### +# Wind River Systems - initial API and implementation +################################################################################## # feature.properties # contains externalized strings for feature.xml # "%foo" in feature.xml corresponds to the key "foo" in this file @@ -15,155 +14,25 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Target Management Terminal Widget, SDK +featureName=TM Terminal, SDK # "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project +providerName=Eclipse.org - Target Management -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=An ANSI (vt102) compatible Terminal widget \ -with RCP-only dependencies. +description=An integrated Eclipse View for the local command prompt (console) or \ + remote hosts via (SSH, Telnet, Serial). Works on Windows, Linux, Mac and Solaris. \ + Requires Eclipse 3.8.2 or newer and a Java 6 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ http://www.eclipse.org/legal/epl-v10.html + ################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 5e61723d557..349e216b282 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -1,16 +1,4 @@ - - + - + - + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index f648d7ecaa3..8e98438cdd2 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -1,32 +1,21 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + 4.0.0 - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + - 4.0.0.qualifier - org.eclipse.tm.terminal.sdk.feature - eclipse-feature - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - default - - - - - + 4.0.0.qualifier + org.eclipse.tm.terminal.sdk.feature + eclipse-feature + + + true + diff --git a/features/org.eclipse.tm.terminal.ssh.feature/feature.properties b/features/org.eclipse.tm.terminal.ssh.feature/feature.properties deleted file mode 100644 index d541fa42cfb..00000000000 --- a/features/org.eclipse.tm.terminal.ssh.feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal SSH Connector - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An SSH connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties deleted file mode 100644 index e2791a5bd63..00000000000 --- a/features/org.eclipse.tm.terminal.ssh.sdk.feature/feature.properties +++ /dev/null @@ -1,168 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=Target Management Terminal SSH Connector, SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse TM Project - -# "tmUpdateSiteName" property - label for the update site -tmUpdateSiteName=Target Management 3.7 Updates - -# "description" property - description of the feature -description=An SSH connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.properties b/features/org.eclipse.tm.terminal.view.feature/feature.properties index cf94c04841a..51c94ab8f5c 100644 --- a/features/org.eclipse.tm.terminal.view.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.feature/feature.properties @@ -14,13 +14,13 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Terminals View +featureName=TM Terminal View # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Explorer +providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=Eclipse Update Site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.xml b/features/org.eclipse.tm.terminal.view.feature/feature.xml index 10a5d241585..dd204cdbf8a 100644 --- a/features/org.eclipse.tm.terminal.view.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.feature/feature.xml @@ -21,23 +21,15 @@ - + + - - - - - - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties index 87c3fe99805..db6bbc0ea6c 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties @@ -14,13 +14,13 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Remote System Explorer Terminals View add-in +featureName=TM Terminal View Remote System Explorer add-in # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Explorer +providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=Eclipse Update Site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=Integrates the Terminals view into the Remote System Explorer. \ diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml index a36aae3d978..aa7b43777e0 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml @@ -21,7 +21,7 @@ - + @@ -32,7 +32,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties index 23361eb9e6e..9411bc138d6 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -14,13 +14,13 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Remote System Explorer Terminals View add-in, SDK +featureName=TM Terminal View Remote System Explorer add-in, SDK # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Explorer +providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=Eclipse Update Site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=Integrates the Terminals view into the Remote System Explorer. \ diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml index d4859dc775a..54ddd504fb6 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml @@ -20,7 +20,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties index b47482d1b2d..521bd1a1bff 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -14,13 +14,13 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=Terminals View, SDK +featureName=TM Terminal View, SDK # "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Explorer +providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=Eclipse Update Site +updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml index 42e78d06c90..4d406a1939e 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml @@ -20,17 +20,13 @@ - + - - - - - - - - - - - - diff --git a/features/org.eclipse.tm.terminal.view.serial.feature/.project b/features/org.eclipse.tm.terminal.view.serial.feature/.project deleted file mode 100644 index a59b4d2ea4d..00000000000 --- a/features/org.eclipse.tm.terminal.view.serial.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.view.serial.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project b/features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project deleted file mode 100644 index 322a638c887..00000000000 --- a/features/org.eclipse.tm.terminal.view.serial.sdk.feature/.project +++ /dev/null @@ -1,17 +0,0 @@ - - - org.eclipse.tm.terminal.view.serial.sdk.feature - - - - - - org.eclipse.pde.FeatureBuilder - - - - - - org.eclipse.pde.FeatureNature - - diff --git a/plugins/org.eclipse.tm.terminal.ssh/.classpath b/plugins/org.eclipse.tm.terminal.connector.local/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/.classpath rename to plugins/org.eclipse.tm.terminal.connector.local/.classpath diff --git a/plugins/org.eclipse.tm.terminal.ssh/.gitignore b/plugins/org.eclipse.tm.terminal.connector.local/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.local/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.options b/plugins/org.eclipse.tm.terminal.connector.local/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.options rename to plugins/org.eclipse.tm.terminal.connector.local/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.project b/plugins/org.eclipse.tm.terminal.connector.local/.project similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.project rename to plugins/org.eclipse.tm.terminal.connector.local/.project index 2e1b844261f..9a13c2acf9c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/.project +++ b/plugins/org.eclipse.tm.terminal.connector.local/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.view.ui.local + org.eclipse.tm.terminal.connector.local diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF similarity index 52% rename from plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF index b3c6735717d..a8fa633b0d4 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.local;singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.local;singleton:=true Bundle-Version: 4.0.0.qualifier -Bundle-Activator: org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin +Bundle-Activator: org.eclipse.tm.terminal.connector.local.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, @@ -14,17 +14,17 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, org.eclipse.debug.ui;bundle-version="3.8.1";resolution:=optional, org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", - org.eclipse.tm.terminal.view.ui.process;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.connector.process;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.view.ui.local.activator;x-internal:=true, - org.eclipse.tm.terminal.view.ui.local.controls, - org.eclipse.tm.terminal.view.ui.local.help, - org.eclipse.tm.terminal.view.ui.local.launcher, - org.eclipse.tm.terminal.view.ui.local.nls;x-internal:=true, - org.eclipse.tm.terminal.view.ui.local.showin, - org.eclipse.tm.terminal.view.ui.local.showin.interfaces, - org.eclipse.tm.terminal.view.ui.local.showin.preferences +Export-Package: org.eclipse.tm.terminal.connector.local.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.local.controls, + org.eclipse.tm.terminal.connector.local.help, + org.eclipse.tm.terminal.connector.local.launcher, + org.eclipse.tm.terminal.connector.local.nls;x-internal:=true, + org.eclipse.tm.terminal.connector.local.showin, + org.eclipse.tm.terminal.connector.local.showin.interfaces, + org.eclipse.tm.terminal.connector.local.showin.preferences diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/p2.inf b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/META-INF/p2.inf rename to plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/about.html b/plugins/org.eclipse.tm.terminal.connector.local/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/about.html rename to plugins/org.eclipse.tm.terminal.connector.local/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/build.properties b/plugins/org.eclipse.tm.terminal.connector.local/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/build.properties rename to plugins/org.eclipse.tm.terminal.connector.local/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/contexts.xml b/plugins/org.eclipse.tm.terminal.connector.local/contexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/contexts.xml rename to plugins/org.eclipse.tm.terminal.connector.local/contexts.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/icons/eview16/terminal_view.gif b/plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/icons/eview16/terminal_view.gif rename to plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.local/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml similarity index 69% rename from plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index 41b308b9c99..a72a8ad90e6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -4,19 +4,19 @@ - + @@ -26,8 +26,8 @@ @@ -45,8 +45,8 @@ + class="org.eclipse.tm.terminal.connector.local.showin.DynamicContributionItems" + id="org.eclipse.tm.terminal.connector.local.LocalLauncherDynamicContributionItems"> @@ -67,16 +67,16 @@ @@ -84,7 +84,7 @@ @@ -93,8 +93,8 @@ + class="org.eclipse.tm.terminal.connector.local.launcher.LocalLauncherHandler" + commandId="org.eclipse.tm.terminal.connector.local.command.launch"> @@ -102,8 +102,8 @@ @@ -111,13 +111,13 @@ + class="org.eclipse.tm.terminal.connector.local.showin.preferences.PreferencesInitializer"> - + diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml similarity index 90% rename from plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml rename to plugins/org.eclipse.tm.terminal.connector.local/pom.xml index 0cd2c346929..a706af15479 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml @@ -12,6 +12,6 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.view.ui.process + org.eclipse.tm.terminal.connector.local eclipse-plugin
                                        diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java index 9d02abc7189..37dd7e100a5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.activator; +package org.eclipse.tm.terminal.connector.local.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java index 6270248694d..9a61019eded 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/controls/LocalWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.controls; +package org.eclipse.tm.terminal.connector.local.controls; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java similarity index 88% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java index 8f3c4b92431..f4f748f9e14 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.help; +package org.eclipse.tm.terminal.connector.local.help; -import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 2220e60d4d0..676b257efec 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.launcher; +package org.eclipse.tm.terminal.connector.local.launcher; import java.io.File; import java.net.InetAddress; @@ -35,6 +35,10 @@ import org.eclipse.jface.viewers.IStructuredSelection; 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.tm.terminal.connector.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.controls.LocalWizardConfigurationPanel; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.connector.process.ProcessSettings; 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.ITerminalServiceOutputStreamMonitorListener; @@ -45,10 +49,6 @@ 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; -import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.local.controls.LocalWizardConfigurationPanel; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; -import org.eclipse.tm.terminal.view.ui.process.ProcessSettings; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.WorkbenchEncoding; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java index a0230185921..24ca4d41b94 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalLauncherHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.launcher; +package org.eclipse.tm.terminal.connector.local.launcher; import java.util.HashMap; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java index 819bd05e119..e25fecf61f5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/launcher/LocalMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.launcher; +package org.eclipse.tm.terminal.connector.local.launcher; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java index 2082b8ec5d5..e3f612825a3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.nls; +package org.eclipse.tm.terminal.connector.local.nls; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java index 9679602c553..abef87a0454 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin; +package org.eclipse.tm.terminal.connector.local.showin; import java.util.ArrayList; import java.util.HashMap; @@ -22,10 +22,10 @@ import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.graphics.ImageData; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.actions.CompoundContributionItem; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java index 75896f2968c..89f5e972245 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin; +package org.eclipse.tm.terminal.connector.local.showin; import java.io.File; import java.util.HashMap; @@ -34,9 +34,9 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.terminal.view.ui.local.help.IContextHelpIds; -import org.eclipse.tm.terminal.view.ui.local.nls.Messages; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.connector.local.help.IContextHelpIds; +import org.eclipse.tm.terminal.connector.local.nls.Messages; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.PlatformUI; import org.osgi.framework.Bundle; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesInitializer.java similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesInitializer.java index 758f522398a..fd67cbf2b9f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesInitializer.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin; +package org.eclipse.tm.terminal.connector.local.showin; import java.io.File; import java.util.ArrayList; @@ -17,7 +17,7 @@ import java.util.Map; import java.util.StringTokenizer; import org.eclipse.core.runtime.Platform; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.ui.IStartup; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java index 5df1edf7d7c..f9ee18b71f5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin; +package org.eclipse.tm.terminal.connector.local.showin; import java.io.File; import java.io.FileReader; @@ -26,7 +26,7 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; /** * External executables manager implementation. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java index 30c91514b4d..239ebf7b1bd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin.interfaces; +package org.eclipse.tm.terminal.connector.local.showin.interfaces; /** * External executables data property names. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java index ba508ef04a6..790e044fb26 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin.interfaces; +package org.eclipse.tm.terminal.connector.local.showin.interfaces; /** * Terminals plug-in preference key definitions. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java index 0ec6d83c0bc..875206565ec 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin.preferences; +package org.eclipse.tm.terminal.connector.local.showin.preferences; import java.io.File; import java.net.URI; @@ -62,13 +62,13 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.nls.Messages; +import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesDialog; +import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesManager; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; import org.eclipse.tm.terminal.view.ui.controls.NoteCompositeHelper; -import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.local.nls.Messages; -import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesDialog; -import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IExternalExecutablesProperties; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.osgi.framework.Bundle; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java similarity index 86% rename from plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java rename to plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java index 2922ee644b8..13871129d87 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/src/org/eclipse/tm/terminal/view/ui/local/showin/preferences/PreferencesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java @@ -7,12 +7,12 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.local.showin.preferences; +package org.eclipse.tm.terminal.connector.local.showin.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; +import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; -import org.eclipse.tm.terminal.view.ui.local.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.local.showin.interfaces.IPreferenceKeys; /** * Terminals default preferences initializer. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.classpath b/plugins/org.eclipse.tm.terminal.connector.process/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.classpath rename to plugins/org.eclipse.tm.terminal.connector.process/.classpath diff --git a/plugins/org.eclipse.tm.terminal.telnet/.gitignore b/plugins/org.eclipse.tm.terminal.connector.process/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.telnet/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.process/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.options b/plugins/org.eclipse.tm.terminal.connector.process/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.options rename to plugins/org.eclipse.tm.terminal.connector.process/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.project b/plugins/org.eclipse.tm.terminal.connector.process/.project similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.project rename to plugins/org.eclipse.tm.terminal.connector.process/.project index 388cdcc2270..f609200e524 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/.project +++ b/plugins/org.eclipse.tm.terminal.connector.process/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.view.ui.process + org.eclipse.tm.terminal.connector.process diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF similarity index 62% rename from plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF index 8f22aa287e4..1aad9d7017b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.process;singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.process;singleton:=true Bundle-Version: 4.0.0.qualifier -Bundle-Activator: org.eclipse.tm.terminal.view.ui.process.activator.UIPlugin +Bundle-Activator: org.eclipse.tm.terminal.connector.process.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native, org.eclipse.cdt.utils.spawner;mandatory:=native @@ -13,12 +13,12 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.view.ui.process, - org.eclipse.tm.terminal.view.ui.process.activator;x-internal:=true, - org.eclipse.tm.terminal.view.ui.process.help, - org.eclipse.tm.terminal.view.ui.process.nls;x-internal:=true +Export-Package: org.eclipse.tm.terminal.connector.process, + org.eclipse.tm.terminal.connector.process.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.process.help, + org.eclipse.tm.terminal.connector.process.nls;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/p2.inf b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/p2.inf rename to plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf index 9bd5194fa74..a3282a7a665 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/META-INF/p2.inf +++ b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -10,7 +10,7 @@ # Most of the dependencies exposed here are actually covered in the feature.xml # This file ensures that the current bundle has all it needs, even if installed -# without the enclosing org.eclipse.tcf.te.terminals.feature . +# without the enclosing org.eclipse.tm.terminal.view.feature . # See also https://bugs.eclipse.org/bugs/show_bug.cgi?id=435150 . # 1. Make the optional cdt.core dependency non-greedy: Use (or update to proper diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/about.html b/plugins/org.eclipse.tm.terminal.connector.process/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/about.html rename to plugins/org.eclipse.tm.terminal.connector.process/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/build.properties b/plugins/org.eclipse.tm.terminal.connector.process/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/build.properties rename to plugins/org.eclipse.tm.terminal.connector.process/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.process/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.process/plugin.xml similarity index 56% rename from plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.process/plugin.xml index 58e91247124..411cc847c69 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.process/plugin.xml @@ -3,20 +3,20 @@ - + diff --git a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml new file mode 100644 index 00000000000..02df2e1e872 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0.qualifier + org.eclipse.tm.terminal.connector.process + eclipse-plugin + diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java index 26e3675eeef..641e9bd6d2c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process; +package org.eclipse.tm.terminal.connector.process; import java.io.File; import java.io.IOException; @@ -29,10 +29,10 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.terminal.connector.process.nls.Messages; import org.eclipse.tm.terminal.view.core.interfaces.constants.ILineSeparatorConstants; import org.eclipse.tm.terminal.view.core.utils.Env; import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; -import org.eclipse.tm.terminal.view.ui.process.nls.Messages; import org.eclipse.tm.terminal.view.ui.streams.AbstractStreamsConnector; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java index 60726066f8d..287deb49d03 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process; +package org.eclipse.tm.terminal.connector.process; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java index c94ff6b7eeb..98ae8d0cc1c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessMonitor.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process; +package org.eclipse.tm.terminal.connector.process; import org.eclipse.core.runtime.Assert; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java index 20b0593c332..6fe4a6aaace 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process; +package org.eclipse.tm.terminal.connector.process; import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.core.runtime.Assert; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java index 2465b2d9bf4..d615370b5cc 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/ProcessSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process; +package org.eclipse.tm.terminal.connector.process; import org.eclipse.cdt.utils.pty.PTY; import org.eclipse.core.runtime.Assert; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java index 9bd8acf5346..03ac3ebdb64 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process.activator; +package org.eclipse.tm.terminal.connector.process.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java similarity index 88% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java index 9514c022044..1b0deb428c0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java @@ -7,9 +7,9 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process.help; +package org.eclipse.tm.terminal.connector.process.help; -import org.eclipse.tm.terminal.view.ui.process.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.process.activator.UIPlugin; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java index 1b9b2702a65..8249cf380cc 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.process.nls; +package org.eclipse.tm.terminal.connector.process.nls; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/src/org/eclipse/tm/terminal/view/ui/process/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.classpath b/plugins/org.eclipse.tm.terminal.connector.serial/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.classpath rename to plugins/org.eclipse.tm.terminal.connector.serial/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore b/plugins/org.eclipse.tm.terminal.connector.serial/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.local/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.serial/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.options b/plugins/org.eclipse.tm.terminal.connector.serial/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.options rename to plugins/org.eclipse.tm.terminal.connector.serial/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.project b/plugins/org.eclipse.tm.terminal.connector.serial/.project similarity index 91% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.project rename to plugins/org.eclipse.tm.terminal.connector.serial/.project index 2d7948ad029..c64fbf0aa95 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/.project +++ b/plugins/org.eclipse.tm.terminal.connector.serial/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.view.ui.serial + org.eclipse.tm.terminal.connector.serial diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF similarity index 51% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF index 59b00cfa6e3..d69bd7f0565 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF @@ -1,24 +1,24 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.serial;singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.serial;singleton:=true Bundle-Version: 4.0.0.qualifier -Bundle-Activator: org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin +Bundle-Activator: org.eclipse.tm.terminal.connector.serial.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.equinox.security;bundle-version="1.1.100", org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.view.ui.serial.activator;x-internal:=true, - org.eclipse.tm.terminal.view.ui.serial.connector, - org.eclipse.tm.terminal.view.ui.serial.controls, - org.eclipse.tm.terminal.view.ui.serial.interfaces, - org.eclipse.tm.terminal.view.ui.serial.launcher, - org.eclipse.tm.terminal.view.ui.serial.nls;x-internal:=true +Export-Package: org.eclipse.tm.terminal.connector.serial.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.serial.connector, + org.eclipse.tm.terminal.connector.serial.controls, + org.eclipse.tm.terminal.connector.serial.interfaces, + org.eclipse.tm.terminal.connector.serial.launcher, + org.eclipse.tm.terminal.connector.serial.nls;x-internal:=true Import-Package: gnu.io;resolution:=optional diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/about.html b/plugins/org.eclipse.tm.terminal.connector.serial/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/about.html rename to plugins/org.eclipse.tm.terminal.connector.serial/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/build.properties b/plugins/org.eclipse.tm.terminal.connector.serial/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/build.properties rename to plugins/org.eclipse.tm.terminal.connector.serial/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml similarity index 69% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml index 90f70da6a40..b61259bb8be 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml @@ -3,18 +3,18 @@ - + + id="org.eclipse.tm.terminal.connector.serial.SerialConnector" + class="org.eclipse.tm.terminal.connector.serial.connector.SerialConnector"/> diff --git a/plugins/org.eclipse.tm.terminal.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml similarity index 89% rename from plugins/org.eclipse.tm.terminal.ssh/pom.xml rename to plugins/org.eclipse.tm.terminal.connector.serial/pom.xml index b30c8877d25..e12f8d31ff2 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml @@ -12,6 +12,6 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.ssh + org.eclipse.tm.terminal.connector.serial eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java index 6fe86258e9e..f38a5a244e5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.activator; +package org.eclipse.tm.terminal.connector.serial.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/ISerialSettings.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/ISerialSettings.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java index 01430ecb6b7..598678551d9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/ISerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnectWorker.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java index 8db73c78de3..d6671351f7a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java @@ -19,7 +19,7 @@ * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling * Michael Scharf (Wind River) - [262996] get rid of TerminalState.OPENED *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.CommPortIdentifier; import gnu.io.NoSuchPortException; @@ -36,7 +36,7 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; +import org.eclipse.tm.terminal.connector.serial.nls.Messages; @SuppressWarnings("restriction") public class SerialConnectWorker extends Thread { diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java index de65beb6551..068c34e080b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java @@ -17,7 +17,7 @@ * Martin Oberhuber (Wind River) - [208029] COM port not released after quick disconnect/reconnect * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.CommPortIdentifier; import gnu.io.SerialPort; @@ -35,8 +35,8 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; -import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; +import org.eclipse.tm.terminal.connector.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.serial.nls.Messages; @SuppressWarnings("restriction") public class SerialConnector extends TerminalConnectorImpl { diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java index 23539d6217e..aac82d1638e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialPortHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java @@ -16,7 +16,7 @@ * Martin Oberhuber (Wind River) - [168197] Replace JFace MessagDialog by SWT MessageBox * Martin Oberhuber (Wind River) - [221184] Redesign Serial Terminal Ownership Handling *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.CommPortOwnershipListener; import gnu.io.SerialPortEvent; @@ -28,7 +28,7 @@ import org.eclipse.osgi.util.NLS; import org.eclipse.swt.widgets.Display; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; +import org.eclipse.tm.terminal.connector.serial.nls.Messages; /** * UNDER CONSTRUCTION diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java index 7d4b89b90b6..4519c99531b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.CommPortIdentifier; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java index a51881704b3..7044eff00d0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.SerialPort; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java index d0e865d04fd..84bb36a657b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/connector/SerialSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java @@ -15,7 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.connector; +package org.eclipse.tm.terminal.connector.serial.connector; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java index 27419b7fb56..b1f6b6647e8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.controls; +package org.eclipse.tm.terminal.connector.serial.controls; import java.util.Map; @@ -65,7 +65,7 @@ public class SerialConfigurationPanel extends AbstractExtendedConfigurationPanel @Override public void extractData(Map data) { // set the terminal connector id for serial - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connectors.serial"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.serial.SerialConnector"); //$NON-NLS-1$ serialSettingsPage.extractData(data); data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java index d71df6c6e7f..fe760cbf05b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialLinePanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.controls; +package org.eclipse.tm.terminal.connector.serial.controls; import gnu.io.CommPortIdentifier; @@ -38,12 +38,12 @@ import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; +import org.eclipse.tm.terminal.connector.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.serial.interfaces.ITraceIds; +import org.eclipse.tm.terminal.connector.serial.nls.Messages; 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.AbstractConfigurationPanel; -import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.serial.interfaces.ITraceIds; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; import org.eclipse.ui.PlatformUI; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java index c067e531e43..52ff59085f2 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/controls/SerialPortAddressDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.controls; +package org.eclipse.tm.terminal.connector.serial.controls; import java.util.List; import java.util.regex.Matcher; @@ -33,8 +33,8 @@ import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tm.terminal.view.ui.serial.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; +import org.eclipse.tm.terminal.connector.serial.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.serial.nls.Messages; import org.eclipse.ui.PlatformUI; /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java similarity index 92% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java index 74efd38ce79..acfd6da2a50 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/ITraceIds.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.interfaces; +package org.eclipse.tm.terminal.connector.serial.interfaces; /** * Trace slot identifiers. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java index 5c60c77e265..c8d0485d000 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/interfaces/IWireTypeSerial.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.interfaces; +package org.eclipse.tm.terminal.connector.serial.interfaces; /** * The properties specific to the wire type "serial". diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java index 8e22c713e1a..74cc12dd0d1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.launcher; +package org.eclipse.tm.terminal.connector.serial.launcher; import java.text.DateFormat; import java.util.Date; @@ -18,6 +18,9 @@ import org.eclipse.osgi.util.NLS; 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.tm.terminal.connector.serial.connector.SerialSettings; +import org.eclipse.tm.terminal.connector.serial.controls.SerialConfigurationPanel; +import org.eclipse.tm.terminal.connector.serial.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; @@ -26,9 +29,6 @@ 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; -import org.eclipse.tm.terminal.view.ui.serial.connector.SerialSettings; -import org.eclipse.tm.terminal.view.ui.serial.controls.SerialConfigurationPanel; -import org.eclipse.tm.terminal.view.ui.serial.nls.Messages; /** * Serial launcher delegate implementation. @@ -113,7 +113,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connectors.serial"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.serial.SerialConnector"; //$NON-NLS-1$ String port = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE); String baud = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_BAUD_RATE); diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java index 747611311dd..5af0ef86f45 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/launcher/SerialMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.launcher; +package org.eclipse.tm.terminal.connector.serial.launcher; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java index 7891d1cf2ac..e1dbac41e31 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.serial.nls; +package org.eclipse.tm.terminal.connector.serial.nls; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/src/org/eclipse/tm/terminal/view/ui/serial/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.classpath b/plugins/org.eclipse.tm.terminal.connector.ssh/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.classpath rename to plugins/org.eclipse.tm.terminal.connector.ssh/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore b/plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.process/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.options b/plugins/org.eclipse.tm.terminal.connector.ssh/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.options rename to plugins/org.eclipse.tm.terminal.connector.ssh/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.project b/plugins/org.eclipse.tm.terminal.connector.ssh/.project similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.project rename to plugins/org.eclipse.tm.terminal.connector.ssh/.project index 569a6aff988..55858db534c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.project +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.view.ui.ssh + org.eclipse.tm.terminal.connector.ssh diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..8f65748a019 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF @@ -0,0 +1,24 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.ssh;singleton:=true +Bundle-Version: 4.0.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.connector.ssh.activator.UIPlugin +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0", + com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", + org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.6 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.connector.ssh.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.ssh.connector, + org.eclipse.tm.terminal.connector.ssh.controls, + org.eclipse.tm.terminal.connector.ssh.launcher, + org.eclipse.tm.terminal.connector.ssh.nls;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/about.html b/plugins/org.eclipse.tm.terminal.connector.ssh/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/about.html rename to plugins/org.eclipse.tm.terminal.connector.ssh/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/build.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/build.properties rename to plugins/org.eclipse.tm.terminal.connector.ssh/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties similarity index 89% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties index 60c9aebeb40..ce0b1ebb7b0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties @@ -11,9 +11,9 @@ pluginName = Terminals SSH Extensions providerName = Eclipse.org - Target Explorer -# ----- Terminal Connector Types ----- +# ----- Terminal Connector ----- -SshConnectorType.label=SSH Connector Type +SshConnector.label=SSH # ----- Terminal Launcher Delegates ----- diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml similarity index 61% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml index 9ace7597f0f..b4a1cd66977 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml @@ -2,11 +2,19 @@ + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml similarity index 90% rename from plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml rename to plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml index 7f7dc4fa7fc..a7444a926ce 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml @@ -12,6 +12,6 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.view.ui.local + org.eclipse.tm.terminal.connector.ssh eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java similarity index 71% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java index c43b2634015..f5030c35888 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java @@ -7,14 +7,17 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.ssh.activator; +package org.eclipse.tm.terminal.connector.ssh.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.jsch.core.IJSchService; import org.eclipse.swt.graphics.Image; +import org.eclipse.tm.terminal.connector.ssh.connector.SshConnection; import org.eclipse.tm.terminal.view.core.tracing.TraceHandler; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; +import org.osgi.util.tracker.ServiceTracker; /** * The activator class controls the plug-in life cycle @@ -25,6 +28,9 @@ public class UIPlugin extends AbstractUIPlugin { // The trace handler instance private static volatile TraceHandler traceHandler; + // ServiceTracker for IJschService + private ServiceTracker tracker; + /** * The constructor */ @@ -62,13 +68,21 @@ public class UIPlugin extends AbstractUIPlugin { return traceHandler; } + //--------------------------------------------------------------------------- + // + //--------------------------------------------------------------------------- + /* (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ - @Override + @SuppressWarnings("unchecked") + @Override public void start(BundleContext context) throws Exception { super.start(context); plugin = this; + + tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null); + tracker.open(); } /* (non-Javadoc) @@ -76,10 +90,28 @@ public class UIPlugin extends AbstractUIPlugin { */ @Override public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); + try { + SshConnection.shutdown(); + tracker.close(); + } finally { + plugin = null; + super.stop(context); + } } + /** + * Returns an instance of IJSchService from the OSGi Registry. + * @return An instance of IJSchService, or null if no + * IJschService service is available. + */ + public IJSchService getJSchService() { + return (IJSchService)tracker.getService(); + } + + //--------------------------------------------------------------------------- + // + //--------------------------------------------------------------------------- + /* (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#initializeImageRegistry(org.eclipse.jface.resource.ImageRegistry) */ diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java index 9ceb3314f6b..0b79c8f239d 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshConstants.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java @@ -10,7 +10,7 @@ * Martin Oberhuber (Wind River) - extracted from various team.cvs plugins * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; /** diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java index 28284ec2a19..b4bad8313d8 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/ISshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java @@ -10,7 +10,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java similarity index 64% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java index 760ef83afc3..faba423eeab 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/KeyboardInteractiveDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java @@ -10,7 +10,7 @@ * IBM Corporation - ongoing maintenance * Martin Oberhuber (Wind River) - copied and adapted from team.cvs.ui *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; @@ -69,37 +69,40 @@ public class KeyboardInteractiveDialog extends TrayDialog { this.instruction=instruction; this.prompt=prompt; this.echo=echo; - this.message=NLS.bind(SshMessages.KeyboardInteractiveDialog_message, new String[] { destination+(name!=null && name.length()>0 ? ": "+name : "") }); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$ + this.message=NLS.bind(SshMessages.KeyboardInteractiveDialog_message, new String[] { destination+(name!=null && name.length()>0 ? ": "+name : "") }); //NON-NLS-1$ //$NON-NLS-1$ //$NON-NLS-2$ } /** * @see Window#configureShell */ - protected void configureShell(Shell newShell) { + @Override +protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText(message); } - /** - * @see Window#create + /** + * @see Window#create */ - public void create() { + @Override +public void create() { super.create(); if(texts.length>0){ texts[0].setFocus(); } } - /** - * @see Dialog#createDialogArea + /** + * @see Dialog#createDialogArea */ - protected Control createDialogArea(Composite parent) { + @Override +protected Control createDialogArea(Composite parent) { Composite main=new Composite(parent, SWT.NONE); GridLayout layout=new GridLayout(); layout.numColumns=3; main.setLayout(layout); main.setLayoutData(new GridData(GridData.FILL_BOTH)); - + // set F1 help PlatformUI.getWorkbench().getHelpSystem().setHelp(main, ISshConstants.HELP_KEYBOARD_INTERACTIVE_DIALOG); - + if (message!=null) { Label messageLabel=new Label(main, SWT.WRAP); messageLabel.setText(message); @@ -109,7 +112,7 @@ public class KeyboardInteractiveDialog extends TrayDialog { } if(domain!=null){ Label label = new Label(main, SWT.WRAP); - label.setText(NLS.bind(SshMessages.KeyboardInteractiveDialog_labelConnection, new String[] { domain })); + label.setText(NLS.bind(SshMessages.KeyboardInteractiveDialog_labelConnection, new String[] { domain })); GridData data=new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan=3; label.setLayoutData(data); @@ -124,10 +127,10 @@ public class KeyboardInteractiveDialog extends TrayDialog { createPasswordFields(main); return main; } - /** - * Creates the widgets that represent the entry area. - * - * @param parent the parent of the widgets + /** + * Creates the widgets that represent the entry area. + * + * @param parent the parent of the widgets */ protected void createPasswordFields(Composite parent) { texts=new Text[prompt.length]; @@ -146,39 +149,41 @@ public class KeyboardInteractiveDialog extends TrayDialog { } } - /** - * Returns the entered values, or null - * if the user cancelled. - * + /** + * Returns the entered values, or null + * if the user cancelled. + * * @return the entered values */ public String[] getResult() { return result; } - /** - * Notifies that the ok button of this dialog has been pressed. - *

                                        - * The default implementation of this framework method sets - * this dialog's return code to Window.OK - * and closes the dialog. Subclasses may override. - *

                                        + /** + * Notifies that the ok button of this dialog has been pressed. + *

                                        + * The default implementation of this framework method sets + * this dialog's return code to Window.OK + * and closes the dialog. Subclasses may override. + *

                                        */ - protected void okPressed() { + @Override +protected void okPressed() { result=new String[prompt.length]; for(int i=0; i - * The default implementation of this framework method sets - * this dialog's return code to Window.CANCEL - * and closes the dialog. Subclasses may override. - *

                                        + /** + * Notifies that the cancel button of this dialog has been pressed. + *

                                        + * The default implementation of this framework method sets + * this dialog's return code to Window.CANCEL + * and closes the dialog. Subclasses may override. + *

                                        */ - protected void cancelPressed() { + @Override +protected void cancelPressed() { result=null; super.cancelPressed(); } diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java similarity index 92% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java index 8bf6f2879d7..d8620eeb309 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java @@ -22,7 +22,7 @@ * Andrei Sobolev (Xored) - [250456] Ssh banner message causes IllegalArgumentException popup * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import java.io.IOException; import java.io.InputStream; @@ -40,6 +40,7 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; +import org.eclipse.tm.terminal.connector.ssh.activator.UIPlugin; import com.jcraft.jsch.ChannelShell; import com.jcraft.jsch.JSchException; @@ -47,7 +48,7 @@ import com.jcraft.jsch.Session; import com.jcraft.jsch.UIKeyboardInteractive; import com.jcraft.jsch.UserInfo; -class SshConnection extends Thread { +public class SshConnection extends Thread { private static int fgNo; private final ITerminalControl fControl; private final SshConnector fConn; @@ -72,7 +73,7 @@ class SshConnection extends Thread { * host key checking or in order to add specific ciphers). */ protected Session createSession(String username, String password, String hostname, int port, UserInfo wrapperUI, IProgressMonitor monitor) throws JSchException { - IJSchService service = Activator.getDefault().getJSchService(); + IJSchService service = UIPlugin.getDefault().getJSchService(); if (service == null) return null; Session session = service.createSession(hostname, port, username); @@ -85,7 +86,7 @@ class SshConnection extends Thread { return session; } - static void shutdown() { + public static void shutdown() { //TODO: Store all Jsch sessions in a pool and disconnect them on shutdown } @@ -93,7 +94,8 @@ class SshConnection extends Thread { //
                                        //---------------------------------------------------------------------- - public void run() { + @Override + public void run() { boolean connectSucceeded = false; String host = ""; //$NON-NLS-1$ int port = 22; @@ -247,14 +249,17 @@ class SshConnection extends Thread { fUser = user; fPassword = password; } - public String getPassword() { + @Override + public String getPassword() { return fPassword; } - public boolean promptYesNo(final String str) { + @Override + public boolean promptYesNo(final String str) { //need to switch to UI thread for prompting final boolean[] retval = new boolean[1]; Display.getDefault().syncExec(new Runnable() { - public void run() { + @Override + public void run() { // [168197] Replace JFace MessagDialog by SWT MessageBox //retval[0] = MessageDialog.openQuestion(null, SshMessages.WARNING, str); if (isSessionConnected()) { @@ -272,7 +277,8 @@ class SshConnection extends Thread { private String promptSecret(final String message) { final String[] retval = new String[1]; getStandardDisplay().syncExec(new Runnable() { - public void run() { + @Override + public void run() { if (isSessionConnected()) { UserValidationDialog uvd = new UserValidationDialog(null, fConnectionId, fUser, message); uvd.setUsernameMutable(false); @@ -288,14 +294,17 @@ class SshConnection extends Thread { }); return retval[0]; } - public String getPassphrase() { + @Override + public String getPassphrase() { return fPassphrase; } - public boolean promptPassphrase(String message) { + @Override + public boolean promptPassphrase(String message) { fPassphrase = promptSecret(message); return (fPassphrase!=null); } - public boolean promptPassword(final String message) { + @Override + public boolean promptPassword(final String message) { String _password = promptSecret(message); if (_password!=null) { fPassword=_password; @@ -303,9 +312,11 @@ class SshConnection extends Thread { } return false; } - public void showMessage(final String message) { + @Override + public void showMessage(final String message) { Display.getDefault().syncExec(new Runnable() { - public void run() { + @Override + public void run() { // [168197] Replace JFace MessagDialog by SWT MessageBox // MessageDialog.openInformation(null, SshMessages.INFO, message); if (isSessionConnected()) { @@ -317,7 +328,8 @@ class SshConnection extends Thread { } }); } - public String[] promptKeyboardInteractive(final String destination, + @Override + public String[] promptKeyboardInteractive(final String destination, final String name, final String instruction, final String[] prompt, final boolean[] echo) { @@ -333,7 +345,8 @@ class SshConnection extends Thread { } final String[][] finResult = new String[1][]; getStandardDisplay().syncExec(new Runnable() { - public void run() { + @Override + public void run() { if (isSessionConnected()) { KeyboardInteractiveDialog dialog = new KeyboardInteractiveDialog(null, fConnectionId, destination, name, instruction, prompt, echo); dialog.open(); diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java index eefbba23de5..f8c5b2454eb 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java @@ -11,7 +11,7 @@ * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import java.io.InputStream; import java.io.OutputStream; diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java index 73a0092dff9..bc0ab805818 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java @@ -11,7 +11,7 @@ * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives * Martin Oberhuber (Wind River) - [206919] Improve SSH Terminal Error Reporting (Adopting code from org.eclipse.team.cvs.core) *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import java.lang.reflect.Field; diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshMessages.properties rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java index 9f7d40fee30..a8b66ea6ed9 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java @@ -12,7 +12,7 @@ * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives * Bryan Hunt - [313991] cannot programatically pass password to SshConnector *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java similarity index 94% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java index 625e96e271f..511216b6c56 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java @@ -11,7 +11,7 @@ * Johnson Ma (Wind River) - [218880] Add UI setting for ssh keepalives * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.fieldassist.FieldDecorationRegistry; @@ -37,7 +37,8 @@ public class SshSettingsPage extends AbstractSettingsPage { public SshSettingsPage(SshSettings settings) { fTerminalSettings=settings; } - public void saveSettings() { + @Override + public void saveSettings() { fTerminalSettings.setHost(fHostText.getText()); fTerminalSettings.setUser(fUser.getText()); fTerminalSettings.setPassword(fPassword.getText()); @@ -46,7 +47,8 @@ public class SshSettingsPage extends AbstractSettingsPage { fTerminalSettings.setKeepalive(fKeepalive.getText()); } - public void loadSettings() { + @Override + public void loadSettings() { if(fTerminalSettings!=null) { fHostText.setText(get(fTerminalSettings.getHost(),""));//$NON-NLS-1$ fTimeout.setText(get(fTerminalSettings.getTimeoutString(),"0"));//$NON-NLS-1$ @@ -61,7 +63,8 @@ public class SshSettingsPage extends AbstractSettingsPage { return def; return value; } - public boolean validateSettings() { + @Override + public boolean validateSettings() { String message = null; int messageType = IMessageProvider.NONE; boolean valid = true; @@ -127,7 +130,8 @@ public class SshSettingsPage extends AbstractSettingsPage { setMessage(message, messageType); return valid; } - public void createControl(Composite parent) { + @Override + public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); @@ -156,7 +160,8 @@ public class SshSettingsPage extends AbstractSettingsPage { final Text text= new Text(composite, SWT.BORDER | textOptions); text.setLayoutData(gridData); text.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { + @Override + public void modifyText(ModifyEvent e) { fireListeners(text); } }); diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java similarity index 91% rename from plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java index 993e772b550..90a7e0b2fca 100644 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/UserValidationDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java @@ -9,7 +9,7 @@ * IBM Corporation - initial API and implementation * Martin Oberhuber (Wind River) - copied from org.eclipse.team.cvs.ui *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; +package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.jface.dialogs.IDialogConstants; @@ -44,7 +44,7 @@ public class UserValidationDialog extends TrayDialog { protected String password = null; protected boolean allowCaching = false; protected Image keyLockImage; - + // whether or not the username can be changed protected boolean isUsernameMutable = true; protected String username = null; @@ -52,7 +52,7 @@ public class UserValidationDialog extends TrayDialog { /** * Creates a new UserValidationDialog. - * + * * @param parentShell the parent shell * @param location the location * @param defaultName the default user name @@ -68,20 +68,22 @@ public class UserValidationDialog extends TrayDialog { /** * @see Window#configureShell */ - protected void configureShell(Shell newShell) { + @Override + protected void configureShell(Shell newShell) { super.configureShell(newShell); - newShell.setText(SshMessages.UserValidationDialog_required); + newShell.setText(SshMessages.UserValidationDialog_required); // set F1 help - PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, ISshConstants.HELP_USER_VALIDATION_DIALOG); + PlatformUI.getWorkbench().getHelpSystem().setHelp(newShell, ISshConstants.HELP_USER_VALIDATION_DIALOG); } /** * @see Window#create */ - public void create() { + @Override + public void create() { super.create(); // add some default values usernameField.setText(defaultUsername); - + if (isUsernameMutable) { // give focus to username field usernameField.selectAll(); @@ -95,14 +97,15 @@ public class UserValidationDialog extends TrayDialog { /** * @see Dialog#createDialogArea */ - protected Control createDialogArea(Composite parent) { + @Override + protected Control createDialogArea(Composite parent) { Composite top = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 2; - + top.setLayout(layout); top.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - + Composite imageComposite = new Composite(top, SWT.NONE); layout = new GridLayout(); imageComposite.setLayout(layout); @@ -113,13 +116,13 @@ public class UserValidationDialog extends TrayDialog { layout.numColumns = 3; main.setLayout(layout); main.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - + Label imageLabel = new Label(imageComposite, SWT.NONE); //keyLockImage = TeamImages.getImageDescriptor(ITeamUIImages.IMG_KEY_LOCK).createImage(); //imageLabel.setImage(keyLockImage); GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); imageLabel.setLayoutData(data); - + if (message != null) { Label messageLabel = new Label(main, SWT.WRAP); messageLabel.setText(message); @@ -130,14 +133,14 @@ public class UserValidationDialog extends TrayDialog { } if (domain != null) { Label d = new Label(main, SWT.WRAP); - d.setText(SshMessages.UserValidationDialog_5); + d.setText(SshMessages.UserValidationDialog_5); data = new GridData(); d.setLayoutData(data); Label label = new Label(main, SWT.WRAP); if (isUsernameMutable) { - label.setText(NLS.bind(SshMessages.UserValidationDialog_labelUser, new String[] { domain })); + label.setText(NLS.bind(SshMessages.UserValidationDialog_labelUser, new String[] { domain })); } else { - label.setText(NLS.bind(SshMessages.UserValidationDialog_labelPassword, (new Object[]{defaultUsername, domain}))); + label.setText(NLS.bind(SshMessages.UserValidationDialog_labelPassword, (new Object[]{defaultUsername, domain}))); } data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); data.horizontalSpan = 2; @@ -146,15 +149,16 @@ public class UserValidationDialog extends TrayDialog { } createUsernameFields(main); createPasswordFields(main); - + if(domain != null) { allowCachingButton = new Button(main, SWT.CHECK); - allowCachingButton.setText(SshMessages.UserValidationDialog_6); + allowCachingButton.setText(SshMessages.UserValidationDialog_6); data = new GridData(GridData.FILL_HORIZONTAL | GridData.GRAB_HORIZONTAL); data.horizontalSpan = 3; allowCachingButton.setLayoutData(data); allowCachingButton.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { + @Override + public void widgetSelected(SelectionEvent e) { allowCaching = allowCachingButton.getSelection(); } }); @@ -171,25 +175,25 @@ public class UserValidationDialog extends TrayDialog { warningLabel.setImage(getImage(DLG_IMG_MESSAGE_WARNING)); warningLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_BEGINNING)); Label warningText = new Label(warningComposite, SWT.WRAP); - warningText.setText(SshMessages.UserValidationDialog_7); + warningText.setText(SshMessages.UserValidationDialog_7); data = new GridData(GridData.FILL_HORIZONTAL); data.widthHint = 300; warningText.setLayoutData(data); } - + Dialog.applyDialogFont(parent); - + return main; } - + /** * Creates the three widgets that represent the password entry area. - * + * * @param parent the parent of the widgets */ protected void createPasswordFields(Composite parent) { - new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_password); - + new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_password); + passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD); GridData data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; @@ -198,39 +202,39 @@ public class UserValidationDialog extends TrayDialog { } /** * Creates the three widgets that represent the user name entry area. - * + * * @param parent the parent of the widgets */ protected void createUsernameFields(Composite parent) { - new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_user); - + new Label(parent, SWT.NONE).setText(SshMessages.UserValidationDialog_user); + usernameField = new Text(parent, SWT.BORDER); GridData data = new GridData(GridData.FILL_HORIZONTAL); data.horizontalSpan = 2; data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH); usernameField.setLayoutData(data); } - + /** * Returns the password entered by the user, or null * if the user cancelled. - * + * * @return the entered password */ public String getPassword() { return password; } - + /** * Returns the username entered by the user, or null * if the user cancelled. - * + * * @return the entered username */ public String getUsername() { return username; } - + /** * Returns true if the save password checkbox was selected. * @return true if the save password checkbox was selected and false @@ -239,7 +243,7 @@ public class UserValidationDialog extends TrayDialog { public boolean getAllowCaching() { return allowCaching; } - + /** * Notifies that the ok button of this dialog has been pressed. *

                                        @@ -248,27 +252,29 @@ public class UserValidationDialog extends TrayDialog { * and closes the dialog. Subclasses may override. *

                                        */ - protected void okPressed() { + @Override + protected void okPressed() { password = passwordField.getText(); username = usernameField.getText(); - + super.okPressed(); } /** * Sets whether or not the username field should be mutable. * This method must be called before create(), otherwise it * will be ignored. - * + * * @param value whether the username is mutable */ public void setUsernameMutable(boolean value) { isUsernameMutable = value; } - + /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#close() */ - public boolean close() { + @Override + public boolean close() { if(keyLockImage != null) { keyLockImage.dispose(); } diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java index 581fa582cda..03634f5f7b7 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.ssh.controls; +package org.eclipse.tm.terminal.connector.ssh.controls; import java.util.HashMap; import java.util.Map; @@ -29,15 +29,15 @@ import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; -import org.eclipse.tm.internal.terminal.ssh.SshConnector; -import org.eclipse.tm.internal.terminal.ssh.SshSettings; +import org.eclipse.tm.terminal.connector.ssh.connector.SshConnector; +import org.eclipse.tm.terminal.connector.ssh.connector.SshSettings; +import org.eclipse.tm.terminal.connector.ssh.nls.Messages; import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; import org.eclipse.tm.terminal.view.core.interfaces.constants.IContextPropertiesConstants; 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; -import org.eclipse.tm.terminal.view.ui.ssh.nls.Messages; /** * SSH wizard configuration panel implementation. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index 9d5b9687f08..f4620c62784 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.ssh.launcher; +package org.eclipse.tm.terminal.connector.ssh.launcher; import java.text.DateFormat; import java.util.Date; @@ -19,7 +19,9 @@ import org.eclipse.osgi.util.NLS; 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.tm.internal.terminal.ssh.SshSettings; +import org.eclipse.tm.terminal.connector.ssh.connector.SshSettings; +import org.eclipse.tm.terminal.connector.ssh.controls.SshWizardConfigurationPanel; +import org.eclipse.tm.terminal.connector.ssh.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; @@ -28,8 +30,6 @@ 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; -import org.eclipse.tm.terminal.view.ui.ssh.controls.SshWizardConfigurationPanel; -import org.eclipse.tm.terminal.view.ui.ssh.nls.Messages; /** * SSH launcher delegate implementation. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java index 61e3d273ff1..cc74c1430e7 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/launcher/SshMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.ssh.launcher; +package org.eclipse.tm.terminal.connector.ssh.launcher; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java index d5cee145798..ba432d6647c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.ssh.nls; +package org.eclipse.tm.terminal.connector.ssh.nls; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/src/org/eclipse/tm/terminal/view/ui/ssh/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.classpath b/plugins/org.eclipse.tm.terminal.connector.telnet/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.classpath rename to plugins/org.eclipse.tm.terminal.connector.telnet/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore b/plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.serial/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.options b/plugins/org.eclipse.tm.terminal.connector.telnet/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/.options rename to plugins/org.eclipse.tm.terminal.connector.telnet/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.project b/plugins/org.eclipse.tm.terminal.connector.telnet/.project similarity index 94% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/.project rename to plugins/org.eclipse.tm.terminal.connector.telnet/.project index 384bfc77b07..7a745829ff7 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.project +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.view.ui.telnet + org.eclipse.tm.terminal.connector.telnet diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/.settings/org.eclipse.pde.prefs rename to plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF similarity index 52% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF index 6e3c716c2af..3e2c47390cf 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF @@ -1,22 +1,22 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.ssh;singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.telnet;singleton:=true Bundle-Version: 4.0.0.qualifier -Bundle-Activator: org.eclipse.tm.terminal.view.ui.ssh.activator.UIPlugin +Bundle-Activator: org.eclipse.tm.terminal.connector.telnet.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.equinox.security;bundle-version="1.1.100", org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", - org.eclipse.tm.terminal.ssh;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.view.ui.ssh.activator;x-internal:=true, - org.eclipse.tm.terminal.view.ui.ssh.controls, - org.eclipse.tm.terminal.view.ui.ssh.launcher, - org.eclipse.tm.terminal.view.ui.ssh.nls;x-internal:=true +Export-Package: org.eclipse.tm.terminal.connector.telnet.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.telnet.connector, + org.eclipse.tm.terminal.connector.telnet.controls, + org.eclipse.tm.terminal.connector.telnet.launcher, + org.eclipse.tm.terminal.connector.telnet.nls;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/about.html b/plugins/org.eclipse.tm.terminal.connector.telnet/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/about.html rename to plugins/org.eclipse.tm.terminal.connector.telnet/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/build.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/build.properties rename to plugins/org.eclipse.tm.terminal.connector.telnet/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties similarity index 91% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties index ddd14ef4a19..28367e964d3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties @@ -11,6 +11,10 @@ pluginName = Terminals Telnet Extensions providerName = Eclipse.org - Target Explorer +# ----- Terminal Connector ----- + +TelnetConnector.label=Telnet + # ----- Terminal Launcher Delegates ----- TelnetLauncherDelegate.label=Telnet Terminal diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml similarity index 56% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml index d7bd55bb02d..346d2763746 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml @@ -2,11 +2,19 @@ - + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml similarity index 89% rename from plugins/org.eclipse.tm.terminal.telnet/pom.xml rename to plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml index dd944f7b55a..0e0ae8e55c7 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml @@ -12,6 +12,6 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.telnet + org.eclipse.tm.terminal.connector.telnet eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java index 69549b85412..998c0e4f15b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.telnet.activator; +package org.eclipse.tm.terminal.connector.telnet.activator; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java similarity index 93% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java index 89c8e4aec55..bf5638dd50d 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/ITelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java index 367aabc7b95..a34d374f372 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/NetworkPortMap.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalNetworkPortMap * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.util.ArrayList; import java.util.List; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java index b40d3dfefb7..c83bb036518 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetCodes.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java @@ -12,7 +12,7 @@ * Michael Scharf (Wind River) - split into core, view and connector plugins * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; /** * This interface defines symbolic constants for numeric TELNET protocol command and diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java index b92865e2a06..162991cc698 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java @@ -15,7 +15,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Uwe Stieber (Wind River) - [287158][terminal][telnet] Connect worker is giving up to early *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.net.ConnectException; import java.net.InetSocketAddress; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java index e3c2b87fe8d..9f920f9ae78 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java @@ -16,7 +16,7 @@ * Uwe Stieber (Wind River) - [281329] Telnet connection not handling "SocketException: Connection reset" correct * Nils Hagge (Siemens AG) - [276023] close socket streams after connection is disconnected *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.io.IOException; import java.io.InputStream; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java index 83e31d08951..ce524f0df6e 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java @@ -18,7 +18,7 @@ * David Sciamma (Anyware-Tech) - [288254][telnet] local echo is always disabled * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.io.IOException; import java.io.InputStream; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java similarity index 94% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java index 5e0d9a64fad..01aae433dea 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java @@ -9,7 +9,7 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetMessages.properties rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java index 835e2e1da87..4cbd2f9d3e5 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetOption.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java @@ -16,7 +16,7 @@ * Martin Oberhuber (Wind River) - [267181] Fix telnet option negotiation loop * Anton Leherbauer (Wind River) - [453393] Add support for copying wrapped lines without line break *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.io.IOException; import java.io.OutputStream; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java index eafe5b37ffe..0e7025bab6e 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; public class TelnetProperties { private final NetworkPortMap fNetworkPortMap; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java index a104e093f47..a80b6727ce9 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; diff --git a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java index ac286b08fa4..67d37aa2878 100644 --- a/plugins/org.eclipse.tm.terminal.telnet/src/org/eclipse/tm/internal/terminal/telnet/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java @@ -16,7 +16,7 @@ * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings * Martin Oberhuber (Wind River) - [401476] Strip whitespace around Telnet Port *******************************************************************************/ -package org.eclipse.tm.internal.terminal.telnet; +package org.eclipse.tm.terminal.connector.telnet.connector; import java.util.Collections; import java.util.Iterator; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java index b106182366f..d3607fc8e0f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/controls/TelnetWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.telnet.controls; +package org.eclipse.tm.terminal.connector.telnet.controls; import java.util.HashMap; import java.util.Map; @@ -21,9 +21,9 @@ 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.tm.internal.terminal.telnet.NetworkPortMap; -import org.eclipse.tm.internal.terminal.telnet.TelnetConnector; -import org.eclipse.tm.internal.terminal.telnet.TelnetSettings; +import org.eclipse.tm.terminal.connector.telnet.connector.NetworkPortMap; +import org.eclipse.tm.terminal.connector.telnet.connector.TelnetConnector; +import org.eclipse.tm.terminal.connector.telnet.connector.TelnetSettings; 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; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index 56bcf06e715..c01ff2541a8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.telnet.launcher; +package org.eclipse.tm.terminal.connector.telnet.launcher; import java.text.DateFormat; import java.util.Date; @@ -19,7 +19,9 @@ import org.eclipse.osgi.util.NLS; 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.tm.internal.terminal.telnet.TelnetSettings; +import org.eclipse.tm.terminal.connector.telnet.connector.TelnetSettings; +import org.eclipse.tm.terminal.connector.telnet.controls.TelnetWizardConfigurationPanel; +import org.eclipse.tm.terminal.connector.telnet.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; @@ -28,8 +30,6 @@ 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; -import org.eclipse.tm.terminal.view.ui.telnet.controls.TelnetWizardConfigurationPanel; -import org.eclipse.tm.terminal.view.ui.telnet.nls.Messages; /** * Telnet launcher delegate implementation. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java index 05d2d95e8aa..bf056492c07 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/launcher/TelnetMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.telnet.launcher; +package org.eclipse.tm.terminal.connector.telnet.launcher; import java.util.Map; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java index 4119e2cc99b..9d358bdddb0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java @@ -8,7 +8,7 @@ * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [366374] [TERMINALS][TELNET] Add Telnet terminal support *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.telnet.nls; +package org.eclipse.tm.terminal.connector.telnet.nls; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.telnet/src/org/eclipse/tm/terminal/view/ui/telnet/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.telnet/.classpath b/plugins/org.eclipse.tm.terminal.control/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.telnet/.classpath rename to plugins/org.eclipse.tm.terminal.control/.classpath diff --git a/plugins/org.eclipse.tm.terminal.ssh/.cvsignore b/plugins/org.eclipse.tm.terminal.control/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/.cvsignore rename to plugins/org.eclipse.tm.terminal.control/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore b/plugins/org.eclipse.tm.terminal.control/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.ssh/.gitignore rename to plugins/org.eclipse.tm.terminal.control/.gitignore diff --git a/plugins/org.eclipse.tm.terminal/.options b/plugins/org.eclipse.tm.terminal.control/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal/.options rename to plugins/org.eclipse.tm.terminal.control/.options diff --git a/plugins/org.eclipse.tm.terminal/.project b/plugins/org.eclipse.tm.terminal.control/.project similarity index 94% rename from plugins/org.eclipse.tm.terminal/.project rename to plugins/org.eclipse.tm.terminal.control/.project index 79c78f7826f..11e18c380e4 100644 --- a/plugins/org.eclipse.tm.terminal/.project +++ b/plugins/org.eclipse.tm.terminal.control/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal + org.eclipse.tm.terminal.control diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.core.resources.prefs b/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal/.settings/org.eclipse.core.resources.prefs rename to plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs diff --git a/plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal/HelpContexts.xml b/plugins/org.eclipse.tm.terminal.control/HelpContexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal/HelpContexts.xml rename to plugins/org.eclipse.tm.terminal.control/HelpContexts.xml diff --git a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF similarity index 73% rename from plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF index 41852053a69..5cadce5e1f4 100644 --- a/plugins/org.eclipse.tm.terminal/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal; singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.control; singleton:=true Bundle-Version: 4.0.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName @@ -20,16 +20,16 @@ Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclip org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.preferences, org.eclipse.tm.internal.terminal.provisional.api; - x-friends:="org.eclipse.tm.terminal.serial, - org.eclipse.tm.terminal.ssh, - org.eclipse.tm.terminal.telnet, - org.eclipse.tm.terminal.local, + x-friends:="org.eclipse.tm.terminal.connector.serial, + org.eclipse.tm.terminal.connector.ssh, + org.eclipse.tm.terminal.connector.telnet, + org.eclipse.tm.terminal.connector.local, org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.provisional.api.provider; - x-friends:="org.eclipse.tm.terminal.serial, - org.eclipse.tm.terminal.ssh, - org.eclipse.tm.terminal.telnet, - org.eclipse.tm.terminal.local, + x-friends:="org.eclipse.tm.terminal.connector.serial, + org.eclipse.tm.terminal.connector.ssh, + org.eclipse.tm.terminal.connector.telnet, + org.eclipse.tm.terminal.connector.local, org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff --git a/plugins/org.eclipse.tm.terminal/README.txt b/plugins/org.eclipse.tm.terminal.control/README.txt similarity index 100% rename from plugins/org.eclipse.tm.terminal/README.txt rename to plugins/org.eclipse.tm.terminal.control/README.txt diff --git a/plugins/org.eclipse.tm.terminal/about.html b/plugins/org.eclipse.tm.terminal.control/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal/about.html rename to plugins/org.eclipse.tm.terminal.control/about.html diff --git a/plugins/org.eclipse.tm.terminal.ssh/about.ini b/plugins/org.eclipse.tm.terminal.control/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/about.ini rename to plugins/org.eclipse.tm.terminal.control/about.ini diff --git a/plugins/org.eclipse.tm.terminal/about.properties b/plugins/org.eclipse.tm.terminal.control/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal/about.properties rename to plugins/org.eclipse.tm.terminal.control/about.properties diff --git a/plugins/org.eclipse.tm.terminal/build.properties b/plugins/org.eclipse.tm.terminal.control/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal/build.properties rename to plugins/org.eclipse.tm.terminal.control/build.properties diff --git a/plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css b/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css similarity index 100% rename from plugins/org.eclipse.tm.terminal/css/org.eclipse.tm.terminal.stylesheet.dark.css rename to plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css diff --git a/plugins/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal/icons/clcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal/icons/dlcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal/icons/elcl16/clear_co.gif b/plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal/icons/elcl16/clear_co.gif rename to plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal/plugin.properties b/plugins/org.eclipse.tm.terminal.control/plugin.properties similarity index 90% rename from plugins/org.eclipse.tm.terminal/plugin.properties rename to plugins/org.eclipse.tm.terminal.control/plugin.properties index 2ddffdc8a5c..73649e114b5 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.control/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2014, 2014 Wind River Systems, Inc. and others. +# Copyright (c) 2003 - 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,10 +18,10 @@ # NLS_MESSAGEFORMAT_NONE -pluginName = Target Management Terminal Widget +pluginName = Tm Terminal Control providerName = Eclipse TM Project -terminal.context.name.edit=Terminal Widget in Focus +terminal.context.name.edit=Terminal Control in Focus terminal.context.description.edit=Show modified keyboard shortcuts in context menu terminal.context.name.terminal=Terminal Typing Connected diff --git a/plugins/org.eclipse.tm.terminal/plugin.xml b/plugins/org.eclipse.tm.terminal.control/plugin.xml similarity index 99% rename from plugins/org.eclipse.tm.terminal/plugin.xml rename to plugins/org.eclipse.tm.terminal.control/plugin.xml index b47d9152cfe..f6f5f0351ef 100644 --- a/plugins/org.eclipse.tm.terminal/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.control/plugin.xml @@ -17,7 +17,8 @@ # Martin Oberhuber (Wind River) - [434939] Fix Keybinding conflicts with JEE Luna package --> - + + 4.0.0.qualifier - org.eclipse.tm.terminal + org.eclipse.tm.terminal.control eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal/schema/terminalConnectors.exsd b/plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd similarity index 92% rename from plugins/org.eclipse.tm.terminal/schema/terminalConnectors.exsd rename to plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd index b503ea5442d..58681ba9028 100644 --- a/plugins/org.eclipse.tm.terminal/schema/terminalConnectors.exsd +++ b/plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd @@ -1,9 +1,9 @@ - + - + @@ -95,7 +95,7 @@ - Copyright (c) 2006, 2009 Wind River Systems, Inc. and others. + Copyright (c) 2006 - 2015 Wind River Systems, Inc. and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextData.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/LineSegment.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/Style.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/StyleColor.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java diff --git a/plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java rename to plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java diff --git a/plugins/org.eclipse.tm.terminal.ssh/tm32.png b/plugins/org.eclipse.tm.terminal.control/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.ssh/tm32.png rename to plugins/org.eclipse.tm.terminal.control/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF index 03f058c1d27..57a6b9ae663 100644 --- a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.eclipse.ui, org.eclipse.core.runtime, - org.eclipse.tm.terminal, + org.eclipse.tm.terminal.control, org.eclipse.remote.core, org.eclipse.remote.ui, org.eclipse.core.resources, diff --git a/plugins/org.eclipse.tm.terminal.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.remote/plugin.xml index c3aa141f19e..46ea8858d99 100644 --- a/plugins/org.eclipse.tm.terminal.remote/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.remote/plugin.xml @@ -10,7 +10,7 @@ + point="org.eclipse.tm.terminal.control.connectors"> diff --git a/plugins/org.eclipse.tm.terminal.ssh/.project b/plugins/org.eclipse.tm.terminal.ssh/.project deleted file mode 100644 index f5d184b60cc..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.ssh - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 94637dfe13b..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,61 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 0b831f584d6..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Thu Dec 07 03:43:08 CET 2006 -eclipse.preferences.version=1 -internal.default.compliance=user diff --git a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF deleted file mode 100644 index 3bfe72556f6..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/META-INF/MANIFEST.MF +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.ssh;singleton:=true -Bundle-Version: 4.0.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="3.3.0", - com.jcraft.jsch;bundle-version="[0.1.31,1.0.0)", - org.eclipse.jsch.core;bundle-version="[1.0.0,2.0.0)" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.tm.internal.terminal.ssh;x-internal:=true -Bundle-Activator: org.eclipse.tm.internal.terminal.ssh.Activator -Bundle-ActivationPolicy: lazy -Eclipse-LazyStart: true diff --git a/plugins/org.eclipse.tm.terminal.ssh/about.html b/plugins/org.eclipse.tm.terminal.ssh/about.html deleted file mode 100644 index a603d19ab21..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/about.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -About - - -

                                        About This Content

                                        - -

                                        June 5, 2007

                                        -

                                        License

                                        - -

                                        The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                        - -

                                        If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                        - - - - \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.ssh/about.properties b/plugins/org.eclipse.tm.terminal.ssh/about.properties deleted file mode 100644 index fb375e542d8..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/about.properties +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal SSH Connector\n\ -\n\ -Version: {featureVersion}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2000, 2015. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.ssh/build.properties b/plugins/org.eclipse.tm.terminal.ssh/build.properties deleted file mode 100644 index 16dffd1f71c..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/build.properties +++ /dev/null @@ -1,22 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Michael Scharf (Wind River) - initial API and implementation -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -source.. = src/ -output.. = bin/ -bin.includes = META-INF/,\ - .,\ - plugin.xml,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.properties,\ - tm32.png -src.includes = about.html diff --git a/plugins/org.eclipse.tm.terminal.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.ssh/plugin.properties deleted file mode 100644 index 26549b67b9b..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/plugin.properties +++ /dev/null @@ -1,13 +0,0 @@ -############################################################################### -# Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber (Wind River) - initial API and implementation -############################################################################### -pluginName = Target Management Terminal SSH Connector -providerName = Eclipse TM Project -sshConnection = SSH \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.ssh/plugin.xml b/plugins/org.eclipse.tm.terminal.ssh/plugin.xml deleted file mode 100644 index f6f2a6f5b79..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/plugin.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java b/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java deleted file mode 100644 index 990e40f674e..00000000000 --- a/plugins/org.eclipse.tm.terminal.ssh/src/org/eclipse/tm/internal/terminal/ssh/Activator.java +++ /dev/null @@ -1,94 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Martin Oberhuber (Wind River) - initial API and implementation - * Martin Oberhuber (Wind River) - [175686] Adapted to new IJSchService API - * - copied code from org.eclipse.team.cvs.ssh2/CVSSSH2Plugin (Copyright IBM) - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.ssh; - -import org.eclipse.core.runtime.Plugin; -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jsch.core.IJSchService; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; -import org.osgi.util.tracker.ServiceTracker; - -/** - * The activator class controls the plug-in life cycle - */ -public class Activator extends Plugin { - - public static final String PLUGIN_ID = "org.eclipse.tm.terminal.ssh"; //$NON-NLS-1$ - private static Activator plugin; - - // ServiceTracker for IJschService - private ServiceTracker tracker; - - /** - * The constructor - */ - public Activator() { - super(); - plugin = this; - } - - //--------------------------------------------------------------------------- - // - //--------------------------------------------------------------------------- - - public void start(BundleContext context) throws Exception { - super.start(context); - tracker = new ServiceTracker(getBundle().getBundleContext(), IJSchService.class.getName(), null); - tracker.open(); - } - - public void stop(BundleContext context) throws Exception { - try { - SshConnection.shutdown(); - tracker.close(); - } finally { - plugin = null; - super.stop(context); - } - } - - /** - * Returns an instance of IJSchService from the OSGi Registry. - * @return An instance of IJSchService, or null if no - * IJschService service is available. - */ - public IJSchService getJSchService() { - return (IJSchService)tracker.getService(); - } - - //--------------------------------------------------------------------------- - // - //--------------------------------------------------------------------------- - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static Activator getDefault() { - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path. - * - * @param path the path - * @return the image descriptor - */ - public static ImageDescriptor getImageDescriptor(String path) { - return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path); - } - -} diff --git a/plugins/org.eclipse.tm.terminal.telnet/.cvsignore b/plugins/org.eclipse.tm.terminal.telnet/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/plugins/org.eclipse.tm.terminal.telnet/.project b/plugins/org.eclipse.tm.terminal.telnet/.project deleted file mode 100644 index 15718654262..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/.project +++ /dev/null @@ -1,34 +0,0 @@ - - - org.eclipse.tm.terminal.telnet - - - - - - org.eclipse.jdt.core.javabuilder - - - - - org.eclipse.pde.ManifestBuilder - - - - - org.eclipse.pde.SchemaBuilder - - - - - org.eclipse.pde.api.tools.apiAnalysisBuilder - - - - - - org.eclipse.pde.PluginNature - org.eclipse.jdt.core.javanature - org.eclipse.pde.api.tools.apiAnalysisNature - - diff --git a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 94637dfe13b..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,61 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 -org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.6 -org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate -org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.autoboxing=warning -org.eclipse.jdt.core.compiler.problem.deprecation=warning -org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled -org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled -org.eclipse.jdt.core.compiler.problem.discouragedReference=warning -org.eclipse.jdt.core.compiler.problem.emptyStatement=warning -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning -org.eclipse.jdt.core.compiler.problem.fieldHiding=warning -org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning -org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning -org.eclipse.jdt.core.compiler.problem.forbiddenReference=error -org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning -org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning -org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning -org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning -org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore -org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error -org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore -org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning -org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning -org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning -org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning -org.eclipse.jdt.core.compiler.problem.nullReference=warning -org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error -org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore -org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning -org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning -org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled -org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning -org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled -org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore -org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning -org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning -org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore -org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning -org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore -org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning -org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore -org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled -org.eclipse.jdt.core.compiler.problem.unusedImport=warning -org.eclipse.jdt.core.compiler.problem.unusedLabel=warning -org.eclipse.jdt.core.compiler.problem.unusedLocal=warning -org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled -org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled -org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning -org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning -org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs deleted file mode 100644 index 9a20fca52a4..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/.settings/org.eclipse.jdt.ui.prefs +++ /dev/null @@ -1,3 +0,0 @@ -#Mon Jul 31 14:55:17 CEST 2006 -eclipse.preferences.version=1 -internal.default.compliance=user diff --git a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF deleted file mode 100644 index 719f8927128..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/META-INF/MANIFEST.MF +++ /dev/null @@ -1,12 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.telnet;singleton:=true -Bundle-Version: 4.0.0.qualifier -Bundle-Vendor: %providerName -Bundle-Localization: plugin -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.tm.terminal;bundle-version="3.3.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.tm.internal.terminal.telnet;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.telnet/about.html b/plugins/org.eclipse.tm.terminal.telnet/about.html deleted file mode 100644 index a603d19ab21..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/about.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - -About - - -

                                        About This Content

                                        - -

                                        June 5, 2007

                                        -

                                        License

                                        - -

                                        The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise -indicated below, the Content is provided to you under the terms and conditions of the -Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available -at http://www.eclipse.org/legal/epl-v10.html. -For purposes of the EPL, "Program" will mean the Content.

                                        - -

                                        If you did not receive this Content directly from the Eclipse Foundation, the Content is -being redistributed by another party ("Redistributor") and different terms and conditions may -apply to your use of any object code in the Content. Check the Redistributor's license that was -provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise -indicated below, the terms and conditions of the EPL still apply to any source code in the Content -and such source code may be obtained at http://www.eclipse.org.

                                        - - - - \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.telnet/about.ini b/plugins/org.eclipse.tm.terminal.telnet/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.telnet/about.properties b/plugins/org.eclipse.tm.terminal.telnet/about.properties deleted file mode 100644 index 952c0f4b010..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/about.properties +++ /dev/null @@ -1,24 +0,0 @@ -################################################################################ -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Martin Oberhuber - initial API and implementation -################################################################################ -# about.properties -# contains externalized strings for about.ini -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# fill-ins are supplied by about.mappings -# This file should be translated. -# -# Do not translate any values surrounded by {} - -blurb=Target Management Terminal Telnet Connector\n\ -\n\ -Version: {featureVersion}\n\ -\n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2015. All rights reserved.\n\ -Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.telnet/build.properties b/plugins/org.eclipse.tm.terminal.telnet/build.properties deleted file mode 100644 index 894a288c13b..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/build.properties +++ /dev/null @@ -1,29 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -bin.includes = .,\ - META-INF/,\ - plugin.xml,\ - plugin.properties,\ - about.html,\ - about.ini,\ - about.properties,\ - tm32.png - -source.. = src/ -output.. = bin/ -src.includes = about.html - diff --git a/plugins/org.eclipse.tm.terminal.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.telnet/plugin.properties deleted file mode 100644 index 1bd314f533d..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/plugin.properties +++ /dev/null @@ -1,19 +0,0 @@ -############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -# -# Initial Contributors: -# The following Wind River employees contributed to the Terminal component -# that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, -# Helmut Haigermoser and Ted Williams. -# -# Contributors: -# Michael Scharf (Wind River) - split into core, view and connector plugins -# Martin Oberhuber (Wind River) - fixed copyright headers and beautified -############################################################################### -pluginName = Target Management Terminal Telnet Connector -providerName = Eclipse TM Project -telnetConnection = Telnet diff --git a/plugins/org.eclipse.tm.terminal.telnet/plugin.xml b/plugins/org.eclipse.tm.terminal.telnet/plugin.xml deleted file mode 100644 index 342c1f22727..00000000000 --- a/plugins/org.eclipse.tm.terminal.telnet/plugin.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.telnet/tm32.png b/plugins/org.eclipse.tm.terminal.telnet/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index fe02fcee652..a52b1f97166 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 4.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, - org.eclipse.tm.terminal;bundle-version="3.3.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.core.runtime, org.eclipse.ui Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/plugins/org.eclipse.tm.terminal.test/plugin.xml b/plugins/org.eclipse.tm.terminal.test/plugin.xml index 827cde57f29..6af31403cd9 100644 --- a/plugins/org.eclipse.tm.terminal.test/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.test/plugin.xml @@ -1,7 +1,7 @@ - + - - 4.0.0 - - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - - - 4.0.0.qualifier - org.eclipse.tm.terminal.view.ui.serial - eclipse-plugin - diff --git a/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml deleted file mode 100644 index 2bd950bfac3..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui.ssh/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - - - 4.0.0.qualifier - org.eclipse.tm.terminal.view.ui.ssh - eclipse-plugin - diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath deleted file mode 100644 index ad32c83a788..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.classpath +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore b/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore deleted file mode 100644 index ae3c1726048..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF deleted file mode 100644 index a59348e7df4..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/META-INF/MANIFEST.MF +++ /dev/null @@ -1,22 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui.telnet;singleton:=true -Bundle-Version: 4.0.0.qualifier -Bundle-Activator: org.eclipse.tm.terminal.view.ui.telnet.activator.UIPlugin -Bundle-Vendor: %providerName -Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", - org.eclipse.core.runtime;bundle-version="3.8.0", - org.eclipse.equinox.security;bundle-version="1.1.100", - org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", - org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", - org.eclipse.tm.terminal.telnet;bundle-version="4.0.0", - org.eclipse.ui;bundle-version="3.8.0" -Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Bundle-ActivationPolicy: lazy -Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.view.ui.telnet.activator;x-internal:=true, - org.eclipse.tm.terminal.view.ui.telnet.controls, - org.eclipse.tm.terminal.view.ui.telnet.launcher, - org.eclipse.tm.terminal.view.ui.telnet.nls;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml deleted file mode 100644 index 048ecb27aad..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui.telnet/pom.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - 4.0.0 - - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - - - 4.0.0.qualifier - org.eclipse.tm.terminal.view.ui.telnet - eclipse-plugin - diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index 0b688d3f7af..b155075de8b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", - org.eclipse.tm.terminal;bundle-version="4.0.0", + org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 211f6eebe2b..10b076c165e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -109,7 +109,7 @@ - + - - - - - - diff --git a/plugins/org.eclipse.tm.terminal/.cvsignore b/plugins/org.eclipse.tm.terminal/.cvsignore deleted file mode 100644 index ba077a4031a..00000000000 --- a/plugins/org.eclipse.tm.terminal/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -bin diff --git a/plugins/org.eclipse.tm.terminal/.gitignore b/plugins/org.eclipse.tm.terminal/.gitignore deleted file mode 100644 index ae3c1726048..00000000000 --- a/plugins/org.eclipse.tm.terminal/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/bin/ diff --git a/plugins/org.eclipse.tm.terminal/about.ini b/plugins/org.eclipse.tm.terminal/about.ini deleted file mode 100644 index 3adc27ab587..00000000000 --- a/plugins/org.eclipse.tm.terminal/about.ini +++ /dev/null @@ -1,27 +0,0 @@ -# about.ini -# contains information about a feature -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# "%key" are externalized strings defined in about.properties -# This file does not need to be translated. - -# Property "aboutText" contains blurb for "About" dialog (translated) -aboutText=%blurb - -# Property "windowImage" contains path to window icon (16x16) -# needed for primary features only - -# Property "featureImage" contains path to feature image (32x32) -featureImage=tm32.png - -# Property "aboutImage" contains path to product image (500x330 or 115x164) -# needed for primary features only - -# Property "appName" contains name of the application (not translated) -# needed for primary features only - -# Property "welcomePage" contains path to welcome page (special XML-based format) -# optional - -# Property "welcomePerspective" contains the id of the perspective in which the -# welcome page is to be opened. -# optional \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal/tm32.png b/plugins/org.eclipse.tm.terminal/tm32.png deleted file mode 100644 index 3077b1220dd688632a42e347f90c90cb319835f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2275 zcmV<92pso`P)Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RU1q%}g3C{W4d;kClbxA})R9M5U zmtBlqRTam7``mNyow+m9DJ}i5)G6{^3K#>^Vu&CQ#25t%2}(?iH8BDb9!z*JrVsFh z@e3LvhL{Kv6&e(ZZ)if17NZ?PrfJJZm6}reF`b#tow*<9p1t>4%ZGFBbV`tz;J(?} z=bU@*`LFd~|FzcM4#3Q6z#z~l*8!jkB!B_|=m8nf1v2NH=VQkB=5YtO@*N3KF-ROF zR(zp=q-K_upd-L=IU7KIi2->D+y*M8(dwLw{{q61)R6vooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%xB%% zJ;odRgoJJe&JtltX`T zEF?+dmT&vkw(+f7w|;Hy+O<~zOixcAyzTbe9!Ob?5%rS()xhPzC1$oPbo@~4g~4Dj zB?%`x#%v}SkT^#_;LbU4Wpr_4E~$TC{bk>|?9!oUckFoZhSjTAZ(6FAX0v$)sHGoL zYOU17a^NE897!d?YALOXkP}L@5(h)Ae{Yy6h69Rga3co}&V2XLM_=f!TGf4g-MV#a z@4ox)yS(?^?c2Bi*3?2$yb&#@2YR9F8=>Qgc_4_ADTJWJpol0UhKLn^R72DX15^tm zObbQ;=U~^a*BVbfwRcOq-EITy+`04D?;ksM+MtsHvCQ)vm~Wq27z>%dsya|b(hA*Z z%+L4e<$*kp^m;;`3o#1b3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2 zvxT(pHPFpwJB`+f=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH z#5o>(@Ec6e%s1}8|AF77sm)?G2ekSIWI+4OzfON$RU0bGR4dX0M3i1Hl65_;R!+N} z)9vK+a>4sR6eUJQC1M&elf^Lf^>XX2H?U>PCboV1VX|!5*5Tpq4-A`k&~av#KJw#V zhBd3s!?_}^l%>U)VdvDj;x0{7PEF16_PZ@{?=jOC-FJp0^>EHvAQ2qHqOHS~pn zf&6J86s6US8A&*tSE-7SM8!owq*x=EfT|!t`AoN<*9SqwBhe!gPzwwV4KX@8LbX<< zu0ms|!N!dj@Zt*-s3;NzGrb=86`*OK+H|1C;PN_1Bt}7_fEN%UjfGKZ6bMSCUI7cl z*h4~(7;{uSCIuU^1suzqtP8BB4bDHW}f21TQy zLD3kIP^2AEa6V%78jvl5OY9-yiQ)-i1=FWz2|g#ORA{$5?B0E-02k?t)11R5_DvK9 zNE9l|ps~CHk|4p5Xt)TKsH8!mWW{?y>WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV z95_aEu8oRfl!Z!_iG34BzrBVKaaBl1D_Art(I6Tc4T%m36)aY8(WnO_srLvW5Pjjf zYGBjG_0;MKKmFP7$$J?GXPc-hq7hRm%X2@y&gNBm-R5x@V?aeoD~_b%u$o~8Dv*eh z27~C(2q6HqoY*ZjAb~AgE+hJ!S6-PQ?`6agFf&91Q$8&PR-*Ff}mVXurq3_k5WrpZpVZb4|R@i6Nk>MPE<>XNxhnb9$cb zS~S3nszjmYd(_+#n0}8h_J3t(EAHE|%NyCd?Ec9~g7?G_5GhjZ9I;UrFsEhzHq30- z)YP7%XG7o^@WC@QJjCeeC}xKD#fGlBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~ zT2Wfd_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+ zS6+UN=bm|vOTTwLkfRtPvGf`Y0W;JThZP??D>?_;K1$XpiK~U+IXyj1mSq?ad_YXt zqx(5He}tL#JoQ8KI0xS6{VmRiC@-ikB;0300e$GBJU<%(gBXQov$^Q`d~2R(_P>Cx zti$>NFo+TXhlt=@ike|oHWz1Q=JZzu>}lYksj1hGeq3UwII<8u8^*@iFt&jtar|)S zBOKlJHXCoe27hH0r;hViuI8j3r7<`}({e_J2K{|^-SoG~ci&_0=vP=1jFsVksT6ne96s zxS3BlQZrpR@4Qie^3P3q7gA}LOLR}O4_8I@@@gLG4Gxh^{y7T}5002ovPDHLkV1l5)GaLW_ diff --git a/pom.xml b/pom.xml index b482ab6927d..903566cc093 100644 --- a/pom.xml +++ b/pom.xml @@ -18,37 +18,46 @@ TM Terminal, Maven Master - - plugins/org.eclipse.tm.terminal - plugins/org.eclipse.tm.terminal.ssh - plugins/org.eclipse.tm.terminal.telnet - plugins/org.eclipse.tm.terminal.remote - + + plugins/org.eclipse.tm.terminal.control + features/org.eclipse.tm.terminal.feature features/org.eclipse.tm.terminal.sdk.feature - features/org.eclipse.tm.terminal.ssh.feature - features/org.eclipse.tm.terminal.ssh.sdk.feature - features/org.eclipse.tm.terminal.telnet.feature - features/org.eclipse.tm.terminal.telnet.sdk.feature + + + plugins/org.eclipse.tm.terminal.connector.local + plugins/org.eclipse.tm.terminal.connector.process + plugins/org.eclipse.tm.terminal.connector.serial + plugins/org.eclipse.tm.terminal.connector.ssh + plugins/org.eclipse.tm.terminal.connector.telnet + + plugins/org.eclipse.tm.terminal.remote + + features/org.eclipse.tm.terminal.connector.local.feature + features/org.eclipse.tm.terminal.connector.local.sdk.feature + features/org.eclipse.tm.terminal.connector.serial.feature + features/org.eclipse.tm.terminal.connector.serial.sdk.feature + features/org.eclipse.tm.terminal.connector.ssh.feature + features/org.eclipse.tm.terminal.connector.ssh.sdk.feature + features/org.eclipse.tm.terminal.connector.telnet.feature + features/org.eclipse.tm.terminal.connector.telnet.sdk.feature + features/org.eclipse.tm.terminal.remote.feature features/org.eclipse.tm.terminal.remote.sdk.feature plugins/org.eclipse.tm.terminal.view.core plugins/org.eclipse.tm.terminal.view.ui - plugins/org.eclipse.tm.terminal.view.ui.local - plugins/org.eclipse.tm.terminal.view.ui.process plugins/org.eclipse.tm.terminal.view.ui.rse - plugins/org.eclipse.tm.terminal.view.ui.serial - plugins/org.eclipse.tm.terminal.view.ui.ssh - plugins/org.eclipse.tm.terminal.view.ui.telnet features/org.eclipse.tm.terminal.view.feature features/org.eclipse.tm.terminal.view.sdk.feature features/org.eclipse.tm.terminal.view.rse.feature features/org.eclipse.tm.terminal.view.rse.sdk.feature - features/org.eclipse.tm.terminal.view.serial.feature - features/org.eclipse.tm.terminal.view.serial.sdk.feature + + + features/org.eclipse.tm.terminal.feature + features/org.eclipse.tm.terminal.sdk.feature repos/org.eclipse.tm.terminal.repo diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 689aed5042c..3d19634b4c9 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -1,22 +1,36 @@ - - + + - + - + + + - + - + - + + + + + + + + + + + + + @@ -39,10 +53,12 @@ - + + + - + From 122605b1946693bfd43c0b92043915f20c74e0ba Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 17 Apr 2015 11:23:37 +0200 Subject: [PATCH 651/843] Terminal: Fix module list --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 903566cc093..32c87863c7d 100644 --- a/pom.xml +++ b/pom.xml @@ -21,8 +21,8 @@ plugins/org.eclipse.tm.terminal.control - features/org.eclipse.tm.terminal.feature - features/org.eclipse.tm.terminal.sdk.feature + features/org.eclipse.tm.terminal.control.feature + features/org.eclipse.tm.terminal.control.sdk.feature plugins/org.eclipse.tm.terminal.connector.local From 14f991795de3e17e1fd0de926d4628cae06e39c9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 17 Apr 2015 12:04:24 +0200 Subject: [PATCH 652/843] Terminal: Adjust find bugs filter --- admin/findbugs-exclude.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/admin/findbugs-exclude.xml b/admin/findbugs-exclude.xml index 148a739f179..043085b3315 100644 --- a/admin/findbugs-exclude.xml +++ b/admin/findbugs-exclude.xml @@ -55,6 +55,12 @@ + + + + + + @@ -66,9 +72,21 @@ + + + + + + + + + + + + From 0a2f67ae84805e5a970b335ba68c50ccded6b795 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 17 Apr 2015 12:39:30 +0200 Subject: [PATCH 653/843] Terminal: Fix connector and launcher delegate ids --- .../local/controls/LocalWizardConfigurationPanel.java | 2 +- .../connector/local/launcher/LocalLauncherDelegate.java | 2 +- .../terminal/connector/process/ProcessLauncherDelegate.java | 2 +- .../connector/ssh/controls/SshWizardConfigurationPanel.java | 2 +- .../connector/ssh/launcher/SshLauncherDelegate.java | 6 ++++-- .../telnet/controls/TelnetWizardConfigurationPanel.java | 2 +- .../connector/telnet/launcher/TelnetLauncherDelegate.java | 6 ++++-- plugins/org.eclipse.tm.terminal.view.ui/plugin.xml | 4 ++-- .../terminal/view/ui/streams/StreamsLauncherDelegate.java | 2 +- 9 files changed, 16 insertions(+), 12 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java index 9a61019eded..fd4da36be5c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java @@ -100,7 +100,7 @@ public class LocalWizardConfigurationPanel extends AbstractExtendedConfiguration @Override public void extractData(Map data) { // set the terminal connector id for local terminal - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.view.ui.local.LocalConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.local.LocalConnector"); //$NON-NLS-1$ // Store the encoding data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 676b257efec..0357ce12ed4 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -278,7 +278,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.local.LocalConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.local.LocalConnector"; //$NON-NLS-1$ // Extract the process properties using defaults String image; diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java index 287deb49d03..09d6065fab2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java @@ -71,7 +71,7 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.ProcessConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.process.ProcessConnector"; //$NON-NLS-1$ // Extract the process properties String image = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_PATH); diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java index 03634f5f7b7..3fd02869a6e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java @@ -164,7 +164,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa if (data == null) return; // set the terminal connector id for ssh - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.ssh.SshConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.ssh.connector.SshConnector"); //$NON-NLS-1$ sshSettingsPage.saveSettings(); data.put(ITerminalsConnectorConstants.PROP_IP_HOST,sshSettings.getHost()); diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index f4620c62784..f23c3f49883 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -121,7 +121,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.ssh.SshConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.ssh.connector.SshConnector"; //$NON-NLS-1$ // Extract the ssh properties String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); @@ -141,7 +141,9 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { } // The real port to connect to is port + portOffset - port = Integer.toString(Integer.decode(port).intValue() + portOffset); + if (port != null) { + port = Integer.toString(Integer.decode(port).intValue() + portOffset); + } // Construct the ssh settings store ISettingsStore store = new SettingsStore(); diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java index d3607fc8e0f..ad5a01a18d9 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java @@ -118,7 +118,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio if (data == null) return; // set the terminal connector id for ssh - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.internal.terminal.telnet.TelnetConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.telnet.TelnetConnector"); //$NON-NLS-1$ telnetSettingsPage.saveSettings(); data.put(ITerminalsConnectorConstants.PROP_IP_HOST,telnetSettings.getHost()); diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index c01ff2541a8..f92721fefd2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -120,7 +120,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.internal.terminal.telnet.TelnetConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.telnet.TelnetConnector"; //$NON-NLS-1$ // Extract the telnet properties String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); @@ -136,7 +136,9 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { } // The real port to connect to is port + portOffset - port = Integer.toString(Integer.decode(port).intValue() + portOffset); + if (port != null) { + port = Integer.toString(Integer.decode(port).intValue() + portOffset); + } // Construct the terminal settings store ISettingsStore store = new SettingsStore(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 10b076c165e..c64c041676d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -112,7 +112,7 @@ @@ -138,7 +138,7 @@ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java index ce82381db48..cfb81eab35b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java @@ -72,7 +72,7 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.view.ui.StreamsConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.streams.StreamsConnector"; //$NON-NLS-1$ // Extract the streams properties OutputStream stdin = (OutputStream)properties.get(ITerminalsConnectorConstants.PROP_STREAMS_STDIN); From 51b668532177fb8be3530c87ce76ca4c776224d8 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 17 Apr 2015 15:43:42 +0200 Subject: [PATCH 654/843] Terminal: Remove makeSettingsPage from ITerminalConnection interface --- .../local/launcher/LocalLauncherDelegate.java | 2 +- .../connector/process/ProcessConnector.java | 8 +-- .../process/ProcessLauncherDelegate.java | 2 +- .../serial/connector/SerialConnector.java | 6 +- .../serial/connector/SerialSettingsPage.java | 47 ------------- .../launcher/SerialLauncherDelegate.java | 2 +- .../connector/ssh/connector/SshConnector.java | 33 +++++---- .../connector/ssh/connector/SshSettings.java | 56 ++++++++------- .../controls/SshWizardConfigurationPanel.java | 3 +- .../ssh/launcher/SshLauncherDelegate.java | 2 +- .../telnet/connector/TelnetConnector.java | 31 ++++++--- .../TelnetWizardConfigurationPanel.java | 4 +- .../launcher/TelnetLauncherDelegate.java | 2 +- .../terminal/connector/TerminalConnector.java | 5 +- .../provisional/api/ITerminalConnector.java | 13 +--- .../provisional/api/LayeredSettingsStore.java | 62 ----------------- .../provisional/api/NullSettingsStore.java | 39 +++++++++++ .../api/PreferenceSettingStore.java | 59 ---------------- .../api/provider/TerminalConnectorImpl.java | 18 ++--- .../terminal/remote/RemoteConnector.java | 35 ++-------- .../terminal/remote/RemoteSettings.java | 4 +- .../TerminalConnectorFactoryTest.java | 21 +----- .../connector/TerminalConnectorTest.java | 22 +----- .../speedtest/SpeedTestConnector.java | 13 ++-- .../terminal/speedtest/SpeedTestSettings.java | 6 +- .../speedtest/SpeedTestSettingsPage.java | 68 ------------------- .../view/ui/streams/StreamsConnector.java | 6 ++ .../ui/streams/StreamsLauncherDelegate.java | 2 +- 28 files changed, 164 insertions(+), 407 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java delete mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java create mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java delete mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java delete mode 100644 plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 0357ce12ed4..36396b7723f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -391,7 +391,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java index 641e9bd6d2c..51212602684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java @@ -25,9 +25,9 @@ import org.eclipse.osgi.util.NLS; import org.eclipse.swt.custom.CTabItem; import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.terminal.connector.process.nls.Messages; import org.eclipse.tm.terminal.view.core.interfaces.constants.ILineSeparatorConstants; @@ -256,11 +256,11 @@ public class ProcessConnector extends AbstractStreamsConnector { // ***** Process Connector settings handling ***** /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() + * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setDefaultSettings() */ @Override - public ISettingsPage makeSettingsPage() { - return new ProcessSettingsPage(settings); + public void setDefaultSettings() { + settings.load(new NullSettingsStore()); } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java index 09d6065fab2..94da69d8d07 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java @@ -122,7 +122,7 @@ public class ProcessLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java index 068c34e080b..7f977b032e5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java @@ -29,10 +29,10 @@ import java.io.OutputStream; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; +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.tm.terminal.connector.serial.activator.UIPlugin; @@ -225,8 +225,8 @@ public class SerialConnector extends TerminalConnectorImpl { return fSettings; } @Override - public ISettingsPage makeSettingsPage() { - return new SerialSettingsPage(fSettings); + public void setDefaultSettings() { + fSettings.load(new NullSettingsStore()); } @Override public String getSettingsSummary() { diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java deleted file mode 100644 index 84bb36a657b..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettingsPage.java +++ /dev/null @@ -1,47 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Initial Contributors: - * The following Wind River employees contributed to the Terminal component - * that contains this file: Chris Thew, Fran Litterio, Stephen Lamb, - * Helmut Haigermoser and Ted Williams. - * - * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalSettingsDlg - * Martin Oberhuber (Wind River) - fixed copyright headers and beautified - * Martin Oberhuber (Wind River) - [206917] Add validation for Terminal Settings - *******************************************************************************/ -package org.eclipse.tm.terminal.connector.serial.connector; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; - -@SuppressWarnings("restriction") -public class SerialSettingsPage extends AbstractSettingsPage { - private final SerialSettings fTerminalSettings; - - public SerialSettingsPage(SerialSettings settings) { - fTerminalSettings=settings; - } - - @Override - public void createControl(Composite parent) { - } - - @Override - public void loadSettings() { - } - - @Override - public void saveSettings() { - } - - @Override - public boolean validateSettings() { - return false; - } -} diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java index 74cc12dd0d1..39a551b9081 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java @@ -144,7 +144,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java index f8c5b2454eb..1373e04c66b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java @@ -9,17 +9,17 @@ * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [225792] Rename SshConnector.getTelnetSettings() to getSshSettings() - * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl + * Martin Oberhuber (Wind River) - [225853][api] Provide more default functionality in TerminalConnectorImpl *******************************************************************************/ package org.eclipse.tm.terminal.connector.ssh.connector; import java.io.InputStream; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; +import org.eclipse.tm.internal.terminal.provisional.api.NullSettingsStore; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; import com.jcraft.jsch.ChannelShell; @@ -40,15 +40,18 @@ public class SshConnector extends TerminalConnectorImpl { public SshConnector(SshSettings settings) { fSettings=settings; } - public void initialize() throws Exception { + @Override + public void initialize() throws Exception { fJsch=new JSch(); } - public void connect(ITerminalControl control) { + @Override + public void connect(ITerminalControl control) { super.connect(control); fConnection = new SshConnection(this,control); fConnection.start(); } - synchronized public void doDisconnect() { + @Override + synchronized public void doDisconnect() { fConnection.disconnect(); if (getInputStream() != null) { try { @@ -66,7 +69,8 @@ public class SshConnector extends TerminalConnectorImpl { } } } - public void setTerminalSize(int newWidth, int newHeight) { + @Override + public void setTerminalSize(int newWidth, int newHeight) { if(fChannel!=null && (newWidth!=fWidth || newHeight!=fHeight)) { //avoid excessive communications due to change size requests by caching previous size fChannel.setPtySize(newWidth, newHeight, 8*newWidth, 8*newHeight); @@ -77,7 +81,8 @@ public class SshConnector extends TerminalConnectorImpl { public InputStream getInputStream() { return fInputStream; } - public OutputStream getTerminalToRemoteStream() { + @Override + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } void setInputStream(InputStream inputStream) { @@ -95,16 +100,20 @@ public class SshConnector extends TerminalConnectorImpl { public ISshSettings getSshSettings() { return fSettings; } - public ISettingsPage makeSettingsPage() { - return new SshSettingsPage(fSettings); + @Override + public void setDefaultSettings() { + fSettings.load(new NullSettingsStore()); } - public String getSettingsSummary() { + @Override + public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + @Override + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { fSettings.save(store); } protected JSch getJsch() { diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java index a8b66ea6ed9..df4669ab0f3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Mikhail Kalugin - [201867] Improve Terminal SSH connection summary string @@ -23,7 +23,8 @@ public class SshSettings implements ISshSettings { protected String fPort; protected String fTimeout; protected String fKeepalive; - public String getHost() { + @Override + public String getHost() { return fHost; } @@ -31,7 +32,8 @@ public class SshSettings implements ISshSettings { fHost = strHost; } - public String getSummary() { + @Override + public String getSummary() { String settings = getUser()+'@'+getHost(); if(getPort()!=22) { settings += ':' + getPort(); @@ -39,20 +41,21 @@ public class SshSettings implements ISshSettings { return settings; } - public void load(ISettingsStore store) { - fHost = store.get("Host");//$NON-NLS-1$ - fUser = store.get("User");//$NON-NLS-1$ + @Override + public void load(ISettingsStore store) { + fHost = store.get("Host", "");//$NON-NLS-1$ //$NON-NLS-2$ + fUser = store.get("User", "");//$NON-NLS-1$ //$NON-NLS-2$ // ISettingsStore providers have to make sure that // the password is not saved in some as plain text - // on disk. [bug 313991] - fPassword = store.get("Password");//$NON-NLS-1$ - fPort = store.get("Port");//$NON-NLS-1$ - fTimeout = store.get("Timeout");//$NON-NLS-1$ - fKeepalive = store.get("Keepalive");//$NON-NLS-1$ + // on disk. [bug 313991] + fPassword = store.get("Password", "");//$NON-NLS-1$ //$NON-NLS-2$ + fPort = store.get("Port", "22");//$NON-NLS-1$ //$NON-NLS-2$ + fTimeout = store.get("Timeout", "0");//$NON-NLS-1$ //$NON-NLS-2$ + fKeepalive = store.get("Keepalive", "300");//$NON-NLS-1$ //$NON-NLS-2$ } - - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { store.put("Host", fHost);//$NON-NLS-1$ store.put("User", fUser);//$NON-NLS-1$ store.put("Port", fPort);//$NON-NLS-1$ @@ -64,7 +67,8 @@ public class SshSettings implements ISshSettings { } - public int getTimeout() { + @Override + public int getTimeout() { try { return Integer.parseInt(fTimeout); } catch (NumberFormatException numberFormatException) { @@ -78,8 +82,9 @@ public class SshSettings implements ISshSettings { public void setTimeout(String timeout) { fTimeout = timeout; } - - public int getKeepalive() { + + @Override + public int getKeepalive() { try { return Integer.parseInt(fKeepalive); } catch (NumberFormatException numberFormatException) { @@ -94,14 +99,16 @@ public class SshSettings implements ISshSettings { fKeepalive = keepalive; } - public String getUser() { + @Override + public String getUser() { return fUser; } public void setUser(String user) { fUser = user; } - public int getPort() { + @Override + public int getPort() { try { return Integer.parseInt(fPort); } catch (NumberFormatException numberFormatException) { @@ -117,7 +124,8 @@ public class SshSettings implements ISshSettings { fPort = port; } - public String getPassword() { + @Override + public String getPassword() { return fPassword; } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java index 3fd02869a6e..6724c451763 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java @@ -31,6 +31,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.terminal.connector.ssh.connector.SshConnector; import org.eclipse.tm.terminal.connector.ssh.connector.SshSettings; +import org.eclipse.tm.terminal.connector.ssh.connector.SshSettingsPage; import org.eclipse.tm.terminal.connector.ssh.nls.Messages; import org.eclipse.tm.terminal.view.core.TerminalContextPropertiesProviderFactory; import org.eclipse.tm.terminal.view.core.interfaces.ITerminalContextPropertiesProvider; @@ -80,7 +81,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa sshSettings.setHost(getSelectionHost()); sshSettings.setUser(getDefaultUser()); - sshSettingsPage = conn.makeSettingsPage(); + sshSettingsPage = new SshSettingsPage(sshSettings); if (sshSettingsPage instanceof AbstractSettingsPage) { ((AbstractSettingsPage)sshSettingsPage).setHasControlDecoration(true); } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index f23c3f49883..6f26de48862 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -167,7 +167,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java index ce524f0df6e..70a0572937f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java @@ -25,10 +25,10 @@ import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; +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; @@ -47,7 +47,8 @@ public class TelnetConnector extends TerminalConnectorImpl { public TelnetConnector(TelnetSettings settings) { fSettings=settings; } - public void connect(ITerminalControl control) { + @Override + public void connect(ITerminalControl control) { super.connect(control); fWidth=-1; fHeight=-1; @@ -56,7 +57,8 @@ public class TelnetConnector extends TerminalConnectorImpl { TelnetConnectWorker worker = new TelnetConnectWorker(this,control); worker.start(); } - public void doDisconnect() { + @Override + public void doDisconnect() { if (getSocket() != null) { try { getSocket().close(); @@ -82,12 +84,14 @@ public class TelnetConnector extends TerminalConnectorImpl { } cleanSocket(); } - public boolean isLocalEcho() { + @Override + public boolean isLocalEcho() { if(fTelnetConnection==null) return false; return fTelnetConnection.localEcho(); } - public void setTerminalSize(int newWidth, int newHeight) { + @Override + public void setTerminalSize(int newWidth, int newHeight) { if(fTelnetConnection!=null && (newWidth!=fWidth || newHeight!=fHeight)) { //avoid excessive communications due to change size requests by caching previous size fTelnetConnection.setTerminalSize(newWidth, newHeight); @@ -98,7 +102,8 @@ public class TelnetConnector extends TerminalConnectorImpl { public InputStream getInputStream() { return fInputStream; } - public OutputStream getTerminalToRemoteStream() { + @Override + public OutputStream getTerminalToRemoteStream() { return fOutputStream; } private void setInputStream(InputStream inputStream) { @@ -145,16 +150,20 @@ public class TelnetConnector extends TerminalConnectorImpl { public ITelnetSettings getTelnetSettings() { return fSettings; } - public ISettingsPage makeSettingsPage() { - return new TelnetSettingsPage(fSettings); + @Override + public void setDefaultSettings() { + fSettings.load(new NullSettingsStore()); } - public String getSettingsSummary() { + @Override + public String getSettingsSummary() { return fSettings.getSummary(); } - public void load(ISettingsStore store) { + @Override + public void load(ISettingsStore store) { fSettings.load(store); } - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { fSettings.save(store); } } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java index ad5a01a18d9..cda3f0b88d9 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java @@ -24,6 +24,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; import org.eclipse.tm.terminal.connector.telnet.connector.NetworkPortMap; import org.eclipse.tm.terminal.connector.telnet.connector.TelnetConnector; import org.eclipse.tm.terminal.connector.telnet.connector.TelnetSettings; +import org.eclipse.tm.terminal.connector.telnet.connector.TelnetSettingsPage; 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; @@ -31,7 +32,6 @@ import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel /** * telnet wizard configuration panel implementation. */ -@SuppressWarnings("restriction") public class TelnetWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { public TelnetSettings telnetSettings; @@ -65,7 +65,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio // MWE otherwise we don't get a valid default selection of the combo telnetSettings.setNetworkPort(NetworkPortMap.PROP_VALUETELNET); - telnetSettingsPage = conn.makeSettingsPage(); + telnetSettingsPage = new TelnetSettingsPage(telnetSettings); if (telnetSettingsPage instanceof AbstractSettingsPage) { ((AbstractSettingsPage)telnetSettingsPage).setHasControlDecoration(true); } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index f92721fefd2..deceae81a9e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -157,7 +157,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 9f9a3f4c8de..36b000aef44 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -180,8 +180,9 @@ public class TerminalConnector implements ITerminalConnector { getConnectorImpl().load(store); } } - public ISettingsPage makeSettingsPage() { - return getConnectorImpl().makeSettingsPage(); + @Override + public void setDefaultSettings() { + getConnectorImpl().setDefaultSettings(); } public void save(ISettingsStore store) { // no need to save the settings: it cannot have changed diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index ae4ed505d37..9257b4ed523 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -132,18 +132,11 @@ public interface ITerminalConnector extends IAdaptable { * @param store */ void save(ISettingsStore store); - + /** - * FIXME should not have UI related stuff in ITerminalConnector, since - * connectors may be totally programmatic and UI-less. Better make the - * connector adapt to an interface that controls the UI aspect. - * - * @return a new page that can be used in a dialog to setup this connection. - * The dialog should persist its settings with the - * {@link #load(ISettings)} and {@link #save(ISettings)} - * methods. + * Set or reset the settings store to the default values. */ - ISettingsPage makeSettingsPage(); + void setDefaultSettings(); /** * @return A string that represents the settings of the connection. This representation diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java deleted file mode 100644 index 58eca4a55b6..00000000000 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/LayeredSettingsStore.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; - -/** - * Uses an array of {@link ISettingsStore} to find a value. - *

                                        - * EXPERIMENTAL. This class or interface has been added as part - * of a work in progress. There is no guarantee that this API will work or that - * it will remain the same. Please do not use this API without consulting with - * the Target Management team. - *

                                        - */ -public class LayeredSettingsStore implements ISettingsStore { - - private final ISettingsStore[] fStores; - - /** - * @param stores the stores used to search the values. - * {@link #put(String, String)} will put the value in the - * first store in the list. - */ - public LayeredSettingsStore(ISettingsStore[] stores) { - fStores=stores; - } - /** - * Convince constructor for two stores - * @param s1 first store - * @param s2 second store - */ - public LayeredSettingsStore(ISettingsStore s1, ISettingsStore s2) { - this(new ISettingsStore[]{s1,s2}); - } - public String get(String key) { - for (int i = 0; i < fStores.length; i++) { - String value=fStores[i].get(key); - if(value!=null) - return value; - } - return null; - } - - public String get(String key, String defaultValue) { - String value=get(key); - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - return defaultValue; - return value; - } - - public void put(String key, String value) { - fStores[0].put(key,value); - } - -} diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java new file mode 100644 index 00000000000..e86f157f6c1 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.provisional.api; + +/** + * A settings store implementation doing nothing. + */ +public class NullSettingsStore implements ISettingsStore { + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String) + */ + @Override + public String get(String key) { + return null; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#get(java.lang.String, java.lang.String) + */ + @Override + public String get(String key, String defaultValue) { + return defaultValue; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore#put(java.lang.String, java.lang.String) + */ + @Override + public void put(String key, String value) { + } +} diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java deleted file mode 100644 index 0d5daba6b0b..00000000000 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/PreferenceSettingStore.java +++ /dev/null @@ -1,59 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.provisional.api; - -import org.eclipse.core.runtime.Preferences; - -/** - * A preference based settings store. - *

                                        - * EXPERIMENTAL. This class or interface has been added as part - * of a work in progress. There is no guarantee that this API will work or that - * it will remain the same. Please do not use this API without consulting with - * the Target Management team. - *

                                        - */ -public class PreferenceSettingStore implements ISettingsStore { - private final String fPrefix; - private final Preferences fPreferences; - - /** - * Creates a ISettingStore that uses the preferences as backend. - * - * @param preferences the backed. - * @param prefix a string that is prepended to the key - */ - public PreferenceSettingStore(Preferences preferences, String prefix) { - fPreferences=preferences; - fPrefix=prefix; - } - public String get(String key) { - return fPreferences.getString(makeKey(key)); - } - public String get(String key, String defaultValue) { - String value=get(key); - if ((value == null) || (value.equals(""))) //$NON-NLS-1$ - return defaultValue; - - return value; - } - - public void put(String key, String value) { - fPreferences.setValue(makeKey(key), value); - } - /** - * @param key - * @return the full path in the preferences - */ - private String makeKey(String key) { - return fPrefix+key; - } -} diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 779a081693a..0f099bac734 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -105,17 +105,10 @@ public abstract class TerminalConnectorImpl { } /** - * Return a settings page for configuring this connector, or - * null if it cannot be configured. - * - * The dialog should persist its settings with the - * {@link #load(ISettings)} and {@link #save(ISettings)} methods. - * - * @return a new page that can be used in a dialog to setup this connection, - * or null. + * Set or reset the settings store to the default values. */ - public ISettingsPage makeSettingsPage() { - return null; + public void setDefaultSettings() { + // do nothing by default } /** @@ -123,9 +116,8 @@ public abstract class TerminalConnectorImpl { * {@link #connect(ITerminalControl)}. * * Connectors that have nothing to configure do not need to implement this. - * Those terminals that do have configuration (which they expose via - * {@link #makeSettingsPage()} need to override this method to load - * settings. + * Those terminals that do have configuration need to override this method + * to load settings. * * @param store a string based data store. Short keys like "foo" can be used * to store the state of the connection. diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java index f97ec007898..f52eb22ec10 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java @@ -13,6 +13,7 @@ import java.io.OutputStream; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.tm.terminal.remote.IRemoteSettings; @@ -109,44 +110,16 @@ public class RemoteConnector extends TerminalConnectorImpl { return fOutputStream; } - /* - * (non-Javadoc) - * - * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#initialize() - */ - @Override - public void initialize() throws Exception { - } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tm.internal.terminal.provisional - * .api.ISettingsStore) - */ @Override public void load(ISettingsStore store) { fSettings.load(store); } - /* - * (non-Javadoc) - * - * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#makeSettingsPage() - */ @Override - public ISettingsPage makeSettingsPage() { - return new RemoteSettingsPage(fSettings); + public void setDefaultSettings() { + fSettings.load(new NullSettingsStore()); } - - /* - * (non-Javadoc) - * - * @see - * org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#save(org.eclipse.tm.internal.terminal.provisional - * .api.ISettingsStore) - */ + @Override public void save(ISettingsStore store) { fSettings.save(store); diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java index e71e9f65eb9..f0670d5018d 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java @@ -39,8 +39,8 @@ public class RemoteSettings implements IRemoteSettings { * Load information into the RemoteSettings object. */ public void load(ISettingsStore store) { - fRemoteServices = store.get(REMOTE_SERVICES); - fConnectionName = store.get(CONNECTION_NAME); + fRemoteServices = store.get(REMOTE_SERVICES, ""); //$NON-NLS-1$ + fConnectionName = store.get(CONNECTION_NAME, ""); //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index ae3d55872c6..4e3119ed450 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -129,23 +129,6 @@ public class TerminalConnectorFactoryTest extends TestCase { fLoadStore=store; } - public ISettingsPage makeSettingsPage() { - return new ISettingsPage(){ - public void createControl(Composite parent) { - } - public void loadSettings() { - } - public void saveSettings() { - } - public boolean validateSettings() { - return false; - } - public void addListener(Listener listener) { - } - public void removeListener(Listener listener) { - }}; - } - public void save(ISettingsStore store) { fSaveStore=store; } @@ -264,10 +247,10 @@ public class TerminalConnectorFactoryTest extends TestCase { assertSame(s,mock.fSaveStore); } - public void testMakeSettingsPage() { + public void testSetDefaultSettings() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c = makeTerminalConnector(mock); - assertNotNull(c.makeSettingsPage()); + c.setDefaultSettings(); } public void testSetTerminalSize() { diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index 23b649c2aa9..ac85e4c1974 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -129,24 +129,6 @@ public class TerminalConnectorTest extends TestCase { fLoadStore=store; } - public ISettingsPage makeSettingsPage() { - return new ISettingsPage(){ - public void createControl(Composite parent) { - } - public void loadSettings() { - } - public void saveSettings() { - } - public boolean validateSettings() { - return false; - } - public void addListener(Listener listener) { - } - public void removeListener(Listener listener) { - }}; - - } - public void save(ISettingsStore store) { fSaveStore=store; } @@ -243,10 +225,10 @@ public class TerminalConnectorTest extends TestCase { assertSame(s,mock.fSaveStore); } - public void testMakeSettingsPage() { + public void testSetDefaultSettings() { ConnectorMock mock=new ConnectorMock(); TerminalConnector c=new TerminalConnector(new SimpleFactory(mock),"xID","xName", false); - assertNotNull(c.makeSettingsPage()); + c.setDefaultSettings(); } public void testSetTerminalSize() { diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java index 4f397a59989..a169f6aca05 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java @@ -17,10 +17,10 @@ import java.io.FileNotFoundException; import java.io.InputStream; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; +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; @@ -82,18 +82,15 @@ public class SpeedTestConnector extends TerminalConnectorImpl { return fSettings.getInputFile(); } - public void initialize() { - //throw new RuntimeException("XXX problems\nSpeedTest\nXXX!"); + @Override + public void setDefaultSettings() { + fSettings.load(new NullSettingsStore()); } - + public void load(ISettingsStore store) { fSettings.load(store); } - public ISettingsPage makeSettingsPage() { - return new SpeedTestSettingsPage(fSettings); - } - public void save(ISettingsStore store) { fSettings.save(store); } diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java index 5a94d828516..6b5f882746f 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java @@ -37,9 +37,9 @@ public class SpeedTestSettings { fInputFile = testFile; } public void load(ISettingsStore store) { - fInputFile=store.get("inputFile"); - fBufferSize=store.get("bufferSize"); - fThrottle=store.get("throttle"); + fInputFile=store.get("inputFile", ""); + fBufferSize=store.get("bufferSize", ""); + fThrottle=store.get("throttle", "0"); } public void save(ISettingsStore store) { store.put("inputFile", fInputFile); diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java deleted file mode 100644 index f48a7027e93..00000000000 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettingsPage.java +++ /dev/null @@ -1,68 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2007, 2013 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.internal.terminal.speedtest; - -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.swt.widgets.Label; -import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; - -public class SpeedTestSettingsPage extends AbstractSettingsPage { - final SpeedTestSettings fSettings; - Text fInputFile; - Text fBufferSize; - private Text fThrottle; - SpeedTestSettingsPage(SpeedTestSettings settings) { - fSettings=settings; - } - public void createControl(Composite parent) { - Composite composite = new Composite(parent, SWT.NONE); - GridLayout gridLayout = new GridLayout(2, false); - - composite.setLayout(gridLayout); - composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - fInputFile=createTextField(composite, "Input File:");//$NON-NLS-1$ - fBufferSize=createTextField(composite, "Buffer Size:");//$NON-NLS-1$ - fThrottle=createTextField(composite, "Throttle:");//$NON-NLS-1$ - loadSettings(); - } - private Text createTextField(Composite composite, String label) { - new Label(composite, SWT.RIGHT).setText(label); - Text text = new Text(composite, SWT.BORDER); - text.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); - return text; - } - - public void loadSettings() { - setText(fInputFile, fSettings.getInputFile()); - setText(fBufferSize, fSettings.getBufferSizeString()); - setText(fThrottle, fSettings.getThrottleString()); - } - private void setText(Text text, String value) { - if(value==null) - value=""; - text.setText(value); - } - - public void saveSettings() { - fSettings.setInputFile(fInputFile.getText()); - fSettings.setBufferSizeString(fBufferSize.getText()); - fSettings.setThrottleString(fThrottle.getText()); - } - - public boolean validateSettings() { - return true; - } - -} diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java index d297a0ba364..99291a27c23 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java @@ -12,6 +12,7 @@ package org.eclipse.tm.terminal.view.ui.streams; import org.eclipse.core.runtime.Assert; 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.ui.services.IDisposable; @@ -99,6 +100,11 @@ public class StreamsConnector extends AbstractStreamsConnector implements IDispo return ""; //$NON-NLS-1$ } + @Override + public void setDefaultSettings() { + settings.load(new NullSettingsStore()); + } + /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#load(org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore) */ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java index cfb81eab35b..9d4ada9a0b2 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java @@ -103,7 +103,7 @@ public class StreamsLauncherDelegate extends AbstractLauncherDelegate { ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); if (connector != null) { // Apply default settings - connector.makeSettingsPage(); + connector.setDefaultSettings(); // And load the real settings connector.load(store); } From 42df31be0eccae1412db5b49bbf86d17fdbbccb1 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 17 Apr 2015 15:58:33 +0200 Subject: [PATCH 655/843] Terminal: Fix connector id references --- .../eclipse/tm/terminal/connector/local/activator/UIPlugin.java | 2 +- .../terminal/connector/local/launcher/LocalLauncherHandler.java | 2 +- .../org/eclipse/tm/terminal/connector/local/nls/Messages.java | 2 +- .../connector/local/showin/DynamicContributionItems.java | 2 +- .../tm/terminal/connector/process/activator/UIPlugin.java | 2 +- .../org/eclipse/tm/terminal/connector/process/nls/Messages.java | 2 +- .../tm/terminal/connector/serial/activator/UIPlugin.java | 2 +- .../org/eclipse/tm/terminal/connector/serial/nls/Messages.java | 2 +- .../eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java | 2 +- .../src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java | 2 +- .../tm/terminal/connector/telnet/activator/UIPlugin.java | 2 +- .../org/eclipse/tm/terminal/connector/telnet/nls/Messages.java | 2 +- .../tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java | 2 +- .../src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java index 37dd7e100a5..42a68f1e260 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java @@ -50,7 +50,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tm.terminal.view.ui.local"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.connector.local"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java index 24ca4d41b94..c37bf6bae3b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java @@ -57,7 +57,7 @@ public class LocalLauncherHandler extends AbstractHandler { // Find the local terminal launcher delegate ILauncherDelegate delegate = null; for (ILauncherDelegate candidate : delegates) { - if ("org.eclipse.tm.terminal.view.ui.local.launcher.local".equals(candidate.getId())) { //$NON-NLS-1$ + if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(candidate.getId())) { //$NON-NLS-1$ delegate = candidate; break; } diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java index e3f612825a3..497f132741c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.local.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.local.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java index abef87a0454..b43cda633cc 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java @@ -49,7 +49,7 @@ public class DynamicContributionItems extends CompoundContributionItem implement this.serviceLocator = serviceLocator; // Get the local terminal launcher delegate - delegate = LauncherDelegateManager.getInstance().getLauncherDelegate("org.eclipse.tm.terminal.view.ui.local.launcher.local", false); //$NON-NLS-1$ + delegate = LauncherDelegateManager.getInstance().getLauncherDelegate("org.eclipse.tm.terminal.connector.local.launcher.local", false); //$NON-NLS-1$ } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java index 03ac3ebdb64..76a4e6e5337 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java @@ -48,7 +48,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tm.terminal.view.ui.process"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.connector.process"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java index 8249cf380cc..6a418e6e705 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.process.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.process.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java index f38a5a244e5..8cb12475dc3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java @@ -47,7 +47,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tm.terminal.view.ui.serial"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.connector.serial"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java index e1dbac41e31..19de4b72b40 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java @@ -17,7 +17,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.serial.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.serial.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java index f5030c35888..8fcbc08577b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java @@ -53,7 +53,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tm.terminal.view.ui.ssh"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.connector.ssh"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java index ba432d6647c..e7c25bc7e04 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java @@ -18,7 +18,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.ssh.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.ssh.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java index 998c0e4f15b..0635b7663bb 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java @@ -48,7 +48,7 @@ public class UIPlugin extends AbstractUIPlugin { if (getDefault() != null && getDefault().getBundle() != null) { return getDefault().getBundle().getSymbolicName(); } - return "org.eclipse.tm.terminal.view.ui.telnet"; //$NON-NLS-1$ + return "org.eclipse.tm.terminal.connector.telnet"; //$NON-NLS-1$ } /** diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java index 9d358bdddb0..058cf603611 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java @@ -18,7 +18,7 @@ import org.eclipse.osgi.util.NLS; public class Messages extends NLS { // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.view.ui.telnet.nls.Messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.telnet.nls.Messages"; //$NON-NLS-1$ /** * Static constructor. diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java index 361d74629e4..596e80f29c3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java @@ -64,7 +64,7 @@ public class LaunchTerminalHandler extends AbstractHandler { @Override protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { Assert.isNotNull(delegate); - return !"org.eclipse.tm.terminal.view.ui.ssh.launcher.ssh".equals(delegate.getId()); //$NON-NLS-1$ + return !"org.eclipse.tm.terminal.connector.ssh.launcher.ssh".equals(delegate.getId()); //$NON-NLS-1$ } }; dialog.setSelection(new StructuredSelection(host)); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index 27c1fb42804..2e319c6d7e8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -696,7 +696,7 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa // If the selection is valid, fire the command to open the local terminal if (isValid) { ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); - Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.view.ui.local.command.launch") : null; //$NON-NLS-1$ + Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.connector.local.command.launch") : null; //$NON-NLS-1$ if (command != null && command.isDefined() && command.isEnabled()) { try { ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); From 081c2341a289e7addf6063f5026e3af4d5ddc74e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 20 Apr 2015 09:09:40 +0200 Subject: [PATCH 656/843] Terminal: Fix command category id in local connector contribution plug-in --- plugins/org.eclipse.tm.terminal.connector.local/plugin.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index a72a8ad90e6..ef4cb5d65f1 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -67,7 +67,7 @@ From 2565d3af2869a9cf3052dd49ef296970373e0b20 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 20 Apr 2015 09:24:41 +0200 Subject: [PATCH 657/843] Terminal: Fix processing of terminal connector extension point --- .../terminal/provisional/api/ITerminalConnector.java | 2 +- .../provisional/api/TerminalConnectorExtension.java | 8 ++++---- .../provisional/api/provider/TerminalConnectorImpl.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java index 9257b4ed523..242726e785e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java @@ -23,7 +23,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect * A contributed connection type to manage a single connection. * * Implementations of this class are contributed through the - * org.eclipse.tm.terminal.terminalConnectors extension point. This + * org.eclipse.tm.terminal.control.connectors extension point. This * class gives access to the static markup of a terminal connector extension as * well as providing the lifecycle management for the dynamically loaded * {@link TerminalConnectorImpl} instance, which performs the actual diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 8ad6db4b0ae..26bea5e1874 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -59,14 +59,14 @@ public class TerminalConnectorExtension { * terminal connector is not yet instantiated to any real connection. * * @param id the id of the terminal connector in the - * org.eclipse.tm.terminal.terminalConnectors + * org.eclipse.tm.terminal.control.connectors * extension point * @return a new ITerminalConnector with id or null if there * is no extension with that id. * @since org.eclipse.tm.terminal 2.0 */ public static ITerminalConnector makeTerminalConnector(String id) { - IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ + IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.control.connectors"); //$NON-NLS-1$ for (int i = 0; i < config.length; i++) { if(id.equals(config[i].getAttribute("id"))) { //$NON-NLS-1$ return makeConnector(config[i]); @@ -82,12 +82,12 @@ public class TerminalConnectorExtension { * time. * * @return a new list of {@link ITerminalConnector} instances defined in the - * org.eclipse.tm.terminal.terminalConnectors + * org.eclipse.tm.terminal.control.connectors * extension point * @since org.eclipse.tm.terminal 2.0 return value is ITerminalConnector[] */ public static ITerminalConnector[] makeTerminalConnectors() { - IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.terminalConnectors"); //$NON-NLS-1$ + IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.control.connectors"); //$NON-NLS-1$ List result=new ArrayList(); for (int i = 0; i < config.length; i++) { result.add(makeConnector(config[i])); diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index 0f099bac734..a8c8dae783b 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -21,7 +21,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * Abstract base class for all terminal connector implementations to be - * registered via the org.eclipse.tm.terminal.terminalConnectors + * registered via the org.eclipse.tm.terminal.control.connectors * extension point. * * @since org.eclipse.tm.terminal 2.0 From 640e55368a891523c5478db93c37583345904b84 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 21 Apr 2015 09:53:01 +0200 Subject: [PATCH 658/843] Releng: Added CONTRIBUTING and updated team project set --- CONTRIBUTING | 50 +++++++++++++++++++ terminals.psf | 130 ++++++++++++++++++++++++++++---------------------- 2 files changed, 122 insertions(+), 58 deletions(-) create mode 100644 CONTRIBUTING diff --git a/CONTRIBUTING b/CONTRIBUTING new file mode 100644 index 00000000000..871327d9889 --- /dev/null +++ b/CONTRIBUTING @@ -0,0 +1,50 @@ +Contributing to Target Management Terminal +========================================== + +Thanks for your interest in this project. + +Project description: +-------------------- + +The Target Management Terminal is a lightweight VT100 terminal implementation. The project provides a re-usable terminal widget, +a set of predefined terminal connectors (i.e. SSH and local shell) and a view managing the terminal sessions. + +Developer resources: +-------------------- + +Source Repositories: + +You can use the code from these repositories to experiment, test, build, create patches, issue pull requests, etc. This project uses Gerrit Code Review; please see contributing via Gerrit (https://wiki.eclipse.org/Gerrit). + +tm/org.eclipse.tm.terminal - Target Management Terminal + Clone: https://git.eclipse.org/r/tm/org.eclipse.tm.terminal + Browse Repository: http://git.eclipse.org/c/tm/org.eclipse.tm.terminal.git + Review with Gerrit: https://git.eclipse.org/r/p/tm/org.eclipse.tm.terminal + +Contributor License Agreement: +------------------------------ + +Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA). + +- http://www.eclipse.org/legal/CLA.php + +Contact: +-------- + +Contact the project developers via the project's "dev" list. + +- https://dev.eclipse.org/mailman/listinfo/tm-dev + +Search for bugs: +---------------- + +This project uses Bugzilla to track ongoing development and issues. + +- https://bugs.eclipse.org/bugs/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&classification=Tools&component=Terminal&list_id=11564722&product=Target%20Management&query_format=advanced + +Create a new bug: +----------------- + +Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome! + +- https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Target%20Management&component=Terminal diff --git a/terminals.psf b/terminals.psf index 5e38d96e301..7f2eed4f935 100644 --- a/terminals.psf +++ b/terminals.psf @@ -1,83 +1,97 @@ + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + + + + + - - - - + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + - - - - - - - - + + + - - - - + + + + + + + + \ No newline at end of file From 124810637344a50d657c8805a45984dcdf897661 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 21 Apr 2015 10:52:37 +0200 Subject: [PATCH 659/843] Releng: Run fix copyrights --- .../feature.properties | 132 ------------------ .../feature.properties | 132 ------------------ .../build.properties | 2 +- .../build.properties | 2 +- .../build.properties | 2 +- .../build.properties | 2 +- .../build.properties | 2 +- .../build.properties | 2 +- .../build.properties | 2 +- .../connector/local/help/IContextHelpIds.java | 2 +- .../IExternalExecutablesProperties.java | 2 +- .../build.properties | 2 +- .../process/help/IContextHelpIds.java | 2 +- .../connector/process/nls/Messages.properties | 2 +- .../build.properties | 2 +- .../serial/connector/SerialConnectWorker.java | 2 +- .../serial/connector/SerialPortHandler.java | 2 +- .../build.properties | 2 +- .../ssh/connector/ISshConstants.java | 2 +- .../connector/KeyboardInteractiveDialog.java | 2 +- .../ssh/connector/SshConnection.java | 2 +- .../connector/ssh/connector/SshMessages.java | 2 +- .../ssh/connector/SshMessages.properties | 2 +- .../ssh/connector/SshSettingsPage.java | 2 +- .../ssh/connector/UserValidationDialog.java | 2 +- .../connector/ssh/nls/Messages.properties | 2 +- .../build.properties | 2 +- .../telnet/connector/NetworkPortMap.java | 2 +- .../telnet/connector/TelnetCodes.java | 2 +- .../telnet/connector/TelnetConnectWorker.java | 2 +- .../telnet/connector/TelnetConnection.java | 2 +- .../telnet/connector/TelnetMessages.java | 2 +- .../connector/TelnetMessages.properties | 2 +- .../telnet/connector/TelnetOption.java | 2 +- .../telnet/connector/TelnetProperties.java | 2 +- .../telnet/connector/TelnetSettingsPage.java | 2 +- .../connector/telnet/nls/Messages.properties | 2 +- ...TerminalToRemoteInjectionOutputStream.java | 2 +- .../terminal/control/ICommandInputField.java | 2 +- .../terminal/control/ITerminalListener.java | 2 +- .../control/ITerminalViewControl.java | 2 +- .../control/TerminalViewControlFactory.java | 2 +- .../actions/AbstractTerminalAction.java | 2 +- .../control/actions/ActionMessages.java | 2 +- .../control/actions/ActionMessages.properties | 2 +- .../terminal/control/actions/ImageConsts.java | 2 +- .../actions/TerminalActionClearAll.java | 2 +- .../control/actions/TerminalActionCopy.java | 2 +- .../control/actions/TerminalActionCut.java | 2 +- .../control/actions/TerminalActionPaste.java | 2 +- .../actions/TerminalActionSelectAll.java | 2 +- .../control/impl/TerminalMessages.java | 2 +- .../control/impl/TerminalMessages.properties | 2 +- .../emulator/EditActionAccelerators.java | 2 +- .../emulator/LoggingOutputStream.java | 2 +- .../terminal/model/ISnapshotChanges.java | 2 +- .../terminal/model/SnapshotChanges.java | 2 +- .../model/SynchronizedTerminalTextData.java | 2 +- .../terminal/model/TerminalTextData.java | 2 +- .../model/TerminalTextDataFastScroll.java | 2 +- .../model/TerminalTextDataSnapshot.java | 2 +- .../model/TerminalTextDataWindow.java | 2 +- .../preferences/ITerminalConstants.java | 2 +- .../TerminalPreferenceInitializer.java | 2 +- .../preferences/TerminalPreferencePage.java | 2 +- .../provisional/api/ISettingsPage.java | 2 +- .../provisional/api/ITerminalControl.java | 2 +- .../api/TerminalConnectorExtension.java | 2 +- .../provisional/api/TerminalState.java | 2 +- .../textcanvas/AbstractTextCanvasModel.java | 2 +- .../terminal/textcanvas/GridCanvas.java | 2 +- .../terminal/textcanvas/ILinelRenderer.java | 2 +- .../terminal/textcanvas/ITextCanvasModel.java | 2 +- .../textcanvas/ITextCanvasModelListener.java | 2 +- .../terminal/textcanvas/StyleMap.java | 2 +- .../terminal/textcanvas/TextCanvas.java | 2 +- .../terminal/textcanvas/TextLineRenderer.java | 2 +- .../terminal/textcanvas/VirtualCanvas.java | 2 +- .../tm/terminal/model/ITerminalTextData.java | 2 +- .../model/ITerminalTextDataReadOnly.java | 2 +- .../model/ITerminalTextDataSnapshot.java | 2 +- .../tm/terminal/model/LineSegment.java | 2 +- .../org/eclipse/tm/terminal/model/Style.java | 2 +- .../eclipse/tm/terminal/model/StyleColor.java | 2 +- .../model/TerminalTextDataFactory.java | 2 +- .../build.properties | 2 +- .../plugin.properties | 2 +- .../view/ui/rse/internal/PropertyTester.java | 2 +- .../tm/terminal/view/ui/rse/nls/Messages.java | 2 +- .../view/ui/rse/nls/Messages.properties | 2 +- .../build.properties | 2 +- .../view/ui/actions/AbstractAction.java | 2 +- .../view/ui/actions/PinTerminalAction.java | 2 +- .../view/ui/actions/SelectEncodingAction.java | 2 +- .../view/ui/actions/TabScrollLockAction.java | 2 +- .../ui/actions/ToggleCommandFieldAction.java | 2 +- .../view/ui/help/IContextHelpIds.java | 2 +- .../view/ui/interfaces/IPreferenceKeys.java | 2 +- .../view/ui/interfaces/ITerminalsView.java | 2 +- .../view/ui/interfaces/IUIConstants.java | 2 +- .../view/ui/interfaces/ImageConsts.java | 2 +- .../view/ui/interfaces/tracing/ITraceIds.java | 2 +- .../DisconnectTerminalCommandHandler.java | 2 +- .../ui/listeners/AbstractWindowListener.java | 2 +- .../ui/listeners/WorkbenchPartListener.java | 2 +- .../ui/listeners/WorkbenchWindowListener.java | 2 +- .../ui/tabs/TabFolderSelectionListener.java | 2 +- .../view/ui/tabs/TabFolderToolbarHandler.java | 2 +- 108 files changed, 106 insertions(+), 370 deletions(-) diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.properties b/features/org.eclipse.tm.terminal.control.feature/feature.properties index 97b7b5e5031..37f02c5d855 100644 --- a/features/org.eclipse.tm.terminal.control.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.feature/feature.properties @@ -35,135 +35,3 @@ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ http://www.eclipse.org/legal/epl-v10.html ################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties index 77c220ce021..fb432a38524 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties @@ -35,135 +35,3 @@ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ http://www.eclipse.org/legal/epl-v10.html ################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.feature/build.properties b/features/org.eclipse.tm.terminal.feature/build.properties index c8eb6010921..9fbea98d307 100644 --- a/features/org.eclipse.tm.terminal.feature/build.properties +++ b/features/org.eclipse.tm.terminal.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.sdk.feature/build.properties index d9e56c50b07..7aae4d5aca5 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/build.properties +++ b/features/org.eclipse.tm.terminal.sdk.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.view.feature/build.properties b/features/org.eclipse.tm.terminal.view.feature/build.properties index c8eb6010921..9fbea98d307 100644 --- a/features/org.eclipse.tm.terminal.view.feature/build.properties +++ b/features/org.eclipse.tm.terminal.view.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/build.properties b/features/org.eclipse.tm.terminal.view.rse.feature/build.properties index d9e56c50b07..7aae4d5aca5 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/build.properties +++ b/features/org.eclipse.tm.terminal.view.rse.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties index d9e56c50b07..7aae4d5aca5 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties index d9e56c50b07..7aae4d5aca5 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.local/build.properties b/plugins/org.eclipse.tm.terminal.connector.local/build.properties index a17f48f7453..12d179eeb9c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/build.properties +++ b/plugins/org.eclipse.tm.terminal.connector.local/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java index f4f748f9e14..72593ece7ad 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java index 239ebf7b1bd..af23f06e080 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.process/build.properties b/plugins/org.eclipse.tm.terminal.connector.process/build.properties index 1d978e3432b..f18cbc58aef 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/build.properties +++ b/plugins/org.eclipse.tm.terminal.connector.process/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java index 1b0deb428c0..90ff237d56c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties index a3755e8a086..4e09e4b44c4 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/build.properties b/plugins/org.eclipse.tm.terminal.connector.serial/build.properties index 221a2d955c1..333354053ba 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/build.properties +++ b/plugins/org.eclipse.tm.terminal.connector.serial/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java index d6671351f7a..53cf60c6287 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java index aac82d1638e..d6eeda14ed3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties index 221a2d955c1..333354053ba 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java index 0b79c8f239d..8132439ef1d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java index faba423eeab..00a471fa6cf 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java index d8620eeb309..463bbd21115 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java index bc0ab805818..d826e71bc40 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2000, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties index 6d92e5020e4..c6ed4b2cbe0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2000, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2000, 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java index 511216b6c56..b3c2a076a14 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java index 90a7e0b2fca..ab81b3be4a5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2015 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties index ca27a39c18e..8ca4d3eba2d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012, 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties index 221a2d955c1..333354053ba 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java index a34d374f372..0770963f5db 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java index c83bb036518..3c43eaeaf86 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java index 162991cc698..937e136279a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java index 9f920f9ae78..e14a2f6a9ef 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java index 01aae433dea..1a258723d6d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties index 2edd356b3ed..279fb9a8c4e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java index 4cbd2f9d3e5..be2764c9e9d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java index 0e7025bab6e..aa27cad8253 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java index 67d37aa2878..f7ee883656d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties index f00e9124398..84eac7a4c75 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java index ea8ef9fd8cf..e73568d9306 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java index a00ebeabc2b..a65a61c5170 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java index 1f4926eb46b..9bbfcd73af9 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index a3e4a269767..3a293cc4df2 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java index 5fb3d8c8571..9ccbdaa37eb 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java index bc5ea8d16ac..08561b872eb 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java index 32ff30ff334..ddcc65bbfb3 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties index fbf2da8263a..558ab80213d 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java index b074161de5a..eda9eff1f19 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java index 6e38fa70c56..85650f6e504 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java index 50c7fcc77e3..49260c160c3 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java index 1dae3fc6ce4..63532bdeb1e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java index cd042be0fbc..7876e68371e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java index 6ebba96795d..a91ec1cb9b0 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2004, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java index a3f26a37c1a..137d67acee6 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties index 9916dadcf5f..dd249e27d29 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java index 0286fd4f807..e95d69e86e2 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2013, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java index a4c84a5e10c..20c176f30a0 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java index 088b483e027..184b63b4e14 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java index 9bcbdb56681..362e8cef855 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java index 96103a4a133..dedac098a39 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse synchronized public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index 268999c5d6d..dd57d9da98c 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java index e6101581c46..92021783376 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java index d6832bd8939..aa0e2d79db6 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java index ce2f10373f5..52f351a7252 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007-2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java index 0c3bae84c49..0678d47767d 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 5abef797f8a..6e9f6dc9ac1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java index c002e3850f0..8f5455a6ba5 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java index 560000c81ee..a00d71d24d1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2013 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java index 372772cc0c6..79b3cb829e5 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 26bea5e1874..198a13cca83 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java index 179267081f3..14051ae2114 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 8306f92d9b4..5d03a25db78 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java index 7995087fa1d..40ab4bf1ca4 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java index bb81848555b..e03946b79b5 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java index 4d843b461c3..1891c6079f3 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java index 5b498874e35..4e09027ac48 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 5da29be45fa..818c8fd717b 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 27012b85b1f..6bd51f2bd25 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java index 5936cef0433..46497f42ede 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java index 774166f15d9..9d479c72954 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java index da4881338da..5ce26eec893 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java index 876ac102bc9..d7a63ae7e2a 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java index 3b544c11825..0d5960a37a9 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java index d5f8f1970be..3f153dd97fe 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java index 8786af1c7d3..0a6605d2876 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java index 8fa7e63439b..0fbe6982eb8 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java index e237adbbfd9..364f810e2cb 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties index ea545022931..240115633d0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties index 5fa615038a3..ec810ccdec9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java index 2d8a799cd48..f84636f6308 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java index ff0949eb340..0a9517fa14c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties index 2e332db1c3d..31897b0200b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/build.properties b/plugins/org.eclipse.tm.terminal.view.ui/build.properties index e4c5fea5c10..b92d23ad0bc 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/build.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/build.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java index 0816f1769ff..0013c77d09e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2013 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java index 4e8d5215256..0d57b7db0ca 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java index 4a697c16f35..0f7037c57f4 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java index 64bcdda7847..246e9895174 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java index 7622cc525d2..f108f885931 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java index a1cf1271f13..19878b514bb 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java index 3fb50a92142..55f0e00d6e7 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java index b5821efe2aa..029267ed589 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java index 3ce443c9166..87ee05b98f4 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java index 990909997d5..931874d38ba 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java index f07bca3ec37..40a649310a1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java index 33aa6f9a3c2..98c6635682a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java index 7627ae4924a..04f1047bdb3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2013, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2013, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java index e49178a0ba7..0c5912ea2f6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java index f96a9796ecc..31735ee5288 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java index 9912f743dca..3544fcd6267 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2012 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index 33733e7e567..eebcd85e4af 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2014 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html From d9130f679c48d78f0a54d11f2ced535ec9704e56 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 27 Apr 2015 07:20:48 +0200 Subject: [PATCH 660/843] Releng: Complete Terminal namespace cleanup. Renamed remote connector plug-in and features. --- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 33 ++++ .../feature.xml | 4 +- .../pom.xml | 2 +- .../.project | 2 +- .../build.properties | 0 .../feature.properties | 33 ++++ .../feature.xml | 6 +- .../pom.xml | 2 +- .../feature.properties | 165 ------------------ .../feature.properties | 165 ------------------ .../.classpath | 0 .../.cvsignore | 0 .../.gitignore | 0 .../.project | 2 +- .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../META-INF/MANIFEST.MF | 8 +- .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 25 +-- .../pom.xml | 2 +- .../schema/parsers.exsd | 0 .../connector}/remote/IRemoteSettings.java | 2 +- .../remote/IRemoteTerminalConstants.java | 2 +- .../remote/IRemoteTerminalParser.java | 2 +- .../connector/remote/internal}/Activator.java | 4 +- .../remote/internal}/ArgumentParser.java | 2 +- .../internal}/RemoteConnectionManager.java | 8 +- .../remote/internal}/RemoteConnector.java | 5 +- .../remote/internal}/RemoteSettings.java | 4 +- .../remote/internal}/RemoteSettingsPage.java | 2 +- .../remote/internal}/messages/Messages.java | 2 +- .../internal}/messages/messages.properties | 0 .../RemoteTerminalPreferenceInitializer.java | 6 +- .../RemoteTerminalPreferencePage.java | 8 +- pom.xml | 8 +- .../org.eclipse.tm.terminal.repo/category.xml | 4 +- 40 files changed, 123 insertions(+), 387 deletions(-) rename features/{org.eclipse.tm.terminal.remote.feature => org.eclipse.tm.terminal.connector.remote.feature}/.project (84%) rename features/{org.eclipse.tm.terminal.remote.feature => org.eclipse.tm.terminal.connector.remote.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties rename features/{org.eclipse.tm.terminal.remote.feature => org.eclipse.tm.terminal.connector.remote.feature}/feature.xml (93%) rename features/{org.eclipse.tm.terminal.remote.sdk.feature => org.eclipse.tm.terminal.connector.remote.feature}/pom.xml (92%) rename features/{org.eclipse.tm.terminal.remote.sdk.feature => org.eclipse.tm.terminal.connector.remote.sdk.feature}/.project (83%) rename features/{org.eclipse.tm.terminal.remote.sdk.feature => org.eclipse.tm.terminal.connector.remote.sdk.feature}/build.properties (100%) create mode 100644 features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties rename features/{org.eclipse.tm.terminal.remote.sdk.feature => org.eclipse.tm.terminal.connector.remote.sdk.feature}/feature.xml (86%) rename features/{org.eclipse.tm.terminal.remote.feature => org.eclipse.tm.terminal.connector.remote.sdk.feature}/pom.xml (92%) delete mode 100644 features/org.eclipse.tm.terminal.remote.feature/feature.properties delete mode 100644 features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.cvsignore (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.project (93%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/META-INF/MANIFEST.MF (66%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/plugin.properties (100%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/plugin.xml (51%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/pom.xml (89%) rename plugins/{org.eclipse.tm.terminal.remote => org.eclipse.tm.terminal.connnector.remote}/schema/parsers.exsd (100%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector}/remote/IRemoteSettings.java (95%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector}/remote/IRemoteTerminalConstants.java (92%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector}/remote/IRemoteTerminalParser.java (96%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/Activator.java (96%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/ArgumentParser.java (99%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/RemoteConnectionManager.java (96%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/RemoteConnector.java (95%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/RemoteSettings.java (93%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/RemoteSettingsPage.java (97%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/messages/Messages.java (93%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/messages/messages.properties (100%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/preferences/RemoteTerminalPreferenceInitializer.java (83%) rename plugins/{org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote => org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal}/preferences/RemoteTerminalPreferencePage.java (83%) diff --git a/features/org.eclipse.tm.terminal.remote.feature/.project b/features/org.eclipse.tm.terminal.connector.remote.feature/.project similarity index 84% rename from features/org.eclipse.tm.terminal.remote.feature/.project rename to features/org.eclipse.tm.terminal.connector.remote.feature/.project index 3dbd83bf56c..678a8ee6245 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/.project +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.remote.feature + org.eclipse.tm.terminal.connector.remote.feature diff --git a/features/org.eclipse.tm.terminal.remote.feature/build.properties b/features/org.eclipse.tm.terminal.connector.remote.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.remote.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.remote.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties new file mode 100644 index 00000000000..6d9ae2a9d28 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties @@ -0,0 +1,33 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Remote Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml similarity index 93% rename from features/org.eclipse.tm.terminal.remote.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml index 487dbbed29e..dae09f29463 100644 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml @@ -10,7 +10,7 @@ IBM Corporation - initial API and implementation --> 4.0.0.qualifier - org.eclipse.tm.terminal.remote.sdk.feature + org.eclipse.tm.terminal.connector.remote.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project similarity index 83% rename from features/org.eclipse.tm.terminal.remote.sdk.feature/.project rename to features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project index 974f53b28e2..f63833fdb66 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk.feature/.project +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.remote.sdk.feature + org.eclipse.tm.terminal.connector.remote.sdk.feature diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.remote.sdk.feature/build.properties rename to features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties new file mode 100644 index 00000000000..a0639c0e2fc --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties @@ -0,0 +1,33 @@ +############################################################################### +# Copyright (c) 2015 IBM Corporation and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Remote Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.0 Updates + +# "description" property - description of the feature +description=An remote connector implementation for the Terminal. + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2015 IBM Corporation and others.\n\ +All rights reserved. This program and the accompanying materials\n\ +are made available under the terms of the Eclipse Public License v1.0\n\ +which accompanies this distribution, and is available at\n\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml similarity index 86% rename from features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml rename to features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml index f6009c2a4cb..0c56510128a 100644 --- a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml @@ -10,7 +10,7 @@ IBM Corporation - initial API and implementation --> @@ -42,7 +42,7 @@ 4.0.0.qualifier - org.eclipse.tm.terminal.remote.feature + org.eclipse.tm.terminal.connector.remote.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.remote.feature/feature.properties deleted file mode 100644 index 22329c5c36d..00000000000 --- a/features/org.eclipse.tm.terminal.remote.feature/feature.properties +++ /dev/null @@ -1,165 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=TM Terminal Remote Connector Extensions - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Management - -# "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates - -# "description" property - description of the feature -description=An remote connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2015 IBM Corporation and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties deleted file mode 100644 index a5815f6f622..00000000000 --- a/features/org.eclipse.tm.terminal.remote.sdk.feature/feature.properties +++ /dev/null @@ -1,165 +0,0 @@ -############################################################################### -# Copyright (c) 2015 IBM Corporation and others. -# All rights reserved. This program and the accompanying materials -# are made available under the terms of the Eclipse Public License v1.0 -# which accompanies this distribution, and is available at -# http://www.eclipse.org/legal/epl-v10.html -############################################################################### -# feature.properties -# contains externalized strings for feature.xml -# "%foo" in feature.xml corresponds to the key "foo" in this file -# java.io.Properties file (ISO 8859-1 with "\" escapes) -# This file should be translated. - -# "featureName" property - name of the feature -featureName=TM Terminal Remote Connector Extensions, SDK - -# "providerName" property - name of the company that provides the feature -providerName=Eclipse.org - Target Management - -# "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates - -# "description" property - description of the feature -description=An remote connector implementation for the Terminal. - -# "copyright" property - text of the "Feature Update Copyright" -copyright=\ -Copyright (c) 2015 IBM Corporation and others.\n\ -All rights reserved. This program and the accompanying materials\n\ -are made available under the terms of the Eclipse Public License v1.0\n\ -which accompanies this distribution, and is available at\n\ -http://www.eclipse.org/legal/epl-v10.html -################ end of copyright property #################################### - -# "licenseURL" property - URL of the "Feature License" -# do not translate value - just change to point to a locale-specific HTML page -licenseURL=license.html - -# "license" property - text of the "Feature Update License" -# should be plain text version of license agreement pointed to be "licenseURL" -license=\ -Eclipse Foundation Software User Agreement\n\ -February 1, 2011\n\ -\n\ -Usage Of Content\n\ -\n\ -THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\ -OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\ -USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\ -AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\ -NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\ -AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\ -AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\ -OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\ -TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\ -OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\ -BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\ -\n\ -Applicable Licenses\n\ -\n\ -Unless otherwise indicated, all Content made available by the\n\ -Eclipse Foundation is provided to you under the terms and conditions of\n\ -the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\ -provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\ -For purposes of the EPL, "Program" will mean the Content.\n\ -\n\ -Content includes, but is not limited to, source code, object code,\n\ -documentation and other files maintained in the Eclipse Foundation source code\n\ -repository ("Repository") in software modules ("Modules") and made available\n\ -as downloadable archives ("Downloads").\n\ -\n\ - - Content may be structured and packaged into modules to facilitate delivering,\n\ - extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\ - plug-in fragments ("Fragments"), and features ("Features").\n\ - - Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\ - in a directory named "plugins".\n\ - - A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\ - Each Feature may be packaged as a sub-directory in a directory named "features".\n\ - Within a Feature, files named "feature.xml" may contain a list of the names and version\n\ - numbers of the Plug-ins and/or Fragments associated with that Feature.\n\ - - Features may also include other Features ("Included Features"). Within a Feature, files\n\ - named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\ -\n\ -The terms and conditions governing Plug-ins and Fragments should be\n\ -contained in files named "about.html" ("Abouts"). The terms and\n\ -conditions governing Features and Included Features should be contained\n\ -in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\ -Licenses may be located in any directory of a Download or Module\n\ -including, but not limited to the following locations:\n\ -\n\ - - The top-level (root) directory\n\ - - Plug-in and Fragment directories\n\ - - Inside Plug-ins and Fragments packaged as JARs\n\ - - Sub-directories of the directory named "src" of certain Plug-ins\n\ - - Feature directories\n\ -\n\ -Note: if a Feature made available by the Eclipse Foundation is installed using the\n\ -Provisioning Technology (as defined below), you must agree to a license ("Feature \n\ -Update License") during the installation process. If the Feature contains\n\ -Included Features, the Feature Update License should either provide you\n\ -with the terms and conditions governing the Included Features or inform\n\ -you where you can locate them. Feature Update Licenses may be found in\n\ -the "license" property of files named "feature.properties" found within a Feature.\n\ -Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\ -terms and conditions (or references to such terms and conditions) that\n\ -govern your use of the associated Content in that directory.\n\ -\n\ -THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\ -TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\ -SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\ -\n\ - - Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\ - - Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\ - - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\ - - Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\ - - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\ - - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\ -\n\ -IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\ -TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\ -is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\ -govern that particular Content.\n\ -\n\ -\n\Use of Provisioning Technology\n\ -\n\ -The Eclipse Foundation makes available provisioning software, examples of which include,\n\ -but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\ -the purpose of allowing users to install software, documentation, information and/or\n\ -other materials (collectively "Installable Software"). This capability is provided with\n\ -the intent of allowing such users to install, extend and update Eclipse-based products.\n\ -Information about packaging Installable Software is available at\n\ -http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\ -\n\ -You may use Provisioning Technology to allow other parties to install Installable Software.\n\ -You shall be responsible for enabling the applicable license agreements relating to the\n\ -Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\ -in accordance with the Specification. By using Provisioning Technology in such a manner and\n\ -making it available in accordance with the Specification, you further acknowledge your\n\ -agreement to, and the acquisition of all necessary rights to permit the following:\n\ -\n\ - 1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\ - the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\ - extending or updating the functionality of an Eclipse-based product.\n\ - 2. During the Provisioning Process, the Provisioning Technology may cause third party\n\ - Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\ - 3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\ - govern the use of the Installable Software ("Installable Software Agreement") and such\n\ - Installable Software Agreement shall be accessed from the Target Machine in accordance\n\ - with the Specification. Such Installable Software Agreement must inform the user of the\n\ - terms and conditions that govern the Installable Software and must solicit acceptance by\n\ - the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\ - indication of agreement by the user, the provisioning Technology will complete installation\n\ - of the Installable Software.\n\ -\n\ -Cryptography\n\ -\n\ -Content may contain encryption software. The country in which you are\n\ -currently may have restrictions on the import, possession, and use,\n\ -and/or re-export to another country, of encryption software. BEFORE\n\ -using any encryption software, please check the country's laws,\n\ -regulations and policies concerning the import, possession, or use, and\n\ -re-export of encryption software, to see if this is permitted.\n\ -\n\ -Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n -########### end of license property ########################################## diff --git a/plugins/org.eclipse.tm.terminal.remote/.classpath b/plugins/org.eclipse.tm.terminal.connnector.remote/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/.classpath rename to plugins/org.eclipse.tm.terminal.connnector.remote/.classpath diff --git a/plugins/org.eclipse.tm.terminal.remote/.cvsignore b/plugins/org.eclipse.tm.terminal.connnector.remote/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/.cvsignore rename to plugins/org.eclipse.tm.terminal.connnector.remote/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.remote/.gitignore b/plugins/org.eclipse.tm.terminal.connnector.remote/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/.gitignore rename to plugins/org.eclipse.tm.terminal.connnector.remote/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.remote/.project b/plugins/org.eclipse.tm.terminal.connnector.remote/.project similarity index 93% rename from plugins/org.eclipse.tm.terminal.remote/.project rename to plugins/org.eclipse.tm.terminal.connnector.remote/.project index 772df90ccb9..da3152ba6b3 100644 --- a/plugins/org.eclipse.tm.terminal.remote/.project +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/.project @@ -1,6 +1,6 @@ - org.eclipse.tm.terminal.remote + org.eclipse.tm.terminal.connector.remote diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF similarity index 66% rename from plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF index 57a6b9ae663..70b1cc30d7d 100644 --- a/plugins/org.eclipse.tm.terminal.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF @@ -1,7 +1,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: org.eclipse.tm.terminal.remote;singleton:=true +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.remote;singleton:=true Bundle-Version: 1.0.0.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin @@ -14,9 +14,9 @@ Require-Bundle: org.eclipse.ui, org.eclipse.swt, org.eclipse.jface Bundle-RequiredExecutionEnvironment: JavaSE-1.6 -Export-Package: org.eclipse.tm.internal.terminal.remote;x-internal:=true, - org.eclipse.tm.terminal.remote -Bundle-Activator: org.eclipse.tm.internal.terminal.remote.Activator +Export-Package: org.eclipse.tm.terminal.connector.remote, + org.eclipse.tm.terminal.connector.remote.internal;x-internal:=true +Bundle-Activator: org.eclipse.tm.terminal.connector.remote.internal.Activator Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Import-Package: org.eclipse.core.resources, diff --git a/plugins/org.eclipse.tm.terminal.remote/about.html b/plugins/org.eclipse.tm.terminal.connnector.remote/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/about.html rename to plugins/org.eclipse.tm.terminal.connnector.remote/about.html diff --git a/plugins/org.eclipse.tm.terminal.remote/build.properties b/plugins/org.eclipse.tm.terminal.connnector.remote/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/build.properties rename to plugins/org.eclipse.tm.terminal.connnector.remote/build.properties diff --git a/plugins/org.eclipse.tm.terminal.remote/plugin.properties b/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/plugin.properties rename to plugins/org.eclipse.tm.terminal.connnector.remote/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml similarity index 51% rename from plugins/org.eclipse.tm.terminal.remote/plugin.xml rename to plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml index 46ea8858d99..fd40fcf4c85 100644 --- a/plugins/org.eclipse.tm.terminal.remote/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml @@ -9,23 +9,26 @@ --> - - + + + + - + + + + class="org.eclipse.tm.terminal.connector.remote.internal.preferences.RemoteTerminalPreferenceInitializer"> - + + diff --git a/plugins/org.eclipse.tm.terminal.remote/pom.xml b/plugins/org.eclipse.tm.terminal.connnector.remote/pom.xml similarity index 89% rename from plugins/org.eclipse.tm.terminal.remote/pom.xml rename to plugins/org.eclipse.tm.terminal.connnector.remote/pom.xml index 5f11544d2bd..e76aad3bf17 100644 --- a/plugins/org.eclipse.tm.terminal.remote/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - org.eclipse.tm.terminal.remote + org.eclipse.tm.terminal.connector.remote 1.0.0-SNAPSHOT eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd b/plugins/org.eclipse.tm.terminal.connnector.remote/schema/parsers.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/schema/parsers.exsd rename to plugins/org.eclipse.tm.terminal.connnector.remote/schema/parsers.exsd diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java index 22b07d0107d..9436f26f65b 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.terminal.remote; +package org.eclipse.tm.terminal.connector.remote; public interface IRemoteSettings { public static final String CONNECTION_NAME = "ConnectionName"; //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java similarity index 92% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java index d0f29e085c8..512248c6162 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalConstants.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.terminal.remote; +package org.eclipse.tm.terminal.connector.remote; public interface IRemoteTerminalConstants { public static final String PREF_TERMINAL_SHELL_COMMAND = "TERMINAL_SHELL_COMMAND"; //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java index f951e2309e8..43858e09b3c 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/terminal/remote/IRemoteTerminalParser.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.terminal.remote; +package org.eclipse.tm.terminal.connector.remote; import java.io.IOException; diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java index 2e5ecad2515..8c59e988e1f 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/Activator.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java @@ -5,13 +5,13 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Plugin; import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.internal.terminal.remote.messages.Messages; +import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java similarity index 99% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java index 28add0f3f99..17831ce0913 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/ArgumentParser.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java @@ -8,7 +8,7 @@ * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import java.text.CharacterIterator; import java.text.StringCharacterIterator; diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java similarity index 96% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 5b3a7e30480..040c180437a 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import java.io.IOException; import java.io.InputStream; @@ -32,9 +32,9 @@ import org.eclipse.remote.core.IRemoteServicesManager; import org.eclipse.remote.core.exception.RemoteConnectionException; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; -import org.eclipse.tm.internal.terminal.remote.messages.Messages; -import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; -import org.eclipse.tm.terminal.remote.IRemoteTerminalParser; +import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalParser; +import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; @SuppressWarnings("restriction") public class RemoteConnectionManager extends Job { diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java index f52eb22ec10..9534da8bbf8 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java @@ -5,18 +5,17 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import java.io.InputStream; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.tm.terminal.remote.IRemoteSettings; +import org.eclipse.tm.terminal.connector.remote.IRemoteSettings; @SuppressWarnings("restriction") public class RemoteConnector extends TerminalConnectorImpl { diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java similarity index 93% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java index f0670d5018d..74b6c8f80f2 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java @@ -5,10 +5,10 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; -import org.eclipse.tm.terminal.remote.IRemoteSettings; +import org.eclipse.tm.terminal.connector.remote.IRemoteSettings; @SuppressWarnings("restriction") public class RemoteSettings implements IRemoteSettings { diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index 646274136e0..07a8737c293 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote; +package org.eclipse.tm.terminal.connector.remote.internal; import org.eclipse.remote.ui.widgets.RemoteConnectionWidget; import org.eclipse.swt.SWT; diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java similarity index 93% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java index a0df4052781..cbd28f45ea6 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java @@ -5,7 +5,7 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote.messages; +package org.eclipse.tm.terminal.connector.remote.internal.messages; import org.eclipse.osgi.util.NLS; diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/messages/messages.properties rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/messages.properties diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java similarity index 83% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java index 99d3a8ac91c..895da449685 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java @@ -5,13 +5,13 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote.preferences; +package org.eclipse.tm.terminal.connector.remote.internal.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.core.runtime.preferences.DefaultScope; import org.eclipse.core.runtime.preferences.IEclipsePreferences; -import org.eclipse.tm.internal.terminal.remote.Activator; -import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.connector.remote.internal.Activator; public class RemoteTerminalPreferenceInitializer extends AbstractPreferenceInitializer { diff --git a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java similarity index 83% rename from plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java index cfc75187ddf..993f4e34608 100644 --- a/plugins/org.eclipse.tm.terminal.remote/src/org/eclipse/tm/internal/terminal/remote/preferences/RemoteTerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java @@ -5,16 +5,16 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.internal.terminal.remote.preferences; +package org.eclipse.tm.terminal.connector.remote.internal.preferences; import org.eclipse.core.runtime.preferences.InstanceScope; import org.eclipse.jface.preference.FieldEditorPreferencePage; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.StringFieldEditor; import org.eclipse.swt.widgets.Composite; -import org.eclipse.tm.internal.terminal.remote.Activator; -import org.eclipse.tm.internal.terminal.remote.messages.Messages; -import org.eclipse.tm.terminal.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; +import org.eclipse.tm.terminal.connector.remote.internal.Activator; +import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.preferences.ScopedPreferenceStore; diff --git a/pom.xml b/pom.xml index 32c87863c7d..1a85d69cf3d 100644 --- a/pom.xml +++ b/pom.xml @@ -27,14 +27,15 @@ plugins/org.eclipse.tm.terminal.connector.local plugins/org.eclipse.tm.terminal.connector.process + plugins/org.eclipse.tm.terminal.connector.remote plugins/org.eclipse.tm.terminal.connector.serial plugins/org.eclipse.tm.terminal.connector.ssh plugins/org.eclipse.tm.terminal.connector.telnet - - plugins/org.eclipse.tm.terminal.remote features/org.eclipse.tm.terminal.connector.local.feature features/org.eclipse.tm.terminal.connector.local.sdk.feature + features/org.eclipse.tm.terminal.connector.remote.feature + features/org.eclipse.tm.terminal.connector.remote.sdk.feature features/org.eclipse.tm.terminal.connector.serial.feature features/org.eclipse.tm.terminal.connector.serial.sdk.feature features/org.eclipse.tm.terminal.connector.ssh.feature @@ -42,9 +43,6 @@ features/org.eclipse.tm.terminal.connector.telnet.feature features/org.eclipse.tm.terminal.connector.telnet.sdk.feature - features/org.eclipse.tm.terminal.remote.feature - features/org.eclipse.tm.terminal.remote.sdk.feature - plugins/org.eclipse.tm.terminal.view.core plugins/org.eclipse.tm.terminal.view.ui diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 3d19634b4c9..4ecf2e72e45 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -33,10 +33,10 @@ - + - + From 3b3cc4ae76e0a7ff9aaab795a4131034b4b1d716 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 27 Apr 2015 08:50:06 +0200 Subject: [PATCH 661/843] Remote: Contribute remote terminal connector to "Terminals" view --- .../META-INF/MANIFEST.MF | 11 +- .../plugin.xml | 20 +++ .../RemoteWizardConfigurationPanel.java | 157 ++++++++++++++++++ .../connector/remote/internal/Activator.java | 2 +- .../internal/RemoteConnectionManager.java | 10 +- .../remote/internal/RemoteConnector.java | 5 +- .../remote/internal/RemoteSettingsPage.java | 22 ++- .../RemoteTerminalPreferencePage.java | 2 +- .../launcher/RemoteLauncherDelegate.java | 151 +++++++++++++++++ .../remote/launcher/RemoteMementoHandler.java | 53 ++++++ .../{internal/messages => nls}/Messages.java | 8 +- .../Messages.properties} | 3 + 12 files changed, 426 insertions(+), 18 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java create mode 100644 plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java create mode 100644 plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java rename plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/{internal/messages => nls}/Messages.java (74%) rename plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/{internal/messages/messages.properties => nls/Messages.properties} (87%) diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF index 70b1cc30d7d..967d9d09f00 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF @@ -12,10 +12,17 @@ Require-Bundle: org.eclipse.ui, org.eclipse.remote.ui, org.eclipse.core.resources, org.eclipse.swt, - org.eclipse.jface + org.eclipse.jface, + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0";resolution:=optional, + org.eclipse.tm.terminal.view.ui;bundle-version="4.0.0";resolution:=optional, + org.eclipse.core.expressions Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Export-Package: org.eclipse.tm.terminal.connector.remote, - org.eclipse.tm.terminal.connector.remote.internal;x-internal:=true + org.eclipse.tm.terminal.connector.remote.controls, + org.eclipse.tm.terminal.connector.remote.internal;x-internal:=true, + org.eclipse.tm.terminal.connector.remote.internal.preferences;x-internal:=true, + org.eclipse.tm.terminal.connector.remote.launcher, + org.eclipse.tm.terminal.connector.remote.nls;x-internal:=true Bundle-Activator: org.eclipse.tm.terminal.connector.remote.internal.Activator Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml index fd40fcf4c85..cb1c8b66dba 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml @@ -17,6 +17,26 @@ id="org.eclipse.tm.terminal.connector.remote.RemoteConnector" class="org.eclipse.tm.terminal.connector.remote.internal.RemoteConnector"/> + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java new file mode 100644 index 00000000000..0ee8e44f5a0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java @@ -0,0 +1,157 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.remote.controls; + +import java.util.Map; + +import org.eclipse.jface.dialogs.IDialogSettings; +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.swt.widgets.Control; +import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; +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 { + + public RemoteSettings remoteSettings; + private ISettingsPage remoteSettingsPage; + + /** + * Constructor. + * + * @param container The configuration panel container or null. + */ + public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) { + super(container); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) + */ + @Override + public void setupPanel(Composite parent) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + RemoteConnector conn = new RemoteConnector(); + remoteSettings = (RemoteSettings) conn.getRemoteSettings(); + + remoteSettingsPage = new RemoteSettingsPage(remoteSettings); + if (remoteSettingsPage instanceof AbstractSettingsPage) { + ((AbstractSettingsPage)remoteSettingsPage).setHasControlDecoration(true); + } + remoteSettingsPage.createControl(panel); + + // Add the listener to the settings page + remoteSettingsPage.addListener(new ISettingsPage.Listener() { + + @Override + public void onSettingsPageChanged(Control control) { + if (getContainer() != null) getContainer().validate(); + } + }); + + // Create the encoding selection combo + createEncodingUI(panel, true); + + setControl(panel); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) + */ + @Override + public void setupData(Map data) { + if (data == null || remoteSettings == null || remoteSettingsPage == null) return; + + String value = (String)data.get(IRemoteSettings.REMOTE_SERVICES); + if (value != null) remoteSettings.setRemoteServices(value); + + value = (String)data.get(IRemoteSettings.CONNECTION_NAME); + if (value != null) remoteSettings.setConnectionName(value); + + value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) setEncoding(value); + + remoteSettingsPage.loadSettings(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) + */ + @Override + public void extractData(Map data) { + if (data == null) return; + + // set the terminal connector id for remote + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.remote.RemoteConnector"); //$NON-NLS-1$ + + remoteSettingsPage.saveSettings(); + + data.put(IRemoteSettings.REMOTE_SERVICES, remoteSettings.getRemoteServices()); + data.put(IRemoteSettings.CONNECTION_NAME, remoteSettings.getConnectionName()); + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) + */ + @Override + protected void fillSettingsForHost(String host){ + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) + */ + @Override + protected void saveSettingsForHost(boolean add){ + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() + */ + @Override + public boolean isValid(){ + return isEncodingValid() && remoteSettingsPage.validateSettings(); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + */ + @Override + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + saveSettingsForHost(true); + super.doSaveWidgetValues(settings, idPrefix); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() + */ + @Override + protected String getHostFromSettings() { + remoteSettingsPage.saveSettings(); + return null; + } +} diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java index 8c59e988e1f..12aa175d463 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java @@ -11,7 +11,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Plugin; import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; +import org.eclipse.tm.terminal.connector.remote.nls.Messages; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 040c180437a..7615ac3ba1b 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -34,7 +34,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalParser; -import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; +import org.eclipse.tm.terminal.connector.remote.nls.Messages; @SuppressWarnings("restriction") public class RemoteConnectionManager extends Job { @@ -67,20 +67,20 @@ public class RemoteConnectionManager extends Job { try { IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); - String connTypeId = connector.getSshSettings().getRemoteServices(); + String connTypeId = connector.getRemoteSettings().getRemoteServices(); IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); if (connType != null) { - remoteConnection = connType.getConnection(connector.getSshSettings().getConnectionName()); + remoteConnection = connType.getConnection(connector.getRemoteSettings().getConnectionName()); } if (remoteConnection == null) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getSshSettings() + throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings() .getConnectionName())); } if (!remoteConnection.isOpen()) { remoteConnection.open(monitor); if (!remoteConnection.isOpen()) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_1, connector.getSshSettings() + throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings() .getConnectionName())); } } diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java index 9534da8bbf8..592422d17cc 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java @@ -90,12 +90,11 @@ public class RemoteConnector extends TerminalConnectorImpl { } /** - * Return the SSH Settings. + * Return the Remote Settings. * * @return the settings for a concrete connection. - * @since org.eclipse.tm.terminal.ssh 2.0 renamed from getTelnetSettings() */ - public IRemoteSettings getSshSettings() { + public IRemoteSettings getRemoteSettings() { return fSettings; } diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index 07a8737c293..d5ee56a17de 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -9,6 +9,8 @@ package org.eclipse.tm.terminal.connector.remote.internal; import org.eclipse.remote.ui.widgets.RemoteConnectionWidget; import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; @@ -25,13 +27,19 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public void saveSettings() { - fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); - fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); + if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { + if (fRemoteConnectionWidget.getConnection() != null) { + if (fRemoteConnectionWidget.getConnection().getConnectionType() != null) { + fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); + } + fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); + } + } } @Override public void loadSettings() { - if (fTerminalSettings != null) { + if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { fRemoteConnectionWidget.setConnection(fTerminalSettings.getRemoteServices(), fTerminalSettings.getConnectionName()); } } @@ -45,7 +53,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public boolean validateSettings() { - if (fRemoteConnectionWidget.getConnection() == null) { + if (fRemoteConnectionWidget == null || fRemoteConnectionWidget.isDisposed() || fRemoteConnectionWidget.getConnection() == null) { return false; } return true; @@ -61,6 +69,12 @@ public class RemoteSettingsPage extends AbstractSettingsPage { composite.setLayoutData(gridData); fRemoteConnectionWidget = new RemoteConnectionWidget(composite, SWT.NONE, null, 0); + fRemoteConnectionWidget.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + fireListeners(fRemoteConnectionWidget); + } + }); loadSettings(); } } diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java index 993f4e34608..595b4d4e6cc 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java @@ -14,7 +14,7 @@ import org.eclipse.jface.preference.StringFieldEditor; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; import org.eclipse.tm.terminal.connector.remote.internal.Activator; -import org.eclipse.tm.terminal.connector.remote.internal.messages.Messages; +import org.eclipse.tm.terminal.connector.remote.nls.Messages; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.preferences.ScopedPreferenceStore; diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java new file mode 100644 index 00000000000..8d36ea5c197 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -0,0 +1,151 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.remote.launcher; + +import java.text.DateFormat; +import java.util.Date; +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.osgi.util.NLS; +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.tm.terminal.connector.remote.IRemoteSettings; +import org.eclipse.tm.terminal.connector.remote.controls.RemoteWizardConfigurationPanel; +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(); + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() + */ + @Override + public boolean needsUserConfiguration() { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) + */ + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new RemoteWizardConfigurationPanel(container); + } + + /* (non-Javadoc) + * @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) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // For Telnet terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + + /** + * Returns the terminal title string. + *

                                        + * The default implementation constructs a title like "SSH @ host (Start time) ". + * + * @return The terminal title string or null. + */ + private String getTerminalTitle(Map properties) { + String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + + if (connection != null) { + DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); + String date = format.format(new Date(System.currentTimeMillis())); + return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[]{connection, date}); + } + return Messages.RemoteLauncherDelegate_terminalTitle_default; + } + + /* (non-Javadoc) + * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) + */ + @SuppressWarnings("rawtypes") + @Override + public Object getAdapter(Class adapter) { + if (IMementoHandler.class.equals(adapter)) { + return mementoHandler; + } + return super.getAdapter(adapter); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) + */ + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.remote.RemoteConnector"; //$NON-NLS-1$ + + // Extract the remote properties + String services = (String)properties.get(IRemoteSettings.REMOTE_SERVICES); + String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + + // Construct the remote settings + RemoteSettings remoteSettings = new RemoteSettings(); + remoteSettings.setRemoteServices(services); + remoteSettings.setConnectionName(connection); + // And save the settings to the store + remoteSettings.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); + } + + return connector; + } +} diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java new file mode 100644 index 00000000000..92db0a543d1 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java @@ -0,0 +1,53 @@ +/******************************************************************************* + * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.remote.launcher; + +import java.util.Map; + +import org.eclipse.core.runtime.Assert; +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; + +/** + * Telnet terminal connection memento handler implementation. + */ +public class RemoteMementoHandler implements IMementoHandler { + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void saveState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Do not write the terminal title to the memento -> needs to + // be recreated at the time of restoration. + memento.putString(IRemoteSettings.CONNECTION_NAME, (String)properties.get(IRemoteSettings.CONNECTION_NAME)); + memento.putString(IRemoteSettings.REMOTE_SERVICES, (String)properties.get(IRemoteSettings.REMOTE_SERVICES)); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + } + + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) + */ + @Override + public void restoreState(IMemento memento, Map properties) { + Assert.isNotNull(memento); + Assert.isNotNull(properties); + + // Restore the terminal properties from the memento + properties.put(IRemoteSettings.CONNECTION_NAME, memento.getString(IRemoteSettings.CONNECTION_NAME)); + properties.put(IRemoteSettings.REMOTE_SERVICES, memento.getString(IRemoteSettings.REMOTE_SERVICES)); + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); + } +} diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java similarity index 74% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java index cbd28f45ea6..b544abe7400 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java @@ -5,12 +5,12 @@ * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html *******************************************************************************/ -package org.eclipse.tm.terminal.connector.remote.internal.messages; +package org.eclipse.tm.terminal.connector.remote.nls; import org.eclipse.osgi.util.NLS; public class Messages extends NLS { - private static final String BUNDLE_NAME = "org.eclipse.tm.internal.terminal.remote.messages.messages"; //$NON-NLS-1$ + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.remote.nls.Messages"; //$NON-NLS-1$ public static String RemoteConnectionManager_0; @@ -19,6 +19,10 @@ public class Messages extends NLS { public static String RemoteTerminalPreferencePage_0; public static String TERMINAL_EXCEPTION; + + public static String RemoteLauncherDelegate_terminalTitle; + public static String RemoteLauncherDelegate_terminalTitle_default; + static { // initialize resource bundle NLS.initializeMessages(BUNDLE_NAME, Messages.class); diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/messages.properties b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties similarity index 87% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/messages.properties rename to plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties index 0690775e652..427a2ef1018 100644 --- a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/messages/messages.properties +++ b/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties @@ -11,3 +11,6 @@ RemoteConnectionManager_0=Unable to create connection: {0} RemoteConnectionManager_1=Unable to to open connection: {0} RemoteTerminalPreferencePage_0=Initial Shell Command TERMINAL_EXCEPTION=Remote Terminal Exception + +RemoteLauncherDelegate_terminalTitle={0} ({1}) +RemoteLauncherDelegate_terminalTitle_default=Remote Terminal From 7655c5aee1cdb8337863009b9cced940020f5ea0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 27 Apr 2015 09:06:31 +0200 Subject: [PATCH 662/843] Releng: Fix terminal connector dependencies --- .../feature.xml | 6 ++---- .../feature.xml | 1 + .../feature.xml | 6 ++++-- .../feature.xml | 8 +++++--- .../feature.xml | 8 +++++--- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- 10 files changed, 27 insertions(+), 22 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml index c5a855c1e41..3b21374ac52 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -34,16 +34,14 @@ - - - - + + + - - + + + + - - + - + + + + - - - + + + + + Date: Mon, 27 Apr 2015 09:10:31 +0200 Subject: [PATCH 663/843] Releng: Fix typo in directory name --- .../.classpath | 0 .../.cvsignore | 0 .../.gitignore | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../schema/parsers.exsd | 0 .../org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java | 0 .../tm/terminal/connector/remote/IRemoteTerminalConstants.java | 0 .../tm/terminal/connector/remote/IRemoteTerminalParser.java | 0 .../connector/remote/controls/RemoteWizardConfigurationPanel.java | 0 .../eclipse/tm/terminal/connector/remote/internal/Activator.java | 0 .../tm/terminal/connector/remote/internal/ArgumentParser.java | 0 .../connector/remote/internal/RemoteConnectionManager.java | 0 .../tm/terminal/connector/remote/internal/RemoteConnector.java | 0 .../tm/terminal/connector/remote/internal/RemoteSettings.java | 0 .../tm/terminal/connector/remote/internal/RemoteSettingsPage.java | 0 .../internal/preferences/RemoteTerminalPreferenceInitializer.java | 0 .../remote/internal/preferences/RemoteTerminalPreferencePage.java | 0 .../connector/remote/launcher/RemoteLauncherDelegate.java | 0 .../terminal/connector/remote/launcher/RemoteMementoHandler.java | 0 .../org/eclipse/tm/terminal/connector/remote/nls/Messages.java | 0 .../eclipse/tm/terminal/connector/remote/nls/Messages.properties | 0 29 files changed, 0 insertions(+), 0 deletions(-) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.classpath (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.cvsignore (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.gitignore (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.project (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.settings/org.eclipse.jdt.core.prefs (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/.settings/org.eclipse.jdt.ui.prefs (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/META-INF/MANIFEST.MF (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/about.html (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/build.properties (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/plugin.properties (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/plugin.xml (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/pom.xml (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/schema/parsers.exsd (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java (100%) rename plugins/{org.eclipse.tm.terminal.connnector.remote => org.eclipse.tm.terminal.connector.remote}/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties (100%) diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.classpath b/plugins/org.eclipse.tm.terminal.connector.remote/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.classpath rename to plugins/org.eclipse.tm.terminal.connector.remote/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.cvsignore b/plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.cvsignore rename to plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.gitignore b/plugins/org.eclipse.tm.terminal.connector.remote/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.gitignore rename to plugins/org.eclipse.tm.terminal.connector.remote/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.project b/plugins/org.eclipse.tm.terminal.connector.remote/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.project rename to plugins/org.eclipse.tm.terminal.connector.remote/.project diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.core.prefs rename to plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/.settings/org.eclipse.jdt.ui.prefs rename to plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/META-INF/MANIFEST.MF rename to plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/about.html b/plugins/org.eclipse.tm.terminal.connector.remote/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/about.html rename to plugins/org.eclipse.tm.terminal.connector.remote/about.html diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/build.properties b/plugins/org.eclipse.tm.terminal.connector.remote/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/build.properties rename to plugins/org.eclipse.tm.terminal.connector.remote/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/plugin.properties rename to plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/plugin.xml rename to plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/pom.xml b/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/pom.xml rename to plugins/org.eclipse.tm.terminal.connector.remote/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/schema/parsers.exsd b/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/schema/parsers.exsd rename to plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connnector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties rename to plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties From 04de7d8c8286564776d0cdbe7b8c15b60689e66f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 27 Apr 2015 10:18:16 +0200 Subject: [PATCH 664/843] Remote: Remove unnecessary launcher delegate enablement --- .../plugin.xml | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml index cb1c8b66dba..0617a73d720 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml @@ -24,17 +24,6 @@ class="org.eclipse.tm.terminal.connector.remote.launcher.RemoteLauncherDelegate" id="org.eclipse.tm.terminal.connector.telnet.launcher.remote" label="Remote Terminal"> - - - - - - - - From ea05deec757692f288e9a1127b215d405adf3595 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 28 Apr 2015 12:32:18 +0200 Subject: [PATCH 665/843] Releng: Change terminal category name to avoid conflicts with TM --- .../org.eclipse.tm.terminal.repo/category.xml | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 4ecf2e72e45..cd76b8c54c8 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -2,67 +2,67 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + TM Terminal Main Features From 07831b65c139d42f2ce0b97d62381ed5d27883ac Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 29 Apr 2015 11:21:40 +0200 Subject: [PATCH 666/843] Releng: Update Orbit repository to be used for Mars M7 --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index bbdf7c0b658..a58f0d45ae8 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -60,7 +60,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version}milestones - http://download.eclipse.org/tools/orbit/downloads/drops/S20150316021154/repository/ + http://download.eclipse.org/tools/orbit/downloads/drops/S20150428165605/repository/ http://download.eclipse.org/tools/cdt/releases/8.6 http://download.eclipse.org/tm/updates/4.0milestones http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones From 06cc685c943b823c5411fe0305ea26377b84cc1e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 29 Apr 2015 12:52:47 +0200 Subject: [PATCH 667/843] Releng: Fix org.eclipse.cdt.native dependency must be optional --- .../org.eclipse.tm.terminal.connector.local.feature/feature.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml index 3b21374ac52..15b91e98246 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -40,7 +40,6 @@ - From c15e9fafe01a4ebace8cf9ff3e5e46c30538a0b6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 30 Apr 2015 07:47:18 +0200 Subject: [PATCH 668/843] Releng: Attempt to get rid of the pack200 crashes - see bug #464947 --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index a58f0d45ae8..2cb9356368f 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -44,7 +44,7 @@ 1.5 2.5.2 - 1.1.1 + 1.1.2-SNAPSHOT ${env.WORKSPACE}/admin From cc862f153f21ce41fffbc3b09bc1fdd472809e6e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 30 Apr 2015 08:11:01 +0200 Subject: [PATCH 669/843] Releng: Added CBI Snapshot repository --- admin/pom-config.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 2cb9356368f..53cee805124 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -126,6 +126,10 @@ cbi https://repo.eclipse.org/content/repositories/cbi-releases/ + + cbi-snapshots + https://repo.eclipse.org/content/repositories/cbi-snapshots/ + From 616610fc8b5e270920857e3db011dbe00b84ff0d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 30 Apr 2015 08:55:17 +0200 Subject: [PATCH 670/843] Control: Fix plug-in ID referenced in TerminalPlugin --- .../terminal/control/impl/TerminalPlugin.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java index c61d09bba9a..de791f818d1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java @@ -24,13 +24,12 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.tm.internal.terminal.control.actions.ImageConsts; -import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; public class TerminalPlugin extends AbstractUIPlugin { private static TerminalPlugin plugin; - public static final String PLUGIN_ID = "org.eclipse.tm.terminal"; //$NON-NLS-1$ + public static final String PLUGIN_ID = "org.eclipse.tm.terminal.control"; //$NON-NLS-1$ public static final String HELP_VIEW = PLUGIN_ID + ".terminal_view"; //$NON-NLS-1$ /** @@ -44,19 +43,21 @@ public class TerminalPlugin extends AbstractUIPlugin { public static TerminalPlugin getDefault() { return plugin; } - + /* (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ - public void start(BundleContext context) throws Exception { + @Override + public void start(BundleContext context) throws Exception { super.start(context); plugin = this; } - + /* (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ - public void stop(BundleContext context) throws Exception { + @Override + public void stop(BundleContext context) throws Exception { plugin = null; super.stop(context); } @@ -69,7 +70,8 @@ public class TerminalPlugin extends AbstractUIPlugin { return new Boolean(strEnabled).booleanValue(); } - protected void initializeImageRegistry(ImageRegistry imageRegistry) { + @Override + protected void initializeImageRegistry(ImageRegistry imageRegistry) { try { // Local toolbars putImageInRegistry(imageRegistry, ImageConsts.IMAGE_CLCL_CLEAR_ALL, ImageConsts.IMAGE_DIR_LOCALTOOL + "clear_co.gif"); //$NON-NLS-1$ From e03a36ceabcb23f96b2aa91a4a589f5b518d4d85 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 30 Apr 2015 10:06:50 +0200 Subject: [PATCH 671/843] View: Fix extension point schema --- .../schema/launcherDelegates.exsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd b/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd index 49c11e6eef4..e3454e0be03 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd +++ b/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd @@ -85,7 +85,7 @@ Terminal launcher delegates contributes terminal settings widget to the <code The terminal launcher delegate implementation class must be specified either by the class attribute or the class child element! - + @@ -125,7 +125,7 @@ The terminal launcher delegate implementation class must be specified either by The terminal launcher delegate implementation class must be specified either by the class attribute or the class child element! - + From 8e6b5d7ccc2e33f628d06e3b62807afb09bb888b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 4 May 2015 10:23:43 +0200 Subject: [PATCH 672/843] Releng: Fix providerNames --- .../org.eclipse.tm.terminal.connector.local/plugin.properties | 2 +- .../plugin.properties | 2 +- .../plugin.properties | 2 +- .../org.eclipse.tm.terminal.connector.ssh/plugin.properties | 2 +- .../plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.control/plugin.properties | 4 ++-- plugins/org.eclipse.tm.terminal.view.core/plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.view.ui/plugin.properties | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties index ceb5be00523..2f6756aa4c3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals Local Connector -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Commands and Menu contributions ----- LocalLauncherDelegate.label=Local Terminal diff --git a/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties index 3b864f4b95f..91a2a4ebae1 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals Process Connector -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Terminal Connectors ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties index 652ddd7c29a..92319a0182a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = TM Terminal Serial Connector Extensions -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Terminal Launcher Delegates ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties index ce0b1ebb7b0..067eea50ffb 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals SSH Extensions -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Terminal Connector ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties index 28367e964d3..af7bee32d3c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals Telnet Extensions -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Terminal Connector ----- diff --git a/plugins/org.eclipse.tm.terminal.control/plugin.properties b/plugins/org.eclipse.tm.terminal.control/plugin.properties index 73649e114b5..16c119bb05a 100644 --- a/plugins/org.eclipse.tm.terminal.control/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.control/plugin.properties @@ -18,8 +18,8 @@ # NLS_MESSAGEFORMAT_NONE -pluginName = Tm Terminal Control -providerName = Eclipse TM Project +pluginName = TM Terminal Control +providerName = Eclipse.org - Target Management terminal.context.name.edit=Terminal Control in Focus terminal.context.description.edit=Show modified keyboard shortcuts in context menu diff --git a/plugins/org.eclipse.tm.terminal.view.core/plugin.properties b/plugins/org.eclipse.tm.terminal.view.core/plugin.properties index 4a1cc666a12..15d60770dc3 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.core/plugin.properties @@ -9,6 +9,6 @@ ################################################################################## pluginName = Terminal View Core -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management ExtensionPoint.contextPropertiesProviders = Terminal Context Properties Providers diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties index ec810ccdec9..43b7848b280 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals RSE Add-on -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Commands and Menu contributions ----- diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index 00d63015ba0..aff78bdb3f6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -9,7 +9,7 @@ ################################################################################## pluginName = Terminals -providerName = Eclipse.org - Target Explorer +providerName = Eclipse.org - Target Management # ----- Terminals View ----- From fa14c05620a11e99a783c238382560897ff23593 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 5 May 2015 11:48:20 +0200 Subject: [PATCH 673/843] Releng: Added p2.inf files to get the terminals features using the old namespace gets uninstalled --- features/org.eclipse.tm.terminal.feature/p2.inf | 5 +++++ features/org.eclipse.tm.terminal.sdk.feature/p2.inf | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 features/org.eclipse.tm.terminal.feature/p2.inf create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.feature/p2.inf b/features/org.eclipse.tm.terminal.feature/p2.inf new file mode 100644 index 00000000000..a6c5ff197fb --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/p2.inf @@ -0,0 +1,5 @@ +update.id=org.eclipse.tcf.te.terminals.feature.feature.group +update.range=(0,$version$) +provides.99.namespace=org.eclipse.equinox.p2.iu +provides.99.name=org.eclipse.tcf.te.terminals.feature.feature.group +provides.99.version=$version$ diff --git a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf new file mode 100644 index 00000000000..d5add3dbcc3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf @@ -0,0 +1,5 @@ +update.id=org.eclipse.tcf.te.terminals.sdk.feature.feature.group +update.range=(0,$version$) +provides.99.namespace=org.eclipse.equinox.p2.iu +provides.99.name=org.eclipse.tcf.te.terminals.sdk.feature.feature.group +provides.99.version=$version$ From 9f0824baeaa2b5229c651eaf88b08e59e19b5ce8 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 5 May 2015 14:42:41 +0200 Subject: [PATCH 674/843] Releng: Limit the version range the p2.inf files apply too --- features/org.eclipse.tm.terminal.feature/p2.inf | 2 +- features/org.eclipse.tm.terminal.sdk.feature/p2.inf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.feature/p2.inf b/features/org.eclipse.tm.terminal.feature/p2.inf index a6c5ff197fb..8d37ee64884 100644 --- a/features/org.eclipse.tm.terminal.feature/p2.inf +++ b/features/org.eclipse.tm.terminal.feature/p2.inf @@ -1,5 +1,5 @@ update.id=org.eclipse.tcf.te.terminals.feature.feature.group -update.range=(0,$version$) +update.range=(0,1.3.1) provides.99.namespace=org.eclipse.equinox.p2.iu provides.99.name=org.eclipse.tcf.te.terminals.feature.feature.group provides.99.version=$version$ diff --git a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf index d5add3dbcc3..770eb80c305 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf +++ b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf @@ -1,5 +1,5 @@ update.id=org.eclipse.tcf.te.terminals.sdk.feature.feature.group -update.range=(0,$version$) +update.range=(0,1.3.1) provides.99.namespace=org.eclipse.equinox.p2.iu provides.99.name=org.eclipse.tcf.te.terminals.sdk.feature.feature.group provides.99.version=$version$ From 4a8667661f22a50789074e2aa0d14fc9b82a2ce2 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Tue, 5 May 2015 09:19:09 -0400 Subject: [PATCH 675/843] Fix plugin-id of extension point. Signed-off-by: Greg Watson --- .../schema/parsers.exsd | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd b/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd index 4fa0ed65b15..3a0e7d900e7 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd +++ b/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd @@ -1,9 +1,9 @@ - + - + Extension point that allows a parser to be added to the terminal view. The parser is intended to process output generated by the remote shell and perform an action based on the content. From 3b495dda2cb082d8c0e3471293142e7fe0954cd1 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 5 May 2015 17:02:06 +0200 Subject: [PATCH 676/843] Releng: Remove p2.inf files --- features/org.eclipse.tm.terminal.feature/p2.inf | 5 ----- features/org.eclipse.tm.terminal.sdk.feature/p2.inf | 5 ----- 2 files changed, 10 deletions(-) delete mode 100644 features/org.eclipse.tm.terminal.feature/p2.inf delete mode 100644 features/org.eclipse.tm.terminal.sdk.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.feature/p2.inf b/features/org.eclipse.tm.terminal.feature/p2.inf deleted file mode 100644 index 8d37ee64884..00000000000 --- a/features/org.eclipse.tm.terminal.feature/p2.inf +++ /dev/null @@ -1,5 +0,0 @@ -update.id=org.eclipse.tcf.te.terminals.feature.feature.group -update.range=(0,1.3.1) -provides.99.namespace=org.eclipse.equinox.p2.iu -provides.99.name=org.eclipse.tcf.te.terminals.feature.feature.group -provides.99.version=$version$ diff --git a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf deleted file mode 100644 index 770eb80c305..00000000000 --- a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf +++ /dev/null @@ -1,5 +0,0 @@ -update.id=org.eclipse.tcf.te.terminals.sdk.feature.feature.group -update.range=(0,1.3.1) -provides.99.namespace=org.eclipse.equinox.p2.iu -provides.99.name=org.eclipse.tcf.te.terminals.sdk.feature.feature.group -provides.99.version=$version$ From ed3ab9dd5a058ba3e818f69c8219f84fd45e1bda Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 10:37:01 +0200 Subject: [PATCH 677/843] Releng: Added p2.inf files to get the terminals features using the old namespace gets uninstalled/updated --- features/org.eclipse.tm.terminal.feature/p2.inf | 5 +++++ features/org.eclipse.tm.terminal.sdk.feature/p2.inf | 5 +++++ 2 files changed, 10 insertions(+) create mode 100644 features/org.eclipse.tm.terminal.feature/p2.inf create mode 100644 features/org.eclipse.tm.terminal.sdk.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.feature/p2.inf b/features/org.eclipse.tm.terminal.feature/p2.inf new file mode 100644 index 00000000000..a6c5ff197fb --- /dev/null +++ b/features/org.eclipse.tm.terminal.feature/p2.inf @@ -0,0 +1,5 @@ +update.id=org.eclipse.tcf.te.terminals.feature.feature.group +update.range=(0,$version$) +provides.99.namespace=org.eclipse.equinox.p2.iu +provides.99.name=org.eclipse.tcf.te.terminals.feature.feature.group +provides.99.version=$version$ diff --git a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf new file mode 100644 index 00000000000..d5add3dbcc3 --- /dev/null +++ b/features/org.eclipse.tm.terminal.sdk.feature/p2.inf @@ -0,0 +1,5 @@ +update.id=org.eclipse.tcf.te.terminals.sdk.feature.feature.group +update.range=(0,$version$) +provides.99.namespace=org.eclipse.equinox.p2.iu +provides.99.name=org.eclipse.tcf.te.terminals.sdk.feature.feature.group +provides.99.version=$version$ From 4049e12bffbaa09112d8bd6b2a9041f1e939ffb3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 12:57:19 +0200 Subject: [PATCH 678/843] Local: Fix the local terminal connector feature names --- .../feature.properties | 4 ++-- .../feature.properties | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties index 5a75241ccaf..143f2587363 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Telnet Connector Extensions +featureName=TM Terminal Local Connector Extensions # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management @@ -24,7 +24,7 @@ providerName=Eclipse.org - Target Management updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. +description=A connector implementation for the Local Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties index fb6c12b2ebd..45388fb2c7d 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Telnet Connector Extensions, SDK +featureName=TM Terminal Local Connector Extensions, SDK # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management @@ -24,7 +24,7 @@ providerName=Eclipse.org - Target Management updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=A Telnet connector implementation for the Terminal. +description=A connector implementation for the Local Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ From 3d4a9569d959edac34250e844cde17c39cc26eff Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 13:16:54 +0200 Subject: [PATCH 679/843] SSH: Fix SSH terminal not connecting --- .../connector/ssh/controls/SshWizardConfigurationPanel.java | 2 +- .../tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java index 6724c451763..8dd8d7c4655 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java @@ -165,7 +165,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa if (data == null) return; // set the terminal connector id for ssh - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.ssh.connector.SshConnector"); //$NON-NLS-1$ + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.ssh.SshConnector"); //$NON-NLS-1$ sshSettingsPage.saveSettings(); data.put(ITerminalsConnectorConstants.PROP_IP_HOST,sshSettings.getHost()); diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index 6f26de48862..506e2c4527e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -121,7 +121,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { // Check for the terminal connector id String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.ssh.connector.SshConnector"; //$NON-NLS-1$ + if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.ssh.SshConnector"; //$NON-NLS-1$ // Extract the ssh properties String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); From d393b87e1d6c6177db0b5db81604e65bf2803e14 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 14:02:13 +0200 Subject: [PATCH 680/843] Releng: Added Eclipse 4.5 Mars target platform definition --- admin/target-defs/eclipse-4.5.x-mars.target | 30 +++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 admin/target-defs/eclipse-4.5.x-mars.target diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target new file mode 100644 index 00000000000..d070cf66b4d --- /dev/null +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From fa5b76e3ad37c6624ab7b777eabef95eb6ac2d08 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 14:17:45 +0200 Subject: [PATCH 681/843] Releng: Updated config to use CDT 8.7 Mars for Mars build and added Juno profile --- admin/pom-config.xml | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 53cee805124..dad4ffbd59a 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -61,7 +61,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version}milestones http://download.eclipse.org/tools/orbit/downloads/drops/S20150428165605/repository/ - http://download.eclipse.org/tools/cdt/releases/8.6 + http://download.eclipse.org/tools/cdt/builds/mars/milestones http://download.eclipse.org/tm/updates/4.0milestones http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones http://download.eclipse.org/technology/swtbot/releases/latest/ @@ -133,6 +133,17 @@ + + + juno + + + juno + 3.8 + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/tools/cdt/releases/juno + + kepler From eb87450c2f16add8c46538f25447ec5296245879 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 15:53:58 +0200 Subject: [PATCH 682/843] Local: Adjust cdt.core dependency to build against Juno --- .../META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF index af2779b0a41..93c9461dc80 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 4.0.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.connector.local.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native -Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.4.1";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", From 60e547451c4693fd29fe69e76fdaf00be25b2ba3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 15:58:37 +0200 Subject: [PATCH 683/843] Process: Adjust cdt.core dependency to build against Juno --- .../META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF index c1860278e8c..969388c9475 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Activator: org.eclipse.tm.terminal.connector.process.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native, org.eclipse.cdt.utils.spawner;mandatory:=native -Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6";resolution:=optional, +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.4.1";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", From 71e04c4a869cec601ae4d84aa15ac8dffe070417 Mon Sep 17 00:00:00 2001 From: Max Weninger Date: Wed, 6 May 2015 16:24:27 +0200 Subject: [PATCH 684/843] SSH: Add the SSH port to the terminal title if different from the default SSH port Signed-off-by: Max Weninger --- .../tm/terminal/connector/ssh/connector/ISshSettings.java | 3 +++ .../tm/terminal/connector/ssh/connector/SshConnection.java | 6 +++--- .../tm/terminal/connector/ssh/connector/SshSettings.java | 6 +++--- .../terminal/connector/ssh/connector/SshSettingsPage.java | 2 +- .../connector/ssh/launcher/SshLauncherDelegate.java | 6 ++++++ .../org/eclipse/tm/terminal/connector/ssh/nls/Messages.java | 1 + .../tm/terminal/connector/ssh/nls/Messages.properties | 1 + 7 files changed, 18 insertions(+), 7 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java index b4bad8313d8..4daa1563d13 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java @@ -15,6 +15,9 @@ package org.eclipse.tm.terminal.connector.ssh.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ISshSettings { + + public static int DEFAULT_SSH_PORT = 22; + /** * Get the host name or IP address of remote system to connect. * @return host name or IP address of the remote system. diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java index 463bbd21115..6ac56a35d25 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java @@ -98,7 +98,7 @@ public class SshConnection extends Thread { public void run() { boolean connectSucceeded = false; String host = ""; //$NON-NLS-1$ - int port = 22; + int port = ISshSettings.DEFAULT_SSH_PORT; try { int nTimeout = fConn.getSshSettings().getTimeout() * 1000; int nKeepalive = fConn.getSshSettings().getKeepalive() * 1000; @@ -110,7 +110,7 @@ public class SshConnection extends Thread { ////Giving a connectionId could be the index into a local ////Store where passwords are stored //String connectionId = host; - //if (port!=22) { + //if (port!=ISshSettings.DEFAULT_SSH_PORT) { // connectionId += ':' + port; //} //UserInfo ui=new MyUserInfo(connectionId, user, password); @@ -175,7 +175,7 @@ public class SshConnection extends Thread { } if (!connectSucceeded) { String hostPort = host; - if (port != 22) { + if (port != ISshSettings.DEFAULT_SSH_PORT) { hostPort = hostPort + ':' + port; } msg = NLS.bind(SshMessages.ERROR_CONNECTING, hostPort, msg); diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java index df4669ab0f3..bd2bd7d5de6 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java @@ -35,7 +35,7 @@ public class SshSettings implements ISshSettings { @Override public String getSummary() { String settings = getUser()+'@'+getHost(); - if(getPort()!=22) { + if(getPort()!=ISshSettings.DEFAULT_SSH_PORT) { settings += ':' + getPort(); } return settings; @@ -49,7 +49,7 @@ public class SshSettings implements ISshSettings { // the password is not saved in some as plain text // on disk. [bug 313991] fPassword = store.get("Password", "");//$NON-NLS-1$ //$NON-NLS-2$ - fPort = store.get("Port", "22");//$NON-NLS-1$ //$NON-NLS-2$ + fPort = store.get("Port", String.valueOf(ISshSettings.DEFAULT_SSH_PORT));//$NON-NLS-1$ fTimeout = store.get("Timeout", "0");//$NON-NLS-1$ //$NON-NLS-2$ fKeepalive = store.get("Keepalive", "300");//$NON-NLS-1$ //$NON-NLS-2$ } @@ -112,7 +112,7 @@ public class SshSettings implements ISshSettings { try { return Integer.parseInt(fPort); } catch (NumberFormatException numberFormatException) { - return 22; + return ISshSettings.DEFAULT_SSH_PORT; } } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java index b3c2a076a14..2887c39dba4 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java @@ -54,7 +54,7 @@ public class SshSettingsPage extends AbstractSettingsPage { fTimeout.setText(get(fTerminalSettings.getTimeoutString(),"0"));//$NON-NLS-1$ fKeepalive.setText(get(fTerminalSettings.getKeepaliveString(),"300"));//$NON-NLS-1$ fUser.setText(get(fTerminalSettings.getUser(),""));//$NON-NLS-1$ - fPort.setText(get(fTerminalSettings.getPortString(),"22"));//$NON-NLS-1$ + fPort.setText(get(fTerminalSettings.getPortString(), String.valueOf(ISshSettings.DEFAULT_SSH_PORT))); fPassword.setText(get(fTerminalSettings.getPassword(),""));//$NON-NLS-1$ } } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index 506e2c4527e..55221a85dec 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -19,6 +19,7 @@ import org.eclipse.osgi.util.NLS; 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.tm.terminal.connector.ssh.connector.ISshSettings; import org.eclipse.tm.terminal.connector.ssh.connector.SshSettings; import org.eclipse.tm.terminal.connector.ssh.controls.SshWizardConfigurationPanel; import org.eclipse.tm.terminal.connector.ssh.nls.Messages; @@ -92,10 +93,15 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { private String getTerminalTitle(Map properties) { String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); String user = (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_USER); + Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); + String port = value != null ? value.toString() : null; if (host != null && user!= null) { DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String date = format.format(new Date(System.currentTimeMillis())); + if (port != null && Integer.valueOf(port).intValue() != ISshSettings.DEFAULT_SSH_PORT) { + return NLS.bind(Messages.SshLauncherDelegate_terminalTitle_port, new String[]{user, host, port, date}); + } return NLS.bind(Messages.SshLauncherDelegate_terminalTitle, new String[]{user, host, date}); } return Messages.SshLauncherDelegate_terminalTitle_default; diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java index e7c25bc7e04..a93ba1effa2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java @@ -31,6 +31,7 @@ public class Messages extends NLS { // **** Declare externalized string id's down here ***** public static String SshLauncherDelegate_terminalTitle; + public static String SshLauncherDelegate_terminalTitle_port; public static String SshLauncherDelegate_terminalTitle_default; public static String SshWizardConfigurationPanel_saveUser; public static String SshWizardConfigurationPanel_savePassword; diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties index 8ca4d3eba2d..8040d4b81d2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties @@ -9,6 +9,7 @@ ############################################################################### SshLauncherDelegate_terminalTitle=SSH {0}@{1} ({2}) +SshLauncherDelegate_terminalTitle_port=SSH {0}@{1}:{2} ({3}) SshLauncherDelegate_terminalTitle_default=SSH Terminal SshWizardConfigurationPanel_saveUser=Save user SshWizardConfigurationPanel_savePassword=Save password From 98c485b819a2e20df987e29e274b015dfd96afc8 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 16:29:00 +0200 Subject: [PATCH 685/843] Releng: Minimum version of cdt.core is 5.6.0 --- admin/pom-config.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../META-INF/MANIFEST.MF | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index dad4ffbd59a..aec32b151d9 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -141,7 +141,7 @@ juno 3.8 http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/tools/cdt/releases/juno + http://download.eclipse.org/tools/cdt/releases/8.4 diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF index 93c9461dc80..40001a3a2c0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF @@ -6,7 +6,7 @@ Bundle-Version: 4.0.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.connector.local.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native -Require-Bundle: org.eclipse.cdt.core;bundle-version="5.4.1";resolution:=optional, +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", diff --git a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF index 969388c9475..63779afa3d6 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF @@ -7,7 +7,7 @@ Bundle-Activator: org.eclipse.tm.terminal.connector.process.activator.UIPlugin Bundle-Vendor: %providerName Import-Package: org.eclipse.cdt.utils.pty;mandatory:=native, org.eclipse.cdt.utils.spawner;mandatory:=native -Require-Bundle: org.eclipse.cdt.core;bundle-version="5.4.1";resolution:=optional, +Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0";resolution:=optional, org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, org.eclipse.core.runtime;bundle-version="3.8.0", From 5ef6efe70aaf545fdc14bb867a3726b521cefd6f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 6 May 2015 17:10:43 +0200 Subject: [PATCH 686/843] View: Do not show the "Choose terminal:" combo box if there is only one possible selection --- .../dialogs/LaunchTerminalSettingsDialog.java | 114 +++++++++++------- 1 file changed, 71 insertions(+), 43 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java index c65206b87ba..14d8c1bcea1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java @@ -69,6 +69,9 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { // The dialog settings storage private IDialogSettings dialogSettings; + // In case of a single available terminal launcher delegate, the label of that delegate + private String singleDelegateLabel = null; + /** * The control managing the terminal setting panels. */ @@ -277,53 +280,60 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { setDialogTitle(Messages.LaunchTerminalSettingsDialog_title); + final List items = getTerminals(); + Composite panel = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(2, false); layout.marginHeight = 0; layout.marginWidth = 0; panel.setLayout(layout); panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); - Label label = new Label(panel, SWT.HORIZONTAL); - label.setText(Messages.LaunchTerminalSettingsDialog_combo_label); + if (items.size() != 1) { + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.LaunchTerminalSettingsDialog_combo_label); - terminals = new Combo(panel, SWT.READ_ONLY); - terminals.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); - terminals.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - // Get the old panel - IConfigurationPanel oldPanel = settings.getActiveConfigurationPanel(); - // Extract the current settings in an special properties container - Map data = new HashMap(); - if (oldPanel != null) oldPanel.extractData(data); - // Clean out settings which are never passed between the panels - data.remove(ITerminalsConnectorConstants.PROP_IP_PORT); - data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); - data.remove(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - data.remove(ITerminalsConnectorConstants.PROP_ENCODING); - // Switch to the new panel - settings.showConfigurationPanel(terminals.getText()); - // Get the new panel - IConfigurationPanel newPanel = settings.getActiveConfigurationPanel(); - // Re-setup the relevant data - if (newPanel != null) newPanel.setupData(data); + terminals = new Combo(panel, SWT.READ_ONLY); + terminals.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + terminals.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + // Get the old panel + IConfigurationPanel oldPanel = settings.getActiveConfigurationPanel(); + // Extract the current settings in an special properties container + Map data = new HashMap(); + if (oldPanel != null) oldPanel.extractData(data); + // Clean out settings which are never passed between the panels + data.remove(ITerminalsConnectorConstants.PROP_IP_PORT); + data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); + data.remove(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + data.remove(ITerminalsConnectorConstants.PROP_ENCODING); + // Switch to the new panel + settings.showConfigurationPanel(terminals.getText()); + // Get the new panel + IConfigurationPanel newPanel = settings.getActiveConfigurationPanel(); + // Re-setup the relevant data + if (newPanel != null) newPanel.setupData(data); - // resize the dialog if needed to show the complete panel - getShell().pack(); - // validate the settings dialog - validate(); - } - }); + // resize the dialog if needed to show the complete panel + getShell().pack(); + // validate the settings dialog + validate(); + } + }); - // fill the combo with content - fillCombo(terminals); + // fill the combo with content + fillCombo(terminals, items); + } else { + Assert.isTrue(items.size() == 1); + singleDelegateLabel = items.get(0); + } // Create the settings panel control settings = new SettingsPanelControl(); // Create, initialize and add the first visible panel. All // other panels are created on demand only. - String terminalLabel = terminals.getItem(0); + String terminalLabel = terminals != null ? terminals.getItem(0) : singleDelegateLabel; if (terminalLabel != null) { // Get the corresponding delegate ILauncherDelegate delegate = label2delegate.get(terminalLabel); @@ -339,16 +349,20 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { } // Setup the panel control - settings.setupPanel(panel, terminals.getItems()); + settings.setupPanel(panel, terminals != null ? terminals.getItems() : new String[] { singleDelegateLabel }); GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); layoutData.horizontalSpan = 2; settings.getPanel().setLayoutData(layoutData); // Preselect the first terminal launcher - terminals.select(0); - settings.showConfigurationPanel(terminals.getText()); + if (terminals != null) { + terminals.select(0); + settings.showConfigurationPanel(terminals.getText()); - terminals.setEnabled(terminals.getItemCount() > 1); + terminals.setEnabled(terminals.getItemCount() > 1); + } else { + settings.showConfigurationPanel(singleDelegateLabel); + } restoreWidgetValues(); @@ -361,19 +375,31 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { } /** - * Fill the given combo with content. The content are the terminal - * launcher delegate labels. + * Fill the given combo with the given list of terminal launcher delegate labels. * * @param combo The combo. Must not be null. + * @param items The list of terminal launcher delegates. Must not be null. */ - protected void fillCombo(Combo combo) { + protected void fillCombo(Combo combo, List items) { Assert.isNotNull(combo); + Assert.isNotNull(items); if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("Filling combo after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); } + Collections.sort(items); + combo.setItems(items.toArray(new String[items.size()])); + } + + /** + * Returns the list of terminal launcher delegate labels. The method queries the + * terminal launcher delegates and initialize the label2delegate map. + * + * @return The list of terminal launcher delegate labels or an empty list. + */ + protected List getTerminals() { List items = new ArrayList(); if(selection==null || selection.isEmpty()){ @@ -417,8 +443,8 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { items.add(label); } } - Collections.sort(items); - combo.setItems(items.toArray(new String[items.size()])); + + return items; } /** @@ -474,7 +500,7 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { IDialogSettings settings = getDialogSettings(); if (settings != null) { String terminalLabel = settings.get("terminalLabel"); //$NON-NLS-1$ - int index = terminalLabel != null ? Arrays.asList(terminals.getItems()).indexOf(terminalLabel) : -1; + int index = terminalLabel != null && terminals != null ? Arrays.asList(terminals.getItems()).indexOf(terminalLabel) : -1; if (index != -1) { terminals.select(index); this.settings.showConfigurationPanel(terminals.getText()); @@ -502,7 +528,9 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { data = new HashMap(); // Store the id of the selected delegate - data.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, label2delegate.get(terminals.getText()).getId()); + String terminalLabel = terminals != null ? terminals.getText() : singleDelegateLabel; + String delegateId = terminalLabel != null ? label2delegate.get(terminalLabel).getId() : null; + if (delegateId != null) data.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegateId); // Store the selection data.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); From ca86c9046820e41822913cd72d8d409bb6497e15 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 07:55:10 +0200 Subject: [PATCH 687/843] Cleanup: Fix some warnings --- .../serial/connector/SerialConnectWorker.java | 1 - .../serial/connector/SerialConnector.java | 1 - .../serial/connector/SerialPortHandler.java | 1 - .../serial/connector/SerialProperties.java | 56 +++++++++---------- .../serial/connector/SerialSettings.java | 30 ++++++---- .../connector/KeyboardInteractiveDialog.java | 3 +- .../ssh/connector/SshConnection.java | 8 +-- .../controls/SshWizardConfigurationPanel.java | 1 - .../ssh/launcher/SshLauncherDelegate.java | 2 +- .../telnet/connector/NetworkPortMap.java | 6 +- .../telnet/connector/TelnetConnectWorker.java | 3 +- .../telnet/connector/TelnetConnection.java | 21 +++---- .../telnet/connector/TelnetOption.java | 3 +- .../telnet/connector/TelnetSettings.java | 18 ++++-- .../telnet/connector/TelnetSettingsPage.java | 38 ++++++++----- 15 files changed, 108 insertions(+), 84 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java index 53cf60c6287..569273af525 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java @@ -38,7 +38,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.Logger; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.connector.serial.nls.Messages; -@SuppressWarnings("restriction") public class SerialConnectWorker extends Thread { /* default */ final ITerminalControl fControl; private final SerialConnector fConn; diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java index 7f977b032e5..512aca2d272 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java @@ -38,7 +38,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnect import org.eclipse.tm.terminal.connector.serial.activator.UIPlugin; import org.eclipse.tm.terminal.connector.serial.nls.Messages; -@SuppressWarnings("restriction") public class SerialConnector extends TerminalConnectorImpl { private OutputStream fOutputStream; private InputStream fInputStream; diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java index d6eeda14ed3..4f7719c011b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java @@ -33,7 +33,6 @@ import org.eclipse.tm.terminal.connector.serial.nls.Messages; /** * UNDER CONSTRUCTION */ -@SuppressWarnings("restriction") public class SerialPortHandler implements SerialPortEventListener, CommPortOwnershipListener { /* default */ final ITerminalControl fControl; diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java index 4519c99531b..1e6af9d0e97 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java @@ -11,25 +11,25 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalProperties + * Michael Scharf (Wind River) - extracted from TerminalProperties * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.connector.serial.connector; import gnu.io.CommPortIdentifier; +import java.util.ArrayList; import java.util.Collections; import java.util.Enumeration; import java.util.List; -import java.util.Vector; public class SerialProperties { - protected List fSerialPortTable; - protected List fBaudRateTable; - protected List fDataBitsTable; - protected List fStopBitsTable; - protected List fParityTable; - protected List fFlowControlTable; + protected List fSerialPortTable; + protected List fBaudRateTable; + protected List fDataBitsTable; + protected List fStopBitsTable; + protected List fParityTable; + protected List fFlowControlTable; protected String fDefaultConnType; protected String fDefaultSerialPort; protected String fDefaultBaudRate; @@ -41,27 +41,27 @@ public class SerialProperties { public SerialProperties() { setupProperties(); } - public List getSerialPortTable() { + public List getSerialPortTable() { return fSerialPortTable; } - public List getBaudRateTable() { + public List getBaudRateTable() { return fBaudRateTable; } - public List getDataBitsTable() { + public List getDataBitsTable() { return fDataBitsTable; } - public List getStopBitsTable() { + public List getStopBitsTable() { return fStopBitsTable; } - public List getParityTable() { + public List getParityTable() { return fParityTable; } - public List getFlowControlTable() { + public List getFlowControlTable() { return fFlowControlTable; } public String getDefaultConnType() { @@ -95,12 +95,12 @@ public class SerialProperties { return "5"; //$NON-NLS-1$ } protected void setupProperties() { - fSerialPortTable = new Vector(); - fBaudRateTable = new Vector(); - fDataBitsTable = new Vector(); - fStopBitsTable = new Vector(); - fParityTable = new Vector(); - fFlowControlTable = new Vector(); + fSerialPortTable = new ArrayList(); + fBaudRateTable = new ArrayList(); + fDataBitsTable = new ArrayList(); + fStopBitsTable = new ArrayList(); + fParityTable = new ArrayList(); + fFlowControlTable = new ArrayList(); fDefaultConnType = ""; //$NON-NLS-1$ fDefaultSerialPort = ""; //$NON-NLS-1$ fDefaultBaudRate = ""; //$NON-NLS-1$ @@ -138,15 +138,15 @@ public class SerialProperties { fFlowControlTable.add("RTS/CTS"); //$NON-NLS-1$ fFlowControlTable.add("Xon/Xoff"); //$NON-NLS-1$ - fDefaultBaudRate = (String) fBaudRateTable.get(4); - fDefaultDataBits = (String) fDataBitsTable.get(3); - fDefaultStopBits = (String) fStopBitsTable.get(0); - fDefaultParity = (String) fParityTable.get(0); - fDefaultFlowControl = (String) fFlowControlTable.get(0); + fDefaultBaudRate = fBaudRateTable.get(4); + fDefaultDataBits = fDataBitsTable.get(3); + fDefaultStopBits = fStopBitsTable.get(0); + fDefaultParity = fParityTable.get(0); + fDefaultFlowControl = fFlowControlTable.get(0); - Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers(); + Enumeration portIdEnum= CommPortIdentifier.getPortIdentifiers(); while (portIdEnum.hasMoreElements()) { - CommPortIdentifier identifier = (CommPortIdentifier) portIdEnum.nextElement(); + CommPortIdentifier identifier = portIdEnum.nextElement(); String strName = identifier.getName(); int nPortType = identifier.getPortType(); @@ -157,7 +157,7 @@ public class SerialProperties { Collections.sort(fSerialPortTable); if (!fSerialPortTable.isEmpty()) { - fDefaultSerialPort = (String) fSerialPortTable.get(0); + fDefaultSerialPort = fSerialPortTable.get(0); } } } diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java index 7044eff00d0..6a03cb7e8d2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java @@ -30,7 +30,8 @@ public class SerialSettings implements ISerialSettings { protected String fTimeout; final private SerialProperties fProperties=new SerialProperties(); - public String getSerialPort() { + @Override + public String getSerialPort() { return fSerialPort; } @@ -42,7 +43,8 @@ public class SerialSettings implements ISerialSettings { return fBaudRate; } - public int getBaudRate() { + @Override + public int getBaudRate() { int nBaudRate; try { @@ -62,7 +64,8 @@ public class SerialSettings implements ISerialSettings { return fDataBits; } - public int getDataBits() { + @Override + public int getDataBits() { if (fDataBits.equals("5")) { //$NON-NLS-1$ return SerialPort.DATABITS_5; } else if (fDataBits.equals("6")) { //$NON-NLS-1$ @@ -82,7 +85,8 @@ public class SerialSettings implements ISerialSettings { return fStopBits; } - public int getStopBits() { + @Override + public int getStopBits() { if (fStopBits.equals("1_5")) { //$NON-NLS-1$ return SerialPort.STOPBITS_1_5; } else if (fStopBits.equals("2")) { //$NON-NLS-1$ @@ -100,7 +104,8 @@ public class SerialSettings implements ISerialSettings { return fParity; } - public int getParity() { + @Override + public int getParity() { if (fParity.equals("Even")) //$NON-NLS-1$ { return SerialPort.PARITY_EVEN; @@ -127,7 +132,8 @@ public class SerialSettings implements ISerialSettings { return fFlowControl; } - public int getFlowControl() { + @Override + public int getFlowControl() { if (fFlowControl.equals("RTS/CTS")) //$NON-NLS-1$ { return SerialPort.FLOWCONTROL_RTSCTS_IN; @@ -144,7 +150,8 @@ public class SerialSettings implements ISerialSettings { fFlowControl = strFlow; } - public String getSummary() { + @Override + public String getSummary() { return getSerialPort() + ", " + //$NON-NLS-1$ getBaudRateString() + ", " + //$NON-NLS-1$ getDataBitsString() + ", " + //$NON-NLS-1$ @@ -153,7 +160,8 @@ public class SerialSettings implements ISerialSettings { getFlowControlString(); } - public void load(ISettingsStore store) { + @Override + public void load(ISettingsStore store) { fSerialPort = store.get("SerialPort", fProperties.getDefaultSerialPort());//$NON-NLS-1$ fBaudRate = store.get("BaudRate", fProperties.getDefaultBaudRate());//$NON-NLS-1$ fDataBits = store.get("DataBits", fProperties.getDefaultDataBits());//$NON-NLS-1$ @@ -163,7 +171,8 @@ public class SerialSettings implements ISerialSettings { fTimeout = store.get("Timeout",fProperties.getDefaultTimeout()); //$NON-NLS-1$ } - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { store.put("SerialPort", fSerialPort); //$NON-NLS-1$ store.put("BaudRate", fBaudRate); //$NON-NLS-1$ store.put("DataBits", fDataBits); //$NON-NLS-1$ @@ -176,7 +185,8 @@ public class SerialSettings implements ISerialSettings { return fProperties; } - public int getTimeout() { + @Override + public int getTimeout() { try { return Integer.parseInt(fTimeout); } catch (NumberFormatException numberFormatException) { diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java index 00a471fa6cf..464e301d186 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java @@ -132,7 +132,8 @@ protected Control createDialogArea(Composite parent) { * * @param parent the parent of the widgets */ - protected void createPasswordFields(Composite parent) { + @SuppressWarnings("unused") +protected void createPasswordFields(Composite parent) { texts=new Text[prompt.length]; for(int i=0; i getNameTable() { + List names=new ArrayList(); for (int i = 0; i < fPortMap.length; i++) { names.add(fPortMap[i][0]); } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java index 937e136279a..ec51cfb316a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java @@ -35,7 +35,8 @@ class TelnetConnectWorker extends Thread { fConn = conn; fControl.setState(TerminalState.CONNECTING); } - public void run() { + @Override + public void run() { // Retry the connect with after a little pause in case the // remote telnet server isn't ready. ConnectExceptions might // happen if the telnet server process did not initialized itself. diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java index e14a2f6a9ef..93a24906275 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java @@ -14,7 +14,7 @@ * Michael Scharf (Wind River) - [209665] Add ability to log byte streams from terminal * Alex Panchenko (Xored) - [277061] TelnetConnection.isConnected() should check if socket was not closed * Uwe Stieber (Wind River) - [281329] Telnet connection not handling "SocketException: Connection reset" correct - * Nils Hagge (Siemens AG) - [276023] close socket streams after connection is disconnected + * Nils Hagge (Siemens AG) - [276023] close socket streams after connection is disconnected *******************************************************************************/ package org.eclipse.tm.terminal.connector.telnet.connector; @@ -294,7 +294,8 @@ public class TelnetConnection extends Thread implements TelnetCodes { * them), and passes the remaining bytes to a TerminalDisplay object for * display. */ - public void run() { + @Override + public void run() { Logger.log("Entered"); //$NON-NLS-1$ try { @@ -314,16 +315,16 @@ public class TelnetConnection extends Thread implements TelnetCodes { // closed. terminalControl.setState(TerminalState.CLOSED); break; - } else { - // Process any TELNET protocol data that we receive. Don't - // send any TELNET protocol data until we are sure the remote - // endpoint is a TELNET server. + } - int nProcessedBytes = processTelnetProtocol(nRawBytes); + // Process any TELNET protocol data that we receive. Don't + // send any TELNET protocol data until we are sure the remote + // endpoint is a TELNET server. - if (nProcessedBytes > 0) { - terminalControl.getRemoteToTerminalOutputStream().write(processedBytes, 0, nProcessedBytes); - } + int nProcessedBytes = processTelnetProtocol(nRawBytes); + + if (nProcessedBytes > 0) { + terminalControl.getRemoteToTerminalOutputStream().write(processedBytes, 0, nProcessedBytes); } } } catch (SocketException ex) { diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java index be2764c9e9d..c1d781f580a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java @@ -590,7 +590,8 @@ class TelnetOption implements TelnetCodes // is _bad_ (it hangs the GUI). Thread t=new Thread() { - public void run() { + @Override + public void run() { try { outputStream.write(NAWSDataFinal); } catch (IOException ex) { diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java index a80b6727ce9..9500496c2e5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java @@ -23,7 +23,8 @@ public class TelnetSettings implements ITelnetSettings { protected String fNetworkPort; protected String fTimeout; private final TelnetProperties fProperties=new TelnetProperties(); - public String getHost() { + @Override + public String getHost() { return fHost; } @@ -35,7 +36,8 @@ public class TelnetSettings implements ITelnetSettings { return fNetworkPort; } - public int getNetworkPort() { + @Override + public int getNetworkPort() { try { return Integer.parseInt(fNetworkPort); } catch (NumberFormatException numberFormatException) { @@ -47,17 +49,20 @@ public class TelnetSettings implements ITelnetSettings { fNetworkPort = strNetworkPort; } - public String getSummary() { + @Override + public String getSummary() { return getHost() + ":" + getNetworkPortString(); //$NON-NLS-1$ } - public void load(ISettingsStore store) { + @Override + public void load(ISettingsStore store) { fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ } - public void save(ISettingsStore store) { + @Override + public void save(ISettingsStore store) { store.put("Host", fHost);//$NON-NLS-1$ store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ store.put("Timeout", fTimeout);//$NON-NLS-1$ @@ -66,7 +71,8 @@ public class TelnetSettings implements ITelnetSettings { public TelnetProperties getProperties() { return fProperties; } - public int getTimeout() { + @Override + public int getTimeout() { try { return Integer.parseInt(fTimeout); } catch (NumberFormatException numberFormatException) { diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java index f7ee883656d..9b5697214e0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java @@ -38,21 +38,23 @@ import org.eclipse.swt.widgets.Text; import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; public class TelnetSettingsPage extends AbstractSettingsPage { - private Text fHostText; - private Combo fNetworkPortCombo; - private Text fTimeout; + /* default */ Text fHostText; + /* default */ Combo fNetworkPortCombo; + /* default */ Text fTimeout; private final TelnetSettings fTerminalSettings; public TelnetSettingsPage(TelnetSettings settings) { fTerminalSettings=settings; } - public void saveSettings() { + @Override + public void saveSettings() { fTerminalSettings.setHost(fHostText.getText()); fTerminalSettings.setTimeout(fTimeout.getText()); fTerminalSettings.setNetworkPort(getNetworkPort()); } - public void loadSettings() { + @Override + public void loadSettings() { if(fTerminalSettings!=null) { setHost(fTerminalSettings.getHost()); setTimeout(fTerminalSettings.getTimeoutString()); @@ -95,7 +97,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { return fTerminalSettings.getProperties().getNetworkPortMap(); } - public boolean validateSettings() { + @Override + public boolean validateSettings() { String message = null; int messageType = IMessageProvider.NONE; boolean valid = true; @@ -144,7 +147,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { return valid; } - public void createControl(Composite parent) { + @Override + public void createControl(Composite parent) { Composite composite = new Composite(parent, SWT.NONE); GridLayout gridLayout = new GridLayout(2, false); GridData gridData = new GridData(GridData.FILL_HORIZONTAL); @@ -162,7 +166,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fHostText = new Text(composite, SWT.BORDER); fHostText.setLayoutData(gridData); fHostText.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { + @Override + public void modifyText(ModifyEvent e) { fireListeners(fHostText); } }); @@ -177,18 +182,20 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fNetworkPortCombo = new Combo(composite, SWT.DROP_DOWN); fNetworkPortCombo.setLayoutData(gridData); fNetworkPortCombo.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { + @Override + public void modifyText(ModifyEvent e) { fireListeners(fNetworkPortCombo); } }); fNetworkPortCombo.addSelectionListener(new SelectionAdapter() { - public void widgetSelected(SelectionEvent e) { + @Override + public void widgetSelected(SelectionEvent e) { fireListeners(fNetworkPortCombo); } }); createControlDecoration(fNetworkPortCombo); - List table = getNetworkPortMap().getNameTable(); + List table = getNetworkPortMap().getNameTable(); Collections.sort(table); loadCombo(fNetworkPortCombo, table); @@ -196,7 +203,8 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fTimeout = new Text(composite, SWT.BORDER); fTimeout.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); fTimeout.addModifyListener(new ModifyListener() { - public void modifyText(ModifyEvent e) { + @Override + public void modifyText(ModifyEvent e) { fireListeners(fTimeout); } }); @@ -204,9 +212,9 @@ public class TelnetSettingsPage extends AbstractSettingsPage { loadSettings(); } - private void loadCombo(Combo ctlCombo, List table) { - for (Iterator iter = table.iterator(); iter.hasNext();) { - String label = (String) iter.next(); + private void loadCombo(Combo ctlCombo, List table) { + for (Iterator iter = table.iterator(); iter.hasNext();) { + String label = iter.next(); ctlCombo.add(label); } } From a18e88bc51d088fd84659ed71fc752b73770e64e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 08:07:13 +0200 Subject: [PATCH 688/843] Cleanup: Make provider names consistent --- plugins/org.eclipse.tm.terminal.test/plugin.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.test/plugin.properties b/plugins/org.eclipse.tm.terminal.test/plugin.properties index 11477f4a23d..f74a7db7e8b 100644 --- a/plugins/org.eclipse.tm.terminal.test/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.test/plugin.properties @@ -14,4 +14,4 @@ # Michael Scharf (Wind River) - initial API and implementation ############################################################################### pluginName = Target Management Terminal Tests -providerName = Eclipse TM Project +providerName = Eclipse.org - Target Management From 95937ea53787aefad9a28a91b05b0ba369d861bc Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 08:16:28 +0200 Subject: [PATCH 689/843] Fix bug 466654: The Terminal feature name should be "Terminal (Console) View" --- .../org.eclipse.tm.terminal.view.feature/feature.properties | 2 +- .../org.eclipse.tm.terminal.view.sdk.feature/feature.properties | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.properties b/features/org.eclipse.tm.terminal.view.feature/feature.properties index 51c94ab8f5c..8e21c6533e6 100644 --- a/features/org.eclipse.tm.terminal.view.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.feature/feature.properties @@ -14,7 +14,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal View +featureName=Terminal (Console) View # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties index 521bd1a1bff..79b150521dc 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties @@ -14,7 +14,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal View, SDK +featureName=Terminal (Console) View, SDK # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management From a80476f557e0414b48799027a2f9e527ed017992 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 08:54:55 +0200 Subject: [PATCH 690/843] UI: Review view category names and view names --- .../feature.properties | 2 +- .../feature.properties | 2 +- .../plugin.properties | 4 ++-- .../plugin.xml | 2 +- .../local/showin/interfaces/IPreferenceKeys.java | 2 +- .../local/showin/preferences/PreferencePage.java | 2 +- .../showin/preferences/PreferencesInitializer.java | 2 +- .../plugin.properties | 2 +- .../plugin.xml | 2 +- .../plugin.properties | 2 +- .../plugin.xml | 2 +- .../tm/terminal/connector/ssh/nls/Messages.java | 2 +- .../plugin.properties | 2 +- .../tm/terminal/connector/telnet/nls/Messages.java | 2 +- .../view/core/interfaces/ITerminalService.java | 2 +- .../constants/ITerminalsConnectorConstants.java | 2 +- .../plugin.properties | 6 +----- .../org.eclipse.tm.terminal.view.ui.rse/plugin.xml | 2 +- .../view/ui/rse/internal/PropertyTester.java | 2 +- .../plugin.properties | 14 +++++++------- plugins/org.eclipse.tm.terminal.view.ui/plugin.xml | 14 +++++++------- .../tm/terminal/view/ui/activator/UIPlugin.java | 2 +- .../view/ui/interfaces/IPreferenceKeys.java | 2 +- .../view/ui/interfaces/ITerminalsView.java | 2 +- .../terminal/view/ui/interfaces/IUIConstants.java | 2 +- .../view/ui/internal/PreferencesInitializer.java | 2 +- .../terminal/view/ui/internal/PropertyTester.java | 4 ++-- .../terminal/view/ui/manager/ConsoleManager.java | 10 +++++----- .../eclipse/tm/terminal/view/ui/nls/Messages.java | 2 +- .../terminal/view/ui/tabs/TabDisposeListener.java | 2 +- .../tm/terminal/view/ui/tabs/TabFolderManager.java | 8 ++++---- .../view/ui/tabs/TabFolderMenuHandler.java | 10 +++++----- .../view/ui/tabs/TabFolderSelectionListener.java | 2 +- .../view/ui/tabs/TabFolderToolbarHandler.java | 6 +++--- .../terminal/view/ui/tabs/TabTerminalListener.java | 2 +- .../tm/terminal/view/ui/view/TerminalsView.java | 6 +++--- .../view/ui/view/TerminalsViewMementoHandler.java | 2 +- 37 files changed, 66 insertions(+), 70 deletions(-) diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties index db6bbc0ea6c..05b855b9884 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties @@ -23,7 +23,7 @@ providerName=Eclipse.org - Target Management updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=Integrates the Terminals view into the Remote System Explorer. \ +description=Integrates the Terminal view into the Remote System Explorer. \ Works on Windows, Linux, Mac and Solaris. Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties index 9411bc138d6..e783df36b9b 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties @@ -23,7 +23,7 @@ providerName=Eclipse.org - Target Management updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=Integrates the Terminals view into the Remote System Explorer. \ +description=Integrates the Terminal view into the Remote System Explorer. \ Works on Windows, Linux, Mac and Solaris. Requires Eclipse 3.8.2 or newer and a Java 7 or newer JRE. # "copyright" property - text of the "Feature Update Copyright" diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties index 2f6756aa4c3..0c8b643c535 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminals Local Connector +pluginName = Terminal Local Connector providerName = Eclipse.org - Target Management # ----- Commands and Menu contributions ----- @@ -16,7 +16,7 @@ LocalLauncherDelegate.label=Local Terminal command.launch.name=Open Local Terminal on Selection -menu.showIn.localterminal.label = Terminals +menu.showIn.localterminal.label = Terminal # ----- Preference Pages ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index ef4cb5d65f1..c58c478472e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -12,7 +12,7 @@ name="%TerminalConnector.local"/> - + - + - + * Property Type: {@link String} */ diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties index 43b7848b280..1feec0d1941 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminals RSE Add-on +pluginName = Terminal RSE Add-on providerName = Eclipse.org - Target Management # ----- Commands and Menu contributions ----- @@ -16,7 +16,3 @@ providerName = Eclipse.org - Target Management command.launch.name=Open Terminal command.launch.label=Open Terminal... command.launch.tooltip=Open a Terminal - -# ----- Terminal Launcher Delegates ----- - -SshLauncherDelegate.label=SSH Terminal diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml index c07bfae014c..145f3ea4c94 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml @@ -17,7 +17,7 @@ - + - + - + - + - + - + - + - + null. */ protected final CTabFolder getTabFolder() { - return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + return getParentView().getAdapter(CTabFolder.class); } /** @@ -296,7 +296,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid } // Set the context menu - TabFolderMenuHandler menuHandler = (TabFolderMenuHandler)getParentView().getAdapter(TabFolderMenuHandler.class); + TabFolderMenuHandler menuHandler = getParentView().getAdapter(TabFolderMenuHandler.class); if (menuHandler != null) { Menu menu = (Menu)menuHandler.getAdapter(Menu.class); if (menu != null) { @@ -408,7 +408,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid } // Set the context menu - TabFolderMenuHandler menuHandler = (TabFolderMenuHandler)getParentView().getAdapter(TabFolderMenuHandler.class); + TabFolderMenuHandler menuHandler = getParentView().getAdapter(TabFolderMenuHandler.class); if (menuHandler != null) { Menu menu = (Menu)menuHandler.getAdapter(Menu.class); if (menu != null) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index 11af9b37906..241a827ecba 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -39,7 +39,7 @@ import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; import org.eclipse.ui.IWorkbenchActionConstants; /** - * Terminals tab folder menu handler. + * Terminal tab folder menu handler. */ @SuppressWarnings("restriction") public class TabFolderMenuHandler extends PlatformObject { @@ -131,7 +131,7 @@ public class TabFolderMenuHandler extends PlatformObject { * @return The tab folder or null. */ protected final CTabFolder getTabFolder() { - return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + return getParentView().getAdapter(CTabFolder.class); } /** @@ -221,7 +221,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Determine if pasting to the active tab require backslash translation boolean needsTranslation = false; - TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); @@ -293,7 +293,7 @@ public class TabFolderMenuHandler extends PlatformObject { }); // Create and add the select encoding action - add (new SelectEncodingAction((TabFolderManager)getParentView().getAdapter(TabFolderManager.class)) { + add (new SelectEncodingAction(getParentView().getAdapter(TabFolderManager.class)) { /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @@ -313,7 +313,7 @@ public class TabFolderMenuHandler extends PlatformObject { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager - TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java index 3544fcd6267..54ba5d9b20e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java @@ -14,7 +14,7 @@ import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; /** - * Terminals tab folder default selection listener implementation. + * Terminal tab folder default selection listener implementation. */ public class TabFolderSelectionListener implements SelectionListener { private final TabFolderManager parentTabFolderManager; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index eebcd85e4af..5cc2bcd0335 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -38,7 +38,7 @@ import org.eclipse.ui.IWorkbenchActionConstants; /** - * Terminals tab folder toolbar handler. + * Terminal tab folder toolbar handler. */ @SuppressWarnings("restriction") public class TabFolderToolbarHandler extends PlatformObject { @@ -102,7 +102,7 @@ public class TabFolderToolbarHandler extends PlatformObject { * @return The tab folder or null. */ protected final CTabFolder getTabFolder() { - return (CTabFolder)getParentView().getAdapter(CTabFolder.class); + return getParentView().getAdapter(CTabFolder.class); } /** @@ -114,7 +114,7 @@ public class TabFolderToolbarHandler extends PlatformObject { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager - TabFolderManager manager = (TabFolderManager)getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java index c65f3e0fcda..7c67100fb77 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java @@ -19,7 +19,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.view.ui.nls.Messages; /** - * Terminals tab default terminal listener implementation. + * Terminal tab default terminal listener implementation. */ @SuppressWarnings("restriction") public class TabTerminalListener implements ITerminalListener { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index 2e319c6d7e8..183133e45d1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -70,7 +70,7 @@ import org.eclipse.ui.part.ViewPart; import org.osgi.framework.Bundle; /** - * Terminals view. + * Terminal view. */ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTarget { @@ -695,13 +695,13 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa // If the selection is valid, fire the command to open the local terminal if (isValid) { - ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); + ICommandService service = PlatformUI.getWorkbench().getService(ICommandService.class); Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.connector.local.command.launch") : null; //$NON-NLS-1$ if (command != null && command.isDefined() && command.isEnabled()) { try { ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); Assert.isNotNull(pCmd); - IHandlerService handlerSvc = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); + IHandlerService handlerSvc = PlatformUI.getWorkbench().getService(IHandlerService.class); Assert.isNotNull(handlerSvc); IEvaluationContext ctx = handlerSvc.getCurrentState(); ctx = new EvaluationContext(ctx, selection); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java index b8e6486213e..06699a52d23 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java @@ -30,7 +30,7 @@ import org.eclipse.ui.IMemento; import org.eclipse.ui.PlatformUI; /** - * Take care of the persisted state handling of the "Terminals" view. + * Take care of the persisted state handling of the "Terminal" view. */ public class TerminalsViewMementoHandler { // The list of items to save. See the workbench listener implementation From 3c482638be94d642d0a9a72591ef5e5b133d1053 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 09:19:09 +0200 Subject: [PATCH 691/843] Update "Save Actions" to not remove unnecessary cast --- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.core.prefs | 20 ++++++++++++++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- .../.settings/org.eclipse.jdt.ui.prefs | 8 +++++++- 9 files changed, 75 insertions(+), 9 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs index 536dbb4bfda..7fc81751be8 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs +++ b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs @@ -1,6 +1,12 @@ -#Sat Oct 15 08:44:04 CEST 2011 eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=disabled +org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore +org.eclipse.jdt.core.compiler.annotation.nonnull=org.eclipse.jdt.annotation.NonNull +org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=org.eclipse.jdt.annotation.NonNullByDefault +org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nullable +org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.compliance=1.6 @@ -18,6 +24,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod= org.eclipse.jdt.core.compiler.problem.discouragedReference=warning org.eclipse.jdt.core.compiler.problem.emptyStatement=warning org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled org.eclipse.jdt.core.compiler.problem.fieldHiding=warning @@ -31,7 +38,9 @@ org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDefaultCase=ignore org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled @@ -40,12 +49,18 @@ org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warni org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=warning +org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error +org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning @@ -55,10 +70,12 @@ org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=disabled org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning @@ -77,6 +94,7 @@ org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference= org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning org.eclipse.jdt.core.compiler.source=1.6 diff --git a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs index 88bb9570e83..0d732269684 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs +++ b/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs @@ -15,10 +15,12 @@ sp_cleanup.always_use_blocks=true sp_cleanup.always_use_parentheses_in_expressions=false sp_cleanup.always_use_this_for_non_static_field_access=false sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false sp_cleanup.convert_to_enhanced_for_loop=false sp_cleanup.correct_indentation=false sp_cleanup.format_source_code=false sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false sp_cleanup.make_local_variable_final=false sp_cleanup.make_parameters_final=false sp_cleanup.make_private_fields_final=true @@ -34,10 +36,11 @@ sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class= sp_cleanup.qualify_static_member_accesses_with_declaring_class=false sp_cleanup.qualify_static_method_accesses_with_declaring_class=false sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false sp_cleanup.remove_trailing_whitespaces=true sp_cleanup.remove_trailing_whitespaces_all=true sp_cleanup.remove_trailing_whitespaces_ignore_empty=false -sp_cleanup.remove_unnecessary_casts=true +sp_cleanup.remove_unnecessary_casts=false sp_cleanup.remove_unnecessary_nls_tags=true sp_cleanup.remove_unused_imports=true sp_cleanup.remove_unused_local_variables=false @@ -47,10 +50,13 @@ sp_cleanup.remove_unused_private_methods=true sp_cleanup.remove_unused_private_types=true sp_cleanup.sort_members=false sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false sp_cleanup.use_blocks=false sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false sp_cleanup.use_parentheses_in_expressions=false sp_cleanup.use_this_for_non_static_field_access=false sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true sp_cleanup.use_this_for_non_static_method_access=false sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false From 53e33dcc469e89e7ca4f30047ff3c840fc874f85 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 09:24:10 +0200 Subject: [PATCH 692/843] Fixed missing explicit casts --- .../tm/terminal/view/ui/internal/PropertyTester.java | 2 +- .../tm/terminal/view/ui/manager/ConsoleManager.java | 8 ++++---- .../tm/terminal/view/ui/tabs/TabFolderManager.java | 6 +++--- .../tm/terminal/view/ui/tabs/TabFolderMenuHandler.java | 8 ++++---- .../tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java | 4 ++-- .../eclipse/tm/terminal/view/ui/view/TerminalsView.java | 4 ++-- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index fc5423d348f..133b8594732 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -38,7 +38,7 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester if ("canDisconnect".equals(property) && receiver instanceof ITerminalsView) { //$NON-NLS-1$ CTabItem tabItem = null; - TabFolderManager manager = ((ITerminalsView)receiver).getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) ((ITerminalsView)receiver).getAdapter(TabFolderManager.class); if (manager != null) { tabItem = manager.getActiveTabItem(); } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index 43f7475fb2d..6bb179d8141 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -440,7 +440,7 @@ public class ConsoleManager { ITerminalsView view = (ITerminalsView)part; // Get the tab folder manager associated with the view - TabFolderManager manager = view.getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) view.getAdapter(TabFolderManager.class); if (manager == null) return null; // Lookup an existing console first @@ -506,7 +506,7 @@ public class ConsoleManager { if (view == null) return null; // Get the tab folder manager associated with the view - TabFolderManager manager = view.getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) view.getAdapter(TabFolderManager.class); if (manager == null) return null; return manager.findTabItem(title, connector, data); @@ -532,7 +532,7 @@ public class ConsoleManager { IViewReference ref = refs[i]; IViewPart part = ref != null ? ref.getView(false) : null; if (part instanceof ITerminalsView) { - CTabFolder tabFolder = part.getAdapter(CTabFolder.class); + CTabFolder tabFolder = (CTabFolder) part.getAdapter(CTabFolder.class); if (tabFolder == null) continue; CTabItem[] candidates = tabFolder.getItems(); for (CTabItem candidate : candidates) { @@ -575,7 +575,7 @@ public class ConsoleManager { IViewPart part = ref.getView(true); if (part instanceof ITerminalsView) { // Get the tab folder manager associated with the view - TabFolderManager manager = part.getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) part.getAdapter(TabFolderManager.class); if (manager == null) { continue; } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index ad5748c1722..f9eff593b42 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -201,7 +201,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * @return The tab folder or null. */ protected final CTabFolder getTabFolder() { - return getParentView().getAdapter(CTabFolder.class); + return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } /** @@ -296,7 +296,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid } // Set the context menu - TabFolderMenuHandler menuHandler = getParentView().getAdapter(TabFolderMenuHandler.class); + TabFolderMenuHandler menuHandler = (TabFolderMenuHandler) getParentView().getAdapter(TabFolderMenuHandler.class); if (menuHandler != null) { Menu menu = (Menu)menuHandler.getAdapter(Menu.class); if (menu != null) { @@ -408,7 +408,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid } // Set the context menu - TabFolderMenuHandler menuHandler = getParentView().getAdapter(TabFolderMenuHandler.class); + TabFolderMenuHandler menuHandler = (TabFolderMenuHandler) getParentView().getAdapter(TabFolderMenuHandler.class); if (menuHandler != null) { Menu menu = (Menu)menuHandler.getAdapter(Menu.class); if (menu != null) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index 241a827ecba..784da0841e0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -131,7 +131,7 @@ public class TabFolderMenuHandler extends PlatformObject { * @return The tab folder or null. */ protected final CTabFolder getTabFolder() { - return getParentView().getAdapter(CTabFolder.class); + return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } /** @@ -221,7 +221,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Determine if pasting to the active tab require backslash translation boolean needsTranslation = false; - TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); @@ -293,7 +293,7 @@ public class TabFolderMenuHandler extends PlatformObject { }); // Create and add the select encoding action - add (new SelectEncodingAction(getParentView().getAdapter(TabFolderManager.class)) { + add (new SelectEncodingAction((TabFolderManager) getParentView().getAdapter(TabFolderManager.class)) { /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @@ -313,7 +313,7 @@ public class TabFolderMenuHandler extends PlatformObject { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager - TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index 5cc2bcd0335..27cde5ba294 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -102,7 +102,7 @@ public class TabFolderToolbarHandler extends PlatformObject { * @return The tab folder or null. */ protected final CTabFolder getTabFolder() { - return getParentView().getAdapter(CTabFolder.class); + return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } /** @@ -114,7 +114,7 @@ public class TabFolderToolbarHandler extends PlatformObject { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager - TabFolderManager manager = getParentView().getAdapter(TabFolderManager.class); + TabFolderManager manager = (TabFolderManager) getParentView().getAdapter(TabFolderManager.class); if (manager != null) { // If we have the active tab item, we can get the active terminal control CTabItem activeTabItem = manager.getActiveTabItem(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index 183133e45d1..4db5b5b3520 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -695,13 +695,13 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa // If the selection is valid, fire the command to open the local terminal if (isValid) { - ICommandService service = PlatformUI.getWorkbench().getService(ICommandService.class); + ICommandService service = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class); Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.connector.local.command.launch") : null; //$NON-NLS-1$ if (command != null && command.isDefined() && command.isEnabled()) { try { ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); Assert.isNotNull(pCmd); - IHandlerService handlerSvc = PlatformUI.getWorkbench().getService(IHandlerService.class); + IHandlerService handlerSvc = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class); Assert.isNotNull(handlerSvc); IEvaluationContext ctx = handlerSvc.getCurrentState(); ctx = new EvaluationContext(ctx, selection); From 21e5739a8f89fe18eff341c11a4bfbcf4596b8ab Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 7 May 2015 09:44:51 +0200 Subject: [PATCH 693/843] Rework fix for bug 420928 We need to continue polling the text model until the terminal is actually disconnected from the input stream, otherwise error messages about connect failures don't appear in the terminal. --- .../tm/internal/terminal/emulator/VT100TerminalControl.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 86f44659954..20c9af95d13 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -390,7 +390,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } disconnectTerminal(); fClipboard.dispose(); - fPollingTextCanvasModel.stopPolling(); getTerminalText().dispose(); } @@ -446,6 +445,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC job.join(); } catch (InterruptedException e) {} } + fPollingTextCanvasModel.stopPolling(); } private void waitForConnect() { @@ -470,6 +470,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (getState() == TerminalState.CONNECTED) fFocusListener.captureKeyEvents(true); } + fPollingTextCanvasModel.startPolling(); startReaderJob(); } @@ -786,7 +787,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // should never happen! e.printStackTrace(); } - } public OutputStream getRemoteToTerminalOutputStream() { @@ -1252,12 +1252,10 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if(fCtlText!=null && !fCtlText.isDisposed()) { if (isConnected()) { fCtlText.setCursorEnabled(true); - fPollingTextCanvasModel.startPolling(); } else { fCtlText.setCursorEnabled(false); // Stop capturing all key events fFocusListener.captureKeyEvents(false); - fPollingTextCanvasModel.stopPolling(); } } } From 1b5d87253208f1d744fed7df56322300bd245dea Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 09:47:32 +0200 Subject: [PATCH 694/843] Modify SDK feature to match the old TCF Terminal SDK features --- features/org.eclipse.tm.terminal.sdk.feature/feature.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 349e216b282..357e2655a56 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -23,11 +23,8 @@ - - + From d284988e618377457500c8c3464c300ca9e18e9e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 12:04:26 +0200 Subject: [PATCH 695/843] Local: Fix Bug 466650 - Avoid org.eclipse.ui.startup extension for local "show-in Git Bash" discovery --- .../plugin.xml | 5 -- .../ExternalExecutablesInitializer.java | 88 ------------------- .../showin/ExternalExecutablesManager.java | 61 +++++++++++++ 3 files changed, 61 insertions(+), 93 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesInitializer.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index c58c478472e..7a8cadfae5a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -115,11 +115,6 @@ - - - - - > l = ExternalExecutablesManager.load(); - if (l == null) l = new ArrayList>(); - // Find a entry labeled "Git Bash" - Map m = null; - for (Map candidate : l) { - String name = candidate.get(IExternalExecutablesProperties.PROP_NAME); - if ("Git Bash".equals(name)) { //$NON-NLS-1$ - m = candidate; - break; - } - } - - if (m == null) { - m = new HashMap(); - m.put(IExternalExecutablesProperties.PROP_NAME, "Git Bash"); //$NON-NLS-1$ - m.put(IExternalExecutablesProperties.PROP_PATH, gitPath); - m.put(IExternalExecutablesProperties.PROP_ARGS, "--login -i"); //$NON-NLS-1$ - if (iconPath != null) m.put(IExternalExecutablesProperties.PROP_ICON, iconPath); - m.put(IExternalExecutablesProperties.PROP_TRANSLATE, Boolean.TRUE.toString()); - - l.add(m); - ExternalExecutablesManager.save(l); - } - } - } - } -} diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java index f9ee18b71f5..a85cff02055 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java @@ -20,6 +20,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Properties; +import java.util.StringTokenizer; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IPath; @@ -27,11 +28,14 @@ import org.eclipse.core.runtime.Platform; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; +import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; /** * External executables manager implementation. */ public class ExternalExecutablesManager { + // Flag to indicate if we have searched for git bash already + private static boolean gitBashSearchDone = false; /** * Loads the list of all saved external executables. @@ -90,6 +94,63 @@ public class ExternalExecutablesManager { } } + // Lookup git bash (Windows Hosts only) + if (!gitBashSearchDone && Platform.OS_WIN32.equals(Platform.getOS())) { + // Check the existing entries first + // Find a entry labeled "Git Bash" + Map m = null; + for (Map candidate : l) { + String name = candidate.get(IExternalExecutablesProperties.PROP_NAME); + if ("Git Bash".equals(name)) { //$NON-NLS-1$ + m = candidate; + break; + } + } + + // If not found in the existing entries, check the path + if (m == null) { + String gitPath = null; + String iconPath = null; + + String path = System.getenv("PATH"); //$NON-NLS-1$ + if (path != null) { + StringTokenizer tokenizer = new StringTokenizer(path, ";"); //$NON-NLS-1$ + while (tokenizer.hasMoreTokens()) { + String token = tokenizer.nextToken(); + File f = new File(token, "git.exe"); //$NON-NLS-1$ + if (f.canRead()) { + File f2 = new File(f.getParentFile().getParentFile(), "bin/sh.exe"); //$NON-NLS-1$ + if (f2.canExecute()) { + gitPath = f2.getAbsolutePath(); + } + + f2 = new File(f.getParentFile().getParentFile(), "etc/git.ico"); //$NON-NLS-1$ + if (f2.canRead()) { + iconPath = f2.getAbsolutePath(); + } + + break; + } + } + } + + if (gitPath != null) { + m = new HashMap(); + m.put(IExternalExecutablesProperties.PROP_NAME, "Git Bash"); //$NON-NLS-1$ + m.put(IExternalExecutablesProperties.PROP_PATH, gitPath); + m.put(IExternalExecutablesProperties.PROP_ARGS, "--login -i"); //$NON-NLS-1$ + if (iconPath != null) m.put(IExternalExecutablesProperties.PROP_ICON, iconPath); + m.put(IExternalExecutablesProperties.PROP_TRANSLATE, Boolean.TRUE.toString()); + + l.add(m); + save(l); + } + } + + // Do not search again for git bash while the session is running + gitBashSearchDone = true; + } + return l; } From b1957c3415057eb4a8442e551550dfe6b550fb79 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 13:39:34 +0200 Subject: [PATCH 696/843] Serial: Remove unused constructor --- .../terminal/connector/serial/connector/SerialConnector.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java index 512aca2d272..9c3b2fcc642 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java @@ -50,9 +50,6 @@ public class SerialConnector extends TerminalConnectorImpl { public SerialConnector() { } - public SerialConnector(SerialSettings settings) { - fSettings=settings; - } @Override public void initialize() throws Exception { try { From 08844f654a4935c830aa37d60dc720348c6b5447 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 13:49:17 +0200 Subject: [PATCH 697/843] Control: Fix Bug 367855 - TerminalActionPaste uses wrong icon for disabled state --- .../control/actions/TerminalActionPaste.java | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java index 7876e68371e..ca1011c3be2 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java @@ -31,20 +31,22 @@ public class TerminalActionPaste extends AbstractTerminalAction { super(TerminalActionPaste.class.getName()); setActionDefinitionId("org.eclipse.tm.terminal.paste"); //$NON-NLS-1$ ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); - setupAction(ActionMessages.PASTE, ActionMessages.PASTE, si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), false); + setupAction(ActionMessages.PASTE, ActionMessages.PASTE, + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), + false); } public TerminalActionPaste(ITerminalViewControl target) { super(target, TerminalActionPaste.class.getName()); setActionDefinitionId("org.eclipse.tm.terminal.paste"); //$NON-NLS-1$ ISharedImages si = PlatformUI.getWorkbench().getSharedImages(); - setupAction(ActionMessages.PASTE, ActionMessages.PASTE, si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), si - .getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), false); + setupAction(ActionMessages.PASTE, ActionMessages.PASTE, + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE), + si.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED), + false); } public void run() { From ebc9a456891dca38b21513b405e259e844c3cada Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 7 May 2015 14:30:43 +0200 Subject: [PATCH 698/843] Control: Bug 325540 - The class TerminalInputStream is obsolete and should be removed --- .../control/impl/TerminalInputStream.java | 334 ------------------ 1 file changed, 334 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java deleted file mode 100644 index 8bcdf44cfb8..00000000000 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalInputStream.java +++ /dev/null @@ -1,334 +0,0 @@ -/******************************************************************************* - * Copyright (c) 1996, 2008 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Michael Scharf (Wind River) - initial API and implementation - * Douglas Lea (Addison Wesley) - [cq:1552] BoundedBufferWithStateTracking adapted to BoundedByteBuffer - *******************************************************************************/ - -package org.eclipse.tm.internal.terminal.control.impl; - -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; -import java.util.Timer; -import java.util.TimerTask; - -import org.eclipse.swt.widgets.Display; - -/** - * The main purpose of this class is to start a runnable in the - * display thread when data is available and to pretend no data - * is available after a given amount of time the runnable is running. - * - */ -public class TerminalInputStream extends InputStream { - /** - * The maximum time in milliseconds the {@link #fNotifyChange} runs until - * {@link #ready()} returns false. - */ - private final int fUITimeout; - /** - * The output stream used by the terminal backend to write to the terminal - */ - protected final OutputStream fOutputStream; - /** - * This runnable is called every time some characters are available from... - */ - private final Runnable fNotifyChange; - /** - * A shared timer for all terminals. This times is used to limit the - * time used in the display thread.... - */ - static Timer fgTimer=new Timer(false); - /** - * A blocking byte queue. - */ - private final BoundedByteBuffer fQueue; - - /** - * The maximum amount of data read and written in one shot. - * The timer cannot interrupt reading this amount of data. - * {@link #available()} and {@link #read(byte[], int, int)} - * This is used as optimization, because reading single characters - * can be very inefficient, because each call is synchronized. - */ - // block size must be smaller than the Queue capacity! - final int BLOCK_SIZE=64; - - - /** - * The runnable that is scheduled in the display tread. Takes care of the - * timeout management. It calls the {@link #fNotifyChange} - */ - // synchronized with fQueue! - private Runnable fRunnable; - - /** - * Used as flag to indicate that the current runnable - * has used enough time in the display thread. - * This variable is set by a timer thread after the - * Runnable starts to run in the Display thread after - * {@link #fUITimeout}. - */ - // synchronized with fQueue! - private boolean fEnoughDisplayTime; - - /** - * A byte bounded buffer used to synchronize the input and the output stream. - *

                                        - * Adapted from BoundedBufferWithStateTracking - * http://gee.cs.oswego.edu/dl/cpj/allcode.java - * http://gee.cs.oswego.edu/dl/cpj/ - *

                                        - * BoundedBufferWithStateTracking is part of the examples for the book - * Concurrent Programming in Java: Design Principles and Patterns by - * Doug Lea (ISBN 0-201-31009-0). Second edition published by - * Addison-Wesley, November 1999. The code is - * Copyright(c) Douglas Lea 1996, 1999 and released to the public domain - * and may be used for any purposes whatsoever. - *

                                        - * For some reasons a solution based on - * PipedOutputStream/PipedIntputStream - * does work *very* slowly: - * http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4404700 - *

                                        - * - */ - class BoundedByteBuffer { - protected final byte[] fBuffer; // the elements - protected int fPutPos = 0; // circular indices - protected int fTakePos = 0; - protected int fUsedSlots = 0; // the count - public BoundedByteBuffer(int capacity) throws IllegalArgumentException { - // make sure we don't deadlock on too small capacity - if(capacityend) - n=end; - // now block the queue for the time we need to - // add some characters - synchronized(fQueue) { - for(int i=noff;i0)try {read(buff);} catch (IOException e) {break;}}};} - fOutputStream =new TerminalOutputStream(); - fNotifyChange=notifyChange; - fQueue=new BoundedByteBuffer(bufferSize); - fUITimeout=uiTimeout; - } - /** - * Posts the runnable {@link #fNotifyChange} to the display Thread, - * unless the runnable is already scheduled. - * It will make {@link #ready} return false after - * {@link #fUITimeout} milli seconds. - */ - void bytesAreAvailable() { - // synchronize on the Queue to reduce the locks - synchronized(fQueue) { - if(fRunnable==null) { - fRunnable=new Runnable(){ - public void run() { - // protect the access to fRunnable - synchronized(fQueue){ - fRunnable=null; - } - // end the reading after some time - startTimer(fUITimeout); - // and start the real runnable - fNotifyChange.run(); - } - - }; - // TODO: make sure we don't create a display if the display is disposed... - Display.getDefault().asyncExec(fRunnable); - } - } - - } - /** - * Starts a timer that sets {@link #fEnoughDisplayTime} to - * true after milliSec. - * @param milliSec The time after which fEnoughDisplayTime is set to true. - */ - void startTimer(int milliSec) { - synchronized(fQueue) { - fEnoughDisplayTime=false; - } - fgTimer.schedule(new TimerTask(){ - public void run() { - synchronized(fQueue) { - fEnoughDisplayTime=true; - // there is some data available - if(fQueue.size()>0) { - // schedule a new runnable to do the work - bytesAreAvailable(); - } - } - }}, milliSec); - } - /** - * @return the output stream used by the backend to write to the terminal. - */ - public OutputStream getOutputStream() { - return fOutputStream; - } - /** - * Must be called in the Display Thread! - * @return true if a character is available for the terminal to show. - */ - public int available() { - int available; - synchronized(fQueue) { - if(fEnoughDisplayTime) - return 0; - available=fQueue.size(); - } - // Limit the available amount of data. - // else our trick of limiting the time spend - // reading might not work. - if(available>BLOCK_SIZE) - available=BLOCK_SIZE; - return available; - } - /** - * @return the next available byte. Check with {@link #available} - * if characters are available. - */ - public int read() throws IOException { - try { - return fQueue.read(); - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - return -1; - } - } - /** - * Closing a ByteArrayInputStream has no effect. The methods in - * this class can be called after the stream has been closed without - * generating an IOException. - *

                                        - */ - public void close() throws IOException { - } - - public int read(byte[] cbuf, int off, int len) throws IOException { - int n=0; - // read as much as we can using a single synchronized statement - synchronized (fQueue) { - try { - // The assumption is that the caller has used available to - // check if bytes are available! That's why we don't check - // for fEnoughDisplayTime! - // Make sure that not more than BLOCK_SIZE is read in one call - while(fQueue.size()>0 && n Date: Fri, 8 May 2015 07:51:37 +0200 Subject: [PATCH 699/843] View: Bug 466644 - A "Could not create the view:" error appears after updating from TCF Terminals to TM Terrminal --- .../view/ui/actions/AbstractAction.java | 3 +- .../ui/actions/ToggleCommandFieldAction.java | 1 + .../view/ui/internal/PropertyTester.java | 1 + .../AbstractTriggerCommandHandler.java | 1 + .../DisconnectTerminalCommandHandler.java | 1 + .../ui/launcher/LauncherDelegateManager.java | 1 + .../ui/listeners/WorkbenchPartListener.java | 2 + .../view/ui/manager/ConsoleManager.java | 4 + .../view/ui/tabs/TabCommandFieldHandler.java | 1 + .../view/ui/tabs/TabFolderManager.java | 7 +- .../view/ui/tabs/TabFolderMenuHandler.java | 12 ++- .../view/ui/tabs/TabFolderToolbarHandler.java | 7 +- .../view/ui/view/OldTerminalsViewHandler.java | 82 +++++++++++++++++++ .../terminal/view/ui/view/TerminalsView.java | 6 +- 14 files changed, 117 insertions(+), 12 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java index 0013c77d09e..e3c4a3ed109 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java @@ -95,6 +95,7 @@ public abstract class AbstractAction extends AbstractTerminalAction { * * @param data The terminal custom data node or null. */ + @SuppressWarnings("cast") protected void executeCommand(Object data) { // Get the command service from the workbench ICommandService service = (ICommandService)PlatformUI.getWorkbench().getAdapter(ICommandService.class); @@ -112,7 +113,7 @@ public abstract class AbstractAction extends AbstractTerminalAction { // Apply the selection to the "activeMenuSelection" and "selection" variable too context.addVariable(ISources.ACTIVE_CURRENT_SELECTION_NAME, selection); context.addVariable(ISources.ACTIVE_MENU_SELECTION_NAME, selection); - // Allow plugin activation + // Allow plug-in activation context.setAllowPluginActivation(true); // And execute the event try { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java index f108f885931..9fe0aecc7c7 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java @@ -69,6 +69,7 @@ public class ToggleCommandFieldAction extends AbstractTerminalAction { * * @return The command input field handler or null. */ + @SuppressWarnings("cast") protected TabCommandFieldHandler getCommandFieldHandler() { TabCommandFieldHandler handler = null; // Get the active tab item from the tab folder manager diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index 133b8594732..d6eb2f5802e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -28,6 +28,7 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester /* (non-Javadoc) * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object) */ + @SuppressWarnings("cast") @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java index 03b5e7a93f9..07e36f031cf 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java @@ -37,6 +37,7 @@ public abstract class AbstractTriggerCommandHandler extends AbstractHandler { * @param commandId The command id. Must not be null. * @param selection The selection to pass on to the command or null. */ + @SuppressWarnings("cast") protected void triggerCommand(String commandId, ISelection selection) { Assert.isNotNull(commandId); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java index 98c6635682a..142973bff65 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java @@ -28,6 +28,7 @@ public class DisconnectTerminalCommandHandler extends AbstractHandler { /* (non-Javadoc) * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) */ + @SuppressWarnings("cast") @Override public Object execute(ExecutionEvent event) throws ExecutionException { CTabItem item = null; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java index 0e9d1886feb..2428eefabd6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java @@ -284,6 +284,7 @@ public class LauncherDelegateManager { * @param selection The selection or null. * @return The list of applicable terminal launcher delegates or an empty array. */ + @SuppressWarnings("cast") public ILauncherDelegate[] getApplicableLauncherDelegates(ISelection selection) { List applicable = new ArrayList(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java index 0c5912ea2f6..c93dc3dd1d8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java @@ -65,6 +65,7 @@ public class WorkbenchPartListener implements IPartListener2 { /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partActivated(org.eclipse.ui.IWorkbenchPartReference) */ + @SuppressWarnings("cast") @Override public void partActivated(IWorkbenchPartReference partRef) { if ("org.eclipse.tm.terminal.view.ui.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ @@ -86,6 +87,7 @@ public class WorkbenchPartListener implements IPartListener2 { /* (non-Javadoc) * @see org.eclipse.ui.IPartListener2#partDeactivated(org.eclipse.ui.IWorkbenchPartReference) */ + @SuppressWarnings("cast") @Override public void partDeactivated(IWorkbenchPartReference partRef) { if ("org.eclipse.tm.terminal.view.ui.TerminalsView".equals(partRef.getId())) { //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index 6bb179d8141..8239cee498d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -424,6 +424,7 @@ public class ConsoleManager { * @param data The custom terminal data node or null. * @param flags The flags controlling how the console is opened or null to use defaults. */ + @SuppressWarnings("cast") public CTabItem openConsole(String id, String secondaryId, String title, String encoding, ITerminalConnector connector, Object data, Map flags) { Assert.isNotNull(title); Assert.isNotNull(connector); @@ -496,6 +497,7 @@ public class ConsoleManager { * * @return The corresponding console tab item or null. */ + @SuppressWarnings("cast") public CTabItem findConsole(String id, String secondaryId, String title, ITerminalConnector connector, Object data) { Assert.isNotNull(title); Assert.isNotNull(connector); @@ -520,6 +522,7 @@ public class ConsoleManager { * @param control The terminal control. Must not be null. * @return The corresponding console tab item or null. */ + @SuppressWarnings("cast") public CTabItem findConsole(ITerminalControl control) { Assert.isNotNull(control); @@ -562,6 +565,7 @@ public class ConsoleManager { * * @return The corresponding console tab item or null. */ + @SuppressWarnings("cast") private CTabItem findConsoleForTerminalConnector(String id, String title, ITerminalConnector connector, Object data) { Assert.isNotNull(title); Assert.isNotNull(connector); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java index 9a85fee1112..1ebda75d59c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java @@ -55,6 +55,7 @@ public class TabCommandFieldHandler implements IDisposable, IAdaptable { /* (non-Javadoc) * @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class) */ + @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Object getAdapter(Class adapter) { if (TabFolderManager.class.equals(adapter)) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index f9eff593b42..fcbd8e5cbc9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -200,7 +200,8 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * * @return The tab folder or null. */ - protected final CTabFolder getTabFolder() { + @SuppressWarnings("cast") + protected final CTabFolder getTabFolder() { return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } @@ -237,7 +238,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * * @return The created tab item or null if failed. */ - @SuppressWarnings("unused") + @SuppressWarnings({ "unused", "cast" }) public CTabItem createTabItem(String title, String encoding, ITerminalConnector connector, Object data, Map flags) { Assert.isNotNull(title); Assert.isNotNull(connector); @@ -341,7 +342,7 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * @param oldItem The old dragged tab item. Must not be null. * @return The new dropped tab item. */ - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked", "cast" }) public CTabItem cloneTabItemAfterDrop(CTabItem oldItem) { Assert.isNotNull(oldItem); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index 784da0841e0..e406040a8b5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -130,7 +130,8 @@ public class TabFolderMenuHandler extends PlatformObject { * * @return The tab folder or null. */ - protected final CTabFolder getTabFolder() { + @SuppressWarnings("cast") + protected final CTabFolder getTabFolder() { return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } @@ -201,7 +202,8 @@ public class TabFolderMenuHandler extends PlatformObject { /** * Create the context menu actions. */ - protected void doCreateContextMenuActions() { + @SuppressWarnings("cast") + protected void doCreateContextMenuActions() { // Create and add the copy action add(new TerminalActionCopy() { /* (non-Javadoc) @@ -215,7 +217,7 @@ public class TabFolderMenuHandler extends PlatformObject { // Create and add the paste action add(new TerminalActionPaste() { - @SuppressWarnings("unchecked") + @SuppressWarnings({ "unchecked" }) @Override public void run() { // Determine if pasting to the active tab require backslash translation @@ -309,7 +311,8 @@ public class TabFolderMenuHandler extends PlatformObject { * * @return The currently active terminal control or null. */ - protected ITerminalViewControl getActiveTerminalViewControl() { + @SuppressWarnings("cast") + protected ITerminalViewControl getActiveTerminalViewControl() { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager @@ -366,6 +369,7 @@ public class TabFolderMenuHandler extends PlatformObject { /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) */ + @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Object getAdapter(Class adapter) { if (MenuManager.class.isAssignableFrom(adapter)) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index 27cde5ba294..44bdcfe6d18 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -101,7 +101,8 @@ public class TabFolderToolbarHandler extends PlatformObject { * * @return The tab folder or null. */ - protected final CTabFolder getTabFolder() { + @SuppressWarnings("cast") + protected final CTabFolder getTabFolder() { return (CTabFolder) getParentView().getAdapter(CTabFolder.class); } @@ -110,7 +111,8 @@ public class TabFolderToolbarHandler extends PlatformObject { * * @return The currently active terminal control or null. */ - public ITerminalViewControl getActiveTerminalViewControl() { + @SuppressWarnings("cast") + public ITerminalViewControl getActiveTerminalViewControl() { ITerminalViewControl terminal = null; // Get the active tab item from the tab folder manager @@ -347,6 +349,7 @@ public class TabFolderToolbarHandler extends PlatformObject { /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) */ + @SuppressWarnings({ "unchecked", "rawtypes" }) @Override public Object getAdapter(Class adapter) { if (IToolBarManager.class.isAssignableFrom(adapter)) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java new file mode 100644 index 00000000000..7c7df67ad7a --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.view; + +import org.eclipse.core.runtime.Assert; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.ui.IPerspectiveDescriptor; +import org.eclipse.ui.IStartup; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PerspectiveAdapter; +import org.eclipse.ui.PlatformUI; + +/** + * Old terminals view handler implementation. + *

                                        + * If invoked, the view implementation opens the new terminals view and + * closes itself afterwards. + */ +public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStartup { + private final static String OLD_VIEW_ID = "org.eclipse.tcf.te.ui.terminals.TerminalsView"; //$NON-NLS-1$ + + /* (non-Javadoc) + * @see org.eclipse.ui.IStartup#earlyStartup() + */ + @Override + public void earlyStartup() { + IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IWorkbenchPage page = window != null ? window.getActivePage() : null; + + if (page != null) handleOldTerminalsView(page); + + // Register ourself as perspective listener + window.addPerspectiveListener(this); + } + + /* (non-Javadoc) + * @see org.eclipse.ui.PerspectiveAdapter#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) + */ + @Override + public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { + super.perspectiveActivated(page, perspective); + } + + /** + * Checks for the old terminals view ID and close any view with + * that ID. If found in the perspective, it attempts to open the + * new terminals view. + * + * @param page The active workbench page. Must not be null. + */ + protected void handleOldTerminalsView(IWorkbenchPage page) { + Assert.isNotNull(page); + + boolean showNewView = false; + + // Search all view references in the current workbench page + // matching the old terminals view ID + IViewPart oldView = page.findView(OLD_VIEW_ID); + while (oldView != null) { + page.hideView(oldView); + showNewView = true; + } + + // Show the new terminals view if necessary + if (showNewView) { + try { + page.showView(IUIConstants.ID); + } + catch (PartInitException e) { /* ignored on purpose */ } + } + } +} diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index 4db5b5b3520..b8ab57a43d9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -607,7 +607,8 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#getAdapter(java.lang.Class) */ - @Override + @SuppressWarnings({ "unchecked", "rawtypes" }) + @Override public Object getAdapter(Class adapter) { if (CTabFolder.class.isAssignableFrom(adapter)) { return tabFolderControl; @@ -667,7 +668,8 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa /* (non-Javadoc) * @see org.eclipse.ui.part.IShowInTarget#show(org.eclipse.ui.part.ShowInContext) */ - @Override + @SuppressWarnings("cast") + @Override public boolean show(ShowInContext context) { if (context != null) { // Get the selection from the context From 770bad545cc808ce2882fb0d14aea7605e6f4583 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 09:23:04 +0200 Subject: [PATCH 700/843] View: Bug 466644 - A "Could not create the view:" error appears after updating from TCF Terminals to TM Terrminal --- .../plugin.xml | 29 +++++++++++++- .../view/ui/internal/PropertyTester.java | 4 ++ .../view/ui/view/OldTerminalsViewHandler.java | 3 +- .../ui/view/OldTerminalsViewHandler2.java | 40 +++++++++++++++++++ 4 files changed, 74 insertions(+), 2 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 3cfc61ccecc..d0e996165f9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -20,6 +20,16 @@ id="org.eclipse.tm.terminal.view.ui.TerminalsView" name="%TerminalsView.name"> + + + + @@ -128,7 +138,7 @@ class="org.eclipse.tm.terminal.view.ui.internal.PropertyTester" id="org.eclipse.tm.terminal.view.ui.PropertyTester" namespace="org.eclipse.tm.terminal.view.ui" - properties="hasApplicableLauncherDelegates,canDisconnect" + properties="oldViewActivityEnabled,hasApplicableLauncherDelegates,canDisconnect" type="java.lang.Object"> @@ -325,6 +335,23 @@ + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index d6eb2f5802e..861cb8b50e6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -31,6 +31,10 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester @SuppressWarnings("cast") @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + if ("oldViewActivityEnabled".equals(property)) { //$NON-NLS-1$ + return true; + } + if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ ISelection selection = receiver instanceof ISelection ? (ISelection)receiver : new StructuredSelection(receiver); return expectedValue.equals(Boolean.valueOf(LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection).length > 0)); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java index 7c7df67ad7a..eeb6d890555 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -40,7 +40,7 @@ public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStar if (page != null) handleOldTerminalsView(page); // Register ourself as perspective listener - window.addPerspectiveListener(this); + if (window != null) window.addPerspectiveListener(this); } /* (non-Javadoc) @@ -69,6 +69,7 @@ public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStar while (oldView != null) { page.hideView(oldView); showNewView = true; + oldView = page.findView(OLD_VIEW_ID); } // Show the new terminals view if necessary diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java new file mode 100644 index 00000000000..be7a640a2d0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.view; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.ui.part.ViewPart; + +/** + * + */ +public class OldTerminalsViewHandler2 extends ViewPart { + + /** + * + */ + public OldTerminalsViewHandler2() { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) + */ + @Override + public void createPartControl(Composite parent) { + } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + } + +} From b0c888065d45c1c6bd30b572bf2b8c9eda70e218 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 12:05:25 +0200 Subject: [PATCH 701/843] View: Bug 466644 - A "Could not create the view:" error appears after updating from TCF Terminals to TM Terrminal --- .../plugin.properties | 1 + .../plugin.xml | 9 ++++--- .../view/ui/internal/PropertyTester.java | 3 ++- .../ui/view/OldTerminalsViewHandler2.java | 26 +++++++++++++++++-- 4 files changed, 33 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index a3a8cee7a38..97d71b8cdb9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -16,6 +16,7 @@ providerName = Eclipse.org - Target Management ViewCategory.name=Terminal TerminalsView.name=Terminal +TerminalsView.name.old=Terminal (Old) TerminalsView.context.name=In Terminal View TerminalsView.context.description=Show modified keyboard shortcuts in context menu diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index d0e996165f9..1dfa03b454d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -27,8 +27,7 @@ class="org.eclipse.tm.terminal.view.ui.view.OldTerminalsViewHandler2" icon="icons/eview16/terminal_view.gif" id="org.eclipse.tcf.te.ui.terminals.TerminalsView" - name="%TerminalsView.name" - restorable="false"> + name="%TerminalsView.name.old"> @@ -349,9 +348,13 @@ + pattern=".*/org\.eclipse\.tcf\.te\.ui\.terminals\.TerminalsView"> + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index 861cb8b50e6..64c931a81e3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -31,8 +31,9 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester @SuppressWarnings("cast") @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { + // This property is supposed to return always false if ("oldViewActivityEnabled".equals(property)) { //$NON-NLS-1$ - return true; + return false; } if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java index be7a640a2d0..8a8025709eb 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java @@ -10,17 +10,26 @@ package org.eclipse.tm.terminal.view.ui.view; import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.PartInitException; +import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; /** - * + * Old terminals view handler implementation. + *

                                        + * If invoked, the view implementation opens the new terminals view and + * closes itself afterwards. */ public class OldTerminalsViewHandler2 extends ViewPart { /** - * + * Constructor. */ public OldTerminalsViewHandler2() { + super(); } /* (non-Javadoc) @@ -28,6 +37,19 @@ public class OldTerminalsViewHandler2 extends ViewPart { */ @Override public void createPartControl(Composite parent) { + IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); + IWorkbenchPage page = window != null ? window.getActivePage() : null; + + if (page != null) { + // Show the new view + try { + page.showView(IUIConstants.ID); + } + catch (PartInitException e) { /* ignored on purpose */ } + + // Hide ourself in the current perspective + page.hideView(this); + } } /* (non-Javadoc) From 0591b91356f35f6bb05765506169f2a5bcd5a0d2 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 13:54:28 +0200 Subject: [PATCH 702/843] View: Bug 466644 - A "Could not create the view:" error appears after updating from TCF Terminals to TM Terrminal --- .../plugin.xml | 2 +- .../view/ui/view/OldTerminalsViewHandler.java | 71 +++++++------------ .../ui/view/OldTerminalsViewHandler2.java | 62 ---------------- 3 files changed, 26 insertions(+), 109 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 1dfa03b454d..b7df7a9a23b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -24,7 +24,7 @@ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java index eeb6d890555..ffc88f162fb 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -9,16 +9,13 @@ *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.view; -import org.eclipse.core.runtime.Assert; +import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; -import org.eclipse.ui.IPerspectiveDescriptor; -import org.eclipse.ui.IStartup; -import org.eclipse.ui.IViewPart; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PerspectiveAdapter; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.part.ViewPart; /** * Old terminals view handler implementation. @@ -26,58 +23,40 @@ import org.eclipse.ui.PlatformUI; * If invoked, the view implementation opens the new terminals view and * closes itself afterwards. */ -public class OldTerminalsViewHandler extends PerspectiveAdapter implements IStartup { - private final static String OLD_VIEW_ID = "org.eclipse.tcf.te.ui.terminals.TerminalsView"; //$NON-NLS-1$ +public class OldTerminalsViewHandler extends ViewPart { + + /** + * Constructor. + */ + public OldTerminalsViewHandler() { + super(); + } /* (non-Javadoc) - * @see org.eclipse.ui.IStartup#earlyStartup() + * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) */ @Override - public void earlyStartup() { + public void createPartControl(Composite parent) { IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); IWorkbenchPage page = window != null ? window.getActivePage() : null; - if (page != null) handleOldTerminalsView(page); - - // Register ourself as perspective listener - if (window != null) window.addPerspectiveListener(this); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.PerspectiveAdapter#perspectiveActivated(org.eclipse.ui.IWorkbenchPage, org.eclipse.ui.IPerspectiveDescriptor) - */ - @Override - public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) { - super.perspectiveActivated(page, perspective); - } - - /** - * Checks for the old terminals view ID and close any view with - * that ID. If found in the perspective, it attempts to open the - * new terminals view. - * - * @param page The active workbench page. Must not be null. - */ - protected void handleOldTerminalsView(IWorkbenchPage page) { - Assert.isNotNull(page); - - boolean showNewView = false; - - // Search all view references in the current workbench page - // matching the old terminals view ID - IViewPart oldView = page.findView(OLD_VIEW_ID); - while (oldView != null) { - page.hideView(oldView); - showNewView = true; - oldView = page.findView(OLD_VIEW_ID); - } - - // Show the new terminals view if necessary - if (showNewView) { + if (page != null) { + // Show the new view try { page.showView(IUIConstants.ID); } catch (PartInitException e) { /* ignored on purpose */ } + + // Hide ourself in the current perspective + page.hideView(this); } } + + /* (non-Javadoc) + * @see org.eclipse.ui.part.WorkbenchPart#setFocus() + */ + @Override + public void setFocus() { + } + } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java deleted file mode 100644 index 8a8025709eb..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler2.java +++ /dev/null @@ -1,62 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.view; - -import org.eclipse.swt.widgets.Composite; -import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; -import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.part.ViewPart; - -/** - * Old terminals view handler implementation. - *

                                        - * If invoked, the view implementation opens the new terminals view and - * closes itself afterwards. - */ -public class OldTerminalsViewHandler2 extends ViewPart { - - /** - * Constructor. - */ - public OldTerminalsViewHandler2() { - super(); - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite) - */ - @Override - public void createPartControl(Composite parent) { - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - IWorkbenchPage page = window != null ? window.getActivePage() : null; - - if (page != null) { - // Show the new view - try { - page.showView(IUIConstants.ID); - } - catch (PartInitException e) { /* ignored on purpose */ } - - // Hide ourself in the current perspective - page.hideView(this); - } - } - - /* (non-Javadoc) - * @see org.eclipse.ui.part.WorkbenchPart#setFocus() - */ - @Override - public void setFocus() { - } - -} From 345c7c1406adf8917308ccd9258e93255022b36d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 14:11:22 +0200 Subject: [PATCH 703/843] SDK: Better to include the binary feature in the SDK feature --- features/org.eclipse.tm.terminal.sdk.feature/feature.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 357e2655a56..40e008ee457 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -22,9 +22,12 @@ + + - From 8050f2906343a475f4c0e8f575f88483cc78863e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 14:29:53 +0200 Subject: [PATCH 704/843] Releng: Update TM Terminal branding icon --- .../org.eclipse.tm.terminal.control/tm32.png | Bin 2275 -> 1438 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/tm32.png b/plugins/org.eclipse.tm.terminal.control/tm32.png index 3077b1220dd688632a42e347f90c90cb319835f0..3845254117402e2d7cc89be21ad3e411b78f60ac 100644 GIT binary patch delta 1431 zcmV;I1!(%?5uOW>8Gix*008_L?V|ty00(qQO+^Ra1qcirDUUawkN^Mx32;bRa{vHN zAOHYPAORMAnce^Z00d`2O+f$vv5yP&rSIF@``Wo&C;wQrrET^u*n7V7-tBHxSiDj`YvS`1ZMS=RqT`5?k{w$%Zw?K> zw4Pv^_JHDyU$yOfLqp@E81*YsOc9cbL06Y%w*1)9L+R=1K>_G1pRk=jfzmN^%cjq& z8E2e=i2m<%)2zp6)g3y#e{3qF0Ar))?>MJGUnHdAlYgqGD1C!>zxt-kk1-4Yp#eZ- zCa3fU@77E$x+r=}^TnDoOY`zZ04N9b;}RY=qDuRAji$BbX&4bT<>(+BM>Fz=H(MGb zA|gQ1l*Z$I!gVWWvSrLL<{ZG2Csc_J0$CBG}YI^AZkd5_PlPI^0bWB0OV$ z((7e!%+Ht;98#;c`B>ulIN;C^A7vQ8aWX z4@?fkXIYQiYwCY$wK|5Q@XnsDE{Cq6f8?c5xlBDZ0Gc5gmJ)S~qZ3C6HI#vO7_^CV zH-E0r&0hE_E)`I*DQCd3uwOZrd-AyNivyqIsAdt{RSS1OPWsxeJ|jV7y*wuoSem#~ z$2Im~MG{T|$B`b&Y_`V6&P3>Y$Hfc4n7B3PgX$P{vgn7Rm|BrA@o|6r#?}Myv+$!j z2|5M|j@c+#)W&2Rjwctgx=LV4YrDMowSVM}+g==%i*IZGNRUgH zN71_e1-OJzW66bZkpW8|u3z@%<k})H5rqeH7%~uQeEEL*w|^o? zV)wGS*LCb*uiby)xJffbyOfGJxh!J*^Ndd>6%PEaic2n++vRrmo6NPRcZyapakOt3 z8GC6BpIOZ4Dph^IpDEqCr09fNlIq7`7}Dl=49!C(Q%UjB0f1+HQn?VJV%OS8aMt`cQs_>otx_^Nla_p!AN7PH%;PXrdLydjkkp`0Vf(+X1q?b}E zq~Dcq1rsv-cBqpuj%`v?v^qvUL~IeccI^{?a{e;TaK?wVsRV`I3D^K?tiMD2s%0f z4BL7V4!OkV=n2cZJ`j7Y!_sRsH($RkI@s-oyn-S!DpQ8zL&ttN5Hj))HrUt2tC5h? zHD~GI9X-6I12!AkC><_1+Et0%iN91Q6#rDA51_002ovPDHLkV1m0nu9E-& delta 2274 zcmV<82p#vH3*!-x8Gi-<0047(dh`GQ00DDSM?wIu&K&6g000SaNLh0L01FcU01FcV z0GgZ_00007bV*G`2iXM+69);-`P_T}00?zSL_t(o!>yNHj9pa~$AA0WbMKwGGt((8 z{jk(2@?8oT1Jh!NAP>YC1qumDOpG-#0umlfcrd09@PzRT8h;{&mVKSz{{q61)R6 zvooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%ztOy**(oOFTD+J0BjH#axPis zV8kVE=*~Otyy%u&ZW({)op&Z4eeAKl&dk=9pyvatfQx`nm$MGcc22h%-I@00(8<>~ zJD#J{T@D{_F*V&`exXOFo72fWKJSv}9eP>o{XCodW0XUGa4aNA;+Ajw*0%AjTep5~ z?b@|h0DnwRPanMP_S+svS&R|&lK$1e<-jFowk&k~Q0#@lU@#>KCp*S$CK!-7M?c`s zIdElkabqs2e_#D&-?{A4p=WpOc<_eRt5ifeEq2M*4B_t8gR=zp$S)qQ;3x^-*szWeUGy!YMh+qeJL z)Iw6c5iO?&dZFtZq2q~pAc&GFgrLNrh$te4h!uZSL(~cbR0|_a3q}CvVArnK8c#j7 zcT2n7ZUgMxx%1cWA3Jv1ppycz%<~+WZ=YHi3z@&FI#5N@3f*YT&-du%fjp1&dP1HH zF@Fl)3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2vxT(pHPFpwJB`+f z=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH#5o>(@Ec6e%s1}8 z|AF77sm)?G2ekSIWI+4OzfON$RU0bGRDUbd14NWwFOqdVtyWIEozv~)^m4)bKoliL zMI~YyF_XnG^!0M0zU+lUAvLaR0Og@J+mX&@A()r=WQ zIGk6hijYLbML?ujBbb1yAVK*|w|}752SLOm(IXO23k(enF*-UzwN|CBLSv}G#*G*7 z;tLa~C=vxTy&m`#plP4lbfCuI@;XQ)MnR*17Z4$hg;8k~2uh`10Sm;~Lqd-jb5uMg z1sknahhrZc$IR$WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV95_aEu8oRf zl!Z!_iG34BzrBVKaaBl1D}PutD$yVs8V!jK2^B0>aM7p-BdPZYArO7xxoTk3#`V3H6Vd4TP`E|oL63%An#?w5HK@D1XD##F_zW`Z7v$%z=aqv6My=x&AFn6Cka%m z6|8QEfkq<{NX!Teff#yh-THYZCJyn|TSxGDPV@mYMYI4^WU)E*%d?rix@Z7U$wTDo zY>G>mS<22wjG{0#Fy3gt$G!J_nJ1t86LWJ-yw8atpsGb*PyuI)F}HJip6yyRz>KOy zq2_zk+!C06k1zIrWq)TY?%T1;8`-<;{>e##_rwqoDN^hlu~8N(%xu@x)Sjbf zL*N+j!80^G#OUZKW`_60hPPg;fpc^^9nv(VR;w|X4)F8+zo9ZRNH5FEI14Il zBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~T2Wfd z_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+S6+UN z=bm|vOTTwLkbk2XBC+%u3;{FL6o(ZbJ1aT|+dfLxDT%9v;5j`#O_pUC5PU#P*rWS7 zIDdqh_B{1N^Ee0I=lw0thbS+oE+pJ%LIHi~qdY$w0)rTZX0y5I`Fv}hXZF8VHv1$WUR^PH!tQ)wM}9v9kQA2J07^1 zPdHLDU0XQsyitGh)Tx0Jr%v+c$|Q};&nLaNL2Y!HUbi@Z);=|Ic30*=3x$2+;l?+Q wH_DSy1zdURMT+)=6sOoiT@(BE8UN?;AJQN*_5*pk^Z)<=07*qoM6N<$f)gA&2LJ#7 From 7c4dee51fc6cf0e2bad1ca484a68ef8fe911c855 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 14:56:11 +0200 Subject: [PATCH 705/843] Releng: Turn of git based build timestamp calculation for features --- .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ .../pom.xml | 4 ++++ features/org.eclipse.tm.terminal.feature/pom.xml | 15 +++++++++++++++ .../org.eclipse.tm.terminal.sdk.feature/pom.xml | 15 +++++++++++++++ .../org.eclipse.tm.terminal.view.feature/pom.xml | 15 +++++++++++++++ .../pom.xml | 15 +++++++++++++++ .../pom.xml | 15 +++++++++++++++ .../pom.xml | 15 +++++++++++++++ 18 files changed, 138 insertions(+) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml index 48329669262..db0bc0c37f5 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.local.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml index 313460bf867..580645ae68b 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.local.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml index cd2532a1fab..a9adb91fbc6 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.remote.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml index 0cd3e39c24d..d13e7e54089 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.remote.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml index cab37230235..ebeec907ab5 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.serial.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml index f1ec3cfa5f1..664643dc1e7 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.serial.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml index 7df265ce5b8..3eb33340c9d 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.ssh.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml index 9e350e035d8..4978621ad8a 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.ssh.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml index c8f7acb9c03..d030422b998 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.telnet.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml index 77396b43f29..e600f145d9b 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.connector.telnet.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.control.feature/pom.xml b/features/org.eclipse.tm.terminal.control.feature/pom.xml index 0d8253cd8b1..48d4adef269 100644 --- a/features/org.eclipse.tm.terminal.control.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.control.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml index a3380348fe8..07c975d55d8 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml @@ -15,6 +15,10 @@ org.eclipse.tm.terminal.control.sdk.feature eclipse-feature + + true + + diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index 82edd61bd87..6beb9c81868 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index 8e98438cdd2..da39dab5b12 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.view.feature/pom.xml b/features/org.eclipse.tm.terminal.view.feature/pom.xml index bbb025e0446..7ec86e49d5c 100644 --- a/features/org.eclipse.tm.terminal.view.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml index 5a49506b26c..82d3710ebda 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml index 78e57381d98..22c4416673d 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml index 2880c57c955..39f79433d1b 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml @@ -18,4 +18,19 @@ true + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + From 990068c8d2c1135bd421aeef206aafde7d9bab8a Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 15:32:53 +0200 Subject: [PATCH 706/843] Releng: Update about dialog icon --- .../tm32.png | Bin 2275 -> 1438 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.core/tm32.png b/plugins/org.eclipse.tm.terminal.view.core/tm32.png index 3077b1220dd688632a42e347f90c90cb319835f0..3845254117402e2d7cc89be21ad3e411b78f60ac 100644 GIT binary patch delta 1431 zcmV;I1!(%?5uOW>8Gix*008_L?V|ty00(qQO+^Ra1qcirDUUawkN^Mx32;bRa{vHN zAOHYPAORMAnce^Z00d`2O+f$vv5yP&rSIF@``Wo&C;wQrrET^u*n7V7-tBHxSiDj`YvS`1ZMS=RqT`5?k{w$%Zw?K> zw4Pv^_JHDyU$yOfLqp@E81*YsOc9cbL06Y%w*1)9L+R=1K>_G1pRk=jfzmN^%cjq& z8E2e=i2m<%)2zp6)g3y#e{3qF0Ar))?>MJGUnHdAlYgqGD1C!>zxt-kk1-4Yp#eZ- zCa3fU@77E$x+r=}^TnDoOY`zZ04N9b;}RY=qDuRAji$BbX&4bT<>(+BM>Fz=H(MGb zA|gQ1l*Z$I!gVWWvSrLL<{ZG2Csc_J0$CBG}YI^AZkd5_PlPI^0bWB0OV$ z((7e!%+Ht;98#;c`B>ulIN;C^A7vQ8aWX z4@?fkXIYQiYwCY$wK|5Q@XnsDE{Cq6f8?c5xlBDZ0Gc5gmJ)S~qZ3C6HI#vO7_^CV zH-E0r&0hE_E)`I*DQCd3uwOZrd-AyNivyqIsAdt{RSS1OPWsxeJ|jV7y*wuoSem#~ z$2Im~MG{T|$B`b&Y_`V6&P3>Y$Hfc4n7B3PgX$P{vgn7Rm|BrA@o|6r#?}Myv+$!j z2|5M|j@c+#)W&2Rjwctgx=LV4YrDMowSVM}+g==%i*IZGNRUgH zN71_e1-OJzW66bZkpW8|u3z@%<k})H5rqeH7%~uQeEEL*w|^o? zV)wGS*LCb*uiby)xJffbyOfGJxh!J*^Ndd>6%PEaic2n++vRrmo6NPRcZyapakOt3 z8GC6BpIOZ4Dph^IpDEqCr09fNlIq7`7}Dl=49!C(Q%UjB0f1+HQn?VJV%OS8aMt`cQs_>otx_^Nla_p!AN7PH%;PXrdLydjkkp`0Vf(+X1q?b}E zq~Dcq1rsv-cBqpuj%`v?v^qvUL~IeccI^{?a{e;TaK?wVsRV`I3D^K?tiMD2s%0f z4BL7V4!OkV=n2cZJ`j7Y!_sRsH($RkI@s-oyn-S!DpQ8zL&ttN5Hj))HrUt2tC5h? zHD~GI9X-6I12!AkC><_1+Et0%iN91Q6#rDA51_002ovPDHLkV1m0nu9E-& delta 2274 zcmV<82p#vH3*!-x8Gi-<0047(dh`GQ00DDSM?wIu&K&6g000SaNLh0L01FcU01FcV z0GgZ_00007bV*G`2iXM+69);-`P_T}00?zSL_t(o!>yNHj9pa~$AA0WbMKwGGt((8 z{jk(2@?8oT1Jh!NAP>YC1qumDOpG-#0umlfcrd09@PzRT8h;{&mVKSz{{q61)R6 zvooD^;e)x0^M!1A=!8p;O?QUo+WFjz`#zY=vf#Y$%ztOy**(oOFTD+J0BjH#axPis zV8kVE=*~Otyy%u&ZW({)op&Z4eeAKl&dk=9pyvatfQx`nm$MGcc22h%-I@00(8<>~ zJD#J{T@D{_F*V&`exXOFo72fWKJSv}9eP>o{XCodW0XUGa4aNA;+Ajw*0%AjTep5~ z?b@|h0DnwRPanMP_S+svS&R|&lK$1e<-jFowk&k~Q0#@lU@#>KCp*S$CK!-7M?c`s zIdElkabqs2e_#D&-?{A4p=WpOc<_eRt5ifeEq2M*4B_t8gR=zp$S)qQ;3x^-*szWeUGy!YMh+qeJL z)Iw6c5iO?&dZFtZq2q~pAc&GFgrLNrh$te4h!uZSL(~cbR0|_a3q}CvVArnK8c#j7 zcT2n7ZUgMxx%1cWA3Jv1ppycz%<~+WZ=YHi3z@&FI#5N@3f*YT&-du%fjp1&dP1HH zF@Fl)3nGfCp(Qw`B^w49uB-;C_02cm{H3c7A3prrFP?bfRWqA2vxT(pHPFpwJB`+f z=2t7#3VALxNeDsdWuXvS*OT=;Suc?F0(ohGl;Em@s(=-QI%hbH#5o>(@Ec6e%s1}8 z|AF77sm)?G2ekSIWI+4OzfON$RU0bGRDUbd14NWwFOqdVtyWIEozv~)^m4)bKoliL zMI~YyF_XnG^!0M0zU+lUAvLaR0Og@J+mX&@A()r=WQ zIGk6hijYLbML?ujBbb1yAVK*|w|}752SLOm(IXO23k(enF*-UzwN|CBLSv}G#*G*7 z;tLa~C=vxTy&m`#plP4lbfCuI@;XQ)MnR*17Z4$hg;8k~2uh`10Sm;~Lqd-jb5uMg z1sknahhrZc$IR$WYdGVy~pXm=|tX#Z5O}&5p-+vVPq#BO`SV95_aEu8oRf zl!Z!_iG34BzrBVKaaBl1D}PutD$yVs8V!jK2^B0>aM7p-BdPZYArO7xxoTk3#`V3H6Vd4TP`E|oL63%An#?w5HK@D1XD##F_zW`Z7v$%z=aqv6My=x&AFn6Cka%m z6|8QEfkq<{NX!Teff#yh-THYZCJyn|TSxGDPV@mYMYI4^WU)E*%d?rix@Z7U$wTDo zY>G>mS<22wjG{0#Fy3gt$G!J_nJ1t86LWJ-yw8atpsGb*PyuI)F}HJip6yyRz>KOy zq2_zk+!C06k1zIrWq)TY?%T1;8`-<;{>e##_rwqoDN^hlu~8N(%xu@x)Sjbf zL*N+j!80^G#OUZKW`_60hPPg;fpc^^9nv(VR;w|X4)F8+zo9ZRNH5FEI14Il zBdiET2|hKocmGlYQs>;TL}6xnhPg9mFgr_m;vBf5BMuG@@bW)i<}Z~=YAb7~T2Wfd z_N&<9UH}ZN54x!QSEr_4fB3_yN-=AM5LmNj4Qtn~#mwk*Isgn04bzHk{ylw+S6+UN z=bm|vOTTwLkbk2XBC+%u3;{FL6o(ZbJ1aT|+dfLxDT%9v;5j`#O_pUC5PU#P*rWS7 zIDdqh_B{1N^Ee0I=lw0thbS+oE+pJ%LIHi~qdY$w0)rTZX0y5I`Fv}hXZF8VHv1$WUR^PH!tQ)wM}9v9kQA2J07^1 zPdHLDU0XQsyitGh)Tx0Jr%v+c$|Q};&nLaNL2Y!HUbi@Z);=|Ic30*=3x$2+;l?+Q wH_DSy1zdURMT+)=6sOoiT@(BE8UN?;AJQN*_5*pk^Z)<=07*qoM6N<$f)gA&2LJ#7 From 2067a4940cefaffe04decaab9c2d267d0059df1c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 8 May 2015 16:37:24 +0200 Subject: [PATCH 707/843] Releng: Fix icon transparency --- .../org.eclipse.tm.terminal.control/tm32.png | Bin 1438 -> 1349 bytes .../tm32.png | Bin 1438 -> 1349 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/tm32.png b/plugins/org.eclipse.tm.terminal.control/tm32.png index 3845254117402e2d7cc89be21ad3e411b78f60ac..668b05b79135152cc0d518da0873c4426bed32e6 100644 GIT binary patch delta 1305 zcmV+!1?Kvm3&jeM85;ut002a!ipBr{00(qQO+^Ra1qco#HIFT;N|7`te*&yfOjJex z|Nr~^{YZ7LDp{0Cb+7pP{Qc|I{N1?w$&UNboa^xRa}>hnc%tSVTOMsuz1^7sDo z3Xz zvVIpB8zmh^E+bepDP=h=Z!cu3U~h|JagFM&V=yLOJTP@cHia-}f3RC>hjxg!YJ99- zaiK<9j9zSs|M>B7Y-J!CJ~u0BLNtIfYqnKogji>WzMy*&5Fj`#Y(O%5G;X|9WP?&v zRVW}$H7R92Fm^U@zE5V1P-TlxXN^F3z}&HZ7!)loBv?Eyay%|^H*C2#Zn`&ZxHfIL zHfXVikfHjvWtWSBe|2(&&C1sB@ALiq{rvp=^YZnxu)s-3Ra;zRkBgwj!_msf)y>M; z%gENq#nY*!x-&9B`L9+#KS(VjS1=`9VPS2Wmaew5#lyhQ%E#2q$=Jum(!ILMrlPo0 zP-bs!dceKR?(OmW`~36s_R-JUW@B_eKSwMgRxTr17ZWR8e_msgj;6P?#>mFgv97^1 zG(L%hfqZz4)6v|uv%*VDRok|UEh$4yL~vSBdREc=+fsy0l=Qitw%5m#wuR!2QnMD=6}ue<~_|*DsrBA%PoKHxcs6Dk>Mx zU)4edCfBYY%U^QW!T^_{Dhz?eyJPMp-j4o;m0 z8la+b_{dQl3bc+L2l;T*<}F*dZQH(M$BvylcJ1D_XV0E(JNE9~v3uYC0|yT=RI8}0 zUAJBee>-T}u#o}i#N{hiuIj)FR;^ycprX>Z7--p&rI=s>P<$CsLG_%u^BS<)Fn__q zML-40lO|7@I&C^8=$J8c)@+a!{XnB8WMYDeK=DG5BU{_rJ32ZsL03n2PcO)uHMMp1 zSRK*W)Z79JsDeVESw+QQP*PG-EG1Q11_b35e-#y#Rgk#K0IJB$f&r=QoLnf#%V%H^ zQc+1v0)=~W3KU4CrkO)QLMkM>qoP47VqzgcDlXm}>WYLoV0^O!6O0u&!T1LRf`C*| zuz5&mSU6BYL=Y&+aHy!bx2n8GrSvWkeRn!1K2Sb?^Vt{w#F8zAzQkg$lTn79Nm z=SfM+$jZqpD9FpnDJmi7FE(}#PDtkE;^yJy&rSIF@``Wo&C9Ee(r#H6AzDU$*~f@J`4+0OG^cdbOGHbk!cwT-%X z_0B(?Mw{L4_sL$Ao|cx9mz!IVpFarz-f5t(>;wQrrET^u*n7V7-tBHxSiDj`YvS`1 zZMS=RqT`5?k{w$%Zw?K>w4Pv^_JHDyU$yOfLqp@E81*YsOc9cbe?eE5X14s;(L?F! z=|KVLE1$5PKY`LQbIYdBsu^dTf{6a_bknTIXw@A$ynk#eqX1*0=kGYDKwl)J;ghPT zD1C!>zxt-kk1-4Yp#eZ-Ca3fU@77E$x+r=}^TnDoOY`zZ04N9b;}RY=qDuRAji$Bb zX&4bT<>(+BM>Fz=e>YniBO)SDft;p25FM0eX+dLs`!u72ps18~Mt@s%a3}+>-FrMu zSdB?pbCfrA%P~|oO#o4xz6W>zs>hk3!V1KxS6KTmB_+*PsT3HF3E+bG{Xyf!KVJNb zs|bRk;3fDCE%Q9bvmEF3`b=i@?Ah};-+NPZy>Q1%Lh;YC#1_FMX_j1`8S0k@k((dhzk9LLbS$z;OC@8# z;c`B>ulIN;e<(6RNKrI&Cl5>x#AjKL+iU87YPC9sqwvn2t}chJp?~D1P`OM!H2|6+ z8I}@ti=z`q2sM;}cNnyZb2qNf&0hE_E)`I*DQCd3uwOZrd-AyNivyqIsAdt{RSS1O zPWsxeJ|jV7y*wuoSem#~$2Im~MG{T|$B`b&Y_`V6f6hecd&k8Kz?ir-=Y#4Pb+YJ( zqL^BdF!6DJ{KnP;@U!rvIte-k369w)S=7d48;&OzvbsuONo%{j__gGY+g==%i*IZGNRUgHN71_e1-OJzW66bZkpW8|u3z@%<A0j(9EerfbDLM8FcVz>_=iN#3$d+)BQzHnbDj}x6-9urVHBP=#B0P7Pg zkr9Ola~LuZYJB;A`nMuTV)wGS*LCb*uiby)xJffbyOfGJxh!J*^Ndd>6%PEaic2n+ z+vRrmo6NPRcZyapakOt38GC6BpIOZ4Dph^If1fGcx}@lYT9WF=U>MTocnr-$CR0iA z(E)&GeNwp)p<>tCiLVdao%i}iQ^T{iOMFf!hDLv?sjBdu{knl3a_p!AN7PH%;PXrd zLydjkkp`0Vf(+X1q?b}Eq~Dcq1rs;K7TzRS9K>L*7m-FR$tQqwbb6EM6s_1$Uv}t?kjdd0URJ zOJZ>x3pgJ781AZ`2s%0f4BL7V4!OkV=n2cZJ`j7Y!_sRsH($RkI@s-oyn-S!DpQ8z zL&ttN5Hj))HrUt2tC5h?HD~GI9X-6IO#?O?^p$bLufa}>hnc%tSVTOMsuz1^7sDo z3Xz zvVIpB8zmh^E+bepDP=h=Z!cu3U~h|JagFM&V=yLOJTP@cHia-}f3RC>hjxg!YJ99- zaiK<9j9zSs|M>B7Y-J!CJ~u0BLNtIfYqnKogji>WzMy*&5Fj`#Y(O%5G;X|9WP?&v zRVW}$H7R92Fm^U@zE5V1P-TlxXN^F3z}&HZ7!)loBv?Eyay%|^H*C2#Zn`&ZxHfIL zHfXVikfHjvWtWSBe|2(&&C1sB@ALiq{rvp=^YZnxu)s-3Ra;zRkBgwj!_msf)y>M; z%gENq#nY*!x-&9B`L9+#KS(VjS1=`9VPS2Wmaew5#lyhQ%E#2q$=Jum(!ILMrlPo0 zP-bs!dceKR?(OmW`~36s_R-JUW@B_eKSwMgRxTr17ZWR8e_msgj;6P?#>mFgv97^1 zG(L%hfqZz4)6v|uv%*VDRok|UEh$4yL~vSBdREc=+fsy0l=Qitw%5m#wuR!2QnMD=6}ue<~_|*DsrBA%PoKHxcs6Dk>Mx zU)4edCfBYY%U^QW!T^_{Dhz?eyJPMp-j4o;m0 z8la+b_{dQl3bc+L2l;T*<}F*dZQH(M$BvylcJ1D_XV0E(JNE9~v3uYC0|yT=RI8}0 zUAJBee>-T}u#o}i#N{hiuIj)FR;^ycprX>Z7--p&rI=s>P<$CsLG_%u^BS<)Fn__q zML-40lO|7@I&C^8=$J8c)@+a!{XnB8WMYDeK=DG5BU{_rJ32ZsL03n2PcO)uHMMp1 zSRK*W)Z79JsDeVESw+QQP*PG-EG1Q11_b35e-#y#Rgk#K0IJB$f&r=QoLnf#%V%H^ zQc+1v0)=~W3KU4CrkO)QLMkM>qoP47VqzgcDlXm}>WYLoV0^O!6O0u&!T1LRf`C*| zuz5&mSU6BYL=Y&+aHy!bx2n8GrSvWkeRn!1K2Sb?^Vt{w#F8zAzQkg$lTn79Nm z=SfM+$jZqpD9FpnDJmi7FE(}#PDtkE;^yJy&rSIF@``Wo&C9Ee(r#H6AzDU$*~f@J`4+0OG^cdbOGHbk!cwT-%X z_0B(?Mw{L4_sL$Ao|cx9mz!IVpFarz-f5t(>;wQrrET^u*n7V7-tBHxSiDj`YvS`1 zZMS=RqT`5?k{w$%Zw?K>w4Pv^_JHDyU$yOfLqp@E81*YsOc9cbe?eE5X14s;(L?F! z=|KVLE1$5PKY`LQbIYdBsu^dTf{6a_bknTIXw@A$ynk#eqX1*0=kGYDKwl)J;ghPT zD1C!>zxt-kk1-4Yp#eZ-Ca3fU@77E$x+r=}^TnDoOY`zZ04N9b;}RY=qDuRAji$Bb zX&4bT<>(+BM>Fz=e>YniBO)SDft;p25FM0eX+dLs`!u72ps18~Mt@s%a3}+>-FrMu zSdB?pbCfrA%P~|oO#o4xz6W>zs>hk3!V1KxS6KTmB_+*PsT3HF3E+bG{Xyf!KVJNb zs|bRk;3fDCE%Q9bvmEF3`b=i@?Ah};-+NPZy>Q1%Lh;YC#1_FMX_j1`8S0k@k((dhzk9LLbS$z;OC@8# z;c`B>ulIN;e<(6RNKrI&Cl5>x#AjKL+iU87YPC9sqwvn2t}chJp?~D1P`OM!H2|6+ z8I}@ti=z`q2sM;}cNnyZb2qNf&0hE_E)`I*DQCd3uwOZrd-AyNivyqIsAdt{RSS1O zPWsxeJ|jV7y*wuoSem#~$2Im~MG{T|$B`b&Y_`V6f6hecd&k8Kz?ir-=Y#4Pb+YJ( zqL^BdF!6DJ{KnP;@U!rvIte-k369w)S=7d48;&OzvbsuONo%{j__gGY+g==%i*IZGNRUgHN71_e1-OJzW66bZkpW8|u3z@%<A0j(9EerfbDLM8FcVz>_=iN#3$d+)BQzHnbDj}x6-9urVHBP=#B0P7Pg zkr9Ola~LuZYJB;A`nMuTV)wGS*LCb*uiby)xJffbyOfGJxh!J*^Ndd>6%PEaic2n+ z+vRrmo6NPRcZyapakOt38GC6BpIOZ4Dph^If1fGcx}@lYT9WF=U>MTocnr-$CR0iA z(E)&GeNwp)p<>tCiLVdao%i}iQ^T{iOMFf!hDLv?sjBdu{knl3a_p!AN7PH%;PXrd zLydjkkp`0Vf(+X1q?b}Eq~Dcq1rs;K7TzRS9K>L*7m-FR$tQqwbb6EM6s_1$Uv}t?kjdd0URJ zOJZ>x3pgJ781AZ`2s%0f4BL7V4!OkV=n2cZJ`j7Y!_sRsH($RkI@s-oyn-S!DpQ8z zL&ttN5Hj))HrUt2tC5h?HD~GI9X-6IO#?O?^p$bLuf Date: Fri, 8 May 2015 17:21:40 +0200 Subject: [PATCH 708/843] fix tracing options --- .../.options | 2 +- .../.options | 2 +- .../.options | 4 +-- .../.options | 2 +- .../.options | 2 +- .../org.eclipse.tm.terminal.control/.options | 6 ++-- .../emulator/VT100TerminalControl.java | 31 +++++++++---------- .../terminal/provisional/api/Logger.java | 6 ++-- .../org.eclipse.tm.terminal.view.ui/.options | 6 ++-- 9 files changed, 29 insertions(+), 32 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.options b/plugins/org.eclipse.tm.terminal.connector.local/.options index b396734183f..5cbcb6722b8 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/.options +++ b/plugins/org.eclipse.tm.terminal.connector.local/.options @@ -1 +1 @@ -org.eclipse.tcf.te.ui.terminals.local/debugmode = 0 +org.eclipse.tm.terminal.connector.local/debugmode = 0 diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.options b/plugins/org.eclipse.tm.terminal.connector.process/.options index a9f0396bb4e..7e3d5dfe7aa 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/.options +++ b/plugins/org.eclipse.tm.terminal.connector.process/.options @@ -1 +1 @@ -org.eclipse.tcf.te.ui.terminals.process/debugmode = 0 +org.eclipse.tm.terminal.connector.process/debugmode = 0 diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.options b/plugins/org.eclipse.tm.terminal.connector.serial/.options index 9d8591b7606..7a6120d0244 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/.options +++ b/plugins/org.eclipse.tm.terminal.connector.serial/.options @@ -1,2 +1,2 @@ -org.eclipse.tcf.te.ui.terminals.serial/debugmode = 0 -org.eclipse.tcf.te.ui.terminals.serial/trace/serialLinePanel = false +org.eclipse.tm.terminal.connector.serial/debugmode = 0 +org.eclipse.tm.terminal.connector.serial/trace/serialLinePanel = false diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.options b/plugins/org.eclipse.tm.terminal.connector.ssh/.options index 910d2e57c84..8ec18dafab2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/.options +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/.options @@ -1 +1 @@ -org.eclipse.tcf.te.ui.terminals.ssh/debugmode = 0 +org.eclipse.tm.terminal.connector.ssh/debugmode = 0 diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.options b/plugins/org.eclipse.tm.terminal.connector.telnet/.options index 47f69c8a6eb..77c6a134ddd 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/.options +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/.options @@ -1 +1 @@ -org.eclipse.tcf.te.ui.terminals.telnet/debugmode = 0 +org.eclipse.tm.terminal.connector.telnet/debugmode = 0 diff --git a/plugins/org.eclipse.tm.terminal.control/.options b/plugins/org.eclipse.tm.terminal.control/.options index 78cb917d600..7e591a4d4e7 100644 --- a/plugins/org.eclipse.tm.terminal.control/.options +++ b/plugins/org.eclipse.tm.terminal.control/.options @@ -1,3 +1,3 @@ -org.eclipse.tm.terminal/debug/log = false -org.eclipse.tm.terminal/debug/log/char = false -org.eclipse.tm.terminal/debug/log/VT100Backend = false +org.eclipse.tm.terminal.control/debug/log = false +org.eclipse.tm.terminal.control/debug/log/char = false +org.eclipse.tm.terminal.control/debug/log/VT100Backend = false diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 20c9af95d13..74fefb04c14 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -695,8 +695,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } /* (non-Javadoc) - * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#onFontChanged() + * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(org.eclipse.swt.graphics.Font) */ + @Deprecated public void setFont(Font font) { getCtlText().setFont(font); if(fCommandInputField!=null) { @@ -838,6 +839,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC super(); } + @SuppressWarnings("cast") public void focusGained(FocusEvent event) { // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view // can see every keystroke. Without this, Emacs, vi, and Bash are unusable @@ -845,28 +847,25 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (getState() == TerminalState.CONNECTED) captureKeyEvents(true); - IContextService contextService = (IContextService) PlatformUI - .getWorkbench().getAdapter(IContextService.class); - editContextActivation = contextService - .activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$ + IContextService contextService = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class); + editContextActivation = contextService.activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$ } + @SuppressWarnings("cast") public void focusLost(FocusEvent event) { // Enable all keybindings. captureKeyEvents(false); // Restore the command context to its previous value. - IContextService contextService = (IContextService) PlatformUI - .getWorkbench().getAdapter(IContextService.class); + IContextService contextService = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class); contextService.deactivateContext(editContextActivation); } + @SuppressWarnings("cast") protected void captureKeyEvents(boolean capture) { - IBindingService bindingService = (IBindingService) PlatformUI - .getWorkbench().getAdapter(IBindingService.class); - IContextService contextService = (IContextService) PlatformUI - .getWorkbench().getAdapter(IContextService.class); + IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class); + IContextService contextService = (IContextService) PlatformUI.getWorkbench().getAdapter(IContextService.class); boolean enableKeyFilter = !capture; if (bindingService.isKeyFilterEnabled() != enableKeyFilter) @@ -879,8 +878,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // override menu-activation accelerators with no-op commands in our // plugin.xml file, which enables the Terminal view to see absolutely _all_ // key-presses. - terminalContextActivation = contextService - .activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ + terminalContextActivation = contextService.activateContext("org.eclipse.tm.terminal.TerminalContext"); //$NON-NLS-1$ } else if (!capture && terminalContextActivation != null) { contextService.deactivateContext(terminalContextActivation); @@ -1189,16 +1187,15 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* * Process given event as Eclipse key binding. */ + @SuppressWarnings("cast") private void processKeyBinding(KeyEvent event, int accelerator) { - IBindingService bindingService = (IBindingService) PlatformUI - .getWorkbench().getAdapter(IBindingService.class); + IBindingService bindingService = (IBindingService) PlatformUI.getWorkbench().getAdapter(IBindingService.class); KeyStroke keyStroke = SWTKeySupport.convertAcceleratorToKeyStroke(accelerator); Binding binding = bindingService.getPerfectMatch(KeySequence.getInstance(keyStroke)); if (binding != null) { ParameterizedCommand cmd = binding.getParameterizedCommand(); if (cmd != null) { - IHandlerService handlerService = (IHandlerService) PlatformUI - .getWorkbench().getAdapter(IHandlerService.class); + IHandlerService handlerService = (IHandlerService) PlatformUI.getWorkbench().getAdapter(IHandlerService.class); Event cmdEvent = new Event(); cmdEvent.type = SWT.KeyDown; cmdEvent.display = event.display; diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java index e465587f72a..437935f3959 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java @@ -42,9 +42,9 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; *

                                        */ public final class Logger { - public static final String TRACE_DEBUG_LOG = "org.eclipse.tm.terminal/debug/log"; //$NON-NLS-1$ - public static final String TRACE_DEBUG_LOG_CHAR = "org.eclipse.tm.terminal/debug/log/char"; //$NON-NLS-1$ - public static final String TRACE_DEBUG_LOG_VT100BACKEND = "org.eclipse.tm.terminal/debug/log/VT100Backend"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG = "org.eclipse.tm.terminal.control/debug/log"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_CHAR = "org.eclipse.tm.terminal.control/debug/log/char"; //$NON-NLS-1$ + public static final String TRACE_DEBUG_LOG_VT100BACKEND = "org.eclipse.tm.terminal.control/debug/log/VT100Backend"; //$NON-NLS-1$ private static PrintStream logStream; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.options b/plugins/org.eclipse.tm.terminal.view.ui/.options index cf7e9ecb799..2b37de4fb78 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/.options +++ b/plugins/org.eclipse.tm.terminal.view.ui/.options @@ -1,3 +1,3 @@ -org.eclipse.tcf.te.ui.terminals/debugmode = 0 -org.eclipse.tcf.te.ui.terminals/trace/outputStreamMonitor = false -org.eclipse.tcf.te.ui.terminals/trace/launchTerminalCommandHandler = false +org.eclipse.tm.terminal.view.ui/debugmode = 0 +org.eclipse.tm.terminal.view.ui/trace/outputStreamMonitor = false +org.eclipse.tm.terminal.view.ui/trace/launchTerminalCommandHandler = false From 460a467ea2fb3a932ec37c56cf9529990a6a951c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sun, 10 May 2015 16:40:34 +0200 Subject: [PATCH 709/843] Bugzilla 466890 - Releng: The TM Branding About still references marketplace/tcf-terminals --- plugins/org.eclipse.tm.terminal.view.core/about.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.core/about.properties b/plugins/org.eclipse.tm.terminal.view.core/about.properties index 61b1ee9d928..34820e5e292 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/about.properties +++ b/plugins/org.eclipse.tm.terminal.view.core/about.properties @@ -21,4 +21,4 @@ blurb=TM Terminal\n\ Version: {featureVersion}\n\ \n\ (c) Copyright Wind River Systems, Inc. and others 2011, 2015. All rights reserved.\n\ -Visit http://marketplace.eclipse.org/content/tcf-terminals +Visit http://marketplace.eclipse.org/content/tm-terminal From 2ceba859e8503c02e035e48a34733793696c94f7 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sun, 10 May 2015 16:44:50 +0200 Subject: [PATCH 710/843] Bugzilla 466892 - Releng: Slight inconsistency in user-visible plug-in names --- .../org.eclipse.tm.terminal.connector.remote/plugin.properties | 2 +- .../org.eclipse.tm.terminal.connector.serial/plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties | 2 +- .../org.eclipse.tm.terminal.connector.telnet/plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.control/plugin.properties | 2 +- plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties index e20f519925c..c466805cef5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties @@ -5,7 +5,7 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################### -pluginName = Target Management Terminal Remote Services Connector +pluginName = Terminal Remote API Connector providerName = Eclipse PTP connectionName = Remote Services RemoteTerminalPage.name = Remote Terminal diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties index 92319a0182a..17f52a5df6f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = TM Terminal Serial Connector Extensions +pluginName = Terminal Serial Connector providerName = Eclipse.org - Target Management # ----- Terminal Launcher Delegates ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties index 6c8e65e5c95..4a58217c6de 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminal SSH Extensions +pluginName = Terminal SSH Connector providerName = Eclipse.org - Target Management # ----- Terminal Connector ----- diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties index 25e11201c17..57255b4a8f6 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminal Telnet Extensions +pluginName = Terminal Telnet Connector providerName = Eclipse.org - Target Management # ----- Terminal Connector ----- diff --git a/plugins/org.eclipse.tm.terminal.control/plugin.properties b/plugins/org.eclipse.tm.terminal.control/plugin.properties index 16c119bb05a..58e317dcf2e 100644 --- a/plugins/org.eclipse.tm.terminal.control/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.control/plugin.properties @@ -18,7 +18,7 @@ # NLS_MESSAGEFORMAT_NONE -pluginName = TM Terminal Control +pluginName = Terminal Control (Embeddable Widget) providerName = Eclipse.org - Target Management terminal.context.name.edit=Terminal Control in Focus diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties index 1feec0d1941..23da4a21515 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties @@ -8,7 +8,7 @@ # Wind River Systems - initial API and implementation ################################################################################## -pluginName = Terminal RSE Add-on +pluginName = Terminal View for RSE providerName = Eclipse.org - Target Management # ----- Commands and Menu contributions ----- From f99767b377c91267a69c0048d8251f7a0bd32fa5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 21 May 2015 10:34:47 +0200 Subject: [PATCH 711/843] Releng: Switch to Mars RC2 Orbit repository --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index aec32b151d9..5615c34e2ef 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -60,7 +60,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version}milestones - http://download.eclipse.org/tools/orbit/downloads/drops/S20150428165605/repository/ + http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/ http://download.eclipse.org/tools/cdt/builds/mars/milestones http://download.eclipse.org/tm/updates/4.0milestones http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones From cc659e79a079f83e83a8566593323f16934f1887 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 22 May 2015 12:29:30 +0200 Subject: [PATCH 712/843] Bugzilla 467985: [CSS] [Dark] Regression: Terminal doesn't invert colors when switching to Dark Theme --- .../css/org.eclipse.tm.terminal.stylesheet.dark.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css b/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css index 8e7cba8c5b2..ab89d9e1313 100644 --- a/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css +++ b/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 vogella GmbH and others. + * Copyright (c) 2014, 2015 vogella GmbH and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -9,7 +9,7 @@ * Lars Vogel - initial API and implementation ******************************************************************************/ -IEclipsePreferences#org-eclipse-tm-terminal { +IEclipsePreferences#org-eclipse-tm-terminal-control { preferences: "TerminalPrefInvertColors=true" } From ad325a79bfe3b8d93d396b79fe3cc9c22f11dec5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 22 May 2015 12:36:12 +0200 Subject: [PATCH 713/843] Releng: Switch to released 1.1.2 version of eclipse-jarsigner-plugin --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 5615c34e2ef..ccb2527a047 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -44,7 +44,7 @@ 1.5 2.5.2 - 1.1.2-SNAPSHOT + 1.1.2 ${env.WORKSPACE}/admin From e7ae930f839b144f91df1eaca62b8f6441f380a7 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Fri, 22 May 2015 12:38:50 +0200 Subject: [PATCH 714/843] Bug 465674 - close terminal blocks eclipse UI on Mac OS X Destroy process before closing streams, except on Windows. --- .../connector/process/ProcessConnector.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java index 51212602684..63913543c95 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java @@ -243,11 +243,20 @@ public class ProcessConnector extends AbstractStreamsConnector { // Stop monitoring the process monitor.dispose(); + boolean isWindows = Platform.OS_WIN32.equals(Platform.getOS()); + + if (!isWindows) { + // Destroy the process first, except on windows (Bug 465674) + if (process != null) { process.destroy(); process = null; } + } + // Dispose the streams super.doDisconnect(); - // Dispose the process - if (process != null) { process.destroy(); process = null; } + if (isWindows) { + // On Windows destroy the process after closing streams + if (process != null) { process.destroy(); process = null; } + } // Set the terminal control state to CLOSED. fControl.setState(TerminalState.CLOSED); From 6e8a57dcc3ed225f2821f29b32af75f5d48f2e26 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sat, 23 May 2015 09:30:38 +0200 Subject: [PATCH 715/843] Bug 350176 - Incorrect SSH Settings Summary string. The 'port' value is modified, not appended. --- .../tm/terminal/connector/ssh/connector/SshConnection.java | 7 ------- .../tm/terminal/connector/ssh/connector/SshSettings.java | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java index 0f7ee7b1c5a..7117b567087 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java @@ -107,13 +107,6 @@ public class SshConnection extends Thread { String password = fConn.getSshSettings().getPassword(); port = fConn.getSshSettings().getPort(); - ////Giving a connectionId could be the index into a local - ////Store where passwords are stored - //String connectionId = host; - //if (port!=ISshSettings.DEFAULT_SSH_PORT) { - // connectionId += ':' + port; - //} - //UserInfo ui=new MyUserInfo(connectionId, user, password); UserInfo ui=new MyUserInfo(null, user, password); Session session = createSession(user, password, host, port, diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java index bd2bd7d5de6..f570bb62941 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java @@ -36,7 +36,7 @@ public class SshSettings implements ISshSettings { public String getSummary() { String settings = getUser()+'@'+getHost(); if(getPort()!=ISshSettings.DEFAULT_SSH_PORT) { - settings += ':' + getPort(); + settings += ":" + getPort(); //$NON-NLS-1$ } return settings; } From 7b12ea8e379ba5c1011ab5021322c3332b55d513 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Fri, 29 May 2015 18:05:17 -0400 Subject: [PATCH 716/843] Bug 468857, bug 468858, bug 468859 - Various fixes for remote terminal. Change-Id: I0b05724722a0fe55f45cad5c4edff9398fbb352d Signed-off-by: Greg Watson --- .../connector/remote/IRemoteSettings.java | 12 +- .../remote/IRemoteTerminalConstants.java | 1 + .../RemoteWizardConfigurationPanel.java | 117 +++++++++++------- .../internal/RemoteConnectionManager.java | 63 ++++++---- .../remote/internal/RemoteConnector.java | 18 +-- .../remote/internal/RemoteSettings.java | 28 +++-- .../remote/internal/RemoteSettingsPage.java | 7 +- .../RemoteTerminalPreferencePage.java | 3 + .../launcher/RemoteLauncherDelegate.java | 97 ++++++++++----- .../remote/launcher/RemoteMementoHandler.java | 17 ++- 10 files changed, 219 insertions(+), 144 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java index 9436f26f65b..e4094515b64 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java @@ -9,19 +9,19 @@ package org.eclipse.tm.terminal.connector.remote; public interface IRemoteSettings { public static final String CONNECTION_NAME = "ConnectionName"; //$NON-NLS-1$ - public static final String REMOTE_SERVICES = "RemoteServices"; //$NON-NLS-1$ + public static final String CONNECTION_TYPE_ID = "ConnectionTypeId"; //$NON-NLS-1$ /** - * Get the host name or IP address of remote system to connect. + * Get the connection type ID for the connection (e.g. local, ssh, etc.) * - * @return host name or IP address of the remote system. + * @return connection type ID. */ - String getRemoteServices(); + String getConnectionTypeId(); /** - * Get the login name for connecting to the remote system. + * Get the connection name for the target system. * - * @return remote login name + * @return connection name */ String getConnectionName(); } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java index 512248c6162..ed8317c427d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java @@ -9,4 +9,5 @@ package org.eclipse.tm.terminal.connector.remote; public interface IRemoteTerminalConstants { public static final String PREF_TERMINAL_SHELL_COMMAND = "TERMINAL_SHELL_COMMAND"; //$NON-NLS-1$ + public static final String PREF_TERMINAL_TYPE = "TERMINAL_TYPE"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java index 0ee8e44f5a0..508191946a7 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java @@ -33,19 +33,22 @@ import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel @SuppressWarnings("restriction") public class RemoteWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { - public RemoteSettings remoteSettings; + private RemoteSettings remoteSettings; private ISettingsPage remoteSettingsPage; /** * Constructor. * - * @param container The configuration panel container or null. + * @param container + * The configuration panel container or null. */ public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) { - super(container); - } + super(container); + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override @@ -60,7 +63,7 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio remoteSettingsPage = new RemoteSettingsPage(remoteSettings); if (remoteSettingsPage instanceof AbstractSettingsPage) { - ((AbstractSettingsPage)remoteSettingsPage).setHasControlDecoration(true); + ((AbstractSettingsPage) remoteSettingsPage).setHasControlDecoration(true); } remoteSettingsPage.createControl(panel); @@ -69,7 +72,9 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio @Override public void onSettingsPageChanged(Control control) { - if (getContainer() != null) getContainer().validate(); + if (getContainer() != null) { + getContainer().validate(); + } } }); @@ -79,79 +84,107 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio setControl(panel); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { - if (data == null || remoteSettings == null || remoteSettingsPage == null) return; + if (data == null || remoteSettings == null || remoteSettingsPage == null) { + return; + } - String value = (String)data.get(IRemoteSettings.REMOTE_SERVICES); - if (value != null) remoteSettings.setRemoteServices(value); + String value = (String) data.get(IRemoteSettings.CONNECTION_TYPE_ID); + if (value != null) { + remoteSettings.setConnectionTypeId(value); + } - value = (String)data.get(IRemoteSettings.CONNECTION_NAME); - if (value != null) remoteSettings.setConnectionName(value); + value = (String) data.get(IRemoteSettings.CONNECTION_NAME); + if (value != null) { + remoteSettings.setConnectionName(value); + } - value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); - if (value != null) setEncoding(value); + value = (String) data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) { + setEncoding(value); + } remoteSettingsPage.loadSettings(); - } + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { - if (data == null) return; + if (data == null) { + return; + } - // set the terminal connector id for remote - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.remote.RemoteConnector"); //$NON-NLS-1$ + // set the terminal connector id for remote + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, + "org.eclipse.tm.terminal.connector.remote.RemoteConnector"); //$NON-NLS-1$ - remoteSettingsPage.saveSettings(); - - data.put(IRemoteSettings.REMOTE_SERVICES, remoteSettings.getRemoteServices()); - data.put(IRemoteSettings.CONNECTION_NAME, remoteSettings.getConnectionName()); - data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); - } + remoteSettingsPage.saveSettings(); - /* (non-Javadoc) + data.put(IRemoteSettings.CONNECTION_TYPE_ID, remoteSettings.getConnectionTypeId()); + data.put(IRemoteSettings.CONNECTION_NAME, remoteSettings.getConnectionName()); + if (getEncoding() != null) { + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + } + + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override - protected void fillSettingsForHost(String host){ + protected void fillSettingsForHost(String host) { } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override - protected void saveSettingsForHost(boolean add){ + protected void saveSettingsForHost(boolean add) { } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override - public boolean isValid(){ + public boolean isValid() { return isEncodingValid() && remoteSettingsPage.validateSettings(); } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs. + * IDialogSettings, java.lang.String) */ @Override - public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { - saveSettingsForHost(true); - super.doSaveWidgetValues(settings, idPrefix); - } + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + saveSettingsForHost(true); + super.doSaveWidgetValues(settings, idPrefix); + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override - protected String getHostFromSettings() { + protected String getHostFromSettings() { remoteSettingsPage.saveSettings(); - return null; - } + return null; + } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 7615ac3ba1b..95c9a9f947e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -28,6 +28,7 @@ import org.eclipse.remote.core.IRemoteConnectionType; import org.eclipse.remote.core.IRemoteProcess; import org.eclipse.remote.core.IRemoteProcessBuilder; 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.provisional.api.ITerminalControl; @@ -40,12 +41,14 @@ import org.eclipse.tm.terminal.connector.remote.nls.Messages; public class RemoteConnectionManager extends Job { private final static String PARSERS_EXTENSION_POINT = "parsers"; //$NON-NLS-1$ private final static String PARSER_ELEMENT = "parser"; //$NON-NLS-1$ + private static int fgNo; private final ITerminalControl control; private final RemoteConnector connector; private IRemoteTerminalParser parser; + private IRemoteProcess remoteProcess; protected RemoteConnectionManager(RemoteConnector conn, ITerminalControl control) { super("Remote Terminal-" + fgNo++); //$NON-NLS-1$ @@ -62,31 +65,32 @@ public class RemoteConnectionManager extends Job { */ @Override protected IStatus run(IProgressMonitor monitor) { - IRemoteProcess remoteProcess = null; IRemoteConnection remoteConnection = null; try { IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); - String connTypeId = connector.getRemoteSettings().getRemoteServices(); + String connTypeId = connector.getRemoteSettings().getConnectionTypeId(); IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); if (connType != null) { remoteConnection = connType.getConnection(connector.getRemoteSettings().getConnectionName()); } if (remoteConnection == null) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings() - .getConnectionName())); + throw new RemoteConnectionException( + NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings().getConnectionName())); } if (!remoteConnection.isOpen()) { remoteConnection.open(monitor); if (!remoteConnection.isOpen()) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings() - .getConnectionName())); + throw new RemoteConnectionException( + NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings().getConnectionName())); } } if (parser != null) { - remoteProcess = parser.initialize(remoteConnection); + synchronized (this) { + remoteProcess = parser.initialize(remoteConnection); + } } else { /* * Check the terminal shell command preference. If the preference is empty and we support a command shell, @@ -97,18 +101,23 @@ public class RemoteConnectionManager extends Job { if (!("".equals(terminalShellCommand)) //$NON-NLS-1$ && remoteConnection.hasService(IRemoteCommandShellService.class)) { IRemoteCommandShellService cmdShellSvc = remoteConnection.getService(IRemoteCommandShellService.class); - remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + synchronized (this) { + remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + } } else { if ("".equals(terminalShellCommand)) { //$NON-NLS-1$ terminalShellCommand = "/bin/bash -l"; //$NON-NLS-1$ } IRemoteProcessService procSvc = remoteConnection.getService(IRemoteProcessService.class); - IRemoteProcessBuilder processBuilder = procSvc.getProcessBuilder(new ArgumentParser(terminalShellCommand) - .getTokenList()); - remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + IRemoteProcessBuilder processBuilder = procSvc + .getProcessBuilder(new ArgumentParser(terminalShellCommand).getTokenList()); + synchronized (this) { + remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + } } } + control.setVT100LineWrapping(true); connector.setInputStream(remoteProcess.getInputStream()); control.setState(TerminalState.CONNECTED); control.setTerminalTitle(remoteConnection.getName()); @@ -123,20 +132,27 @@ public class RemoteConnectionManager extends Job { } finally { // make sure the terminal is disconnected when the thread ends connector.disconnect(); - synchronized (this) { - if (remoteProcess != null && !remoteProcess.isCompleted()) { - remoteProcess.destroy(); - } - } } return Status.OK_STATUS; } + @Override + protected void canceling() { + super.canceling(); + synchronized (this) { + if (remoteProcess != null && !remoteProcess.isCompleted()) { + remoteProcess.destroy(); + } + } + } + public void setTerminalSize(int cols, int rows, int width, int height) { - // Enable for org.eclipse.remote v1.2 - // if (remoteProcess instanceof IRemoteTerminal) { - // ((IRemoteTerminal) remoteProcess).setTerminalSize(cols, rows, width, height); - // } + if (remoteProcess != null) { + IRemoteProcessTerminalService termSvc = remoteProcess.getService(IRemoteProcessTerminalService.class); + if (termSvc != null) { + termSvc.setTerminalSize(cols, rows, width, height); + } + } } /** @@ -147,11 +163,8 @@ public class RemoteConnectionManager extends Job { */ private void readData(InputStream in) throws IOException { byte[] buf = new byte[32 * 1024]; - while (getState() == Job.RUNNING) { - int n = in.read(buf, 0, buf.length); - if (n <= 0) { - break; - } + int n; + while ((n = in.read(buf, 0, buf.length)) > 0) { if (parser == null || parser.parse(buf)) { control.getRemoteToTerminalOutputStream().write(buf, 0, n); } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java index 592422d17cc..a1f4d97a926 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java @@ -56,22 +56,6 @@ public class RemoteConnector extends TerminalConnectorImpl { */ @Override public synchronized void doDisconnect() { - if (getInputStream() != null) { - try { - getInputStream().close(); - } catch (Exception exception) { - Activator.log(exception); - } - } - - if (getTerminalToRemoteStream() != null) { - try { - getTerminalToRemoteStream().close(); - } catch (Exception exception) { - Activator.log(exception); - } - } - fConnection.cancel(); } @@ -117,7 +101,7 @@ public class RemoteConnector extends TerminalConnectorImpl { public void setDefaultSettings() { fSettings.load(new NullSettingsStore()); } - + @Override public void save(ISettingsStore store) { fSettings.save(store); diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java index 74b6c8f80f2..e3fd933588f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java @@ -12,22 +12,24 @@ import org.eclipse.tm.terminal.connector.remote.IRemoteSettings; @SuppressWarnings("restriction") public class RemoteSettings implements IRemoteSettings { - protected String fRemoteServices; - protected String fConnectionName; + protected String connectionTypeId; + protected String connectionName; public RemoteSettings() { } + @Override public String getConnectionName() { - return fConnectionName; + return connectionName; } - public String getRemoteServices() { - return fRemoteServices; + @Override + public String getConnectionTypeId() { + return connectionTypeId; } public String getSummary() { - return "Remote:" + getRemoteServices() + '_' + getConnectionName(); //$NON-NLS-1$ + return "Remote:" + getConnectionTypeId() + '_' + getConnectionName(); //$NON-NLS-1$ } @Override @@ -39,23 +41,23 @@ public class RemoteSettings implements IRemoteSettings { * Load information into the RemoteSettings object. */ public void load(ISettingsStore store) { - fRemoteServices = store.get(REMOTE_SERVICES, ""); //$NON-NLS-1$ - fConnectionName = store.get(CONNECTION_NAME, ""); //$NON-NLS-1$ + connectionTypeId = store.get(CONNECTION_TYPE_ID, ""); //$NON-NLS-1$ + connectionName = store.get(CONNECTION_NAME, ""); //$NON-NLS-1$ } /** * Extract information from the RemoteSettings object. */ public void save(ISettingsStore store) { - store.put(REMOTE_SERVICES, fRemoteServices); - store.put(CONNECTION_NAME, fConnectionName); + store.put(CONNECTION_TYPE_ID, connectionTypeId); + store.put(CONNECTION_NAME, connectionName); } public void setConnectionName(String name) { - fConnectionName = name; + connectionName = name; } - public void setRemoteServices(String remoteServices) { - fRemoteServices = remoteServices; + public void setConnectionTypeId(String id) { + connectionTypeId = id; } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index d5ee56a17de..2ea7ecdb0f2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -30,7 +30,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { if (fRemoteConnectionWidget.getConnection() != null) { if (fRemoteConnectionWidget.getConnection().getConnectionType() != null) { - fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); + fTerminalSettings.setConnectionTypeId(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); } fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); } @@ -40,7 +40,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public void loadSettings() { if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { - fRemoteConnectionWidget.setConnection(fTerminalSettings.getRemoteServices(), fTerminalSettings.getConnectionName()); + fRemoteConnectionWidget.setConnection(fTerminalSettings.getConnectionTypeId(), fTerminalSettings.getConnectionName()); } } @@ -53,7 +53,8 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public boolean validateSettings() { - if (fRemoteConnectionWidget == null || fRemoteConnectionWidget.isDisposed() || fRemoteConnectionWidget.getConnection() == null) { + if (fRemoteConnectionWidget == null || fRemoteConnectionWidget.isDisposed() + || fRemoteConnectionWidget.getConnection() == null) { return false; } return true; diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java index 595b4d4e6cc..87175435d82 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java @@ -20,8 +20,10 @@ import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.preferences.ScopedPreferenceStore; public class RemoteTerminalPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + @Override protected void createFieldEditors() { Composite parent = getFieldEditorParent(); + addField(new StringFieldEditor(IRemoteTerminalConstants.PREF_TERMINAL_TYPE, "Terminal Type", parent)); addField(new StringFieldEditor(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, Messages.RemoteTerminalPreferencePage_0, parent)); } @@ -31,6 +33,7 @@ public class RemoteTerminalPreferencePage extends FieldEditorPreferencePage impl return new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.getUniqueIdentifier()); } + @Override public void init(IWorkbench workbench) { // Nothing } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java index 8d36ea5c197..72c4f424f08 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -15,11 +15,15 @@ import java.util.Map; import org.eclipse.core.runtime.Assert; 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.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; @@ -39,7 +43,9 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { // The Remote terminal connection memento handler private final IMementoHandler mementoHandler = new RemoteMementoHandler(); - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override @@ -47,33 +53,27 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { return true; } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces. + * IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { return new RemoteWizardConfigurationPanel(container); } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) + /* + * (non-Javadoc) + * + * @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) { Assert.isNotNull(properties); - // Set the terminal tab title - String terminalTitle = getTerminalTitle(properties); - if (terminalTitle != null) { - properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); - } - - // For Telnet terminals, force a new terminal tab each time it is launched, - // if not set otherwise from outside - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { - properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); - } - // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request @@ -90,50 +90,56 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { - String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + String connection = (String) properties.get(IRemoteSettings.CONNECTION_NAME); if (connection != null) { DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String date = format.format(new Date(System.currentTimeMillis())); - return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[]{connection, date}); + return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[] { connection, date }); } return Messages.RemoteLauncherDelegate_terminalTitle_default; } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) */ - @SuppressWarnings("rawtypes") + @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public Object getAdapter(Class adapter) { if (IMementoHandler.class.equals(adapter)) { return mementoHandler; } - return super.getAdapter(adapter); + return super.getAdapter(adapter); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ - @Override + @Override public ITerminalConnector createTerminalConnector(Map properties) { - Assert.isNotNull(properties); + Assert.isNotNull(properties); - // Check for the terminal connector id - String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.remote.RemoteConnector"; //$NON-NLS-1$ + // Check for the terminal connector id + String connectorId = (String) properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) { + connectorId = "org.eclipse.tm.terminal.connector.remote.RemoteConnector"; //$NON-NLS-1$ + } // Extract the remote properties - String services = (String)properties.get(IRemoteSettings.REMOTE_SERVICES); - String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + String connTypeId = (String) properties.get(IRemoteSettings.CONNECTION_TYPE_ID); + String connName = (String) properties.get(IRemoteSettings.CONNECTION_NAME); // Construct the terminal settings store ISettingsStore store = new SettingsStore(); // Construct the remote settings RemoteSettings remoteSettings = new RemoteSettings(); - remoteSettings.setRemoteServices(services); - remoteSettings.setConnectionName(connection); + remoteSettings.setConnectionTypeId(connTypeId); + remoteSettings.setConnectionName(connName); // And save the settings to the store remoteSettings.save(store); @@ -146,6 +152,33 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { connector.load(store); } + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // For Telnet terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) { + IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); + + IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); + if (connType != null) { + IRemoteConnection remoteConnection = connType.getConnection(connName); + if (remoteConnection != null && remoteConnection.isOpen()) { + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, + remoteConnection.getProperty(IRemoteConnection.LOCALE_CHARMAP_PROPERTY)); + } + } + } + + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR, "/tmp"); //$NON-NLS-1$ + return connector; } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java index 92db0a543d1..a114c033b9f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java @@ -22,7 +22,9 @@ import org.eclipse.ui.IMemento; */ public class RemoteMementoHandler implements IMementoHandler { - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override @@ -32,12 +34,15 @@ public class RemoteMementoHandler implements IMementoHandler { // Do not write the terminal title to the memento -> needs to // be recreated at the time of restoration. - memento.putString(IRemoteSettings.CONNECTION_NAME, (String)properties.get(IRemoteSettings.CONNECTION_NAME)); - memento.putString(IRemoteSettings.REMOTE_SERVICES, (String)properties.get(IRemoteSettings.REMOTE_SERVICES)); - memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + memento.putString(IRemoteSettings.CONNECTION_NAME, (String) properties.get(IRemoteSettings.CONNECTION_NAME)); + memento.putString(IRemoteSettings.CONNECTION_TYPE_ID, (String) properties.get(IRemoteSettings.CONNECTION_TYPE_ID)); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, + (String) properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override @@ -47,7 +52,7 @@ public class RemoteMementoHandler implements IMementoHandler { // Restore the terminal properties from the memento properties.put(IRemoteSettings.CONNECTION_NAME, memento.getString(IRemoteSettings.CONNECTION_NAME)); - properties.put(IRemoteSettings.REMOTE_SERVICES, memento.getString(IRemoteSettings.REMOTE_SERVICES)); + properties.put(IRemoteSettings.CONNECTION_TYPE_ID, memento.getString(IRemoteSettings.CONNECTION_TYPE_ID)); properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); } } From b4250143312d4821916a0322574070545042e56d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sat, 30 May 2015 15:42:32 +0200 Subject: [PATCH 717/843] Bug 468875 - Unconditionally hide the "Terminal (Old)" view shortcut --- .../plugin.properties | 2 +- .../org.eclipse.tm.terminal.view.ui/plugin.xml | 17 +++++++---------- .../view/ui/internal/PropertyTester.java | 4 ---- 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index 97d71b8cdb9..226931dd801 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -16,7 +16,7 @@ providerName = Eclipse.org - Target Management ViewCategory.name=Terminal TerminalsView.name=Terminal -TerminalsView.name.old=Terminal (Old) +TerminalsView.name.old=Terminals (Old) TerminalsView.context.name=In Terminal View TerminalsView.context.description=Show modified keyboard shortcuts in context menu diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index b7df7a9a23b..2d29aa3b28b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -21,7 +21,8 @@ name="%TerminalsView.name"> - + + @@ -334,23 +335,19 @@ - + + - - - - - + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index 64c931a81e3..c9730bf9f15 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -31,10 +31,6 @@ public class PropertyTester extends org.eclipse.core.expressions.PropertyTester @SuppressWarnings("cast") @Override public boolean test(Object receiver, String property, Object[] args, Object expectedValue) { - // This property is supposed to return always false - if ("oldViewActivityEnabled".equals(property)) { //$NON-NLS-1$ - return false; - } if ("hasApplicableLauncherDelegates".equals(property)) { //$NON-NLS-1$ ISelection selection = receiver instanceof ISelection ? (ISelection)receiver : new StructuredSelection(receiver); From 601770a23319dbce0ca540d7d0f7745808312395 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 10:51:06 +0200 Subject: [PATCH 718/843] Releng: Move Remote Terminal Connection into its own profile so it can be excluded on demand --- pom.xml | 24 +++++--- .../.project | 11 ++++ .../category.xml | 16 +++++ .../pom.xml | 58 +++++++++++++++++++ .../org.eclipse.tm.terminal.repo/category.xml | 6 -- 5 files changed, 101 insertions(+), 14 deletions(-) create mode 100644 repos/org.eclipse.tm.terminal.remote.repo/.project create mode 100644 repos/org.eclipse.tm.terminal.remote.repo/category.xml create mode 100644 repos/org.eclipse.tm.terminal.remote.repo/pom.xml diff --git a/pom.xml b/pom.xml index 1a85d69cf3d..5a8fb181061 100644 --- a/pom.xml +++ b/pom.xml @@ -27,15 +27,12 @@ plugins/org.eclipse.tm.terminal.connector.local plugins/org.eclipse.tm.terminal.connector.process - plugins/org.eclipse.tm.terminal.connector.remote plugins/org.eclipse.tm.terminal.connector.serial plugins/org.eclipse.tm.terminal.connector.ssh plugins/org.eclipse.tm.terminal.connector.telnet features/org.eclipse.tm.terminal.connector.local.feature features/org.eclipse.tm.terminal.connector.local.sdk.feature - features/org.eclipse.tm.terminal.connector.remote.feature - features/org.eclipse.tm.terminal.connector.remote.sdk.feature features/org.eclipse.tm.terminal.connector.serial.feature features/org.eclipse.tm.terminal.connector.serial.sdk.feature features/org.eclipse.tm.terminal.connector.ssh.feature @@ -63,10 +60,21 @@ - tests - - plugins/org.eclipse.tm.terminal.test - - + tests + + plugins/org.eclipse.tm.terminal.test + + + + build-remote-connector + + plugins/org.eclipse.tm.terminal.connector.remote + + features/org.eclipse.tm.terminal.connector.remote.feature + features/org.eclipse.tm.terminal.connector.remote.sdk.feature + + repos/org.eclipse.tm.terminal.remote.repo + + diff --git a/repos/org.eclipse.tm.terminal.remote.repo/.project b/repos/org.eclipse.tm.terminal.remote.repo/.project new file mode 100644 index 00000000000..f7d77c3b101 --- /dev/null +++ b/repos/org.eclipse.tm.terminal.remote.repo/.project @@ -0,0 +1,11 @@ + + + org.eclipse.tm.terminal.remote.repo + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.remote.repo/category.xml b/repos/org.eclipse.tm.terminal.remote.repo/category.xml new file mode 100644 index 00000000000..ab26b91f11c --- /dev/null +++ b/repos/org.eclipse.tm.terminal.remote.repo/category.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + TM Terminal Main Features + + + diff --git a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml new file mode 100644 index 00000000000..690cf855a83 --- /dev/null +++ b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.0.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.0.0-SNAPSHOT + org.eclipse.tm.terminal.remote.repo + eclipse-repository + + + + deploy + + + + maven-antrun-plugin + + + deploy + install + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index cd76b8c54c8..25fd3f053cc 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -33,12 +33,6 @@ - - - - - - From a7484f418f472c892b59ce84800d2126a0008102 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:26:42 +0200 Subject: [PATCH 719/843] Releng: Make the nightly build repository a composite repository to make it easier to access the remote connector pieces --- .../pom.xml | 15 +++++++++++++++ .../composite/compositeArtifacts.xml | 16 ++++++++++++++++ .../composite/compositeContent.xml | 16 ++++++++++++++++ repos/org.eclipse.tm.terminal.repo/pom.xml | 19 +++++++++++++++++-- 4 files changed, 64 insertions(+), 2 deletions(-) create mode 100644 repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml create mode 100644 repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml diff --git a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml index 690cf855a83..ae77d6bd587 100644 --- a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml @@ -41,7 +41,22 @@ + + + + + + + + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml b/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml new file mode 100644 index 00000000000..3ac7eaa10dc --- /dev/null +++ b/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml b/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml new file mode 100644 index 00000000000..4b2021b5d48 --- /dev/null +++ b/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index b80720908cb..f8368dd225b 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -33,17 +33,32 @@ - + + + + - + + + + + + + + + + + + + From 18b4ab639e34e7f0f6d29ee4f8900e19874ceb3e Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:28:20 +0200 Subject: [PATCH 720/843] Releng: Make the nightly build repository a composite repository to make it easier to access the remote connector pieces --- repos/org.eclipse.tm.terminal.repo/pom.xml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index f8368dd225b..315890d96bf 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -33,10 +33,7 @@ - - - - + From 3e73e9658775461a2e13bcf5481f1a2bc476972f Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:30:32 +0200 Subject: [PATCH 721/843] Releng: Update Orbit repository link --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index ccb2527a047..32e3b8432fa 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -60,7 +60,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version}milestones - http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/ + http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/ http://download.eclipse.org/tools/cdt/builds/mars/milestones http://download.eclipse.org/tm/updates/4.0milestones http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones From fe1ca8742c470336a9afb9d61f7d20d23d1d7778 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:30:32 +0200 Subject: [PATCH 722/843] Releng: Update Orbit repository link --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index ccb2527a047..32e3b8432fa 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -60,7 +60,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version}milestones - http://download.eclipse.org/tools/orbit/downloads/drops/S20150519210750/repository/ + http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/ http://download.eclipse.org/tools/cdt/builds/mars/milestones http://download.eclipse.org/tm/updates/4.0milestones http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones From 23b3fd4cd08185a8aae08899c274a34b551f4623 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:41:16 +0200 Subject: [PATCH 723/843] Releng: Update terminal stream id --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 32e3b8432fa..8401ac4d233 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -52,7 +52,7 @@ scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git - development + mars ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly 4.5 From 9dcbba9066269ac6eaabda5382adaa7b130e00b7 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 11:47:09 +0200 Subject: [PATCH 724/843] Releng: Add mkdir tasks to "deploy" --- repos/org.eclipse.tm.terminal.repo/pom.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index 315890d96bf..44f92c13f1a 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -36,6 +36,8 @@ + + From fc2a5462c183e320d95d59cae55d7dcfc0a3e9f2 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 1 Jun 2015 12:07:21 +0200 Subject: [PATCH 725/843] Releng: Also delete empty directories --- repos/org.eclipse.tm.terminal.repo/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index 44f92c13f1a..c4fb86961dc 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -31,7 +31,7 @@ - + From 11f2794bd6190800853f09978844de8b0910f634 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Mon, 1 Jun 2015 14:24:29 +0200 Subject: [PATCH 726/843] Fix NPEs when closing Old Terminal view and avoid opening on top of Welcome --- .../view/ui/view/OldTerminalsViewHandler.java | 92 ++++++++++++++++--- 1 file changed, 77 insertions(+), 15 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java index ffc88f162fb..3317a496f8d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -11,10 +11,12 @@ package org.eclipse.tm.terminal.view.ui.view; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.ui.IPartListener2; +import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; /** @@ -25,6 +27,9 @@ import org.eclipse.ui.part.ViewPart; */ public class OldTerminalsViewHandler extends ViewPart { + boolean fReplaced; + IPartListener2 fPartlistener; + /** * Constructor. */ @@ -37,26 +42,83 @@ public class OldTerminalsViewHandler extends ViewPart { */ @Override public void createPartControl(Composite parent) { - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - IWorkbenchPage page = window != null ? window.getActivePage() : null; - - if (page != null) { - // Show the new view - try { - page.showView(IUIConstants.ID); - } - catch (PartInitException e) { /* ignored on purpose */ } - - // Hide ourself in the current perspective - page.hideView(this); - } + replaceWithTerminalsView(); } + protected void replaceWithTerminalsView() { + if (fReplaced) + return; + IViewSite site = getViewSite(); + final IWorkbenchPage page = site.getPage(); + + site.getShell().getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + if (fReplaced) + return; + if (!page.isPageZoomed() || page.getActivePart() instanceof TerminalsView) { + fReplaced = true; + // Show the new view + try { + page.showView(IUIConstants.ID, null, IWorkbenchPage.VIEW_CREATE); + } + catch (PartInitException e) { /* ignored on purpose */ } + + // Hide ourself in the current perspective + page.hideView(OldTerminalsViewHandler.this); + } else if (fPartlistener == null) { + final IWorkbenchPart maximizedPart = page.getActivePart(); + page.addPartListener(fPartlistener = new IPartListener2() { + @Override + public void partVisible(IWorkbenchPartReference partRef) { + if (partRef.getPart(false) == OldTerminalsViewHandler.this) { + page.removePartListener(this); + fPartlistener = null; + replaceWithTerminalsView(); + } + } + @Override + public void partOpened(IWorkbenchPartReference partRef) { + } + @Override + public void partInputChanged(IWorkbenchPartReference partRef) { + } + @Override + public void partHidden(IWorkbenchPartReference partRef) { + } + @Override + public void partDeactivated(IWorkbenchPartReference partRef) { + } + @Override + public void partClosed(IWorkbenchPartReference partRef) { + if (partRef.getPart(false) == OldTerminalsViewHandler.this) { + page.removePartListener(this); + fPartlistener = null; + } else if (partRef.getPart(false) == maximizedPart) { + page.removePartListener(this); + fPartlistener = null; + replaceWithTerminalsView(); + } + } + @Override + public void partBroughtToTop(IWorkbenchPartReference partRef) { + } + @Override + public void partActivated(IWorkbenchPartReference partRef) { + } + }); + } + } + }); + } + /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#setFocus() */ @Override public void setFocus() { + // should not happen, but just in case - replace on focus + replaceWithTerminalsView(); } } From 4ea71eb57ec10177e6d0caf3429196e4882562b9 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Mon, 1 Jun 2015 14:24:29 +0200 Subject: [PATCH 727/843] Fix NPEs when closing Old Terminal view and avoid opening on top of Welcome --- .../view/ui/view/OldTerminalsViewHandler.java | 92 ++++++++++++++++--- 1 file changed, 77 insertions(+), 15 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java index ffc88f162fb..3317a496f8d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java @@ -11,10 +11,12 @@ package org.eclipse.tm.terminal.view.ui.view; import org.eclipse.swt.widgets.Composite; import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.ui.IPartListener2; +import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPage; -import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; import org.eclipse.ui.part.ViewPart; /** @@ -25,6 +27,9 @@ import org.eclipse.ui.part.ViewPart; */ public class OldTerminalsViewHandler extends ViewPart { + boolean fReplaced; + IPartListener2 fPartlistener; + /** * Constructor. */ @@ -37,26 +42,83 @@ public class OldTerminalsViewHandler extends ViewPart { */ @Override public void createPartControl(Composite parent) { - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - IWorkbenchPage page = window != null ? window.getActivePage() : null; - - if (page != null) { - // Show the new view - try { - page.showView(IUIConstants.ID); - } - catch (PartInitException e) { /* ignored on purpose */ } - - // Hide ourself in the current perspective - page.hideView(this); - } + replaceWithTerminalsView(); } + protected void replaceWithTerminalsView() { + if (fReplaced) + return; + IViewSite site = getViewSite(); + final IWorkbenchPage page = site.getPage(); + + site.getShell().getDisplay().asyncExec(new Runnable() { + @Override + public void run() { + if (fReplaced) + return; + if (!page.isPageZoomed() || page.getActivePart() instanceof TerminalsView) { + fReplaced = true; + // Show the new view + try { + page.showView(IUIConstants.ID, null, IWorkbenchPage.VIEW_CREATE); + } + catch (PartInitException e) { /* ignored on purpose */ } + + // Hide ourself in the current perspective + page.hideView(OldTerminalsViewHandler.this); + } else if (fPartlistener == null) { + final IWorkbenchPart maximizedPart = page.getActivePart(); + page.addPartListener(fPartlistener = new IPartListener2() { + @Override + public void partVisible(IWorkbenchPartReference partRef) { + if (partRef.getPart(false) == OldTerminalsViewHandler.this) { + page.removePartListener(this); + fPartlistener = null; + replaceWithTerminalsView(); + } + } + @Override + public void partOpened(IWorkbenchPartReference partRef) { + } + @Override + public void partInputChanged(IWorkbenchPartReference partRef) { + } + @Override + public void partHidden(IWorkbenchPartReference partRef) { + } + @Override + public void partDeactivated(IWorkbenchPartReference partRef) { + } + @Override + public void partClosed(IWorkbenchPartReference partRef) { + if (partRef.getPart(false) == OldTerminalsViewHandler.this) { + page.removePartListener(this); + fPartlistener = null; + } else if (partRef.getPart(false) == maximizedPart) { + page.removePartListener(this); + fPartlistener = null; + replaceWithTerminalsView(); + } + } + @Override + public void partBroughtToTop(IWorkbenchPartReference partRef) { + } + @Override + public void partActivated(IWorkbenchPartReference partRef) { + } + }); + } + } + }); + } + /* (non-Javadoc) * @see org.eclipse.ui.part.WorkbenchPart#setFocus() */ @Override public void setFocus() { + // should not happen, but just in case - replace on focus + replaceWithTerminalsView(); } } From 34bddccabe08141d8a8439526fa7784c3d41d027 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Fri, 29 May 2015 18:05:17 -0400 Subject: [PATCH 728/843] Bugs 468857, 468858, 468859 - Various fixes for remote terminal. Change-Id: I0b05724722a0fe55f45cad5c4edff9398fbb352d Signed-off-by: Greg Watson --- .../connector/remote/IRemoteSettings.java | 12 +- .../remote/IRemoteTerminalConstants.java | 1 + .../RemoteWizardConfigurationPanel.java | 117 +++++++++++------- .../internal/RemoteConnectionManager.java | 63 ++++++---- .../remote/internal/RemoteConnector.java | 18 +-- .../remote/internal/RemoteSettings.java | 28 +++-- .../remote/internal/RemoteSettingsPage.java | 7 +- .../RemoteTerminalPreferencePage.java | 3 + .../launcher/RemoteLauncherDelegate.java | 97 ++++++++++----- .../remote/launcher/RemoteMementoHandler.java | 17 ++- 10 files changed, 219 insertions(+), 144 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java index 9436f26f65b..e4094515b64 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java @@ -9,19 +9,19 @@ package org.eclipse.tm.terminal.connector.remote; public interface IRemoteSettings { public static final String CONNECTION_NAME = "ConnectionName"; //$NON-NLS-1$ - public static final String REMOTE_SERVICES = "RemoteServices"; //$NON-NLS-1$ + public static final String CONNECTION_TYPE_ID = "ConnectionTypeId"; //$NON-NLS-1$ /** - * Get the host name or IP address of remote system to connect. + * Get the connection type ID for the connection (e.g. local, ssh, etc.) * - * @return host name or IP address of the remote system. + * @return connection type ID. */ - String getRemoteServices(); + String getConnectionTypeId(); /** - * Get the login name for connecting to the remote system. + * Get the connection name for the target system. * - * @return remote login name + * @return connection name */ String getConnectionName(); } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java index 512248c6162..ed8317c427d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java @@ -9,4 +9,5 @@ package org.eclipse.tm.terminal.connector.remote; public interface IRemoteTerminalConstants { public static final String PREF_TERMINAL_SHELL_COMMAND = "TERMINAL_SHELL_COMMAND"; //$NON-NLS-1$ + public static final String PREF_TERMINAL_TYPE = "TERMINAL_TYPE"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java index 0ee8e44f5a0..508191946a7 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java @@ -33,19 +33,22 @@ import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel @SuppressWarnings("restriction") public class RemoteWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { - public RemoteSettings remoteSettings; + private RemoteSettings remoteSettings; private ISettingsPage remoteSettingsPage; /** * Constructor. * - * @param container The configuration panel container or null. + * @param container + * The configuration panel container or null. */ public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) { - super(container); - } + super(container); + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel#setupPanel(org.eclipse.swt.widgets.Composite) */ @Override @@ -60,7 +63,7 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio remoteSettingsPage = new RemoteSettingsPage(remoteSettings); if (remoteSettingsPage instanceof AbstractSettingsPage) { - ((AbstractSettingsPage)remoteSettingsPage).setHasControlDecoration(true); + ((AbstractSettingsPage) remoteSettingsPage).setHasControlDecoration(true); } remoteSettingsPage.createControl(panel); @@ -69,7 +72,9 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio @Override public void onSettingsPageChanged(Control control) { - if (getContainer() != null) getContainer().validate(); + if (getContainer() != null) { + getContainer().validate(); + } } }); @@ -79,79 +84,107 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio setControl(panel); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#setupData(java.util.Map) */ @Override public void setupData(Map data) { - if (data == null || remoteSettings == null || remoteSettingsPage == null) return; + if (data == null || remoteSettings == null || remoteSettingsPage == null) { + return; + } - String value = (String)data.get(IRemoteSettings.REMOTE_SERVICES); - if (value != null) remoteSettings.setRemoteServices(value); + String value = (String) data.get(IRemoteSettings.CONNECTION_TYPE_ID); + if (value != null) { + remoteSettings.setConnectionTypeId(value); + } - value = (String)data.get(IRemoteSettings.CONNECTION_NAME); - if (value != null) remoteSettings.setConnectionName(value); + value = (String) data.get(IRemoteSettings.CONNECTION_NAME); + if (value != null) { + remoteSettings.setConnectionName(value); + } - value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); - if (value != null) setEncoding(value); + value = (String) data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (value != null) { + setEncoding(value); + } remoteSettingsPage.loadSettings(); - } + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#extractData(java.util.Map) */ @Override public void extractData(Map data) { - if (data == null) return; + if (data == null) { + return; + } - // set the terminal connector id for remote - data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, "org.eclipse.tm.terminal.connector.remote.RemoteConnector"); //$NON-NLS-1$ + // set the terminal connector id for remote + data.put(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID, + "org.eclipse.tm.terminal.connector.remote.RemoteConnector"); //$NON-NLS-1$ - remoteSettingsPage.saveSettings(); - - data.put(IRemoteSettings.REMOTE_SERVICES, remoteSettings.getRemoteServices()); - data.put(IRemoteSettings.CONNECTION_NAME, remoteSettings.getConnectionName()); - data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); - } + remoteSettingsPage.saveSettings(); - /* (non-Javadoc) + data.put(IRemoteSettings.CONNECTION_TYPE_ID, remoteSettings.getConnectionTypeId()); + data.put(IRemoteSettings.CONNECTION_NAME, remoteSettings.getConnectionName()); + if (getEncoding() != null) { + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + } + + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#fillSettingsForHost(java.lang.String) */ @Override - protected void fillSettingsForHost(String host){ + protected void fillSettingsForHost(String host) { } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#saveSettingsForHost(boolean) */ @Override - protected void saveSettingsForHost(boolean add){ + protected void saveSettingsForHost(boolean add) { } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#isValid() */ @Override - public boolean isValid(){ + public boolean isValid() { return isEncodingValid() && remoteSettingsPage.validateSettings(); } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs.IDialogSettings, java.lang.String) + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#doSaveWidgetValues(org.eclipse.jface.dialogs. + * IDialogSettings, java.lang.String) */ @Override - public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { - saveSettingsForHost(true); - super.doSaveWidgetValues(settings, idPrefix); - } + public void doSaveWidgetValues(IDialogSettings settings, String idPrefix) { + saveSettingsForHost(true); + super.doSaveWidgetValues(settings, idPrefix); + } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel#getHostFromSettings() */ @Override - protected String getHostFromSettings() { + protected String getHostFromSettings() { remoteSettingsPage.saveSettings(); - return null; - } + return null; + } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 7615ac3ba1b..95c9a9f947e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -28,6 +28,7 @@ import org.eclipse.remote.core.IRemoteConnectionType; import org.eclipse.remote.core.IRemoteProcess; import org.eclipse.remote.core.IRemoteProcessBuilder; 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.provisional.api.ITerminalControl; @@ -40,12 +41,14 @@ import org.eclipse.tm.terminal.connector.remote.nls.Messages; public class RemoteConnectionManager extends Job { private final static String PARSERS_EXTENSION_POINT = "parsers"; //$NON-NLS-1$ private final static String PARSER_ELEMENT = "parser"; //$NON-NLS-1$ + private static int fgNo; private final ITerminalControl control; private final RemoteConnector connector; private IRemoteTerminalParser parser; + private IRemoteProcess remoteProcess; protected RemoteConnectionManager(RemoteConnector conn, ITerminalControl control) { super("Remote Terminal-" + fgNo++); //$NON-NLS-1$ @@ -62,31 +65,32 @@ public class RemoteConnectionManager extends Job { */ @Override protected IStatus run(IProgressMonitor monitor) { - IRemoteProcess remoteProcess = null; IRemoteConnection remoteConnection = null; try { IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); - String connTypeId = connector.getRemoteSettings().getRemoteServices(); + String connTypeId = connector.getRemoteSettings().getConnectionTypeId(); IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); if (connType != null) { remoteConnection = connType.getConnection(connector.getRemoteSettings().getConnectionName()); } if (remoteConnection == null) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings() - .getConnectionName())); + throw new RemoteConnectionException( + NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings().getConnectionName())); } if (!remoteConnection.isOpen()) { remoteConnection.open(monitor); if (!remoteConnection.isOpen()) { - throw new RemoteConnectionException(NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings() - .getConnectionName())); + throw new RemoteConnectionException( + NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings().getConnectionName())); } } if (parser != null) { - remoteProcess = parser.initialize(remoteConnection); + synchronized (this) { + remoteProcess = parser.initialize(remoteConnection); + } } else { /* * Check the terminal shell command preference. If the preference is empty and we support a command shell, @@ -97,18 +101,23 @@ public class RemoteConnectionManager extends Job { if (!("".equals(terminalShellCommand)) //$NON-NLS-1$ && remoteConnection.hasService(IRemoteCommandShellService.class)) { IRemoteCommandShellService cmdShellSvc = remoteConnection.getService(IRemoteCommandShellService.class); - remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + synchronized (this) { + remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); + } } else { if ("".equals(terminalShellCommand)) { //$NON-NLS-1$ terminalShellCommand = "/bin/bash -l"; //$NON-NLS-1$ } IRemoteProcessService procSvc = remoteConnection.getService(IRemoteProcessService.class); - IRemoteProcessBuilder processBuilder = procSvc.getProcessBuilder(new ArgumentParser(terminalShellCommand) - .getTokenList()); - remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + IRemoteProcessBuilder processBuilder = procSvc + .getProcessBuilder(new ArgumentParser(terminalShellCommand).getTokenList()); + synchronized (this) { + remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + } } } + control.setVT100LineWrapping(true); connector.setInputStream(remoteProcess.getInputStream()); control.setState(TerminalState.CONNECTED); control.setTerminalTitle(remoteConnection.getName()); @@ -123,20 +132,27 @@ public class RemoteConnectionManager extends Job { } finally { // make sure the terminal is disconnected when the thread ends connector.disconnect(); - synchronized (this) { - if (remoteProcess != null && !remoteProcess.isCompleted()) { - remoteProcess.destroy(); - } - } } return Status.OK_STATUS; } + @Override + protected void canceling() { + super.canceling(); + synchronized (this) { + if (remoteProcess != null && !remoteProcess.isCompleted()) { + remoteProcess.destroy(); + } + } + } + public void setTerminalSize(int cols, int rows, int width, int height) { - // Enable for org.eclipse.remote v1.2 - // if (remoteProcess instanceof IRemoteTerminal) { - // ((IRemoteTerminal) remoteProcess).setTerminalSize(cols, rows, width, height); - // } + if (remoteProcess != null) { + IRemoteProcessTerminalService termSvc = remoteProcess.getService(IRemoteProcessTerminalService.class); + if (termSvc != null) { + termSvc.setTerminalSize(cols, rows, width, height); + } + } } /** @@ -147,11 +163,8 @@ public class RemoteConnectionManager extends Job { */ private void readData(InputStream in) throws IOException { byte[] buf = new byte[32 * 1024]; - while (getState() == Job.RUNNING) { - int n = in.read(buf, 0, buf.length); - if (n <= 0) { - break; - } + int n; + while ((n = in.read(buf, 0, buf.length)) > 0) { if (parser == null || parser.parse(buf)) { control.getRemoteToTerminalOutputStream().write(buf, 0, n); } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java index 592422d17cc..a1f4d97a926 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java @@ -56,22 +56,6 @@ public class RemoteConnector extends TerminalConnectorImpl { */ @Override public synchronized void doDisconnect() { - if (getInputStream() != null) { - try { - getInputStream().close(); - } catch (Exception exception) { - Activator.log(exception); - } - } - - if (getTerminalToRemoteStream() != null) { - try { - getTerminalToRemoteStream().close(); - } catch (Exception exception) { - Activator.log(exception); - } - } - fConnection.cancel(); } @@ -117,7 +101,7 @@ public class RemoteConnector extends TerminalConnectorImpl { public void setDefaultSettings() { fSettings.load(new NullSettingsStore()); } - + @Override public void save(ISettingsStore store) { fSettings.save(store); diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java index 74b6c8f80f2..e3fd933588f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java @@ -12,22 +12,24 @@ import org.eclipse.tm.terminal.connector.remote.IRemoteSettings; @SuppressWarnings("restriction") public class RemoteSettings implements IRemoteSettings { - protected String fRemoteServices; - protected String fConnectionName; + protected String connectionTypeId; + protected String connectionName; public RemoteSettings() { } + @Override public String getConnectionName() { - return fConnectionName; + return connectionName; } - public String getRemoteServices() { - return fRemoteServices; + @Override + public String getConnectionTypeId() { + return connectionTypeId; } public String getSummary() { - return "Remote:" + getRemoteServices() + '_' + getConnectionName(); //$NON-NLS-1$ + return "Remote:" + getConnectionTypeId() + '_' + getConnectionName(); //$NON-NLS-1$ } @Override @@ -39,23 +41,23 @@ public class RemoteSettings implements IRemoteSettings { * Load information into the RemoteSettings object. */ public void load(ISettingsStore store) { - fRemoteServices = store.get(REMOTE_SERVICES, ""); //$NON-NLS-1$ - fConnectionName = store.get(CONNECTION_NAME, ""); //$NON-NLS-1$ + connectionTypeId = store.get(CONNECTION_TYPE_ID, ""); //$NON-NLS-1$ + connectionName = store.get(CONNECTION_NAME, ""); //$NON-NLS-1$ } /** * Extract information from the RemoteSettings object. */ public void save(ISettingsStore store) { - store.put(REMOTE_SERVICES, fRemoteServices); - store.put(CONNECTION_NAME, fConnectionName); + store.put(CONNECTION_TYPE_ID, connectionTypeId); + store.put(CONNECTION_NAME, connectionName); } public void setConnectionName(String name) { - fConnectionName = name; + connectionName = name; } - public void setRemoteServices(String remoteServices) { - fRemoteServices = remoteServices; + public void setConnectionTypeId(String id) { + connectionTypeId = id; } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index d5ee56a17de..2ea7ecdb0f2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -30,7 +30,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { if (fRemoteConnectionWidget.getConnection() != null) { if (fRemoteConnectionWidget.getConnection().getConnectionType() != null) { - fTerminalSettings.setRemoteServices(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); + fTerminalSettings.setConnectionTypeId(fRemoteConnectionWidget.getConnection().getConnectionType().getId()); } fTerminalSettings.setConnectionName(fRemoteConnectionWidget.getConnection().getName()); } @@ -40,7 +40,7 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public void loadSettings() { if (fTerminalSettings != null && fRemoteConnectionWidget != null && !fRemoteConnectionWidget.isDisposed()) { - fRemoteConnectionWidget.setConnection(fTerminalSettings.getRemoteServices(), fTerminalSettings.getConnectionName()); + fRemoteConnectionWidget.setConnection(fTerminalSettings.getConnectionTypeId(), fTerminalSettings.getConnectionName()); } } @@ -53,7 +53,8 @@ public class RemoteSettingsPage extends AbstractSettingsPage { @Override public boolean validateSettings() { - if (fRemoteConnectionWidget == null || fRemoteConnectionWidget.isDisposed() || fRemoteConnectionWidget.getConnection() == null) { + if (fRemoteConnectionWidget == null || fRemoteConnectionWidget.isDisposed() + || fRemoteConnectionWidget.getConnection() == null) { return false; } return true; diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java index 595b4d4e6cc..87175435d82 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java @@ -20,8 +20,10 @@ import org.eclipse.ui.IWorkbenchPreferencePage; import org.eclipse.ui.preferences.ScopedPreferenceStore; public class RemoteTerminalPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { + @Override protected void createFieldEditors() { Composite parent = getFieldEditorParent(); + addField(new StringFieldEditor(IRemoteTerminalConstants.PREF_TERMINAL_TYPE, "Terminal Type", parent)); addField(new StringFieldEditor(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, Messages.RemoteTerminalPreferencePage_0, parent)); } @@ -31,6 +33,7 @@ public class RemoteTerminalPreferencePage extends FieldEditorPreferencePage impl return new ScopedPreferenceStore(InstanceScope.INSTANCE, Activator.getUniqueIdentifier()); } + @Override public void init(IWorkbench workbench) { // Nothing } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java index 8d36ea5c197..72c4f424f08 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -15,11 +15,15 @@ import java.util.Map; import org.eclipse.core.runtime.Assert; 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.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; @@ -39,7 +43,9 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { // The Remote terminal connection memento handler private final IMementoHandler mementoHandler = new RemoteMementoHandler(); - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override @@ -47,33 +53,27 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { return true; } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) + /* + * (non-Javadoc) + * + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces. + * IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { return new RemoteWizardConfigurationPanel(container); } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) + /* + * (non-Javadoc) + * + * @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) { Assert.isNotNull(properties); - // Set the terminal tab title - String terminalTitle = getTerminalTitle(properties); - if (terminalTitle != null) { - properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); - } - - // For Telnet terminals, force a new terminal tab each time it is launched, - // if not set otherwise from outside - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { - properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); - } - // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request @@ -90,50 +90,56 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { - String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + String connection = (String) properties.get(IRemoteSettings.CONNECTION_NAME); if (connection != null) { DateFormat format = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT); String date = format.format(new Date(System.currentTimeMillis())); - return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[]{connection, date}); + return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[] { connection, date }); } return Messages.RemoteLauncherDelegate_terminalTitle_default; } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) */ - @SuppressWarnings("rawtypes") + @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public Object getAdapter(Class adapter) { if (IMementoHandler.class.equals(adapter)) { return mementoHandler; } - return super.getAdapter(adapter); + return super.getAdapter(adapter); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ - @Override + @Override public ITerminalConnector createTerminalConnector(Map properties) { - Assert.isNotNull(properties); + Assert.isNotNull(properties); - // Check for the terminal connector id - String connectorId = (String)properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - if (connectorId == null) connectorId = "org.eclipse.tm.terminal.connector.remote.RemoteConnector"; //$NON-NLS-1$ + // Check for the terminal connector id + String connectorId = (String) properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) { + connectorId = "org.eclipse.tm.terminal.connector.remote.RemoteConnector"; //$NON-NLS-1$ + } // Extract the remote properties - String services = (String)properties.get(IRemoteSettings.REMOTE_SERVICES); - String connection = (String)properties.get(IRemoteSettings.CONNECTION_NAME); + String connTypeId = (String) properties.get(IRemoteSettings.CONNECTION_TYPE_ID); + String connName = (String) properties.get(IRemoteSettings.CONNECTION_NAME); // Construct the terminal settings store ISettingsStore store = new SettingsStore(); // Construct the remote settings RemoteSettings remoteSettings = new RemoteSettings(); - remoteSettings.setRemoteServices(services); - remoteSettings.setConnectionName(connection); + remoteSettings.setConnectionTypeId(connTypeId); + remoteSettings.setConnectionName(connName); // And save the settings to the store remoteSettings.save(store); @@ -146,6 +152,33 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { connector.load(store); } + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // For Telnet terminals, force a new terminal tab each time it is launched, + // if not set otherwise from outside + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) { + IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); + + IRemoteConnectionType connType = svcMgr.getConnectionType(connTypeId); + if (connType != null) { + IRemoteConnection remoteConnection = connType.getConnection(connName); + if (remoteConnection != null && remoteConnection.isOpen()) { + properties.put(ITerminalsConnectorConstants.PROP_ENCODING, + remoteConnection.getProperty(IRemoteConnection.LOCALE_CHARMAP_PROPERTY)); + } + } + } + + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_WORKING_DIR, "/tmp"); //$NON-NLS-1$ + return connector; } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java index 92db0a543d1..a114c033b9f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java @@ -22,7 +22,9 @@ import org.eclipse.ui.IMemento; */ public class RemoteMementoHandler implements IMementoHandler { - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#saveState(org.eclipse.ui.IMemento, java.util.Map) */ @Override @@ -32,12 +34,15 @@ public class RemoteMementoHandler implements IMementoHandler { // Do not write the terminal title to the memento -> needs to // be recreated at the time of restoration. - memento.putString(IRemoteSettings.CONNECTION_NAME, (String)properties.get(IRemoteSettings.CONNECTION_NAME)); - memento.putString(IRemoteSettings.REMOTE_SERVICES, (String)properties.get(IRemoteSettings.REMOTE_SERVICES)); - memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, (String)properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); + memento.putString(IRemoteSettings.CONNECTION_NAME, (String) properties.get(IRemoteSettings.CONNECTION_NAME)); + memento.putString(IRemoteSettings.CONNECTION_TYPE_ID, (String) properties.get(IRemoteSettings.CONNECTION_TYPE_ID)); + memento.putString(ITerminalsConnectorConstants.PROP_ENCODING, + (String) properties.get(ITerminalsConnectorConstants.PROP_ENCODING)); } - /* (non-Javadoc) + /* + * (non-Javadoc) + * * @see org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler#restoreState(org.eclipse.ui.IMemento, java.util.Map) */ @Override @@ -47,7 +52,7 @@ public class RemoteMementoHandler implements IMementoHandler { // Restore the terminal properties from the memento properties.put(IRemoteSettings.CONNECTION_NAME, memento.getString(IRemoteSettings.CONNECTION_NAME)); - properties.put(IRemoteSettings.REMOTE_SERVICES, memento.getString(IRemoteSettings.REMOTE_SERVICES)); + properties.put(IRemoteSettings.CONNECTION_TYPE_ID, memento.getString(IRemoteSettings.CONNECTION_TYPE_ID)); properties.put(ITerminalsConnectorConstants.PROP_ENCODING, memento.getString(ITerminalsConnectorConstants.PROP_ENCODING)); } } From e58c5d3506ba4a17e160a7fa19463f2e9c3491f2 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Tue, 2 Jun 2015 17:10:02 +0200 Subject: [PATCH 729/843] Fix missing context menu if Terminal is created while invisible --- .../tm/terminal/view/ui/tabs/TabFolderMenuHandler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index e406040a8b5..2e08efd6cfd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -175,6 +175,11 @@ public class TabFolderMenuHandler extends PlatformObject { // Create the context menu contextMenu = contextMenuManager.createContextMenu(tabFolder); + // Temporarily set the menu on the tab folder to avoid the case + // where the menu has a different parent shell than the control. + // This can be the case if the tab folder is re-parented to the + // "PartRenderingEngine's limbo". + tabFolder.setMenu(contextMenu); // Create the context menu action instances doCreateContextMenuActions(); @@ -375,10 +380,11 @@ public class TabFolderMenuHandler extends PlatformObject { if (MenuManager.class.isAssignableFrom(adapter)) { return contextMenuManager; } else if (Menu.class.isAssignableFrom(adapter)) { - if (contextMenu != null && contextMenu.isDisposed()) { - // menu got disposed (should not happen) + if (contextMenu == null || contextMenu.isDisposed()) { contextMenu = contextMenuManager.createContextMenu(getTabFolder()); } + // Clear the menu from the tab folder now - see initialize() + getTabFolder().setMenu(null); return contextMenu; } From ab06a7362b57f51f7be59c594868c95c4b5f1d41 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Tue, 2 Jun 2015 17:10:02 +0200 Subject: [PATCH 730/843] Fix missing context menu if Terminal is created while invisible --- .../tm/terminal/view/ui/tabs/TabFolderMenuHandler.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index e406040a8b5..2e08efd6cfd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -175,6 +175,11 @@ public class TabFolderMenuHandler extends PlatformObject { // Create the context menu contextMenu = contextMenuManager.createContextMenu(tabFolder); + // Temporarily set the menu on the tab folder to avoid the case + // where the menu has a different parent shell than the control. + // This can be the case if the tab folder is re-parented to the + // "PartRenderingEngine's limbo". + tabFolder.setMenu(contextMenu); // Create the context menu action instances doCreateContextMenuActions(); @@ -375,10 +380,11 @@ public class TabFolderMenuHandler extends PlatformObject { if (MenuManager.class.isAssignableFrom(adapter)) { return contextMenuManager; } else if (Menu.class.isAssignableFrom(adapter)) { - if (contextMenu != null && contextMenu.isDisposed()) { - // menu got disposed (should not happen) + if (contextMenu == null || contextMenu.isDisposed()) { contextMenu = contextMenuManager.createContextMenu(getTabFolder()); } + // Clear the menu from the tab folder now - see initialize() + getTabFolder().setMenu(null); return contextMenu; } From af08d66a2571ad7358cd630473a556bb3ace2c0e Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Tue, 2 Jun 2015 20:37:57 -0400 Subject: [PATCH 731/843] Bug 468858 - initialize terminal size to fix line wrapping Change-Id: I0efc6e849fa8bf2ff42f9b50aa96bcb47b6d0d5b Signed-off-by: Greg Watson --- .../connector/remote/internal/RemoteConnectionManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 95c9a9f947e..f80db0ebe2b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -31,6 +31,8 @@ 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.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.tm.terminal.connector.remote.IRemoteTerminalConstants; @@ -122,6 +124,9 @@ public class RemoteConnectionManager extends Job { control.setState(TerminalState.CONNECTED); control.setTerminalTitle(remoteConnection.getName()); connector.setOutputStream(remoteProcess.getOutputStream()); + // Initialize terminal size + VT100Emulator text = ((VT100TerminalControl) control).getTerminalText(); + text.fontChanged(); // read data until the connection gets terminated readData(connector.getInputStream()); From 07d4b7cfed1022a89c198ba1d505458045d1db0d Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Wed, 3 Jun 2015 10:02:12 -0400 Subject: [PATCH 732/843] Revert "Releng: Make the nightly build repository a composite repository to make it easier to access the remote connector pieces" This reverts commit 18b4ab639e34e7f0f6d29ee4f8900e19874ceb3e. --- repos/org.eclipse.tm.terminal.repo/pom.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index c4fb86961dc..f753ce2bb00 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -33,7 +33,10 @@ - + + + + From f16611360e27dee41447f3bd3a12af09d2b61e67 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Wed, 3 Jun 2015 10:02:16 -0400 Subject: [PATCH 733/843] Revert "Releng: Make the nightly build repository a composite repository to make it easier to access the remote connector pieces" This reverts commit a7484f418f472c892b59ce84800d2126a0008102. --- .../pom.xml | 15 --------------- .../composite/compositeArtifacts.xml | 16 ---------------- .../composite/compositeContent.xml | 16 ---------------- repos/org.eclipse.tm.terminal.repo/pom.xml | 19 ++----------------- 4 files changed, 2 insertions(+), 64 deletions(-) delete mode 100644 repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml delete mode 100644 repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml diff --git a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml index ae77d6bd587..690cf855a83 100644 --- a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml @@ -41,22 +41,7 @@ - - - - - - - - - - - - - - - diff --git a/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml b/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml deleted file mode 100644 index 3ac7eaa10dc..00000000000 --- a/repos/org.eclipse.tm.terminal.repo/composite/compositeArtifacts.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - diff --git a/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml b/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml deleted file mode 100644 index 4b2021b5d48..00000000000 --- a/repos/org.eclipse.tm.terminal.repo/composite/compositeContent.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index f753ce2bb00..62470c8750e 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -33,34 +33,19 @@ - - - - + - + - - - - - - - - - - - - From 3dff9eb15a6133f93a0989b0dd006eae873c9c25 Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Wed, 3 Jun 2015 10:02:20 -0400 Subject: [PATCH 734/843] Revert "Releng: Move Remote Terminal Connection into its own profile so it can be excluded on demand" This reverts commit 601770a23319dbce0ca540d7d0f7745808312395. --- pom.xml | 24 +++----- .../.project | 11 ---- .../category.xml | 16 ----- .../pom.xml | 58 ------------------- .../org.eclipse.tm.terminal.repo/category.xml | 6 ++ 5 files changed, 14 insertions(+), 101 deletions(-) delete mode 100644 repos/org.eclipse.tm.terminal.remote.repo/.project delete mode 100644 repos/org.eclipse.tm.terminal.remote.repo/category.xml delete mode 100644 repos/org.eclipse.tm.terminal.remote.repo/pom.xml diff --git a/pom.xml b/pom.xml index 5a8fb181061..1a85d69cf3d 100644 --- a/pom.xml +++ b/pom.xml @@ -27,12 +27,15 @@ plugins/org.eclipse.tm.terminal.connector.local plugins/org.eclipse.tm.terminal.connector.process + plugins/org.eclipse.tm.terminal.connector.remote plugins/org.eclipse.tm.terminal.connector.serial plugins/org.eclipse.tm.terminal.connector.ssh plugins/org.eclipse.tm.terminal.connector.telnet features/org.eclipse.tm.terminal.connector.local.feature features/org.eclipse.tm.terminal.connector.local.sdk.feature + features/org.eclipse.tm.terminal.connector.remote.feature + features/org.eclipse.tm.terminal.connector.remote.sdk.feature features/org.eclipse.tm.terminal.connector.serial.feature features/org.eclipse.tm.terminal.connector.serial.sdk.feature features/org.eclipse.tm.terminal.connector.ssh.feature @@ -60,21 +63,10 @@ - tests - - plugins/org.eclipse.tm.terminal.test - - - - build-remote-connector - - plugins/org.eclipse.tm.terminal.connector.remote - - features/org.eclipse.tm.terminal.connector.remote.feature - features/org.eclipse.tm.terminal.connector.remote.sdk.feature - - repos/org.eclipse.tm.terminal.remote.repo - - + tests + + plugins/org.eclipse.tm.terminal.test + + diff --git a/repos/org.eclipse.tm.terminal.remote.repo/.project b/repos/org.eclipse.tm.terminal.remote.repo/.project deleted file mode 100644 index f7d77c3b101..00000000000 --- a/repos/org.eclipse.tm.terminal.remote.repo/.project +++ /dev/null @@ -1,11 +0,0 @@ - - - org.eclipse.tm.terminal.remote.repo - - - - - - - - diff --git a/repos/org.eclipse.tm.terminal.remote.repo/category.xml b/repos/org.eclipse.tm.terminal.remote.repo/category.xml deleted file mode 100644 index ab26b91f11c..00000000000 --- a/repos/org.eclipse.tm.terminal.remote.repo/category.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - - - - - - - TM Terminal Main Features - - - diff --git a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml b/repos/org.eclipse.tm.terminal.remote.repo/pom.xml deleted file mode 100644 index 690cf855a83..00000000000 --- a/repos/org.eclipse.tm.terminal.remote.repo/pom.xml +++ /dev/null @@ -1,58 +0,0 @@ - - - 4.0.0 - - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT - ../../admin/pom-build.xml - - - 4.0.0-SNAPSHOT - org.eclipse.tm.terminal.remote.repo - eclipse-repository - - - - deploy - - - - maven-antrun-plugin - - - deploy - install - - run - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 25fd3f053cc..cd76b8c54c8 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -33,6 +33,12 @@ + + + + + + From b1459f826a17466291bfc74e8214eb579d46307b Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Tue, 2 Jun 2015 20:37:57 -0400 Subject: [PATCH 735/843] Bug 468858 - initialize terminal size to fix line wrapping Change-Id: I0efc6e849fa8bf2ff42f9b50aa96bcb47b6d0d5b Signed-off-by: Greg Watson --- .../connector/remote/internal/RemoteConnectionManager.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 95c9a9f947e..f80db0ebe2b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -31,6 +31,8 @@ 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.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.tm.terminal.connector.remote.IRemoteTerminalConstants; @@ -122,6 +124,9 @@ public class RemoteConnectionManager extends Job { control.setState(TerminalState.CONNECTED); control.setTerminalTitle(remoteConnection.getName()); connector.setOutputStream(remoteProcess.getOutputStream()); + // Initialize terminal size + VT100Emulator text = ((VT100TerminalControl) control).getTerminalText(); + text.fontChanged(); // read data until the connection gets terminated readData(connector.getInputStream()); From 72b0f6ac9c9c18191de7158c074caf142621d65f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 4 Jun 2015 07:18:12 +0200 Subject: [PATCH 736/843] Clarify name of the TM Terminal via Remote API Connector --- .../feature.properties | 4 ++-- .../plugin.properties | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties index 6d9ae2a9d28..f1fef0c00a5 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties @@ -12,7 +12,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Remote Connector Extensions +featureName=TM Terminal via Remote API Connector Extensions # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management @@ -21,7 +21,7 @@ providerName=Eclipse.org - Target Management updateSiteName=TM Terminal 4.0 Updates # "description" property - description of the feature -description=An remote connector implementation for the Terminal. +description=A Terminal Connector using the org.eclipse.remote API. # "copyright" property - text of the "Feature Update Copyright" copyright=\ diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties index c466805cef5..54449f2acb5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties @@ -5,7 +5,7 @@ # which accompanies this distribution, and is available at # http://www.eclipse.org/legal/epl-v10.html ############################################################################### -pluginName = Terminal Remote API Connector -providerName = Eclipse PTP +pluginName = Terminal via Remote API Connector +providerName = Eclipse.org - Target Management connectionName = Remote Services RemoteTerminalPage.name = Remote Terminal From 82a085a97d143d8225045669b09649d6559f393a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 4 Jun 2015 07:34:48 +0200 Subject: [PATCH 737/843] Restore terminal stream id (development) after merge from 4.0_mars_bugfix --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 8401ac4d233..32e3b8432fa 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -52,7 +52,7 @@ scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git - mars + development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly 4.5 From a04778c8e8380c73d2194ea032db271e292dbc3b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 4 Jun 2015 07:38:33 +0200 Subject: [PATCH 738/843] Bug 468875 - Hide the Oldview Migration capability in Preferences --- plugins/org.eclipse.tm.terminal.view.ui/plugin.xml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 2d29aa3b28b..f18f9d89eb5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -347,11 +347,13 @@ pattern=".*/org\.eclipse\.tcf\.te\.ui\.terminals\.TerminalsView"> - + + From 1489103f23753bf4f57d17eb882808d5e2e0724b Mon Sep 17 00:00:00 2001 From: qwang Date: Sun, 7 Jun 2015 09:50:47 +1000 Subject: [PATCH 739/843] Modifed the changes 4.Remove the super freference, there's no reason to call that way. 5. Clean up the getDefaultTerminalTitle method in AbstractLauncherDelegate. Change-Id: I5211dd26fa6691c666bb457a1ef10e19a190441d Signed-off-by: Q.S. Wang --- .../ssh/launcher/SshLauncherDelegate.java | 9 ++++++++- .../telnet/launcher/TelnetLauncherDelegate.java | 9 ++++++++- .../ui/launcher/AbstractLauncherDelegate.java | 17 +++++++++++++++++ 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index 6aa85cf26df..8a42867bd63 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -90,7 +90,14 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { * * @return The terminal title string or null. */ - private String getTerminalTitle(Map properties) { + private String getTerminalTitle(Map properties) { + //Try to see if the user set a title explicitly via the properties map. + String title = getDefaultTerminalTitle(properties); + if(title!=null){ + return title; + } + + //No title,try to calculate the title String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); String user = (String)properties.get(ITerminalsConnectorConstants.PROP_SSH_USER); Object value = properties.get(ITerminalsConnectorConstants.PROP_IP_PORT); diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index deceae81a9e..5063882c475 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -89,7 +89,14 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { * * @return The terminal title string or null. */ - private String getTerminalTitle(Map properties) { + private String getTerminalTitle(Map properties) { + //Try to see if the user set a title explicitly via the properties map. + String title = getDefaultTerminalTitle(properties); + if(title!=null){ + return title; + } + + //No title,try to calculate the title String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); if (host != null) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java index 1970d0765c8..0059bdef1dd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java @@ -9,6 +9,8 @@ *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.launcher; +import java.util.Map; + import org.eclipse.core.expressions.Expression; import org.eclipse.core.expressions.ExpressionConverter; import org.eclipse.core.runtime.Assert; @@ -18,6 +20,7 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.PlatformObject; import org.eclipse.core.runtime.Status; import org.eclipse.osgi.util.NLS; +import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; import org.eclipse.tm.terminal.view.ui.nls.Messages; @@ -140,4 +143,18 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements public int hashCode() { return id.hashCode(); } + + /** + * Get the title from the settings, and use it as the default title. + * @param properties the setting properties map. + * @return the value retrieved via the @see {@link ITerminalsConnectorConstants#PROP_TITLE}, or null if the key hasn't been set. + */ + protected String getDefaultTerminalTitle(Map properties) { + String title = (String)properties.get(ITerminalsConnectorConstants.PROP_TITLE); + + if (title != null) { + return title; + } + return null; + } } From 468e07f0623799716e0f3f5ee80d1cc4208c1e5d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 9 Jun 2015 11:40:51 +0200 Subject: [PATCH 740/843] Adapt fix for Bug 469415 (Allow user set the title explicitly) for all existing connectors --- .../local/launcher/LocalLauncherDelegate.java | 5 +++ .../launcher/RemoteLauncherDelegate.java | 31 +++++++------------ .../launcher/SerialLauncherDelegate.java | 5 +++ .../ssh/launcher/SshLauncherDelegate.java | 7 ++--- .../launcher/TelnetLauncherDelegate.java | 9 +++--- .../ui/launcher/AbstractLauncherDelegate.java | 7 ++--- 6 files changed, 31 insertions(+), 33 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 36396b7723f..c8db0707793 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -220,12 +220,17 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { + // Try to see if the user set a title explicitly via the properties map. + String title = getDefaultTerminalTitle(properties); + if (title != null) return title; + try { String hostname = InetAddress.getLocalHost().getHostName(); if (hostname != null && !"".equals(hostname.trim())) { //$NON-NLS-1$ return hostname; } } catch (UnknownHostException e) { /* ignored on purpose */ } + return "Local"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java index 72c4f424f08..587d425a786 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -43,9 +43,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { // The Remote terminal connection memento handler private final IMementoHandler mementoHandler = new RemoteMementoHandler(); - /* - * (non-Javadoc) - * + /* (non-Javadoc) * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#needsUserConfiguration() */ @Override @@ -53,22 +51,16 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { return true; } - /* - * (non-Javadoc) - * - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces. - * IConfigurationPanelContainer) + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#getPanel(org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer) */ @Override public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { return new RemoteWizardConfigurationPanel(container); } - /* - * (non-Javadoc) - * - * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#execute(java.util.Map, - * org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done) + /* (non-Javadoc) + * @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) { @@ -90,6 +82,10 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { + // Try to see if the user set a title explicitly via the properties map. + String title = getDefaultTerminalTitle(properties); + if (title != null) return title; + String connection = (String) properties.get(IRemoteSettings.CONNECTION_NAME); if (connection != null) { @@ -97,12 +93,11 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { String date = format.format(new Date(System.currentTimeMillis())); return NLS.bind(Messages.RemoteLauncherDelegate_terminalTitle, new String[] { connection, date }); } + return Messages.RemoteLauncherDelegate_terminalTitle_default; } - /* - * (non-Javadoc) - * + /* (non-Javadoc) * @see org.eclipse.core.runtime.PlatformObject#getAdapter(java.lang.Class) */ @SuppressWarnings({ "rawtypes", "unchecked" }) @@ -114,9 +109,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { return super.getAdapter(adapter); } - /* - * (non-Javadoc) - * + /* (non-Javadoc) * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) */ @Override diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java index 39a551b9081..7e947b8920c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java @@ -83,6 +83,10 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { + // Try to see if the user set a title explicitly via the properties map. + String title = getDefaultTerminalTitle(properties); + if (title != null) return title; + String device = (String)properties.get(ITerminalsConnectorConstants.PROP_SERIAL_DEVICE); if (device != null) { @@ -90,6 +94,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate { String date = format.format(new Date(System.currentTimeMillis())); return NLS.bind(Messages.SerialLauncherDelegate_terminalTitle, new String[]{device, date}); } + return Messages.SerialLauncherDelegate_terminalTitle_default; } diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java index 8a42867bd63..a7e4aedd448 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java @@ -91,11 +91,9 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { - //Try to see if the user set a title explicitly via the properties map. + // Try to see if the user set a title explicitly via the properties map. String title = getDefaultTerminalTitle(properties); - if(title!=null){ - return title; - } + if (title != null) return title; //No title,try to calculate the title String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); @@ -111,6 +109,7 @@ public class SshLauncherDelegate extends AbstractLauncherDelegate { } return NLS.bind(Messages.SshLauncherDelegate_terminalTitle, new String[]{user, host, date}); } + return Messages.SshLauncherDelegate_terminalTitle_default; } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index 5063882c475..370dea26589 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -85,16 +85,14 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { /** * Returns the terminal title string. *

                                        - * The default implementation constructs a title like "SSH @ host (Start time) ". + * The default implementation constructs a title like "Telnet @ host (Start time) ". * * @return The terminal title string or null. */ private String getTerminalTitle(Map properties) { - //Try to see if the user set a title explicitly via the properties map. + // Try to see if the user set a title explicitly via the properties map. String title = getDefaultTerminalTitle(properties); - if(title!=null){ - return title; - } + if (title != null) return title; //No title,try to calculate the title String host = (String)properties.get(ITerminalsConnectorConstants.PROP_IP_HOST); @@ -104,6 +102,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { String date = format.format(new Date(System.currentTimeMillis())); return NLS.bind(Messages.TelnetLauncherDelegate_terminalTitle, new String[]{host, date}); } + return Messages.TelnetLauncherDelegate_terminalTitle_default; } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java index 0059bdef1dd..6cca5ad5dac 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java @@ -146,15 +146,12 @@ public abstract class AbstractLauncherDelegate extends PlatformObject implements /** * Get the title from the settings, and use it as the default title. + * * @param properties the setting properties map. * @return the value retrieved via the @see {@link ITerminalsConnectorConstants#PROP_TITLE}, or null if the key hasn't been set. */ protected String getDefaultTerminalTitle(Map properties) { String title = (String)properties.get(ITerminalsConnectorConstants.PROP_TITLE); - - if (title != null) { - return title; - } - return null; + return title != null ? title : null; } } From 08dc3c61fbc612886f8cfcc45aff6b20b4203247 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 11 Jun 2015 14:55:47 +0200 Subject: [PATCH 741/843] Bug 469415: Increase versions and add @since tag to satisfy API guidelines --- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../feature.xml | 4 ++-- .../org.eclipse.tm.terminal.feature/feature.xml | 16 ++++++++-------- .../feature.xml | 16 ++++++++-------- .../feature.xml | 4 ++-- .../feature.xml | 8 ++++---- .../feature.xml | 9 ++++++--- .../feature.xml | 8 ++++---- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 4 ++-- .../META-INF/MANIFEST.MF | 2 +- .../ui/launcher/AbstractLauncherDelegate.java | 2 ++ 27 files changed, 73 insertions(+), 68 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml index 15b91e98246..c8459f3a98e 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -12,7 +12,7 @@ @@ -30,7 +30,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml index 450f45945c3..9a27c9cea70 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml @@ -12,7 +12,7 @@ @@ -30,7 +30,7 @@ - + @@ -30,7 +30,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml index 0c56510128a..44ac4a5fd02 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml @@ -12,7 +12,7 @@ @@ -30,7 +30,7 @@ - + @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml index 5743b6311e1..f6241493da9 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + - + diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml index 03aa7939d27..6ae8d1446f4 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + @@ -31,7 +31,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml index 92015698be8..c453d073c75 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml @@ -13,7 +13,7 @@ @@ -31,7 +31,7 @@ - + - + diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml index d18a54ff542..750f33520da 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml @@ -14,7 +14,7 @@ @@ -32,7 +32,7 @@ - + - + - - - - - - + + + + + + diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 40e008ee457..d4621daf936 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -2,7 +2,7 @@ @@ -20,7 +20,7 @@ - + - - - - - - + + + + + + diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.xml b/features/org.eclipse.tm.terminal.view.feature/feature.xml index dd204cdbf8a..b64bce6db54 100644 --- a/features/org.eclipse.tm.terminal.view.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.feature/feature.xml @@ -2,7 +2,7 @@ - + diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml index aa7b43777e0..758042fe025 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml @@ -2,7 +2,7 @@ - + @@ -31,10 +31,10 @@ - - + + - + + + - - + @@ -20,13 +20,13 @@ - + - + - + properties) { String title = (String)properties.get(ITerminalsConnectorConstants.PROP_TITLE); From ccc0144058a555bbd9847e93689f1938f6ee7c59 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 11 Jun 2015 15:01:44 +0200 Subject: [PATCH 742/843] Releng: Adjust maven version for Terminal 4.1 release --- admin/pom-build.xml | 4 ++-- admin/pom-config.xml | 2 +- .../org.eclipse.tm.terminal.connector.local.feature/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.eclipse.tm.terminal.connector.remote.feature/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.eclipse.tm.terminal.connector.serial.feature/pom.xml | 4 ++-- .../pom.xml | 4 ++-- .../org.eclipse.tm.terminal.connector.ssh.feature/pom.xml | 4 ++-- .../org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml | 4 ++-- .../org.eclipse.tm.terminal.connector.telnet.feature/pom.xml | 4 ++-- .../pom.xml | 4 ++-- features/org.eclipse.tm.terminal.control.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.sdk.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.view.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.view.rse.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml | 4 ++-- features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.local/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.process/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.remote/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.serial/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.control/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view.core/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml | 4 ++-- plugins/org.eclipse.tm.terminal.view.ui/pom.xml | 4 ++-- repos/org.eclipse.tm.terminal.repo/category.xml | 2 +- repos/org.eclipse.tm.terminal.repo/pom.xml | 4 ++-- 33 files changed, 61 insertions(+), 61 deletions(-) diff --git a/admin/pom-build.xml b/admin/pom-build.xml index c97b08e1778..a4750fea959 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -7,13 +7,13 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT pom-config.xml org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT pom TM Terminal, Maven Build Master diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 32e3b8432fa..f2b18494fa2 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -10,7 +10,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT pom TM Terminal, Maven Configuration Master diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml index db0bc0c37f5..6b4a3cd304d 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.local.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml index 580645ae68b..c2529f117a5 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.local.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml index a9adb91fbc6..8666785881e 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.remote.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml index d13e7e54089..e20ca257265 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.remote.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml index ebeec907ab5..c94ebb20ddc 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml index 664643dc1e7..1db59798174 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.serial.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml index 3eb33340c9d..aaf6764b6f2 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.ssh.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml index 4978621ad8a..956e93fcdf1 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.ssh.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml index d030422b998..0615fbb03b0 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.telnet.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml index e600f145d9b..d063fb31126 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.telnet.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.control.feature/pom.xml b/features/org.eclipse.tm.terminal.control.feature/pom.xml index 48d4adef269..56cc090f97d 100644 --- a/features/org.eclipse.tm.terminal.control.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.control.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml index 07c975d55d8..3ddf30ea1be 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.control.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index 6beb9c81868..77290dc68da 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index da39dab5b12..a10626f8160 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.feature/pom.xml b/features/org.eclipse.tm.terminal.view.feature/pom.xml index 7ec86e49d5c..4fc4e64982c 100644 --- a/features/org.eclipse.tm.terminal.view.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml index 82d3710ebda..b32ef32f678 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.rse.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml index 22c4416673d..89ee260b157 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.rse.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml index 39f79433d1b..11582b5a246 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.sdk.feature eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml index a706af15479..1b7ec394a24 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.local eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml index 02df2e1e872..8346bbdd101 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.process eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml b/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml index e76aad3bf17..d64ebce7dc8 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml org.eclipse.tm.terminal.connector.remote - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml index e12f8d31ff2..fb2f9c8f2ec 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.serial eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml index a7444a926ce..b7dec7a1f66 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.ssh eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml index 0e0ae8e55c7..5faebccc365 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.connector.telnet eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/plugins/org.eclipse.tm.terminal.control/pom.xml index 1c50ecdc17d..323b768cc1e 100644 --- a/plugins/org.eclipse.tm.terminal.control/pom.xml +++ b/plugins/org.eclipse.tm.terminal.control/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 8ba12191b91..9cd035e4226 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.view.core/pom.xml b/plugins/org.eclipse.tm.terminal.view.core/pom.xml index 268e911fa58..1b81cef97b3 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml index 9a28c053d29..c331fa4dc6b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.ui.rse eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml index 1f8cb85a45d..e024987fc10 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0.qualifier + 4.1.0.qualifier org.eclipse.tm.terminal.view.ui eclipse-plugin diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index cd76b8c54c8..9f52e015ffb 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -62,7 +62,7 @@ - + TM Terminal Main Features diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index 62470c8750e..eb56b4eb60d 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT ../../admin/pom-build.xml - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.repo eclipse-repository From 57afa15552d0aaa805aaa16d9f916cb63c04c917 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 11 Jun 2015 15:05:05 +0200 Subject: [PATCH 743/843] Releng: Fix maven version references --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 1a85d69cf3d..4ec170e68a6 100644 --- a/pom.xml +++ b/pom.xml @@ -7,13 +7,13 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT admin/pom-build.xml org.eclipse.tm.terminal terminal-parent - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT pom TM Terminal, Maven Master From 121f0a2e001a289ba50c7239dc2e1d955979e0f9 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 11 Jun 2015 15:19:00 +0200 Subject: [PATCH 744/843] Releng: Fix pom files --- .../org.eclipse.tm.terminal.connector.local.feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.connector.remote.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.connector.serial.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.connector.telnet.feature/pom.xml | 2 +- .../pom.xml | 2 +- features/org.eclipse.tm.terminal.control.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.sdk.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view.rse.feature/pom.xml | 2 +- .../org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml | 2 +- features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml | 2 +- features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.connector.local/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.connector.process/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.connector.serial/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.control/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view.core/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.view.ui/pom.xml | 2 +- 29 files changed, 29 insertions(+), 29 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml index 6b4a3cd304d..eed9a986af4 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.local.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml index c2529f117a5..10d55e681b3 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.local.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml index 8666785881e..b805f0bc129 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.remote.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml index e20ca257265..43dd5526c7c 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.remote.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml index c94ebb20ddc..f0743239503 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml index 1db59798174..d898d0e4e37 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.serial.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml index aaf6764b6f2..fa89931a610 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.ssh.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml index 956e93fcdf1..03b54b33c06 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.ssh.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml index 0615fbb03b0..8edbd0556dc 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.telnet.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml index d063fb31126..d1fc549d667 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.telnet.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.control.feature/pom.xml b/features/org.eclipse.tm.terminal.control.feature/pom.xml index 56cc090f97d..eda50ebe40d 100644 --- a/features/org.eclipse.tm.terminal.control.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.control.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml index 3ddf30ea1be..1245268e0ab 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.control.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index 77290dc68da..4d75f0808b7 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index a10626f8160..d8abbb883c8 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.feature/pom.xml b/features/org.eclipse.tm.terminal.view.feature/pom.xml index 4fc4e64982c..d1ea8967a5b 100644 --- a/features/org.eclipse.tm.terminal.view.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml index b32ef32f678..f0513fa0d16 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.rse.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml index d331a735aca..74bb82da729 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml @@ -2,7 +2,7 @@ diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml index 89ee260b157..7779d2acaf6 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.rse.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml index 11582b5a246..c58b04da23a 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.sdk.feature eclipse-feature diff --git a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml index 1b7ec394a24..640276fa20a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.local eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml index 8346bbdd101..f93585a7fef 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.process eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml index fb2f9c8f2ec..032a269eecf 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.serial eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml index b7dec7a1f66..96c46539be8 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.ssh eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml index 5faebccc365..891b780ddcf 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.connector.telnet eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/plugins/org.eclipse.tm.terminal.control/pom.xml index 323b768cc1e..1f91c16832a 100644 --- a/plugins/org.eclipse.tm.terminal.control/pom.xml +++ b/plugins/org.eclipse.tm.terminal.control/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0.qualifier + 4.0.0-SNAPSHOT org.eclipse.tm.terminal.control eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 9cd035e4226..77b36ebc9dd 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0.qualifier + 4.0.0-SNAPSHOT org.eclipse.tm.terminal.test eclipse-test-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.core/pom.xml b/plugins/org.eclipse.tm.terminal.view.core/pom.xml index 1b81cef97b3..45a4e81692a 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0.qualifier + 4.0.0-SNAPSHOT org.eclipse.tm.terminal.view.core eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml index c331fa4dc6b..2b637e0c7a0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.ui.rse eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml index e024987fc10..76c166ad343 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0.qualifier + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.ui eclipse-plugin From 8eba787d8309684d25b42bed327c74d3a0519cc4 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 15 Jun 2015 09:15:37 +0200 Subject: [PATCH 745/843] Terminal: Prepare "New Terminal View" action --- .../icons/clcl16/new_terminal_view.gif | Bin 0 -> 934 bytes .../icons/dlcl16/new_terminal_view.gif | Bin 0 -> 175 bytes .../icons/elcl16/new_terminal_view.gif | Bin 0 -> 173 bytes .../ui/actions/NewTerminalViewAction.java | 47 ++++++++++++++++++ .../terminal/view/ui/activator/UIPlugin.java | 7 +++ .../view/ui/interfaces/ImageConsts.java | 15 ++++++ .../tm/terminal/view/ui/nls/Messages.java | 3 ++ .../terminal/view/ui/nls/Messages.properties | 3 ++ .../view/ui/tabs/TabFolderToolbarHandler.java | 29 +++++++++-- 9 files changed, 100 insertions(+), 4 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..008962684244e23e41eb580ae10bc6755ad685f5 GIT binary patch literal 934 zcmW+#O-NN?5WS&AhN!K}$`)l%yB7T{MiuC9{ zZ8un-Hy*v&R1p(#5r~9HiinD;n2M`FB~(&tNKMSdO<)oxX$4akb8#2AgiCr6Da0TS z0VE&^A+?5Bh=(8~LNbJ6nqn!Qf|N+f6e)4FB32YgQN)iP5zg=v_k zDVOGuxwtoRz?kF!ct7s zw8YJe*rGtjDfU=y2D30r;@r3*TkZz8a7#Ca$fY^tFu($qFvdz7gn1akA}qrgG>wtS z(~uTvnI_`2N@}l|Jt{&Mb=4B{GU`z#Tx!9R_mUzpX$ay78&z-*_aqaXk#R+~01tS= zd8rJMOLGX}5uV|^X2wbzgdsiBGhGA>n#M?kx@4q46sl#F)To$|3Nfgad5WQo(iTl{ zWiD9qC@B(?h9HixQ58S}63~D}t%yJb^6%#I@=Dvb$=`W4xpna5C)UuP?yhPdwP+Zq4T-puL2&iAzkFXw*V9v<#|+uvOOx1;y*>deEXu3i0?-pwx^99{f% z>fZCtldoe7J-N`mzJB%mo!`?v+s5A>8l4=u(bxI-WA#k4XK3H?*@?kti(ONFmuDyL qU!2)}_|?km@%i^_lXq@Ey*72^#oYt_ZTHlLW6k#F!>8Vz&FTN+NbnZ` literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif b/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif new file mode 100644 index 0000000000000000000000000000000000000000..25adc24b2a6e2f0afd73f174670b52ec640dbc6a GIT binary patch literal 175 zcmZ?wbhEHb6krfwXl7ve|NpSNQfx%cpC84 zF@S^9Eojy4pr@V776xjD-MC>iv)3s=L$ Date: Thu, 18 Jun 2015 16:55:33 -0400 Subject: [PATCH 746/843] Remove macosx/x86 target as it is no longer supported. Change-Id: If4d0d302ad7f12fa668a65dd395960f04551e885 Signed-off-by: Greg Watson --- admin/pom-config.xml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index f2b18494fa2..36275f69704 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -211,11 +211,6 @@ win32 x86_64 - - macosx - cocoa - x86 - macosx cocoa From 6683690349799835ffcfccb7dea7ee03ff866b44 Mon Sep 17 00:00:00 2001 From: "Q.S. Wang" Date: Tue, 23 Jun 2015 10:13:09 +1000 Subject: [PATCH 747/843] Bug 470757 - The console manager doesn't use the secondary id for opening the view Use the secondary id the caller passed in if it's not null or '*', otherwise use the auto generated secondary id. Change-Id: I25a884bcb6841cb5fc7e1e6f191800b99e42873a Signed-off-by: Q.S. Wang --- .../view/ui/manager/ConsoleManager.java | 24 +++++++++++++++---- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index 8239cee498d..4588fb3f816 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -237,7 +237,7 @@ public class ConsoleManager { for (int i = 0; i < refs.length; i++) { IViewReference ref = refs[i]; if (ref.getId().equals(id)) { - if (secondaryId == ANY_SECONDARY_ID + if (ANY_SECONDARY_ID.equals(secondaryId) || secondaryId == null && ref.getSecondaryId() == null || secondaryId != null && secondaryId.equals(ref.getSecondaryId())) { IViewPart part = ref.getView(true); @@ -362,12 +362,12 @@ public class ConsoleManager { return notPinnedPart; } // else we need to create a new one - IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); return newPart; } // we found a active terminal page // if it is pinned search for a non pinned (not active) - if (((ITerminalsView) activePart).isPinned() && secondaryId == ANY_SECONDARY_ID) { + if (((ITerminalsView) activePart).isPinned() && ANY_SECONDARY_ID.equals(secondaryId)) { // we found one so use it IViewPart notPinnedPart = getFirstNotPinnedTerminalsView(id != null ? id : IUIConstants.ID); if (notPinnedPart != null) { @@ -380,7 +380,7 @@ public class ConsoleManager { return notPinnedPart; } // else we need to create a new one - IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); return newPart; } // else return the active one @@ -388,13 +388,27 @@ public class ConsoleManager { } // create first new terminal if (activate) { - IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID)); + IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); return newPart; } } return null; } + /** + * Return the secondary id to use. + * @param secondaryId + * @param id + * @return the secondaryId argument is not null, or *, otherwise use the auto generated secondary id. + */ + private String getSecondaryId(String secondaryId, String id){ + if(secondaryId==null || ANY_SECONDARY_ID.equals(secondaryId)){ + return getNextTerminalSecondaryId(id != null ? id : IUIConstants.ID); + } + + return secondaryId; + } + /** * Opens the console with the given title and connector. *

                                        From 6684fa83641b432f2c05d7f1439feb44fa6b3331 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 24 Jun 2015 09:50:39 +0200 Subject: [PATCH 748/843] Bug 470854 - Making the getTabCommandFieldHandler method of TabFolderManager override-able --- .../terminal/view/ui/tabs/TabFolderManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index fcbd8e5cbc9..ffcd914144a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -685,12 +685,25 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid TabCommandFieldHandler handler = commandFieldHandler.get(item); if (handler == null) { - handler = new TabCommandFieldHandler(this, item); + handler = createTabCommandFieldHandler(this, item); + Assert.isNotNull(handler); commandFieldHandler.put(item, handler); } return handler; } + /** + * Create the command input field handler for the given tab item. + * + * @param tabFolderManager The parent tab folder manager. Must not be null + * @param item The associated tab item. Must not be null. + * + * @return The command input field handler. Must not be null. + */ + protected TabCommandFieldHandler createTabCommandFieldHandler(TabFolderManager tabFolderManager, CTabItem item) { + return new TabCommandFieldHandler(tabFolderManager, item); + } + /** * Dispose the command input field handler for the given tab item. * From f743d07e7e9e8bf303d07b0c3a4f5a75cadddc65 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 24 Jun 2015 13:52:12 +0200 Subject: [PATCH 749/843] Add missing @since tag --- .../org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index ffcd914144a..110bc26fd00 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -699,6 +699,8 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * @param item The associated tab item. Must not be null. * * @return The command input field handler. Must not be null. + * + * @since 4.1 */ protected TabCommandFieldHandler createTabCommandFieldHandler(TabFolderManager tabFolderManager, CTabItem item) { return new TabCommandFieldHandler(tabFolderManager, item); From f48e9c35f2256597c5805c2232a57806d843fcba Mon Sep 17 00:00:00 2001 From: Greg Watson Date: Thu, 18 Jun 2015 16:16:18 -0400 Subject: [PATCH 750/843] Bug 470525 - Handle remote connection parser initialization failure gracefully Change-Id: Ie6440b3c0310e15ebb404d5e0deff48eb9722635 Signed-off-by: Greg Watson --- .../internal/RemoteConnectionManager.java | 22 +++++++++---------- .../connector/remote/nls/Messages.java | 2 ++ .../connector/remote/nls/Messages.properties | 1 + 3 files changed, 14 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index f80db0ebe2b..0811508f426 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -77,45 +77,45 @@ public class RemoteConnectionManager extends Job { remoteConnection = connType.getConnection(connector.getRemoteSettings().getConnectionName()); } if (remoteConnection == null) { - throw new RemoteConnectionException( + return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), NLS.bind(Messages.RemoteConnectionManager_0, connector.getRemoteSettings().getConnectionName())); } if (!remoteConnection.isOpen()) { remoteConnection.open(monitor); if (!remoteConnection.isOpen()) { - throw new RemoteConnectionException( + return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), NLS.bind(Messages.RemoteConnectionManager_1, connector.getRemoteSettings().getConnectionName())); } } if (parser != null) { - synchronized (this) { - remoteProcess = parser.initialize(remoteConnection); - } - } else { + remoteProcess = parser.initialize(remoteConnection); + } + + if (remoteProcess == null) { /* * Check the terminal shell command preference. If the preference is empty and we support a command shell, * just use that. Otherwise use the preference value if it is set, or fall back to a default if not. */ IEclipsePreferences prefs = InstanceScope.INSTANCE.getNode(Activator.getUniqueIdentifier()); String terminalShellCommand = prefs.get(IRemoteTerminalConstants.PREF_TERMINAL_SHELL_COMMAND, ""); //$NON-NLS-1$ - if (!("".equals(terminalShellCommand)) //$NON-NLS-1$ + if ("".equals(terminalShellCommand) //$NON-NLS-1$ && remoteConnection.hasService(IRemoteCommandShellService.class)) { IRemoteCommandShellService cmdShellSvc = remoteConnection.getService(IRemoteCommandShellService.class); synchronized (this) { remoteProcess = cmdShellSvc.getCommandShell(IRemoteProcessBuilder.ALLOCATE_PTY); } - } else { + } else if (remoteConnection.hasService(IRemoteProcessService.class)) { if ("".equals(terminalShellCommand)) { //$NON-NLS-1$ terminalShellCommand = "/bin/bash -l"; //$NON-NLS-1$ } IRemoteProcessService procSvc = remoteConnection.getService(IRemoteProcessService.class); IRemoteProcessBuilder processBuilder = procSvc .getProcessBuilder(new ArgumentParser(terminalShellCommand).getTokenList()); - synchronized (this) { - remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); - } + remoteProcess = processBuilder.start(IRemoteProcessBuilder.ALLOCATE_PTY); + } else { + return new Status(IStatus.ERROR, Activator.getUniqueIdentifier(), Messages.RemoteConnectionManager_2); } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java index b544abe7400..2634243ce1b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java @@ -16,6 +16,8 @@ public class Messages extends NLS { public static String RemoteConnectionManager_1; + public static String RemoteConnectionManager_2; + public static String RemoteTerminalPreferencePage_0; public static String TERMINAL_EXCEPTION; diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties index 427a2ef1018..94584b504a3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties @@ -9,6 +9,7 @@ ############################################################################### RemoteConnectionManager_0=Unable to create connection: {0} RemoteConnectionManager_1=Unable to to open connection: {0} +RemoteConnectionManager_2=Connection type does not support the required services RemoteTerminalPreferencePage_0=Initial Shell Command TERMINAL_EXCEPTION=Remote Terminal Exception From e40082b64a9679ec9c00221d85f2bc069f7bfb6c Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 18 Jun 2015 09:47:24 +0200 Subject: [PATCH 751/843] Bug 470114 - Unable to connect using telnet: ArrayOutOfBoundsException Change-Id: I0089b5a0ad3d3bb894f5fd0aa0e280b700a3e22e Signed-off-by: Anton Leherbauer --- .../telnet/connector/TelnetConnection.java | 29 ++++++++++--------- .../telnet/connector/TelnetOption.java | 14 +++------ 2 files changed, 19 insertions(+), 24 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java index 93a24906275..fdc23785705 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java @@ -270,7 +270,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { height = newHeight; if (sizeChanged && remoteIsTelnetServer && localOptions[TELNET_OPTION_NAWS].isEnabled()) { - Integer[] sizeData = { new Integer(width), new Integer(height) }; + Integer[] sizeData = { Integer.valueOf(width), Integer.valueOf(height) }; localOptions[TELNET_OPTION_NAWS].sendSubnegotiation(sizeData); } @@ -418,6 +418,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { // TELNET protocol data. byte inputByte = rawBytes[byteIndex]; + int ubyte = inputByte & 0xFF; switch (telnetState) { case STATE_INITIAL: @@ -427,7 +428,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { // It's not an IAC code, so just append it to // processedBytes. - processedBytes[nextProcessedByte++] = rawBytes[byteIndex]; + processedBytes[nextProcessedByte++] = inputByte; } break; @@ -489,7 +490,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { default: // Unrecognized command! This should never happen. Logger.log("processTelnetProtocol: UNRECOGNIZED TELNET PROTOCOL COMMAND: " + //$NON-NLS-1$ - inputByte); + ubyte); telnetState = STATE_INITIAL; break; } @@ -500,36 +501,36 @@ public class TelnetConnection extends Thread implements TelnetCodes { // local options. case STATE_WILL_RECEIVED: - Logger.log("Received WILL " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - remoteOptions[inputByte].handleWill(); + Logger.log("Received WILL " + localOptions[ubyte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[ubyte].handleWill(); telnetState = STATE_INITIAL; telnetServerDetected(); break; case STATE_WONT_RECEIVED: - Logger.log("Received WONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - remoteOptions[inputByte].handleWont(); + Logger.log("Received WONT " + localOptions[ubyte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + remoteOptions[ubyte].handleWont(); telnetState = STATE_INITIAL; telnetServerDetected(); break; case STATE_DO_RECEIVED: - Logger.log("Received DO " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - localOptions[inputByte].handleDo(); + Logger.log("Received DO " + localOptions[ubyte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[ubyte].handleDo(); telnetState = STATE_INITIAL; telnetServerDetected(); break; case STATE_DONT_RECEIVED: - Logger.log("Received DONT " + localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ - localOptions[inputByte].handleDont(); + Logger.log("Received DONT " + localOptions[ubyte].optionName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ + localOptions[ubyte].handleDont(); telnetState = STATE_INITIAL; telnetServerDetected(); break; case STATE_SUBNEGOTIATION_STARTED: Logger.log("Starting subnegotiation for option " + //$NON-NLS-1$ - localOptions[inputByte].optionName() + "."); //$NON-NLS-1$ + localOptions[ubyte].optionName() + "."); //$NON-NLS-1$ // First, zero out the array of received subnegotiation butes. @@ -608,7 +609,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { receivedSubnegotiation[nextSubnegotiationByteIndex - 1] = 0; - int subnegotiatedOption = receivedSubnegotiation[0]; + int subnegotiatedOption = receivedSubnegotiation[0] & 0xFF; localOptions[subnegotiatedOption].handleSubnegotiation(receivedSubnegotiation, nextSubnegotiationByteIndex); @@ -636,7 +637,7 @@ public class TelnetConnection extends Thread implements TelnetCodes { Logger.log("SUBNEGOTIATION BUFFER FULL!"); //$NON-NLS-1$ ignoreSubnegotiation = true; } else { - Logger.log("Recording subnegotiation byte " + (inputByte & 0xff)); //$NON-NLS-1$ + Logger.log("Recording subnegotiation byte " + ubyte); //$NON-NLS-1$ receivedSubnegotiation[nextSubnegotiationByteIndex++] = inputByte; } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java index c1d781f580a..9aae825a40b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java @@ -262,7 +262,7 @@ class TelnetOption implements TelnetCodes * parameter option. */ public String optionName() { - return optionNames[option]; + return optionNames[option & 0xFF]; } /** @@ -524,7 +524,7 @@ class TelnetOption implements TelnetCodes break; } - // Tell the remote endpoint our terminal type is "ansi" using this sequence + // Tell the remote endpoint our terminal type is "xterm" using this sequence // of TELNET protocol bytes: // // IAC SB TERMINAL-TYPE IS x t e r m IAC SE @@ -565,7 +565,7 @@ class TelnetOption implements TelnetCodes // IAC SB NAWS // IAC SE - byte[] NAWSData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_NAWS, 0, + final byte[] NAWSData = { TELNET_IAC, TELNET_SB, TELNET_OPTION_NAWS, 0, 0, 0, 0, TELNET_IAC, TELNET_SE }; int width = ((Integer) subnegotiationData[0]).intValue(); int height = ((Integer) subnegotiationData[1]).intValue(); @@ -579,12 +579,6 @@ class TelnetOption implements TelnetCodes .log("sending terminal size to remote endpoint: width = " + width + //$NON-NLS-1$ ", height = " + height + "."); //$NON-NLS-1$ //$NON-NLS-2$ - // This final local variable is a hack to get around the fact that inner - // classes cannot reference a non-final local variable in a lexically - // enclosing scope. - - final byte[] NAWSDataFinal = NAWSData; - // Send the NAWS data in a new thread. The current thread is the display // thread, and calls to write() can block, but blocking the display thread // is _bad_ (it hangs the GUI). @@ -593,7 +587,7 @@ class TelnetOption implements TelnetCodes @Override public void run() { try { - outputStream.write(NAWSDataFinal); + outputStream.write(NAWSData); } catch (IOException ex) { Logger.log("IOException sending NAWS subnegotiation!"); //$NON-NLS-1$ Logger.logException(ex); From dd006914b523f5f96ab0e09562b375a287837b79 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 15 Jul 2015 16:41:45 +0200 Subject: [PATCH 752/843] Fix duplicate encodings UTF-8 and UTF8 --- .../AbstractExtendedConfigurationPanel.java | 39 ++++++++++++++----- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java index 656aa77331f..54b84aa554e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java @@ -15,10 +15,12 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.HashMap; +import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.Platform; @@ -520,25 +522,19 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu if (encodingCombo != null) { List encodings = new ArrayList(); - // Some hard-coded encodings + // Default encoding encodings.add("Default (ISO-8859-1)"); //$NON-NLS-1$ - encodings.add("UTF-8"); //$NON-NLS-1$ // The currently selected IDE encoding from the preferences String ideEncoding = getResourceEncoding(); - if (ideEncoding != null && !encodings.contains(ideEncoding)) encodings.add(ideEncoding); // The default Eclipse Workbench encoding (configured in the preferences) String eclipseEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding(); - if (eclipseEncoding != null && !encodings.contains(eclipseEncoding)) encodings.add(eclipseEncoding); // The default host (Java VM) encoding - // - // Note: We do not use Charset.defaultCharset().displayName() here as it returns the bit - // unusual name "windows-1252" on Windows. As there is no access to the "historical" - // name "Cp1252" stored in MS1252.class, stick to the older way of retrieving an encoding. - String hostEncoding = new java.io.InputStreamReader(new java.io.ByteArrayInputStream(new byte[0])).getEncoding(); - if (!encodings.contains(hostEncoding)) encodings.add(hostEncoding); + String hostEncoding = Charset.defaultCharset().name(); + + addEncodings(encodings, "UTF-8", ideEncoding, eclipseEncoding, hostEncoding); //$NON-NLS-1$ // The "Other..." encoding encodings.add(Messages.AbstractConfigurationPanel_encoding_custom); @@ -550,6 +546,29 @@ public abstract class AbstractExtendedConfigurationPanel extends AbstractConfigu } } + /** + * Add given encoding names to the list. Duplicates are filtered out by comparing aliases. + */ + private void addEncodings(List encodings, String... toadd) { + Set aliases = new HashSet(); + for (String name : toadd) { + if (name == null) + continue; + try { + Charset cs = Charset.forName(name); + if (aliases.containsAll(cs.aliases())) + continue; + if (aliases.contains(name.toLowerCase())) + continue; + aliases.addAll(cs.aliases()); + aliases.add(name.toLowerCase()); + encodings.add(name); + } catch (Exception e) { + // skip + } + } + } + /** * Get the current value of the encoding preference. If the value is not set * return null. From 7c218d95fb07cd2d9ac8100e58d6ae306d1d541e Mon Sep 17 00:00:00 2001 From: Max Weninger Date: Wed, 5 Aug 2015 16:33:44 +0200 Subject: [PATCH 753/843] The "copy" menu item of the "Terminal" view isn't available if the text is selected via "Select All" from the context menu Signed-off-by: Max Weninger --- .../META-INF/MANIFEST.MF | 2 +- .../terminal/control/ITerminalListener.java | 9 +++++++++ .../terminal/emulator/VT100TerminalControl.java | 4 +++- .../internal/terminal/textcanvas/TextCanvas.java | 5 +++++ .../terminal/view/ui/tabs/TabFolderManager.java | 16 ++++++++++++++++ .../view/ui/tabs/TabTerminalListener.java | 5 +++++ 6 files changed, 39 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF index 5cadce5e1f4..c365978ebfd 100644 --- a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.control; singleton:=true -Bundle-Version: 4.0.0.qualifier +Bundle-Version: 4.1.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java index 9bbfcd73af9..00b55f357d4 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java @@ -30,4 +30,13 @@ public interface ITerminalListener { * @param title */ void setTerminalTitle(String title); + + /** + * selection has been changed internally e.g. select all + * clients might want to react on that + * NOTE: this does not include mouse selections + * those are handled in separate MouseListeners + * TODO should be unified + */ + void setTerminalSelectionChanged(); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 74fefb04c14..eee84a4438d 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -305,6 +305,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC */ public void selectAll() { getCtlText().selectAll(); + fTerminalListener.setTerminalSelectionChanged(); } /* (non-Javadoc) @@ -330,8 +331,9 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC */ public void clearTerminal() { // The TerminalText object does all text manipulation. - getTerminalText().clearTerminal(); + getCtlText().clearSelection(); + fTerminalListener.setTerminalSelectionChanged(); } /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 6bd51f2bd25..ad36911627e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -343,6 +343,11 @@ public class TextCanvas extends GridCanvas { fCellCanvasModel.setSelection(0, fCellCanvasModel.getTerminalText().getHeight(), 0, fCellCanvasModel.getTerminalText().getWidth()); fCellCanvasModel.setSelectionAnchor(new Point(0,0)); } + + public void clearSelection() { + fCellCanvasModel.setSelection(-1,-1,-1,-1); + } + public boolean isEmpty() { return false; } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index 110bc26fd00..c489a9b9cc2 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -769,6 +769,22 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid fireSelectionChanged(getSelection()); } + /** + * Fire the selection changed event with the terminal text! + * to the registered listeners. + * see also TerminalControlSelectionListener- mouseUp + */ + protected void fireTerminalSelectionChanged() { + updateStatusLine(); + CTabItem item = getActiveTabItem(); + if (item != null && !item.isDisposed()) { + ITerminalViewControl terminal = (ITerminalViewControl)item.getData(); + if (terminal != null && !terminal.isDisposed()) { + fireSelectionChanged(new StructuredSelection(terminal.getSelection())); + } + } + } + /** * Fire the selection changed event to the registered listeners. */ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java index 7c67100fb77..96d93834c9d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java @@ -149,4 +149,9 @@ public class TabTerminalListener implements ITerminalListener { @Override public void setTerminalTitle(String title) { } + + @Override + public void setTerminalSelectionChanged() { + tabFolderManager.fireTerminalSelectionChanged(); + } } From 59bc7aaf9cfd78c245ccf33b23c7b8f52a9aa4d0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 5 Aug 2015 17:06:16 +0200 Subject: [PATCH 754/843] Fix pom.xml version --- plugins/org.eclipse.tm.terminal.control/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/plugins/org.eclipse.tm.terminal.control/pom.xml index 1f91c16832a..3b98df4dd42 100644 --- a/plugins/org.eclipse.tm.terminal.control/pom.xml +++ b/plugins/org.eclipse.tm.terminal.control/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.control eclipse-plugin From 51f92ed89598ba2bdeb22a645411af9d64906db6 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 5 Aug 2015 17:17:16 +0200 Subject: [PATCH 755/843] Add @since tags to newly added API --- .../tm/internal/terminal/control/ITerminalListener.java | 2 ++ .../eclipse/tm/internal/terminal/textcanvas/TextCanvas.java | 3 +++ .../org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java | 2 ++ 3 files changed, 7 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java index 00b55f357d4..aee8f6f06bd 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java @@ -37,6 +37,8 @@ public interface ITerminalListener { * NOTE: this does not include mouse selections * those are handled in separate MouseListeners * TODO should be unified + * + * @since 4.1 */ void setTerminalSelectionChanged(); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index ad36911627e..9854d88c809 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -344,6 +344,9 @@ public class TextCanvas extends GridCanvas { fCellCanvasModel.setSelectionAnchor(new Point(0,0)); } + /** + * @since 4.1 + */ public void clearSelection() { fCellCanvasModel.setSelection(-1,-1,-1,-1); } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index c489a9b9cc2..28f63760730 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -773,6 +773,8 @@ public class TabFolderManager extends PlatformObject implements ISelectionProvid * Fire the selection changed event with the terminal text! * to the registered listeners. * see also TerminalControlSelectionListener- mouseUp + * + * @since 4.1 */ protected void fireTerminalSelectionChanged() { updateStatusLine(); From f5df46b150acb80e82aba8142cf87439283341b0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 10 Aug 2015 15:07:35 +0200 Subject: [PATCH 756/843] Replace "Pin&Clone" by the simpler "Open New Terminals View" action The "Pin&Clone" concept is percieved complicated by the user. It is replaced by a more simpler concept where the user has an action to open a new "Terminals" view on demand. A new console is always opened in the last active "Terminals" view. --- .../ui/actions/NewTerminalViewAction.java | 8 +- .../view/ui/actions/PinTerminalAction.java | 48 ---- .../terminal/view/ui/activator/UIPlugin.java | 7 - .../view/ui/interfaces/ITerminalsView.java | 15 -- .../view/ui/interfaces/ImageConsts.java | 15 -- .../view/ui/manager/ConsoleManager.java | 223 +++++++++--------- .../tm/terminal/view/ui/nls/Messages.java | 3 - .../terminal/view/ui/nls/Messages.properties | 3 - .../view/ui/tabs/TabFolderToolbarHandler.java | 29 +-- .../terminal/view/ui/view/TerminalsView.java | 18 -- .../ui/view/TerminalsViewMementoHandler.java | 48 +--- 11 files changed, 116 insertions(+), 301 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java index 9f4ba462e2b..9a9c731244f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java @@ -13,7 +13,9 @@ import org.eclipse.jface.action.IAction; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; +import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; import org.eclipse.tm.terminal.view.ui.nls.Messages; /** @@ -21,7 +23,7 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; */ public class NewTerminalViewAction extends AbstractTerminalAction { - private ITerminalsView view = null; + //private ITerminalsView view = null; /** * Constructor. @@ -29,7 +31,7 @@ public class NewTerminalViewAction extends AbstractTerminalAction { public NewTerminalViewAction(ITerminalsView view) { super(null, NewTerminalViewAction.class.getName(), IAction.AS_PUSH_BUTTON); - this.view = view; + //this.view = view; setupAction(Messages.NewTerminalViewAction_menu, Messages.NewTerminalViewAction_tooltip, UIPlugin.getImageDescriptor(ImageConsts.ACTION_NewTerminalView_Hover), UIPlugin.getImageDescriptor(ImageConsts.ACTION_NewTerminalView_Enabled), @@ -42,6 +44,8 @@ public class NewTerminalViewAction extends AbstractTerminalAction { */ @Override public void run() { + String secondaryId = ConsoleManager.getInstance().getNextTerminalSecondaryId(IUIConstants.ID); + ConsoleManager.getInstance().showConsoleView(IUIConstants.ID, secondaryId); } } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java deleted file mode 100644 index 0d57b7db0ca..00000000000 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/PinTerminalAction.java +++ /dev/null @@ -1,48 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.actions; - -import org.eclipse.jface.action.IAction; -import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; -import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; -import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; -import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; -import org.eclipse.tm.terminal.view.ui.nls.Messages; - -/** - * Pins the currently visible terminal view. - */ -public class PinTerminalAction extends AbstractTerminalAction { - - private ITerminalsView view = null; - - /** - * Constructor. - */ - public PinTerminalAction(ITerminalsView view) { - super(null, PinTerminalAction.class.getName(), IAction.AS_CHECK_BOX); - - this.view = view; - setupAction(Messages.PinTerminalAction_menu, Messages.PinTerminalAction_toolTip, - UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Hover), - UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Enabled), - UIPlugin.getImageDescriptor(ImageConsts.ACTION_PinTerminal_Disabled), true); - setChecked(view.isPinned()); - setEnabled(true); - } - - /* (non-Javadoc) - * @see org.eclipse.jface.action.IAction#run() - */ - @Override - public void run() { - view.setPinned(isChecked()); - } -} diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java index dd2368fc6d4..793431af415 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java @@ -223,13 +223,6 @@ public class UIPlugin extends AbstractUIPlugin { registry.put(ImageConsts.ACTION_ScrollLock_Enabled, ImageDescriptor.createFromURL(url)); url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_DLCL + "lock_co.gif"); //$NON-NLS-1$ //$NON-NLS-2$ registry.put(ImageConsts.ACTION_ScrollLock_Disabled, ImageDescriptor.createFromURL(url)); - - url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_CLCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ - registry.put(ImageConsts.ACTION_PinTerminal_Hover, ImageDescriptor.createFromURL(url)); - url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_ELCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ - registry.put(ImageConsts.ACTION_PinTerminal_Enabled, ImageDescriptor.createFromURL(url)); - url = bundle.getEntry(ImageConsts.IMAGE_DIR_ROOT + "full/" + ImageConsts.IMAGE_DIR_DLCL + "pin.gif"); //$NON-NLS-1$ //$NON-NLS-2$ - registry.put(ImageConsts.ACTION_PinTerminal_Disabled, ImageDescriptor.createFromURL(url)); } bundle = getBundle(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java index ae5a558585b..6c2b36fa9a4 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java @@ -34,19 +34,4 @@ public interface ITerminalsView extends IViewPart { * @return The context help id or null if none is associated. */ public String getContextHelpId(); - - /** - * Set the state of the view to be pinned, which means a new terminal tab will be created - * in a new view instance. - * - * @param pin True to set the view state to pinned, false otherwise. - */ - public void setPinned(boolean pin); - - /** - * Return the pin state of the terminal view - * - * @return True if the view instance is pinned, false if not. - */ - public boolean isPinned(); } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java index 9d5265d587e..b3d3d0cdb31 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java @@ -64,21 +64,6 @@ public interface ImageConsts { */ public static final String ACTION_ScrollLock_Hover = "ScrollLockAction_hover"; //$NON-NLS-1$ - /** - * The key to access the pin terminal action image (enabled). - */ - public static final String ACTION_PinTerminal_Enabled = "PinTerminalAction_enabled"; //$NON-NLS-1$ - - /** - * The key to access the pin terminal action image (disabled). - */ - public static final String ACTION_PinTerminal_Disabled = "PinTerminalAction_disabled"; //$NON-NLS-1$ - - /** - * The key to access the pin terminal action image (hover). - */ - public static final String ACTION_PinTerminal_Hover = "PinTerminalAction_hover"; //$NON-NLS-1$ - /** * The key to access the new terminal view action image (enabled). */ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index 4588fb3f816..f9fbcf39474 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -32,12 +32,16 @@ import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; import org.eclipse.tm.terminal.view.ui.view.TerminalsView; +import org.eclipse.ui.IPartListener2; +import org.eclipse.ui.IPartService; import org.eclipse.ui.IPerspectiveDescriptor; import org.eclipse.ui.IPerspectiveListener; import org.eclipse.ui.IViewPart; import org.eclipse.ui.IViewReference; import org.eclipse.ui.IViewSite; import org.eclipse.ui.IWorkbenchPage; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.IWorkbenchPartReference; import org.eclipse.ui.PartInitException; import org.eclipse.ui.PerspectiveAdapter; import org.eclipse.ui.PlatformUI; @@ -95,6 +99,55 @@ public class ConsoleManager { } } + // Reference to the part listener instance + private final IPartListener2 partListener; + + // The ids of the last activated terminals view + /* default */ String lastActiveViewId = null; + /* default */ String lastActiveSecondaryViewId = null; + + // Internal part listener implementation + class ConsoleManagerPartListener implements IPartListener2 { + + @Override + public void partActivated(IWorkbenchPartReference partRef) { + IWorkbenchPart part = partRef.getPart(false); + if (part instanceof ITerminalsView) { + lastActiveViewId = ((ITerminalsView)part).getViewSite().getId(); + lastActiveSecondaryViewId = ((ITerminalsView)part).getViewSite().getSecondaryId(); + //System.out.println("Terminals view activated: id = " + lastActiveViewId + ", secondary id = " + lastActiveSecondaryViewId); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + + @Override + public void partBroughtToTop(IWorkbenchPartReference partRef) { + } + + @Override + public void partClosed(IWorkbenchPartReference partRef) { + } + + @Override + public void partDeactivated(IWorkbenchPartReference partRef) { + } + + @Override + public void partOpened(IWorkbenchPartReference partRef) { + } + + @Override + public void partHidden(IWorkbenchPartReference partRef) { + } + + @Override + public void partVisible(IWorkbenchPartReference partRef) { + } + + @Override + public void partInputChanged(IWorkbenchPartReference partRef) { + } + } + /* * Thread save singleton instance creation. */ @@ -115,10 +168,14 @@ public class ConsoleManager { ConsoleManager() { super(); - // Attach the perspective listener perspectiveListener = new ConsoleManagerPerspectiveListener(); + partListener = new ConsoleManagerPartListener(); + if (PlatformUI.isWorkbenchRunning() && PlatformUI.getWorkbench() != null && PlatformUI.getWorkbench().getActiveWorkbenchWindow() != null) { PlatformUI.getWorkbench().getActiveWorkbenchWindow().addPerspectiveListener(perspectiveListener); + + IPartService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService(); + service.addPartListener(partListener); } } @@ -154,7 +211,7 @@ public class ConsoleManager { IWorkbenchPage page = getActiveWorkbenchPage(); if (page != null) { // Look for the view - IViewPart part = getTerminalsViewWithSecondaryId(id != null ? id : IUIConstants.ID, secondaryId); + IViewPart part = getTerminalsViewWithSecondaryId(id != null ? id : IUIConstants.ID, secondaryId, true); // Check the interface if (part instanceof ITerminalsView) { view = (ITerminalsView)part; @@ -169,66 +226,11 @@ public class ConsoleManager { * * @param id The terminals console view id. Must not be null. * @param secondaryId The terminals console view secondary id or null. + * @param restore True if to try to restore the view, false otherwise. * * @return The terminals console view instance or null if not found. */ - private IViewPart getTerminalsViewWithSecondaryId(String id, String secondaryId) { - Assert.isNotNull(id); - - IWorkbenchPage page = getActiveWorkbenchPage(); - - IViewReference[] refs = page.getViewReferences(); - for (int i = 0; i < refs.length; i++) { - IViewReference ref = refs[i]; - if (ref.getId().equals(id)) { - IViewPart part = ref.getView(true); - if (part instanceof ITerminalsView) { - String secId = ((IViewSite) part.getSite()).getSecondaryId(); - if (secId != null && secId.equals(secondaryId) || secId == null && secondaryId == null) { - return part; - } - } - } - } - return null; - } - - /** - * Search and return a terminal view that is NOT pinned - * - * @param id The terminals console view id. Must not be null. - * @return The terminals console view instance or null if not found. - */ - private IViewPart getFirstNotPinnedTerminalsView(String id) { - Assert.isNotNull(id); - - IWorkbenchPage page = getActiveWorkbenchPage(); - - IViewReference[] refs = page.getViewReferences(); - for (int i = 0; i < refs.length; i++) { - IViewReference ref = refs[i]; - if (ref.getId().equals(id)) { - IViewPart part = ref.getView(true); - if (part instanceof ITerminalsView) { - if (!((ITerminalsView) part).isPinned()) { - return part; - } - } - } - } - return null; - } - - /** - * Search and return the first available terminal view. - * - * @param id The terminals console view id. Must not be null. - * @param secondaryId The terminals console view secondary id or null. - * @param useActive - return only an active terminal view. - * - * @return The terminals console view instance or null if not found. - */ - private IViewPart getFirstTerminalsView(String id, String secondaryId, boolean useActive) { + private IViewPart getTerminalsViewWithSecondaryId(String id, String secondaryId, boolean restore) { Assert.isNotNull(id); IWorkbenchPage page = getActiveWorkbenchPage(); @@ -238,30 +240,51 @@ public class ConsoleManager { IViewReference ref = refs[i]; if (ref.getId().equals(id)) { if (ANY_SECONDARY_ID.equals(secondaryId) - || secondaryId == null && ref.getSecondaryId() == null - || secondaryId != null && secondaryId.equals(ref.getSecondaryId())) { - IViewPart part = ref.getView(true); - if (useActive) { - if (page.isPartVisible(part)) { - return part; - } - } - else { - return part; - } + || secondaryId == null && ref.getSecondaryId() == null + || secondaryId != null && secondaryId.equals(ref.getSecondaryId())) { + return ref.getView(restore); } } } return null; } + /** + * Search and return the active terminals view. + * + * @param id The terminals console view id. Must not be null. + * @param secondaryId The terminals console view secondary id or null. + * @return The terminals console view instance or null if not found. + */ + private IViewPart getActiveTerminalsView(String id, String secondaryId) { + Assert.isNotNull(id); + + IViewPart part = null; + + if (id.equals(lastActiveViewId)) { + if (secondaryId == null || ANY_SECONDARY_ID.equals(secondaryId) || secondaryId.equals(lastActiveSecondaryViewId)) { + part = getTerminalsViewWithSecondaryId(lastActiveViewId, lastActiveSecondaryViewId, false); + } + } + + if (part == null) { + part = getTerminalsViewWithSecondaryId(id, secondaryId, true); + if (part != null) { + lastActiveViewId = part.getViewSite().getId(); + lastActiveSecondaryViewId = part.getViewSite().getSecondaryId(); + } + } + + return part; + } + /** * Return a new secondary id to use, based on the number of open terminal views. * * @param id The terminals console view id. Must not be null. * @return The next secondary id, or null if it is the first one */ - private String getNextTerminalSecondaryId(String id) { + public String getNextTerminalSecondaryId(String id) { Assert.isNotNull(id); IWorkbenchPage page = getActiveWorkbenchPage(); @@ -318,7 +341,8 @@ public class ConsoleManager { if (page != null) { try { // show the view - IViewPart part = page.showView(id != null ? id : IUIConstants.ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE); + IViewPart part = getActiveTerminalsView(id != null ? id : IUIConstants.ID, secondaryId); + if (part == null) part = page.showView(id != null ? id : IUIConstants.ID, secondaryId, IWorkbenchPage.VIEW_ACTIVATE); // and force the view to the foreground page.bringToTop(part); return part; @@ -342,55 +366,18 @@ public class ConsoleManager { // Get the active workbench page IWorkbenchPage page = getActiveWorkbenchPage(); if (page != null) { - // Look for any terminal view - IViewPart anyTerminal = getFirstTerminalsView(id != null ? id : IUIConstants.ID, secondaryId, false); - // there is at least one terminal available - if (anyTerminal != null) { - // is there an active terminal view - IViewPart activePart = getFirstTerminalsView(id != null ? id : IUIConstants.ID, secondaryId, true); - // no terminal view active - if (activePart == null) { - // use the first not pinned - IViewPart notPinnedPart = getFirstNotPinnedTerminalsView(id != null ? id : IUIConstants.ID); - if (notPinnedPart != null) { - if (activate) { - page.activate(notPinnedPart); - } - else { - page.bringToTop(notPinnedPart); - } - return notPinnedPart; - } - // else we need to create a new one - IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); - return newPart; - } - // we found a active terminal page - // if it is pinned search for a non pinned (not active) - if (((ITerminalsView) activePart).isPinned() && ANY_SECONDARY_ID.equals(secondaryId)) { - // we found one so use it - IViewPart notPinnedPart = getFirstNotPinnedTerminalsView(id != null ? id : IUIConstants.ID); - if (notPinnedPart != null) { - if (activate) { - page.activate(notPinnedPart); - } - else { - page.bringToTop(notPinnedPart); - } - return notPinnedPart; - } - // else we need to create a new one - IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); - return newPart; - } - // else return the active one - return activePart; - } - // create first new terminal - if (activate) { + // get (last) active terminal view + IViewPart activePart = getActiveTerminalsView(id != null ? id : IUIConstants.ID, secondaryId); + if (activePart == null) { + // Create a new one IViewPart newPart = showConsoleView(id != null ? id : IUIConstants.ID, getSecondaryId(secondaryId, id)); return newPart; } + + if (activate) page.activate(activePart); + else page.bringToTop(activePart); + + return activePart; } return null; } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java index 5e0c6c2585a..393c6d2f268 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java @@ -70,9 +70,6 @@ public class Messages extends NLS { public static String TabTerminalListener_consoleClosed; public static String TabTerminalListener_consoleConnecting; - public static String PinTerminalAction_menu; - public static String PinTerminalAction_toolTip; - public static String NewTerminalViewAction_menu; public static String NewTerminalViewAction_tooltip; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties index 1060c0dc0b7..ba6f0e917c6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties @@ -28,9 +28,6 @@ AbstractConfigurationPanel_encoding_custom_error=Unsupported encoding. Please en TabTerminalListener_consoleClosed=<{1}> {0} TabTerminalListener_consoleConnecting={0} : {1}... -PinTerminalAction_menu=Pin -PinTerminalAction_toolTip=Pin the Terminal View - NewTerminalViewAction_menu=New Terminal View NewTerminalViewAction_tooltip=Opens a new Terminal View diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index c4a5872116d..7c55befd7da 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -30,7 +30,6 @@ import org.eclipse.tm.internal.terminal.control.actions.TerminalActionPaste; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.view.ui.actions.AbstractAction; import org.eclipse.tm.terminal.view.ui.actions.NewTerminalViewAction; -import org.eclipse.tm.terminal.view.ui.actions.PinTerminalAction; import org.eclipse.tm.terminal.view.ui.actions.TabScrollLockAction; import org.eclipse.tm.terminal.view.ui.actions.ToggleCommandFieldAction; import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; @@ -275,8 +274,8 @@ public class TabFolderToolbarHandler extends PlatformObject { } }); - // Create and add the pin view action - add (new PinTerminalAction(getParentView()) { + // Create and add the new terminal view action + add (new NewTerminalViewAction(getParentView()) { /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() */ @@ -285,17 +284,6 @@ public class TabFolderToolbarHandler extends PlatformObject { return getActiveTerminalViewControl(); } }); - - // Create and add the new terminal view action -// add (new NewTerminalViewAction(getParentView()) { -// /* (non-Javadoc) -// * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#getTarget() -// */ -// @Override -// protected ITerminalViewControl getTarget() { -// return getActiveTerminalViewControl(); -// } -// }); } /** @@ -313,7 +301,6 @@ public class TabFolderToolbarHandler extends PlatformObject { manager.add(new Separator("anchor")); //$NON-NLS-1$ // we want that at the end - PinTerminalAction pinAction = null; NewTerminalViewAction newTerminalAction = null; // Loop all actions and add them to the menu manager @@ -323,11 +310,6 @@ public class TabFolderToolbarHandler extends PlatformObject { || (action instanceof AbstractAction && ((AbstractAction)action).isSeparator())) { manager.insertAfter("anchor", new Separator()); //$NON-NLS-1$ } - // skip pin action for now - if (action instanceof PinTerminalAction){ - pinAction=(PinTerminalAction)action; - continue; - } // skip new terminal view action for now if (action instanceof NewTerminalViewAction){ newTerminalAction = (NewTerminalViewAction)action; @@ -336,10 +318,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // Add the action itself manager.insertAfter("anchor", action); //$NON-NLS-1$ } - // now add pin at the end - if (pinAction != null){ - manager.add(pinAction); - } + // now add to the end if (newTerminalAction != null){ manager.add(newTerminalAction); } @@ -358,7 +337,7 @@ public class TabFolderToolbarHandler extends PlatformObject { // If the terminal control is not available, the updateAction // method of certain actions enable the action (bugzilla #260372). // Workaround by forcing the action to get disabled with setEnabled. - if (control == null && !(action instanceof PinTerminalAction) && !(action instanceof NewTerminalViewAction)) { + if (control == null && !(action instanceof NewTerminalViewAction)) { action.setEnabled(false); } else { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index b8ab57a43d9..a41e7a38608 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -86,8 +86,6 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa private TabFolderToolbarHandler tabFolderToolbarHandler; // Reference to the empty page control (to be show if no console is open) private Control emptyPageControl; - // Whether this terminal is pinned. - private boolean pinned = false; // The view's memento handler private final TerminalsViewMementoHandler mementoHandler = new TerminalsViewMementoHandler(); @@ -629,22 +627,6 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa return super.getAdapter(adapter); } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#setPinned(boolean) - */ - @Override - public void setPinned(boolean pin) { - this.pinned = pin; - } - - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView#isPinned() - */ - @Override - public boolean isPinned() { - return pinned; - } - /* (non-Javadoc) * @see org.eclipse.ui.part.ViewPart#saveState(org.eclipse.ui.IMemento) */ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java index 06699a52d23..9826c31036a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java @@ -13,19 +13,14 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.concurrent.atomic.AtomicBoolean; import org.eclipse.core.runtime.Assert; -import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.custom.CTabItem; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; -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.actions.PinTerminalAction; import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler; import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; -import org.eclipse.tm.terminal.view.ui.tabs.TabFolderToolbarHandler; import org.eclipse.ui.IMemento; import org.eclipse.ui.PlatformUI; @@ -68,9 +63,6 @@ public class TerminalsViewMementoHandler { memento.putString("id", view.getViewSite().getId()); //$NON-NLS-1$ memento.putString("secondaryId", view.getViewSite().getSecondaryId()); //$NON-NLS-1$ - // Save the pinned state - memento.putBoolean("pinned", view.isPinned()); //$NON-NLS-1$ - // Loop the saveable items and store the connection data of each // item to the memento for (CTabItem item : saveables) { @@ -133,31 +125,6 @@ public class TerminalsViewMementoHandler { String secondaryId = memento.getString("secondaryId"); //$NON-NLS-1$ if ("null".equals(secondaryId)) secondaryId = null; //$NON-NLS-1$ - final IMemento finMemento = memento; - // Restore the pinned state of the after all connections completed - final Runnable runnable = new Runnable() { - @Override - public void run() { - if (finMemento.getBoolean("pinned") != null) { //$NON-NLS-1$ - asyncExec(new Runnable() { - @Override - public void run() { - view.setPinned(finMemento.getBoolean("pinned").booleanValue()); //$NON-NLS-1$ - - TabFolderToolbarHandler toolbarHandler = (TabFolderToolbarHandler)view.getAdapter(TabFolderToolbarHandler.class); - if (toolbarHandler != null) { - PinTerminalAction action = (PinTerminalAction)toolbarHandler.getAdapter(PinTerminalAction.class); - if (action != null) action.setChecked(view.isPinned()); - } - } - }); - } - } - }; - - final AtomicBoolean allProcessed = new AtomicBoolean(false); - final List callbacks = new ArrayList(); - // Get all the "connection" memento's. IMemento[] connections = memento.getChildren("connection"); //$NON-NLS-1$ for (IMemento connection : connections) { @@ -191,22 +158,9 @@ public class TerminalsViewMementoHandler { // Restore the terminal connection if (delegate != null && !properties.isEmpty()) { - ITerminalService.Done done = new ITerminalService.Done() { - @Override - public void done(IStatus status) { - callbacks.remove(this); - if (allProcessed.get() && callbacks.isEmpty()) { - asyncExec(runnable); - } - } - }; - callbacks.add(done); - delegate.execute(properties, done); + delegate.execute(properties, null); } } - - allProcessed.set(true); - if (callbacks.isEmpty()) asyncExec(runnable); } } From b10b8f5d0a614a51ce0b21d5d9c011b8dcc48a23 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 09:14:33 +0200 Subject: [PATCH 757/843] Releng: Update Eclipse Mars target platform definition to use release versions --- admin/target-defs/eclipse-4.5.x-mars.target | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index d070cf66b4d..c2b944f939f 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -1,5 +1,5 @@ - + @@ -10,21 +10,19 @@ - - - - - - - - - - + + + + + + + + From fdfbb5ff76df69811a9728c85b81c6ee9bb20b52 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 09:34:03 +0200 Subject: [PATCH 758/843] Releng: Add missing dependencies to Eclipse Mars target platform definition --- admin/target-defs/eclipse-4.5.x-mars.target | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index c2b944f939f..d30c17a8e50 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -1,5 +1,5 @@ - + @@ -14,15 +14,16 @@ - - - - - - + + + + + + + From 8d4250bac65eea74e4896b0c3c87a1391b42806d Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 11:01:52 +0200 Subject: [PATCH 759/843] Bug 460277: Show In > Terminals fails in the "Git Repositories" Perspective --- .../META-INF/MANIFEST.MF | 4 +- .../terminal/view/ui/view/TerminalsView.java | 75 +++++++++++++++- .../view/showin/GitShowInContextHandler.java | 85 +++++++++++++++++++ 3 files changed, 160 insertions(+), 4 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index a916af47dca..cee61b0212c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -8,6 +8,7 @@ Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.egit.ui;bundle-version="4.0.0";resolution:=optional, org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" @@ -31,4 +32,5 @@ Export-Package: org.eclipse.tm.terminal.view.ui.actions, org.eclipse.tm.terminal.view.ui.services, org.eclipse.tm.terminal.view.ui.streams, org.eclipse.tm.terminal.view.ui.tabs, - org.eclipse.tm.terminal.view.ui.view + org.eclipse.tm.terminal.view.ui.view, + org.eclipse.tm.terminal.view.ui.view.showin diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java index a41e7a38608..9f12b2696f5 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java @@ -10,7 +10,10 @@ *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.view; +import java.io.File; +import java.util.ArrayList; import java.util.Iterator; +import java.util.List; import java.util.UUID; import org.eclipse.core.commands.Command; @@ -19,12 +22,14 @@ import org.eclipse.core.expressions.EvaluationContext; import org.eclipse.core.expressions.IEvaluationContext; import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.JFaceResources; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.custom.CTabItem; @@ -55,6 +60,7 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; import org.eclipse.tm.terminal.view.ui.tabs.TabFolderMenuHandler; import org.eclipse.tm.terminal.view.ui.tabs.TabFolderToolbarHandler; +import org.eclipse.tm.terminal.view.ui.view.showin.GitShowInContextHandler; import org.eclipse.ui.IMemento; import org.eclipse.ui.ISources; import org.eclipse.ui.IViewSite; @@ -656,29 +662,92 @@ public class TerminalsView extends ViewPart implements ITerminalsView, IShowInTa if (context != null) { // Get the selection from the context ISelection selection = context.getSelection(); - // The selection must contain elements that can be adapted to IResource + + // If the selection is not set or empty, look at the input element of + // the show in context. + if (!(selection instanceof IStructuredSelection) || selection.isEmpty()) { + Object input = context.getInput(); + // If coming from the EGit repository viewer, the input element is + // org.eclipse.egit.ui.internal.history.HistoryPageInput + if ("org.eclipse.egit.ui.internal.history.HistoryPageInput".equals(input.getClass().getName())) { //$NON-NLS-1$ + Bundle bundle = Platform.getBundle("org.eclipse.egit.ui"); //$NON-NLS-1$ + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { + selection = GitShowInContextHandler.getSelection(input); + } + } + } + + // The selection must contain elements that can be adapted to IResource, File or IPath if (selection instanceof IStructuredSelection && !selection.isEmpty()) { boolean isValid = true; + // Build a new structured selection with the adapted elements + List elements = new ArrayList(); + Iterator iterator = ((IStructuredSelection)selection).iterator(); while (iterator.hasNext() && isValid) { Object element = iterator.next(); Object adapted = null; + if (element instanceof File) { + if (!elements.contains(element)) elements.add(element); + continue; + } + adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(File.class) : null; + if (adapted == null) adapted = Platform.getAdapterManager().getAdapter(element, File.class); + if (adapted == null) adapted = Platform.getAdapterManager().loadAdapter(element, File.class.getName()); + if (adapted != null) { + if (!elements.contains(adapted)) elements.add(adapted); + continue; + } + + if (element instanceof IPath) { + if (!elements.contains(element)) elements.add(element); + continue; + } + adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(IPath.class) : null; + if (adapted == null) adapted = Platform.getAdapterManager().getAdapter(element, IPath.class); + if (adapted == null) adapted = Platform.getAdapterManager().loadAdapter(element, IPath.class.getName()); + if (adapted != null) { + if (!elements.contains(adapted)) elements.add(adapted); + continue; + } + Bundle bundle = Platform.getBundle("org.eclipse.core.resources"); //$NON-NLS-1$ if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { - if (element instanceof org.eclipse.core.resources.IResource) continue; + if (element instanceof org.eclipse.core.resources.IResource) { + if (!elements.contains(element)) elements.add(element); + continue; + } adapted = element instanceof IAdaptable ? ((IAdaptable)element).getAdapter(org.eclipse.core.resources.IResource.class) : null; if (adapted == null) adapted = Platform.getAdapterManager().getAdapter(element, org.eclipse.core.resources.IResource.class); if (adapted == null) adapted = Platform.getAdapterManager().loadAdapter(element, org.eclipse.core.resources.IResource.class.getName()); } + if (adapted != null) { + if (!elements.contains(adapted)) elements.add(adapted); + continue; + } - isValid = adapted != null; + // The EGit repository view can also set a RepositoryTreeNode (and subclasses) + // "org.eclipse.egit.ui.internal.repository.tree...." + if (element.getClass().getName().startsWith("org.eclipse.egit.ui.internal.repository.tree")) { //$NON-NLS-1$ + bundle = Platform.getBundle("org.eclipse.egit.ui"); //$NON-NLS-1$ + if (bundle != null && bundle.getState() != Bundle.UNINSTALLED && bundle.getState() != Bundle.STOPPING) { + adapted = GitShowInContextHandler.getPath(element); + } + } + if (adapted != null) { + if (!elements.contains(adapted)) elements.add(adapted); + continue; + } + + isValid = false; } // If the selection is valid, fire the command to open the local terminal if (isValid) { + selection = new StructuredSelection(elements); ICommandService service = (ICommandService) PlatformUI.getWorkbench().getService(ICommandService.class); Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.connector.local.command.launch") : null; //$NON-NLS-1$ if (command != null && command.isDefined() && command.isEnabled()) { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java new file mode 100644 index 00000000000..cdd43810948 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java @@ -0,0 +1,85 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.view.showin; + +import java.io.File; +import java.util.ArrayList; +import java.util.List; + +import org.eclipse.core.resources.IResource; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IPath; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.StructuredSelection; + +/** + * Git show in context handler implementation. + */ +@SuppressWarnings("restriction") +public class GitShowInContextHandler { + + /** + * Converts the data from the input object into a selection. + * + * @param input The input element. Must not be null. + * @return The selection or null. + */ + public static ISelection getSelection(Object input) { + Assert.isNotNull(input); + + List elements = new ArrayList(); + + if (input instanceof org.eclipse.egit.ui.internal.history.HistoryPageInput) { + org.eclipse.egit.ui.internal.history.HistoryPageInput inp = (org.eclipse.egit.ui.internal.history.HistoryPageInput) input; + + if (inp.isSingleFile()) { + elements.add(inp.getSingleFile()); + } else { + File[] fl = inp.getFileList(); + if (fl != null && fl.length > 0) { + for (File f : fl) { + if (f.canRead() && !elements.contains(f)) { + elements.add(f); + } + } + } + + IResource[] rl = inp.getItems(); + if (rl != null && rl.length > 0) { + for (IResource r : rl) { + if (r.isAccessible() && !elements.contains(r)) { + elements.add(r); + } + } + } + } + } + + return elements.isEmpty() ? null : new StructuredSelection(elements); + } + + /** + * Returns the path of the given element. + * + * @param element The element. Must not be null. + * @return The path or null. + */ + public static IPath getPath(Object element) { + Assert.isNotNull(element); + + IPath path = null; + + if (element instanceof org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode) { + path = ((org.eclipse.egit.ui.internal.repository.tree.RepositoryTreeNode)element).getPath(); + } + + return path; + } +} From 013db6e0b9c451a898155c00a2f354dbe1fc1c11 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 13:05:34 +0200 Subject: [PATCH 760/843] Releng: Use released versions of Eclipse Mars for TM Terminal build --- admin/pom-config.xml | 18 ++++++++++++------ admin/target-defs/eclipse-4.5.x-mars.target | 4 ++-- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 36275f69704..82a0b9ea591 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -59,11 +59,12 @@ http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/${sdk-version}milestones + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/mars http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/ - http://download.eclipse.org/tools/cdt/builds/mars/milestones - http://download.eclipse.org/tm/updates/4.0milestones - http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones + http://download.eclipse.org/tools/cdt/releases/8.7 + http://download.eclipse.org/tm/updates/4.0 + http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 http://download.eclipse.org/technology/swtbot/releases/latest/ http://archive.eclipse.org/tm/updates/rxtx @@ -75,8 +76,13 @@ p2 - platform - ${platform-site} + platform-update + ${platform-update-site} + p2 + + + platform-release + ${platform-release-site} p2 diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index d30c17a8e50..ee854f512cc 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -10,8 +10,8 @@ - - + + From 7a77b9f539956d4c71f54418e4476afa0e5e285a Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 13:09:30 +0200 Subject: [PATCH 761/843] Releng: Adjust Eclipse build profiles also --- admin/pom-config.xml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 82a0b9ea591..be305f91288 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -59,7 +59,7 @@ http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/mars http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/ http://download.eclipse.org/tools/cdt/releases/8.7 @@ -76,8 +76,8 @@ p2 - platform-update - ${platform-update-site} + platform + ${platform-site} p2 @@ -144,9 +144,10 @@ juno - juno + juno 3.8 http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/${terminal-stream} http://download.eclipse.org/tools/cdt/releases/8.4 @@ -155,9 +156,10 @@ kepler - kepler + kepler 4.3 http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/${terminal-stream} http://download.eclipse.org/tools/cdt/releases/8.4 @@ -166,9 +168,10 @@ luna - luna + luna 4.4 http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/${terminal-stream} http://download.eclipse.org/tools/cdt/releases/8.5 From 1e60a6f000174a5dfac875f10fe4cf0abec26fcb Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 14:11:54 +0200 Subject: [PATCH 762/843] Fix version constraint on optional o.e.egit.ui dependency --- plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index cee61b0212c..d69ff828704 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, - org.eclipse.egit.ui;bundle-version="4.0.0";resolution:=optional, + org.eclipse.egit.ui;bundle-version="2.0.0";resolution:=optional, org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" From b1870f60c592dfed2b34843d3d0f58ecfce870e3 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 11 Aug 2015 17:41:21 +0200 Subject: [PATCH 763/843] Make terminal listener API changes backward compatible --- .../terminal/control/ITerminalListener.java | 23 +-- .../terminal/control/ITerminalListener2.java | 27 +++ .../emulator/VT100TerminalControl.java | 189 ++++++++++++------ .../view/ui/tabs/TabTerminalListener.java | 7 +- 4 files changed, 163 insertions(+), 83 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java index aee8f6f06bd..587abfd8162 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java @@ -1,11 +1,11 @@ /******************************************************************************* * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -30,15 +30,4 @@ public interface ITerminalListener { * @param title */ void setTerminalTitle(String title); - - /** - * selection has been changed internally e.g. select all - * clients might want to react on that - * NOTE: this does not include mouse selections - * those are handled in separate MouseListeners - * TODO should be unified - * - * @since 4.1 - */ - void setTerminalSelectionChanged(); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java new file mode 100644 index 00000000000..95628644c2d --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java @@ -0,0 +1,27 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control; + +/** + * Terminal listener allowing to listen to terminal selection changes. + */ +public interface ITerminalListener2 extends ITerminalListener { + + /** + * selection has been changed internally e.g. select all + * clients might want to react on that + * NOTE: this does not include mouse selections + * those are handled in separate MouseListeners + * TODO should be unified + * + * @since 4.1 + */ + void setTerminalSelectionChanged(); +} diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index eee84a4438d..ea75b13e4cf 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -89,6 +89,7 @@ import org.eclipse.swt.widgets.MessageBox; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalListener2; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; @@ -136,7 +137,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private Composite fWndParent; private Clipboard fClipboard; private KeyListener fKeyHandler; - private final ITerminalListener fTerminalListener; + private final ITerminalListener fTerminalListener; private String fMsg = ""; //$NON-NLS-1$ private TerminalFocusListener fFocusListener; private ITerminalConnector fConnector; @@ -163,7 +164,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC * Listens to changes in the preferences */ private final IPropertyChangeListener fPreferenceListener=new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { if(event.getProperty().equals(ITerminalConstants.PREF_BUFFERLINES) || event.getProperty().equals(ITerminalConstants.PREF_INVERT_COLORS)) { updatePreferences(); @@ -171,7 +173,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } }; private final IPropertyChangeListener fFontListener = new IPropertyChangeListener() { - public void propertyChange(PropertyChangeEvent event) { + @Override + public void propertyChange(PropertyChangeEvent event) { if (event.getProperty().equals(ITerminalConstants.FONT_DEFINITION)) { onTerminalFontChanged(); } @@ -222,7 +225,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC setupTerminal(wndParent); } - public void setEncoding(String encoding) throws UnsupportedEncodingException { + @Override + public void setEncoding(String encoding) throws UnsupportedEncodingException { if (encoding == null) { // TODO better use a standard remote-to-local encoding? encoding = "ISO-8859-1"; //$NON-NLS-1$ @@ -235,18 +239,21 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fTerminalText.setInputStreamReader(fInputStreamReader); } - public String getEncoding() { + @Override + public String getEncoding() { return fEncoding; } - public ITerminalConnector[] getConnectors() { + @Override + public ITerminalConnector[] getConnectors() { return fConnectors; } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#copy() */ - public void copy() { + @Override + public void copy() { copy(DND.CLIPBOARD); } @@ -262,7 +269,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#paste() */ - public void paste() { + @Override + public void paste() { paste(DND.CLIPBOARD); // TODO paste in another thread.... to avoid blocking // new Thread() { @@ -284,7 +292,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /** * @param strText the text to paste */ - public boolean pasteString(String strText) { + @Override + public boolean pasteString(String strText) { if(!isConnected()) return false; if (strText == null) @@ -303,15 +312,19 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#selectAll() */ - public void selectAll() { + @Override + public void selectAll() { getCtlText().selectAll(); - fTerminalListener.setTerminalSelectionChanged(); + if (fTerminalListener instanceof ITerminalListener2) { + ((ITerminalListener2)fTerminalListener).setTerminalSelectionChanged(); + } } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#sendKey(char) */ - public void sendKey(char character) { + @Override + public void sendKey(char character) { Event event; KeyEvent keyEvent; @@ -329,24 +342,29 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#clearTerminal() */ - public void clearTerminal() { + @Override + public void clearTerminal() { // The TerminalText object does all text manipulation. getTerminalText().clearTerminal(); getCtlText().clearSelection(); - fTerminalListener.setTerminalSelectionChanged(); + if (fTerminalListener instanceof ITerminalListener2) { + ((ITerminalListener2)fTerminalListener).setTerminalSelectionChanged(); + } } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#getClipboard() */ - public Clipboard getClipboard() { + @Override + public Clipboard getClipboard() { return fClipboard; } /** * @return non null selection */ - public String getSelection() { + @Override + public String getSelection() { String txt= fCtlText.getSelectionText(); if(txt==null) txt=""; //$NON-NLS-1$ @@ -356,35 +374,40 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setFocus() */ - public void setFocus() { + @Override + public void setFocus() { getCtlText().setFocus(); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isEmpty() */ - public boolean isEmpty() { + @Override + public boolean isEmpty() { return getCtlText().isEmpty(); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isDisposed() */ - public boolean isDisposed() { + @Override + public boolean isDisposed() { return getCtlText().isDisposed(); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnected() */ - public boolean isConnected() { + @Override + public boolean isConnected() { return fState==TerminalState.CONNECTED; } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disposeTerminal() */ - public void disposeTerminal() { + @Override + public void disposeTerminal() { Logger.log("entered."); //$NON-NLS-1$ if(fUseCommonPrefs) { TerminalPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPreferenceListener); @@ -395,7 +418,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC getTerminalText().dispose(); } - public void connectTerminal() { + @Override + public void connectTerminal() { Logger.log("entered."); //$NON-NLS-1$ if(getTerminalConnector()==null) return; @@ -415,13 +439,15 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC waitForConnect(); } - public ITerminalConnector getTerminalConnector() { + @Override + public ITerminalConnector getTerminalConnector() { return fConnector; } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#disconnectTerminal() */ - public void disconnectTerminal() { + @Override + public void disconnectTerminal() { Logger.log("entered."); //$NON-NLS-1$ //Disconnect the remote side first @@ -458,7 +484,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (!fDisplay.readAndDispatch()) fDisplay.sleep(); } while (getState()==TerminalState.CONNECTING); - + if (getCtlText().isDisposed()) { disconnectTerminal(); return; @@ -479,7 +505,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC private synchronized void startReaderJob() { if(fJob==null) { fJob=new Job("Terminal data reader") { //$NON-NLS-1$ - protected IStatus run(IProgressMonitor monitor) { + @Override + protected IStatus run(IProgressMonitor monitor) { IStatus status=Status.OK_STATUS; try { while(true) { @@ -561,7 +588,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } - public Shell getShell() { + @Override + public Shell getShell() { return getCtlText().getShell(); } @@ -634,7 +662,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setupTerminal(org.eclipse.swt.widgets.Composite) */ - public void setupTerminal(Composite parent) { + @Override + public void setupTerminal(Composite parent) { Assert.isNotNull(parent); boolean wasDisposed = true; TerminalState oldState = fState; @@ -659,7 +688,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC JFaceResources.getFontRegistry().addListener(fFontListener); } setupHelp(fWndParent, TerminalPlugin.HELP_VIEW); - + if (!wasDisposed) { fState = oldState; } @@ -685,7 +714,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC * (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(java.lang.String) */ - public void setFont(String fontName) { + @Override + public void setFont(String fontName) { Font font=JFaceResources.getFont(fontName); getCtlText().setFont(font); if(fCommandInputField!=null) { @@ -699,7 +729,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.ITerminalViewControl#setFont(org.eclipse.swt.graphics.Font) */ - @Deprecated + @Override + @Deprecated public void setFont(Font font) { getCtlText().setFont(font); if(fCommandInputField!=null) { @@ -710,13 +741,16 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fCtlText.onFontChange(); getTerminalText().fontChanged(); } - public Font getFont() { + @Override + public Font getFont() { return getCtlText().getFont(); } - public Control getControl() { + @Override + public Control getControl() { return fCtlText; } - public Control getRootControl() { + @Override + public Control getRootControl() { return fWndParent; } protected void setupControls(Composite parent) { @@ -733,12 +767,14 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fCtlText.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); fCtlText.addResizeHandler(new TextCanvas.ResizeListener() { - public void sizeChanged(int lines, int columns) { + @Override + public void sizeChanged(int lines, int columns) { fTerminalText.setDimensions(lines, columns); } }); fCtlText.addMouseListener(new MouseAdapter() { - public void mouseUp(MouseEvent e) { + @Override + public void mouseUp(MouseEvent e) { // update selection used by middle mouse button paste if (e.button == 1 && getSelection().length() > 0) { copy(DND.SELECTION_CLIPBOARD); @@ -777,7 +813,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#displayTextInTerminal(java.lang.String) */ - public void displayTextInTerminal(String text) { + @Override + public void displayTextInTerminal(String text) { writeToTerminal("\r\n"+text+"\r\n"); //$NON-NLS-1$ //$NON-NLS-2$ } private void writeToTerminal(String text) { @@ -792,7 +829,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } - public OutputStream getRemoteToTerminalOutputStream() { + @Override + public OutputStream getRemoteToTerminalOutputStream() { if(Logger.isLogEnabled()) { return new LoggingOutputStream(fInputStream.getOutputStream()); } else { @@ -803,7 +841,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC return TerminalPlugin.isOptionEnabled(Logger.TRACE_DEBUG_LOG_CHAR); } - public OutputStream getOutputStream() { + @Override + public OutputStream getOutputStream() { if(getTerminalConnector()!=null) return getTerminalConnector().getTerminalToRemoteStream(); return null; @@ -812,7 +851,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setMsg(java.lang.String) */ - public void setMsg(String msg) { + @Override + public void setMsg(String msg) { fMsg = msg; } @@ -841,7 +881,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC super(); } - @SuppressWarnings("cast") + @Override + @SuppressWarnings("cast") public void focusGained(FocusEvent event) { // Disable all keyboard accelerators (e.g., Control-B) so the Terminal view // can see every keystroke. Without this, Emacs, vi, and Bash are unusable @@ -853,7 +894,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC editContextActivation = contextService.activateContext("org.eclipse.tm.terminal.EditContext"); //$NON-NLS-1$ } - @SuppressWarnings("cast") + @Override + @SuppressWarnings("cast") public void focusLost(FocusEvent event) { // Enable all keybindings. captureKeyEvents(false); @@ -890,7 +932,8 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } protected class TerminalKeyHandler extends KeyAdapter { - public void keyPressed(KeyEvent event) { + @Override + public void keyPressed(KeyEvent event) { //TODO next 2 lines are probably obsolete now if (getState()==TerminalState.CONNECTING) return; @@ -948,7 +991,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC sendString("\u001b[3~"); //$NON-NLS-1$ return; } - + // TODO Linux tty is usually expecting a DEL (^?) character // but this causes issues with some telnet servers and // serial connections. Workaround: stty erase ^H @@ -1016,7 +1059,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC if (!anyModifierPressed) escSeq = "\u001b[5~"; //$NON-NLS-1$ break; - + case 0x1000006: // PgDn key. if (!anyModifierPressed) escSeq = "\u001b[6~"; //$NON-NLS-1$ @@ -1232,22 +1275,26 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } - public void setTerminalTitle(String title) { + @Override + public void setTerminalTitle(String title) { fTerminalListener.setTerminalTitle(title); } - public TerminalState getState() { + @Override + public TerminalState getState() { return fState; } - public void setState(TerminalState state) { + @Override + public void setState(TerminalState state) { fState=state; fTerminalListener.setState(state); // enable the (blinking) cursor if the terminal is connected runAsyncInDisplayThread(new Runnable() { - public void run() { + @Override + public void run() { if(fCtlText!=null && !fCtlText.isDisposed()) { if (isConnected()) { fCtlText.setCursorEnabled(true); @@ -1271,21 +1318,25 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC // else should not happen and we ignore it... } - public String getSettingsSummary() { + @Override + public String getSettingsSummary() { if(getTerminalConnector()!=null) return getTerminalConnector().getSettingsSummary(); return ""; //$NON-NLS-1$ } - public void setConnector(ITerminalConnector connector) { + @Override + public void setConnector(ITerminalConnector connector) { fConnector=connector; } - public ICommandInputField getCommandInputField() { + @Override + public ICommandInputField getCommandInputField() { return fCommandInputField; } - public void setCommandInputField(ICommandInputField inputField) { + @Override + public void setCommandInputField(ICommandInputField inputField) { if(fCommandInputField!=null) fCommandInputField.dispose(); fCommandInputField=inputField; @@ -1295,11 +1346,13 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC fWndParent.layout(true); } - public int getBufferLineLimit() { + @Override + public int getBufferLineLimit() { return fTerminalModel.getMaxHeight(); } - public void setBufferLineLimit(int bufferLineLimit) { + @Override + public void setBufferLineLimit(int bufferLineLimit) { if(bufferLineLimit<=0) return; synchronized (fTerminalModel) { @@ -1309,42 +1362,50 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } } - public boolean isScrollLock() { + @Override + public boolean isScrollLock() { return fCtlText.isScrollLock(); } - public void setScrollLock(boolean on) { + @Override + public void setScrollLock(boolean on) { fCtlText.setScrollLock(on); } - public void setInvertedColors(boolean invert) { + @Override + public void setInvertedColors(boolean invert) { fCtlText.setInvertedColors(invert); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#setConnectOnEnterIfClosed(boolean) */ - public final void setConnectOnEnterIfClosed(boolean on) { + @Override + public final void setConnectOnEnterIfClosed(boolean on) { connectOnEnterIfClosed = on; } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl#isConnectOnEnterIfClosed() */ - public final boolean isConnectOnEnterIfClosed() { + @Override + public final boolean isConnectOnEnterIfClosed() { return connectOnEnterIfClosed; } - public void setVT100LineWrapping(boolean enable) { + @Override + public void setVT100LineWrapping(boolean enable) { getTerminalText().setVT100LineWrapping(enable); } - public boolean isVT100LineWrapping() { + @Override + public boolean isVT100LineWrapping() { return getTerminalText().isVT100LineWrapping(); } - public void enableApplicationCursorKeys(boolean enable) { + @Override + public void enableApplicationCursorKeys(boolean enable) { fApplicationCursorKeys = enable; } - + } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java index 96d93834c9d..d70b0a270ae 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java @@ -14,7 +14,7 @@ import org.eclipse.jface.viewers.ISelectionProvider; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.custom.CTabItem; import org.eclipse.swt.widgets.Display; -import org.eclipse.tm.internal.terminal.control.ITerminalListener; +import org.eclipse.tm.internal.terminal.control.ITerminalListener2; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.view.ui.nls.Messages; @@ -22,7 +22,7 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; * Terminal tab default terminal listener implementation. */ @SuppressWarnings("restriction") -public class TabTerminalListener implements ITerminalListener { +public class TabTerminalListener implements ITerminalListener2 { private static final String TAB_TERMINAL_LISTENER = "TabTerminalListener"; //$NON-NLS-1$ /* default */ final TabFolderManager tabFolderManager; private CTabItem tabItem; @@ -150,6 +150,9 @@ public class TabTerminalListener implements ITerminalListener { public void setTerminalTitle(String title) { } + /* (non-Javadoc) + * @see org.eclipse.tm.internal.terminal.control.ITerminalListener2#setTerminalSelectionChanged() + */ @Override public void setTerminalSelectionChanged() { tabFolderManager.fireTerminalSelectionChanged(); From 3a721a060de156344d088d435385b9db2b4ae198 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 12 Aug 2015 10:02:17 +0200 Subject: [PATCH 764/843] Bug 474763 - Toggle Command Input Field button is not in sync with active terminal --- .../view/ui/actions/ToggleCommandFieldAction.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java index 9fe0aecc7c7..f44f267cd04 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java @@ -11,6 +11,7 @@ package org.eclipse.tm.terminal.view.ui.actions; import org.eclipse.jface.action.IAction; import org.eclipse.swt.custom.CTabItem; +import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; @@ -60,8 +61,11 @@ public class ToggleCommandFieldAction extends AbstractTerminalAction { */ @Override public void updateAction(boolean aboutToShow) { - setEnabled(aboutToShow && getCommandFieldHandler() != null - && getTarget() != null && getTarget().getState() == TerminalState.CONNECTED); + TabCommandFieldHandler handler = getCommandFieldHandler(); + ITerminalViewControl target = getTarget(); + setEnabled(aboutToShow && handler != null + && target != null && target.getState() == TerminalState.CONNECTED); + setChecked(handler != null && handler.hasCommandInputField()); } /** From a495e4bea77d56345a10aac26d63d8fc9124c51e Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 13 Aug 2015 17:18:32 +0200 Subject: [PATCH 765/843] Fix missing since tag --- .../tm/internal/terminal/control/ITerminalListener2.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java index 95628644c2d..76bc56d1cf4 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java @@ -11,6 +11,8 @@ package org.eclipse.tm.internal.terminal.control; /** * Terminal listener allowing to listen to terminal selection changes. + * + * @since 4.1 */ public interface ITerminalListener2 extends ITerminalListener { @@ -20,8 +22,6 @@ public interface ITerminalListener2 extends ITerminalListener { * NOTE: this does not include mouse selections * those are handled in separate MouseListeners * TODO should be unified - * - * @since 4.1 */ void setTerminalSelectionChanged(); } From 311b9e027cc79d997e178e29b64dec711b902cd8 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 2 Sep 2015 13:02:24 +0200 Subject: [PATCH 766/843] Tests: Remove obsolete ANT test file --- plugins/org.eclipse.tm.terminal.test/test.xml | 114 ------------------ 1 file changed, 114 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.test/test.xml diff --git a/plugins/org.eclipse.tm.terminal.test/test.xml b/plugins/org.eclipse.tm.terminal.test/test.xml deleted file mode 100644 index ed776df77b9..00000000000 --- a/plugins/org.eclipse.tm.terminal.test/test.xml +++ /dev/null @@ -1,114 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - From 0a3e10466376d1d37093f221c007dfb2d4fd4867 Mon Sep 17 00:00:00 2001 From: Pablo Torregrosa Paez Date: Tue, 18 Aug 2015 14:45:52 +0200 Subject: [PATCH 767/843] SSH Terminal: Default user stored if "Save user" is checked. Change-Id: I530fe20e288dea3798960b9c9fa3a3ea8f90455b Signed-off-by: Pablo Torregrosa Paez --- .../connector/ssh/controls/SshWizardConfigurationPanel.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java index ee31c27b4f8..16cae8cc515 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java @@ -257,8 +257,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(sshSettings.getTimeout())); hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, Integer.toString(sshSettings.getKeepalive())); if (saveUser) { - String defaultUser = getDefaultUser(); - if (defaultUser == null || !defaultUser.equals(sshSettings.getUser())) { + if (sshSettings.getUser() != null) { hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_USER, sshSettings.getUser()); } else { hostSettings.remove(ITerminalsConnectorConstants.PROP_SSH_USER); @@ -292,8 +291,7 @@ public class SshWizardConfigurationPanel extends AbstractExtendedConfigurationPa hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(sshSettings.getTimeout())); hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_KEEP_ALIVE, Integer.toString(sshSettings.getKeepalive())); if (saveUser) { - String defaultUser = getDefaultUser(); - if (defaultUser == null || !defaultUser.equals(sshSettings.getUser())) { + if (sshSettings.getUser() != null) { hostSettings.put(ITerminalsConnectorConstants.PROP_SSH_USER, sshSettings.getUser()); } } From 3d2cdcc9860c0841b2f7237ffaa7233a2a2cdcf0 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Sep 2015 12:48:04 +0200 Subject: [PATCH 768/843] Releng: Add API Tooling to Terminal Enable API Analysis on all Terminal Connectors, and mark o.e.tm.terminal.control/provisional/api as API in MANIFEST.MF such that full API Analysis is available on our de-facto API. Since the conversion of provisional.api to full API triggers errors, this needs a patched 4.0 baseline to properly compare against. Use http://archive.eclipse.org/tm/downloads/tm_4.0_api_baseline.zip for analysis in 4.1 -- after 4.1 a normal baseline will do. Change-Id: Ibbc2addd59a629d45f676a97339bf27bba07014e Signed-off-by: Martin Oberhuber --- .../.project | 6 ++++++ .../.project | 6 ++++++ .../.project | 6 ++++++ .../org.eclipse.tm.terminal.connector.ssh/.project | 6 ++++++ .../.project | 6 ++++++ .../META-INF/MANIFEST.MF | 14 ++------------ plugins/org.eclipse.tm.terminal.view.core/.project | 6 ++++++ .../org.eclipse.tm.terminal.view.ui.rse/.project | 6 ++++++ plugins/org.eclipse.tm.terminal.view.ui/.project | 6 ++++++ 9 files changed, 50 insertions(+), 12 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.project b/plugins/org.eclipse.tm.terminal.connector.local/.project index 9a13c2acf9c..696a343153f 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/.project +++ b/plugins/org.eclipse.tm.terminal.connector.local/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.project b/plugins/org.eclipse.tm.terminal.connector.process/.project index f609200e524..92d9bc9fd90 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/.project +++ b/plugins/org.eclipse.tm.terminal.connector.process/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.project b/plugins/org.eclipse.tm.terminal.connector.serial/.project index c64fbf0aa95..f7f32b28ecd 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/.project +++ b/plugins/org.eclipse.tm.terminal.connector.serial/.project @@ -20,9 +20,15 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.project b/plugins/org.eclipse.tm.terminal.connector.ssh/.project index 55858db534c..be963dbfb21 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/.project +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.project b/plugins/org.eclipse.tm.terminal.connector.telnet/.project index 7a745829ff7..83045227a60 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/.project +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF index c365978ebfd..99aabb4e350 100644 --- a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF @@ -19,17 +19,7 @@ Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclip org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.internal.terminal.preferences, - org.eclipse.tm.internal.terminal.provisional.api; - x-friends:="org.eclipse.tm.terminal.connector.serial, - org.eclipse.tm.terminal.connector.ssh, - org.eclipse.tm.terminal.connector.telnet, - org.eclipse.tm.terminal.connector.local, - org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.provisional.api.provider; - x-friends:="org.eclipse.tm.terminal.connector.serial, - org.eclipse.tm.terminal.connector.ssh, - org.eclipse.tm.terminal.connector.telnet, - org.eclipse.tm.terminal.connector.local, - org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.provisional.api, + org.eclipse.tm.internal.terminal.provisional.api.provider, org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", org.eclipse.tm.terminal.model diff --git a/plugins/org.eclipse.tm.terminal.view.core/.project b/plugins/org.eclipse.tm.terminal.view.core/.project index 82e91af353c..f6e4e7e96a0 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/.project +++ b/plugins/org.eclipse.tm.terminal.view.core/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.project b/plugins/org.eclipse.tm.terminal.view.ui.rse/.project index c0a42945343..2d1d0bcfb50 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.project b/plugins/org.eclipse.tm.terminal.view.ui/.project index a663c982f5c..3686758258d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/.project +++ b/plugins/org.eclipse.tm.terminal.view.ui/.project @@ -20,10 +20,16 @@ + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + org.eclipse.pde.PluginNature org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature From 0efaf9c5835bf9c49ddcbd3cccb1af57598b4a32 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Fri, 4 Sep 2015 16:43:21 +0200 Subject: [PATCH 769/843] Cleanup: Fix obvious compiler warnings in tm.terminal.control Change-Id: I26c0c0f049e7617d8ba58701af2efd54aa2d0768 Signed-off-by: Martin Oberhuber --- .../terminal/connector/TerminalConnector.java | 1 - .../internal/terminal/model/TerminalTextData.java | 8 ++++---- .../terminal/model/TerminalTextDataSnapshot.java | 8 ++++---- .../terminal/model/TerminalTextDataStore.java | 6 +++--- .../api/TerminalConnectorExtension.java | 4 ++-- .../api/provider/TerminalConnectorImpl.java | 1 - .../textcanvas/AbstractTextCanvasModel.java | 14 +++++++------- .../tm/internal/terminal/textcanvas/StyleMap.java | 15 +++++++-------- .../src/org/eclipse/tm/terminal/model/Style.java | 4 ++-- .../org/eclipse/tm/terminal/model/StyleColor.java | 4 ++-- .../META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../connector/TerminalConnectorFactoryTest.java | 1 - .../terminal/connector/TerminalConnectorTest.java | 1 - 14 files changed, 33 insertions(+), 38 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java index 36b000aef44..cfbdabe8c88 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java @@ -18,7 +18,6 @@ import java.io.OutputStream; import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.Platform; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.ITerminalControl; diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java index dd57d9da98c..a361d0adef5 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java @@ -187,20 +187,20 @@ public class TerminalTextData implements ITerminalTextData { */ protected void removeSnapshot(TerminalTextDataSnapshot snapshot) { // poor mans approach to modify the array - List list=new ArrayList(); + List list=new ArrayList(); list.addAll(Arrays.asList(fSnapshots)); list.remove(snapshot); - fSnapshots=(TerminalTextDataSnapshot[]) list.toArray(new TerminalTextDataSnapshot[list.size()]); + fSnapshots=list.toArray(new TerminalTextDataSnapshot[list.size()]); } public ITerminalTextDataSnapshot makeSnapshot() { // poor mans approach to modify the array TerminalTextDataSnapshot snapshot=new TerminalTextDataSnapshot(this); snapshot.markDimensionsChanged(); - List list=new ArrayList(); + List list=new ArrayList(); list.addAll(Arrays.asList(fSnapshots)); list.add(snapshot); - fSnapshots=(TerminalTextDataSnapshot[]) list.toArray(new TerminalTextDataSnapshot[list.size()]); + fSnapshots=list.toArray(new TerminalTextDataSnapshot[list.size()]); return snapshot; } public void addLine() { diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java index aa0e2d79db6..9d9924b533b 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java @@ -241,17 +241,17 @@ class TerminalTextDataSnapshot implements ITerminalTextDataSnapshot { } synchronized public void addListener(SnapshotOutOfDateListener listener) { - List list=new ArrayList(); + List list=new ArrayList(); list.addAll(Arrays.asList(fListener)); list.add(listener); - fListener=(SnapshotOutOfDateListener[]) list.toArray(new SnapshotOutOfDateListener[list.size()]); + fListener=list.toArray(new SnapshotOutOfDateListener[list.size()]); } synchronized public void removeListener(SnapshotOutOfDateListener listener) { - List list=new ArrayList(); + List list=new ArrayList(); list.addAll(Arrays.asList(fListener)); list.remove(listener); - fListener=(SnapshotOutOfDateListener[]) list.toArray(new SnapshotOutOfDateListener[list.size()]); + fListener=list.toArray(new SnapshotOutOfDateListener[list.size()]); } public String toString() { return fSnapshot.toString(); diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java index b5927ff26bb..9817087942b 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java @@ -98,7 +98,7 @@ public class TerminalTextDataStore implements ITerminalTextData { int oldSize = Array.getLength(origArray); if(oldSize==newSize) return origArray; - Class elementType = origArray.getClass().getComponentType(); + Class elementType = origArray.getClass().getComponentType(); Object newArray = Array.newInstance(elementType, newSize); int preserveLength = Math.min(oldSize, newSize); if (preserveLength > 0) @@ -130,7 +130,7 @@ public class TerminalTextDataStore implements ITerminalTextData { // and create the line segments Style style=styles[column]; - List segments=new ArrayList(); + List segments=new ArrayList(); for (int i = column; i < n; i++) { if(styles[i]!=style) { segments.add(new LineSegment(col,new String(chars,col,i-col),style)); @@ -141,7 +141,7 @@ public class TerminalTextDataStore implements ITerminalTextData { if(col < n) { segments.add(new LineSegment(col,new String(chars,col,n-col),style)); } - return (LineSegment[]) segments.toArray(new LineSegment[segments.size()]); + return segments.toArray(new LineSegment[segments.size()]); } /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.text.ITerminalTextData#getChar(int, int) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java index 198a13cca83..fe494bc0da7 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java @@ -88,11 +88,11 @@ public class TerminalConnectorExtension { */ public static ITerminalConnector[] makeTerminalConnectors() { IConfigurationElement[] config = RegistryFactory.getRegistry().getConfigurationElementsFor("org.eclipse.tm.terminal.control.connectors"); //$NON-NLS-1$ - List result=new ArrayList(); + List result=new ArrayList(); for (int i = 0; i < config.length; i++) { result.add(makeConnector(config[i])); } - return (ITerminalConnector[]) result.toArray(new ITerminalConnector[result.size()]); + return result.toArray(new ITerminalConnector[result.size()]); } } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java index a8c8dae783b..a358335508e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java @@ -13,7 +13,6 @@ package org.eclipse.tm.internal.terminal.provisional.api.provider; import java.io.OutputStream; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.Logger; diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 5d03a25db78..799101486e8 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -21,7 +21,7 @@ import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; import org.eclipse.tm.terminal.model.ITerminalTextDataSnapshot; abstract public class AbstractTextCanvasModel implements ITextCanvasModel { - protected List fListeners = new ArrayList(); + protected List fListeners = new ArrayList(); private int fCursorLine; private int fCursorColumn; private boolean fShowCursor; @@ -56,21 +56,21 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } protected void fireCellRangeChanged(int x, int y, int width, int height) { - for (Iterator iter = fListeners.iterator(); iter.hasNext();) { - ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = iter.next(); listener.rangeChanged(x, y, width, height); } } protected void fireDimensionsChanged( int width,int height) { - for (Iterator iter = fListeners.iterator(); iter.hasNext();) { - ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = iter.next(); listener.dimensionsChanged(width,height); } } protected void fireTerminalDataChanged() { - for (Iterator iter = fListeners.iterator(); iter.hasNext();) { - ITextCanvasModelListener listener = (ITextCanvasModelListener) iter.next(); + for (Iterator iter = fListeners.iterator(); iter.hasNext();) { + ITextCanvasModelListener listener = iter.next(); listener.terminalDataChanged(); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index 818c8fd717b..a4db1183e76 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -45,10 +45,9 @@ public class StyleMap { private static final String PREFIX = "org.eclipse.tm.internal."; //$NON-NLS-1$ String fFontName=ITerminalConstants.FONT_DEFINITION; - Map fColorMapForeground=new HashMap(); - Map fColorMapBackground=new HashMap(); - Map fColorMapIntense=new HashMap(); - Map fFontMap=new HashMap(); + Map fColorMapForeground=new HashMap(); + Map fColorMapBackground=new HashMap(); + Map fColorMapIntense=new HashMap(); private Point fCharSize; private final Style fDefaultStyle; private boolean fInvertColors; @@ -121,7 +120,7 @@ public class StyleMap { setColor(fColorMapIntense, GRAY, 255, 255, 255); } - private void setColor(Map colorMap, String name, int r, int g, int b) { + private void setColor(Map colorMap, String name, int r, int g, int b) { String colorName=PREFIX+r+"-"+g+"-"+b; //$NON-NLS-1$//$NON-NLS-2$ Color color=JFaceResources.getColorRegistry().get(colorName); if(color==null) { @@ -134,7 +133,7 @@ public class StyleMap { public Color getForegrondColor(Style style) { style = defaultIfNull(style); - Map map = style.isBold() ? fColorMapIntense : fColorMapForeground; + Map map = style.isBold() ? fColorMapIntense : fColorMapForeground; //Map map = fColorMapForeground; if(style.isReverse()) return getColor(map ,style.getBackground()); @@ -148,8 +147,8 @@ public class StyleMap { else return getColor(fColorMapBackground,style.getBackground()); } - Color getColor(Map map,StyleColor color) { - Color c=(Color) map.get(color); + Color getColor(Map map,StyleColor color) { + Color c=map.get(color); if(c==null) { c=Display.getCurrent().getSystemColor(SWT.COLOR_GRAY); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java index 0a6605d2876..001ad6896f1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java @@ -28,7 +28,7 @@ public class Style { private final boolean fBlink; private final boolean fUnderline; private final boolean fReverse; - private final static Map fgStyles=new HashMap(); + private final static Map fgStyles=new HashMap(); private Style(StyleColor forground, StyleColor background, boolean bold, boolean blink, boolean underline, boolean reverse) { fForground = forground; fBackground = background; @@ -41,7 +41,7 @@ public class Style { Style style = new Style(forground,background, bold, blink,underline,reverse); Style cached; synchronized (fgStyles) { - cached=(Style) fgStyles.get(style); + cached=fgStyles.get(style); if(cached==null) { cached=style; fgStyles.put(cached, cached); diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java index 0fbe6982eb8..98b19ad02ad 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java @@ -19,7 +19,7 @@ import java.util.Map; * Threadsafe. */ public class StyleColor { - private final static Map fgStyleColors=new HashMap(); + private final static Map fgStyleColors=new HashMap(); final String fName; /** @@ -30,7 +30,7 @@ public class StyleColor { public static StyleColor getStyleColor(String name) { StyleColor result; synchronized (fgStyleColors) { - result=(StyleColor) fgStyleColors.get(name); + result=fgStyleColors.get(name); if(result==null) { result=new StyleColor(name); fgStyleColors.put(name, result); diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF index a52b1f97166..4395479d55f 100644 --- a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.test;singleton:=true -Bundle-Version: 4.0.0.qualifier +Bundle-Version: 4.0.100.qualifier Bundle-Vendor: %providerName Bundle-Localization: plugin Require-Bundle: org.junit, diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 77b36ebc9dd..5b0b55862f7 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0-SNAPSHOT + 4.0.100-SNAPSHOT org.eclipse.tm.terminal.test eclipse-test-plugin diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java index 4e3119ed450..3a1a9ea5571 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java @@ -21,7 +21,6 @@ import junit.framework.TestCase; import org.eclipse.core.runtime.Platform; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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; diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java index ac85e4c1974..72f0eec66a8 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java @@ -21,7 +21,6 @@ import junit.framework.TestCase; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.connector.TerminalConnector.Factory; -import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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; From aacd3c61cdbc7c6fc458f6a4513c57d211c7a942 Mon Sep 17 00:00:00 2001 From: Davy Landman Date: Tue, 8 Sep 2015 10:39:09 +0200 Subject: [PATCH 770/843] [475267] Added TerminalMouseListener to the VT100TerminalControl As discussed in bugzilla, this extension allows terminal connectors to implement special features on mouse events (such as clicking on hyperlinks). Feature-request: https://bugs.eclipse.org/bugs/show_bug.cgi?id=475267 Signed-off-by: Davy Landman --- .../control/ITerminalMouseListener.java | 42 +++++++++++++++++++ .../control/ITerminalViewControl.java | 4 ++ .../emulator/VT100TerminalControl.java | 12 ++++++ .../terminal/textcanvas/TextCanvas.java | 38 +++++++++++++++++ 4 files changed, 96 insertions(+) create mode 100644 plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java new file mode 100644 index 00000000000..3c2e0af1576 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java @@ -0,0 +1,42 @@ +/******************************************************************************* + * Copyright (c) 2015 CWI. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Davy Landman (CWI) - [475267][api] Initial definition of interface + *******************************************************************************/ +package org.eclipse.tm.internal.terminal.control; + +import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; + +/** + * Terminal specific version of {@link org.eclipse.swt.events.MouseListener} + */ +public interface ITerminalMouseListener { + /** + * Invoked when a double-click has happend inside the terminal control.
                                        + *
                                        + * Important: the event fires for every click, even outside the text region. + * @param terminalText a read-only view of the current terminal text + * @param button see {@link org.eclipse.swt.events.MouseEvent#button} for the meaning of the button values + */ + void mouseDoubleClick(ITerminalTextDataReadOnly terminalText, int line, int column, int button); + /** + * Invoked when a mouse button is pushed down inside the terminal control.
                                        + *
                                        + * Important: the event fires for every mouse down, even outside the text region. + * @param terminalText a read-only view of the current terminal text + * @param button see {@link org.eclipse.swt.events.MouseEvent#button} for the meaning of the button values + */ + void mouseDown(ITerminalTextDataReadOnly terminalText, int line, int column, int button); + /** + * Invoked when a mouse button is released inside the terminal control.
                                        + *
                                        + * Important: the event fires for every mouse up, even outside the text region. + * @param terminalText a read-only view of the current terminal text + * @param button see {@link org.eclipse.swt.events.MouseEvent#button} for the meaning of the button values + */ + void mouseUp(ITerminalTextDataReadOnly terminalText, int line, int column, int button); +} diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index 3a293cc4df2..d56dc35cf5f 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -10,6 +10,7 @@ * Martin Oberhuber (Wind River) - fixed copyright headers and beautified * Martin Oberhuber (Wind River) - [204796] Terminal should allow setting the encoding to use * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically + * Davy Landman (CWI) - [475267][api] Allow custom mouse listeners ******************************************************************************/ package org.eclipse.tm.internal.terminal.control; @@ -118,4 +119,7 @@ public interface ITerminalViewControl { public void setBufferLineLimit(int bufferLineLimit); boolean isScrollLock(); void setScrollLock(boolean on); + + void addMouseListener(ITerminalMouseListener listener); + void removeMouseListener(ITerminalMouseListener listener); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index ea75b13e4cf..316aaa1d897 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -39,6 +39,7 @@ * Martin Oberhuber (Wind River) - [436612] Restore Eclipse 3.4 compatibility by using Reflection * Anton Leherbauer (Wind River) - [458398] Add support for normal/application cursor keys mode * Anton Leherbauer (Wind River) - [420928] Terminal widget leaks memory + * Davy Landman (CWI) - [475267][api] Allow custom mouse listeners *******************************************************************************/ package org.eclipse.tm.internal.terminal.emulator; @@ -90,6 +91,7 @@ import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ICommandInputField; import org.eclipse.tm.internal.terminal.control.ITerminalListener; import org.eclipse.tm.internal.terminal.control.ITerminalListener2; +import org.eclipse.tm.internal.terminal.control.ITerminalMouseListener; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.control.impl.ITerminalControlForText; import org.eclipse.tm.internal.terminal.control.impl.TerminalMessages; @@ -1407,5 +1409,15 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC public void enableApplicationCursorKeys(boolean enable) { fApplicationCursorKeys = enable; } + + @Override + public void addMouseListener(ITerminalMouseListener listener) { + getCtlText().addTerminalMouseListener(listener); + } + + @Override + public void removeMouseListener(ITerminalMouseListener listener) { + getCtlText().removeTerminalMouseListener(listener); + } } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index 9854d88c809..a8b950820c1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -17,10 +17,14 @@ * Anton Leherbauer (Wind River) - [324608] Terminal has strange scrolling behaviour * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically * Anton Leherbauer (Wind River) - [434749] UnhandledEventLoopException when copying to clipboard while the selection is empty + * Davy Landman (CWI) - [475267][api] Allow custom mouse listeners *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; +import java.util.ArrayList; +import java.util.List; + import org.eclipse.swt.SWT; import org.eclipse.swt.dnd.Clipboard; import org.eclipse.swt.dnd.TextTransfer; @@ -35,6 +39,7 @@ import org.eclipse.swt.graphics.GC; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.graphics.Rectangle; import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.internal.terminal.control.ITerminalMouseListener; /** * A cell oriented Canvas. Maintains a list of "cells". @@ -50,6 +55,7 @@ public class TextCanvas extends GridCanvas { private Point fDraggingEnd; private boolean fHasSelection; private ResizeListener fResizeListener; + private final List fMouseListeners; // The minSize is meant to determine the minimum size of the backing store // (grid) into which remote data is rendered. If the viewport is smaller @@ -116,8 +122,17 @@ public class TextCanvas extends GridCanvas { public void focusLost(FocusEvent e) { fCellCanvasModel.setCursorEnabled(false); }}); + fMouseListeners = new ArrayList(); addMouseListener(new MouseListener(){ public void mouseDoubleClick(MouseEvent e) { + if (fMouseListeners.size() > 0) { + Point pt = screenPointToCell(e.x, e.y); + if (pt != null) { + for (ITerminalMouseListener l : fMouseListeners) { + l.mouseDoubleClick(fCellCanvasModel.getTerminalText(), pt.y, pt.x, e.button); + } + } + } } public void mouseDown(MouseEvent e) { if(e.button==1) { // left button @@ -132,6 +147,14 @@ public class TextCanvas extends GridCanvas { } fDraggingEnd=null; } + if (fMouseListeners.size() > 0) { + Point pt = screenPointToCell(e.x, e.y); + if (pt != null) { + for (ITerminalMouseListener l : fMouseListeners) { + l.mouseDown(fCellCanvasModel.getTerminalText(), pt.y, pt.x, e.button); + } + } + } } public void mouseUp(MouseEvent e) { if(e.button==1) { // left button @@ -142,6 +165,14 @@ public class TextCanvas extends GridCanvas { fCellCanvasModel.setSelection(-1,-1,-1,-1); fDraggingStart=null; } + if (fMouseListeners.size() > 0) { + Point pt = screenPointToCell(e.x, e.y); + if (pt != null) { + for (ITerminalMouseListener l : fMouseListeners) { + l.mouseUp(fCellCanvasModel.getTerminalText(), pt.y, pt.x, e.button); + } + } + } } }); addMouseMoveListener(new MouseMoveListener() { @@ -428,5 +459,12 @@ public class TextCanvas extends GridCanvas { } + public void addTerminalMouseListener(final ITerminalMouseListener listener) { + fMouseListeners.add(listener); + } + + public void removeTerminalMouseListener(ITerminalMouseListener listener) { + fMouseListeners.remove(listener); + } } From f1f1d06b78d610ed8ee5fb6be151e3409d664fb1 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Tue, 8 Sep 2015 12:38:52 +0200 Subject: [PATCH 771/843] Fix missing @since tags on new mouse listener API --- .../internal/terminal/control/ITerminalMouseListener.java | 1 + .../tm/internal/terminal/control/ITerminalViewControl.java | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java index 3c2e0af1576..d72c26c9a84 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java @@ -13,6 +13,7 @@ import org.eclipse.tm.terminal.model.ITerminalTextDataReadOnly; /** * Terminal specific version of {@link org.eclipse.swt.events.MouseListener} + * @since 4.1 */ public interface ITerminalMouseListener { /** diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index d56dc35cf5f..fe2755ed183 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -120,6 +120,12 @@ public interface ITerminalViewControl { boolean isScrollLock(); void setScrollLock(boolean on); + /** + * @since 4.1 + */ void addMouseListener(ITerminalMouseListener listener); + /** + * @since 4.1 + */ void removeMouseListener(ITerminalMouseListener listener); } From d2350826e8d987884505f151b5b14a60743d68ae Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 9 Sep 2015 14:39:38 +0200 Subject: [PATCH 772/843] Fix Bug 476888 - msg on each Terminal open: "bash: mc: line 1: syntax error: unexpected end of file" ?? --- .../src/org/eclipse/tm/terminal/view/core/utils/Env.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java index 9471c380223..be1650e8fff 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java @@ -179,13 +179,14 @@ public class Env { if (func > 0) { key = line.substring(0, func); // scan until we find the closing '}' with no following chars - value = line.substring(func + 1); + value = "'" + line.substring(func + 1); //$NON-NLS-1$ while (line != null && !line.equals("}")) { //$NON-NLS-1$ line = reader.readLine(); if (line != null) { - value += line; + value += " " + line; //$NON-NLS-1$ } } + value += "'"; //$NON-NLS-1$ line = reader.readLine(); } else { int separator = line.indexOf('='); From d8876fc34f692bbdcaa48e96999335d195a2b669 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 10 Sep 2015 08:39:54 +0200 Subject: [PATCH 773/843] Releng: Added Neon target platform definition --- admin/pom-config.xml | 2 +- admin/target-defs/eclipse-4.6.x-neon.target | 29 +++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 admin/target-defs/eclipse-4.6.x-neon.target diff --git a/admin/pom-config.xml b/admin/pom-config.xml index be305f91288..141461a4bff 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -61,7 +61,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/mars - http://download.eclipse.org/tools/orbit/downloads/drops/R20150519210750/repository/ + http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/repository http://download.eclipse.org/tools/cdt/releases/8.7 http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target new file mode 100644 index 00000000000..60e6eb98550 --- /dev/null +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From ec23b12ef23b130b3f0b426122f847550731179e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 10 Sep 2015 14:52:06 +0200 Subject: [PATCH 774/843] Cleanup: Fix various API Markup Issues This fixes API related issues and warnings by adding appropriate markup where it had been forgotten. This is formally breaking binary compatibility in some cases, but we are OK releasing as 4.1 since it just codifies the original intent of the API. 1. org.eclipse.tm.terminal.control/MANIFEST.MF: - Replace unintuitive "x-friends" with more obvious "x-internal". - Update the terminal.test/.classpath instead for giving access. - Add @noimplement keywords on interfaces where appropriate. 2. org.eclipse.tm.terminal.view.ui: - Add missing @since tags, and mark the view.showin package as "x-internal", since it was never meant to be API. - Add @noimplement keywords on interfaces where appropriate. 3. Generally, remove unnecessary @suppress("restriction") warnings and fix one "Type Safety (ArrayList)" warning. Change-Id: I75f8b0fb3a5ff0383bff3bc0a4a8d9fd07b71ac9 Signed-off-by: Martin Oberhuber --- .../tm/terminal/connector/process/ProcessMonitor.java | 1 - .../META-INF/MANIFEST.MF | 10 +++++----- .../terminal/control/ITerminalViewControl.java | 1 + plugins/org.eclipse.tm.terminal.test/.classpath | 6 +++++- .../terminal/model/TerminalTextDataWindowTest.java | 4 ++-- .../META-INF/MANIFEST.MF | 2 +- .../view/ui/actions/NewTerminalViewAction.java | 2 ++ .../terminal/view/ui/actions/SelectEncodingAction.java | 1 - .../terminal/view/ui/actions/TabScrollLockAction.java | 1 - .../view/ui/actions/ToggleCommandFieldAction.java | 1 - .../tm/terminal/view/ui/activator/UIPlugin.java | 1 - .../terminal/view/ui/interfaces/ILauncherDelegate.java | 1 - .../terminal/view/ui/interfaces/IPreferenceKeys.java | 3 +++ .../tm/terminal/view/ui/interfaces/ImageConsts.java | 6 ++++++ .../tm/terminal/view/ui/internal/PropertyTester.java | 1 - .../tm/terminal/view/ui/internal/SettingsStore.java | 1 - .../tm/terminal/view/ui/manager/ConsoleManager.java | 2 +- .../view/ui/streams/AbstractStreamsConnector.java | 1 - .../terminal/view/ui/streams/InputStreamMonitor.java | 1 - .../terminal/view/ui/streams/OutputStreamMonitor.java | 1 - .../tm/terminal/view/ui/streams/StreamsConnector.java | 1 - .../view/ui/streams/StreamsLauncherDelegate.java | 1 - .../tm/terminal/view/ui/streams/StreamsSettings.java | 1 - .../tm/terminal/view/ui/tabs/TabFolderManager.java | 1 - .../tm/terminal/view/ui/tabs/TabFolderMenuHandler.java | 1 - .../terminal/view/ui/tabs/TabFolderToolbarHandler.java | 1 - .../tm/terminal/view/ui/tabs/TabTerminalListener.java | 4 ++-- 27 files changed, 28 insertions(+), 29 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java index 98ae8d0cc1c..5c4ed3fabad 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java @@ -87,7 +87,6 @@ public class ProcessMonitor { * Monitors the associated system process, waiting for it to terminate, * and notifies the associated process monitor's. */ - @SuppressWarnings("restriction") public void monitorProcess() { // If already disposed -> return immediately if (disposed) return; diff --git a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF index 99aabb4e350..18b8f157de4 100644 --- a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF @@ -12,14 +12,14 @@ Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ClassPath: . -Export-Package: org.eclipse.tm.internal.terminal.connector;x-friends:="org.eclipse.tm.terminal.test", +Export-Package: org.eclipse.tm.internal.terminal.connector;x-internal:=true, org.eclipse.tm.internal.terminal.control, org.eclipse.tm.internal.terminal.control.actions, - org.eclipse.tm.internal.terminal.control.impl;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.emulator;x-friends:="org.eclipse.tm.terminal.test", - org.eclipse.tm.internal.terminal.model;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.control.impl;x-internal:=true, + org.eclipse.tm.internal.terminal.emulator;x-internal:=true, + org.eclipse.tm.internal.terminal.model;x-internal:=true, org.eclipse.tm.internal.terminal.preferences, org.eclipse.tm.internal.terminal.provisional.api, org.eclipse.tm.internal.terminal.provisional.api.provider, - org.eclipse.tm.internal.terminal.textcanvas;x-friends:="org.eclipse.tm.terminal.test", + org.eclipse.tm.internal.terminal.textcanvas;x-internal:=true, org.eclipse.tm.terminal.model diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index fe2755ed183..a943e3c4dc8 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -26,6 +26,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * @author Michael Scharf * + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalViewControl { /** diff --git a/plugins/org.eclipse.tm.terminal.test/.classpath b/plugins/org.eclipse.tm.terminal.test/.classpath index ad32c83a788..9c8ffa9fe2c 100644 --- a/plugins/org.eclipse.tm.terminal.test/.classpath +++ b/plugins/org.eclipse.tm.terminal.test/.classpath @@ -1,7 +1,11 @@ - + + + + + diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java index 752c8b06056..ab9ccfdb5b9 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java @@ -42,7 +42,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { StringBuffer b=new StringBuffer(); // String[] lines=s.split("\n"); // - ArrayList l = new ArrayList(); + ArrayList l = new ArrayList(); int j = 0; for (int k = 0; k < s.length(); k++) { if (s.charAt(k) == '\n') { @@ -56,7 +56,7 @@ public class TerminalTextDataWindowTest extends AbstractITerminalTextDataTest { } String[] lines = new String[j + 1]; while (j >= 0) { - lines[j] = (String) l.get(j); + lines[j] = l.get(j); j--; } // diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index d69ff828704..7a1718a7fc8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -33,4 +33,4 @@ Export-Package: org.eclipse.tm.terminal.view.ui.actions, org.eclipse.tm.terminal.view.ui.streams, org.eclipse.tm.terminal.view.ui.tabs, org.eclipse.tm.terminal.view.ui.view, - org.eclipse.tm.terminal.view.ui.view.showin + org.eclipse.tm.terminal.view.ui.view.showin;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java index 9a9c731244f..5cb005bab39 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java @@ -20,6 +20,8 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Opens a new terminal view with a new secondary view ID. + * + * @since 4.1 */ public class NewTerminalViewAction extends AbstractTerminalAction { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java index 0f7037c57f4..1d8513af4e0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java @@ -25,7 +25,6 @@ import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** * Terminal control select encoding action implementation. */ -@SuppressWarnings("restriction") public class SelectEncodingAction extends AbstractTerminalAction { // Reference to the parent tab folder manager private final TabFolderManager tabFolderManager; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java index 246e9895174..b9645a111a0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java @@ -20,7 +20,6 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Terminal console tab scroll lock action. */ -@SuppressWarnings("restriction") public class TabScrollLockAction extends AbstractTerminalAction { /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java index f44f267cd04..dcdbbe9b7cb 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java @@ -24,7 +24,6 @@ import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** * Toggle command input field. */ -@SuppressWarnings("restriction") public class ToggleCommandFieldAction extends AbstractTerminalAction { private ITerminalsView view = null; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java index 793431af415..ac6b57d3270 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java @@ -43,7 +43,6 @@ import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ -@SuppressWarnings("restriction") public class UIPlugin extends AbstractUIPlugin { // The shared instance private static UIPlugin plugin; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java index 5989ce02ec9..7c5dae861d1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java @@ -20,7 +20,6 @@ import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; /** * Terminal launcher delegate. */ -@SuppressWarnings("restriction") public interface ILauncherDelegate extends IExecutableExtension, IAdaptable { /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java index 0a7ff86cf62..557f7c22468 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java @@ -11,6 +11,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces; /** * Terminal plug-in preference key definitions. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface IPreferenceKeys { /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java index b3d3d0cdb31..dd43cb769e9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java @@ -12,6 +12,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces; /** * Image registry constants. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface ImageConsts { /** @@ -66,16 +69,19 @@ public interface ImageConsts { /** * The key to access the new terminal view action image (enabled). + * @since 4.1 */ public static final String ACTION_NewTerminalView_Enabled = "NewTerminalViewAction_enabled"; //$NON-NLS-1$ /** * The key to access the new terminal view action image (disabled). + * @since 4.1 */ public static final String ACTION_NewTerminalView_Disabled = "NewTerminalViewAction_disabled"; //$NON-NLS-1$ /** * The key to access the new terminal view action image (hover). + * @since 4.1 */ public static final String ACTION_NewTerminalView_Hover = "NewTerminalViewAction_hover"; //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java index c9730bf9f15..ea404117d7e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java @@ -22,7 +22,6 @@ import org.eclipse.tm.terminal.view.ui.tabs.TabFolderManager; /** * Terminal property tester implementation. */ -@SuppressWarnings("restriction") public class PropertyTester extends org.eclipse.core.expressions.PropertyTester { /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java index 5a11c168899..3d92a2a6e03 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java @@ -19,7 +19,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; * Simple default Terminal settings store implementation keeping the settings * within memory. */ -@SuppressWarnings("restriction") public class SettingsStore implements ISettingsStore { private final Map settings = new HashMap(); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java index f9fbcf39474..bc277efefcd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java @@ -49,7 +49,6 @@ import org.eclipse.ui.PlatformUI; /** * Terminal console manager. */ -@SuppressWarnings("restriction") public class ConsoleManager { // Constant to indicate any secondary id is acceptable @@ -283,6 +282,7 @@ public class ConsoleManager { * * @param id The terminals console view id. Must not be null. * @return The next secondary id, or null if it is the first one + * @since 4.1 */ public String getNextTerminalSecondaryId(String id) { Assert.isNotNull(id); diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java index 89fdfbcf67d..53ec98796c6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java @@ -21,7 +21,6 @@ import org.eclipse.ui.services.IDisposable; /** * Streams connector implementation. */ -@SuppressWarnings("restriction") public abstract class AbstractStreamsConnector extends TerminalConnectorImpl { // Reference to the stdin monitor private InputStreamMonitor stdInMonitor; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java index 5a18a691b2b..45394e09798 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java @@ -32,7 +32,6 @@ import org.eclipse.ui.services.IDisposable; * Note: The input is coming from the terminal. Therefore, the input * stream monitor is attached to the stdin stream of the monitored (remote) process. */ -@SuppressWarnings("restriction") public class InputStreamMonitor extends OutputStream implements IDisposable { // Reference to the parent terminal control private final ITerminalControl terminalControl; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java index 07983df66ca..b9222103072 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java @@ -35,7 +35,6 @@ import org.eclipse.ui.services.IDisposable; * stream monitor is attached to the stdout and/or stderr stream of the monitored * (remote) process. */ -@SuppressWarnings("restriction") public class OutputStreamMonitor implements IDisposable { // The default buffer size to use private static final int BUFFER_SIZE = 8192; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java index 99291a27c23..299ee0c762c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java @@ -19,7 +19,6 @@ import org.eclipse.ui.services.IDisposable; /** * Streams connector implementation. */ -@SuppressWarnings("restriction") public class StreamsConnector extends AbstractStreamsConnector implements IDisposable { // Reference to the streams settings private final StreamsSettings settings; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java index 9d4ada9a0b2..d9febb5dd1f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java @@ -29,7 +29,6 @@ import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate; /** * Streams launcher delegate implementation. */ -@SuppressWarnings("restriction") public class StreamsLauncherDelegate extends AbstractLauncherDelegate { /* (non-Javadoc) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java index 5ad03d888ad..f794ef505b8 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java @@ -20,7 +20,6 @@ import org.eclipse.tm.terminal.view.ui.internal.SettingsStore; /** * Streams connector settings implementation. */ -@SuppressWarnings("restriction") public class StreamsSettings { // Reference to the stdin stream private OutputStream stdin; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java index 28f63760730..41e120becec 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java @@ -59,7 +59,6 @@ import org.eclipse.ui.PlatformUI; /** * Terminal tab folder manager. */ -@SuppressWarnings({ "restriction" }) public class TabFolderManager extends PlatformObject implements ISelectionProvider { // Reference to the parent terminal consoles view private final ITerminalsView parentView; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java index 2e08efd6cfd..973594cf0ae 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java @@ -41,7 +41,6 @@ import org.eclipse.ui.IWorkbenchActionConstants; /** * Terminal tab folder menu handler. */ -@SuppressWarnings("restriction") public class TabFolderMenuHandler extends PlatformObject { // Reference to the parent terminals console view private final ITerminalsView parentView; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java index 7c55befd7da..9a972ccd630 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java @@ -40,7 +40,6 @@ import org.eclipse.ui.IWorkbenchActionConstants; /** * Terminal tab folder toolbar handler. */ -@SuppressWarnings("restriction") public class TabFolderToolbarHandler extends PlatformObject { // Reference to the parent terminals console view private final ITerminalsView parentView; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java index d70b0a270ae..2b711bebb77 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java @@ -21,7 +21,6 @@ import org.eclipse.tm.terminal.view.ui.nls.Messages; /** * Terminal tab default terminal listener implementation. */ -@SuppressWarnings("restriction") public class TabTerminalListener implements ITerminalListener2 { private static final String TAB_TERMINAL_LISTENER = "TabTerminalListener"; //$NON-NLS-1$ /* default */ final TabFolderManager tabFolderManager; @@ -150,8 +149,9 @@ public class TabTerminalListener implements ITerminalListener2 { public void setTerminalTitle(String title) { } - /* (non-Javadoc) + /** * @see org.eclipse.tm.internal.terminal.control.ITerminalListener2#setTerminalSelectionChanged() + * @since 4.1 */ @Override public void setTerminalSelectionChanged() { From 9be004b4b83adb8632ae3310d17cd74f81c7b6b4 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 10 Sep 2015 14:59:35 +0200 Subject: [PATCH 775/843] Releng: Added Mars profile and switched default build platform to Neon --- admin/pom-config.xml | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 141461a4bff..1e85b466d1a 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -55,14 +55,14 @@ development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly - 4.5 + 4.6milestones http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/mars + http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/repository - http://download.eclipse.org/tools/cdt/releases/8.7 + http://download.eclipse.org/tools/cdt/builds/neon/milestones http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 http://download.eclipse.org/technology/swtbot/releases/latest/ @@ -175,6 +175,18 @@ http://download.eclipse.org/tools/cdt/releases/8.5 + + + luna + + + mars + 4.5 + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/${terminal-stream} + http://download.eclipse.org/tools/cdt/releases/8.7 + + From de7244a8f0580ca94f50ba0283f7a1c2bd90f5c7 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 10 Sep 2015 15:02:33 +0200 Subject: [PATCH 776/843] Releng: Fix Mars profile id --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 1e85b466d1a..88faeddd042 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -177,7 +177,7 @@ - luna + mars mars From 83659a822ac8d87b78741f2b007ba8159f38190b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 10 Sep 2015 16:31:50 +0200 Subject: [PATCH 777/843] Releng: Fix SDK version id --- admin/pom-config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 88faeddd042..7c5ba05885d 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -55,11 +55,11 @@ development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly - 4.6milestones + 4.6 http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/eclipse/updates/${sdk-version}milestones http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones From 7f0e1df264e1fa7da5f50e4436e380cb5f37f5b0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Thu, 10 Sep 2015 16:48:45 +0200 Subject: [PATCH 778/843] Releng: SDK version for Neon is still 4.5.0 --- admin/pom-config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 7c5ba05885d..e96f7b35b16 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -55,11 +55,11 @@ development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly - 4.6 + 4.5 http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/${sdk-version}milestones + http://download.eclipse.org/eclipse/updates/4.6milestones http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones From 1a1bcf774bf3709fbbabd9ab2b50c6f1f5492b0c Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 14 Sep 2015 08:06:44 +0200 Subject: [PATCH 779/843] Improve "New Terminal View" handling. - Add a command to open the new terminal view. Allows to associate a short cut - Open the "Open Terminal" dialog on creating a new terminal view --- .../plugin.properties | 2 ++ .../plugin.xml | 15 ++++++++ .../ui/actions/NewTerminalViewAction.java | 34 +++++++++++++++--- .../handler/NewTerminalViewHandler.java | 35 +++++++++++++++++++ 4 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index 226931dd801..a7a1089ad4f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -42,6 +42,8 @@ command.disconnect.name=Disconnect Terminal command.disconnect.label=Disconnect command.disconnect.tooltip=Disconnect Terminal Connection +command.newview.name=New Terminal View + menu.showIn.label = Show In menu.showIn.mnemonic=I diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index f18f9d89eb5..6c04a8c9d0e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -239,6 +239,12 @@ id="org.eclipse.tm.terminal.view.ui.command.disconnect" name="%command.disconnect.name"> + + @@ -291,6 +297,15 @@ + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java index 5cb005bab39..a9e8093e324 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java @@ -9,14 +9,21 @@ *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.actions; +import org.eclipse.core.commands.Command; +import org.eclipse.core.commands.ParameterizedCommand; +import org.eclipse.core.runtime.Assert; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; import org.eclipse.jface.action.IAction; import org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction; import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; import org.eclipse.tm.terminal.view.ui.interfaces.ITerminalsView; -import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; import org.eclipse.tm.terminal.view.ui.interfaces.ImageConsts; -import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.commands.ICommandService; +import org.eclipse.ui.handlers.IHandlerService; /** * Opens a new terminal view with a new secondary view ID. @@ -44,10 +51,27 @@ public class NewTerminalViewAction extends AbstractTerminalAction { /* (non-Javadoc) * @see org.eclipse.tm.internal.terminal.control.actions.AbstractTerminalAction#run() */ - @Override + @SuppressWarnings("cast") + @Override public void run() { - String secondaryId = ConsoleManager.getInstance().getNextTerminalSecondaryId(IUIConstants.ID); - ConsoleManager.getInstance().showConsoleView(IUIConstants.ID, secondaryId); + ICommandService service = (ICommandService)PlatformUI.getWorkbench().getService(ICommandService.class); + Command command = service != null ? service.getCommand("org.eclipse.tm.terminal.view.ui.command.newview") : null; //$NON-NLS-1$ + if (command != null && command.isDefined() && command.isEnabled()) { + try { + ParameterizedCommand pCmd = ParameterizedCommand.generateCommand(command, null); + Assert.isNotNull(pCmd); + IHandlerService handlerSvc = (IHandlerService)PlatformUI.getWorkbench().getService(IHandlerService.class); + Assert.isNotNull(handlerSvc); + handlerSvc.executeCommandInContext(pCmd, null, handlerSvc.getCurrentState()); + } catch (Exception e) { + // If the platform is in debug mode, we print the exception to the log view + if (Platform.inDebugMode()) { + IStatus status = new Status(IStatus.ERROR, UIPlugin.getUniqueIdentifier(), + Messages.AbstractTriggerCommandHandler_error_executionFailed, e); + UIPlugin.getDefault().getLog().log(status); + } + } + } } } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java new file mode 100644 index 00000000000..7cf909837f0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java @@ -0,0 +1,35 @@ +/******************************************************************************* + * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Wind River Systems - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.internal.handler; + +import org.eclipse.core.commands.ExecutionEvent; +import org.eclipse.core.commands.ExecutionException; +import org.eclipse.tm.terminal.view.ui.interfaces.IUIConstants; +import org.eclipse.tm.terminal.view.ui.manager.ConsoleManager; + +/** + * New Terminal View handler implementation + */ +public class NewTerminalViewHandler extends AbstractTriggerCommandHandler { + + /* (non-Javadoc) + * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent) + */ + @Override + public Object execute(ExecutionEvent event) throws ExecutionException { + String secondaryId = ConsoleManager.getInstance().getNextTerminalSecondaryId(IUIConstants.ID); + ConsoleManager.getInstance().showConsoleView(IUIConstants.ID, secondaryId); + + triggerCommand("org.eclipse.tm.terminal.view.ui.command.launchToolbar", null); //$NON-NLS-1$ + + return null; + } + +} From 02cf48046f0aa149dd470d2a04d368a36d873e00 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 10 Sep 2015 18:15:27 +0200 Subject: [PATCH 780/843] Cleanup: Fix Terminal API Markup part 2 Mark Terminal Interfaces as @noextend @noimplement where implementation doesn't make sense (since it's just constants or an abstract base class exists for extending). This helps giving room for safely extending Terminal interfaces in a backward-compatible way in the future, by leveraging Eclipse API Tooling. Change-Id: Ia5a99f9379ddd73dd58afe4dec4540ae24633b09 Signed-off-by: Martin Oberhuber --- .../terminal/control/ITerminalViewControl.java | 1 + .../terminal/preferences/ITerminalConstants.java | 6 ++++++ .../preferences/TerminalPreferenceInitializer.java | 12 +++++++++--- .../terminal/preferences/TerminalPreferencePage.java | 7 +++++++ .../tm/terminal/view/ui/help/IContextHelpIds.java | 3 +++ .../view/ui/interfaces/IConfigurationPanel.java | 5 +++++ .../ui/interfaces/IConfigurationPanelContainer.java | 3 +++ .../view/ui/interfaces/ILauncherDelegate.java | 5 +++++ .../terminal/view/ui/interfaces/ITerminalsView.java | 3 +++ .../tm/terminal/view/ui/interfaces/IUIConstants.java | 3 +++ .../view/ui/interfaces/tracing/ITraceIds.java | 3 +++ 11 files changed, 48 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java index a943e3c4dc8..904897c3df9 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java @@ -26,6 +26,7 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; /** * @author Michael Scharf * + * @noextend This interface is not intended to be extended by clients. * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalViewControl { diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java index 0678d47767d..907c79d095f 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java @@ -12,6 +12,12 @@ *******************************************************************************/ package org.eclipse.tm.internal.terminal.preferences; +/** + * Constants for Terminal Preferences. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + */ public interface ITerminalConstants { public static final String PREF_HAS_MIGRATED = "TerminalPref.migrated"; //$NON-NLS-1$ diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java index 6e9f6dc9ac1..920d5e4cf6e 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java @@ -18,15 +18,21 @@ import org.eclipse.core.runtime.preferences.DefaultScope; import org.eclipse.core.runtime.preferences.IEclipsePreferences; import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; +/** + * Terminal Preference Initializer. + * + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * @noreference This class is not intended to be referenced by clients. + */ public class TerminalPreferenceInitializer extends AbstractPreferenceInitializer { public TerminalPreferenceInitializer() { } public void initializeDefaultPreferences() { - //DefaultScope.INSTANCE was only added in Eclipse 3.7 - we want to be compatible further back - //IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); - IEclipsePreferences defaultPrefs = new DefaultScope().getNode(TerminalPlugin.PLUGIN_ID); + //DefaultScope.INSTANCE was added in Eclipse 3.7 + IEclipsePreferences defaultPrefs = DefaultScope.INSTANCE.getNode(TerminalPlugin.PLUGIN_ID); defaultPrefs.putBoolean(ITerminalConstants.PREF_INVERT_COLORS, ITerminalConstants.DEFAULT_INVERT_COLORS); defaultPrefs.putInt(ITerminalConstants.PREF_BUFFERLINES, ITerminalConstants.DEFAULT_BUFFERLINES); } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java index 8f5455a6ba5..89a2c8f8df1 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java @@ -26,6 +26,13 @@ import org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; +/** + * Terminal Preference Page. + * + * @noextend This class is not intended to be subclassed by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * @noreference This class is not intended to be referenced by clients. + */ public class TerminalPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage { protected BooleanFieldEditor fInvertColors; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java index 19878b514bb..b2e7954653d 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java @@ -14,6 +14,9 @@ import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; /** * UI Context help id definitions. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface IContextHelpIds { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java index 325028ce12a..dcdfc67aa7f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java @@ -15,9 +15,14 @@ import org.eclipse.jface.dialogs.IDialogSettings; import org.eclipse.jface.dialogs.IMessageProvider; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.widgets.Composite; +import org.eclipse.tm.terminal.view.ui.panels.AbstractConfigurationPanel; /** * Terminal launcher configuration panel. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + * Clients should extend {@link AbstractConfigurationPanel} instead. */ public interface IConfigurationPanel extends IMessageProvider { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java index 4ff7cc2e53d..9be4adfa9d1 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java @@ -13,6 +13,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces; /** * A container to deal with configuration panels. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface IConfigurationPanelContainer { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java index 7c5dae861d1..c7b7be3dcda 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java @@ -16,9 +16,14 @@ import org.eclipse.core.runtime.IAdaptable; import org.eclipse.core.runtime.IExecutableExtension; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; +import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate; /** * Terminal launcher delegate. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + * Clients should extend {@link AbstractLauncherDelegate} instead. */ public interface ILauncherDelegate extends IExecutableExtension, IAdaptable { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java index 6c2b36fa9a4..c3a5ec8faf6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java @@ -14,6 +14,9 @@ import org.eclipse.ui.IViewPart; /** * Terminal view public interface. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalsView extends IViewPart { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java index bd5d241ce1d..dcaadddeffe 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java @@ -11,6 +11,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces; /** * Terminal common UI constants. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface IUIConstants { /** diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java index 40a649310a1..d0e4d4d55f9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java @@ -11,6 +11,9 @@ package org.eclipse.tm.terminal.view.ui.interfaces.tracing; /** * Core plug-in trace slot identifiers. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITraceIds { From 194f4e2611e945c09198187acdaf6d9f0ab28237 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 1 Oct 2015 12:35:46 +0200 Subject: [PATCH 781/843] Bug 477702 - Telnet line ending needs to be CRLF --- .../telnet/connector/TelnetConnector.java | 25 ++++++++++++++++++- .../emulator/VT100TerminalControl.java | 11 +------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java index 70a0572937f..6f3213013bc 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java @@ -20,6 +20,7 @@ *******************************************************************************/ package org.eclipse.tm.terminal.connector.telnet.connector; +import java.io.FilterOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; @@ -110,7 +111,29 @@ public class TelnetConnector extends TerminalConnectorImpl { fInputStream = inputStream; } private void setOutputStream(OutputStream outputStream) { - fOutputStream = outputStream; + if (outputStream == null) { + fOutputStream = null; + return; + } + // send LF after CR (telnet end-of-line sequence - RFC 854) + fOutputStream = new FilterOutputStream(outputStream) { + final byte CR = 13; + final byte LF = 10; + final byte[] CRLF = { CR, LF }; + int last = -1; + @Override + public void write(int b) throws IOException { + if (b == LF && last == CR) { + last = b; + return; + } + last = b; + if (b == CR) + out.write(CRLF); + else + out.write(b); + } + }; } Socket getSocket() { return fSocket; diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java index 316aaa1d897..b5d62b5ded9 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java @@ -562,6 +562,7 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC } protected void sendString(String string) { + Logger.log(string); try { // Send the string after converting it to an array of bytes using the // platform's default character encoding. @@ -1182,16 +1183,6 @@ public class VT100TerminalControl implements ITerminalControlForText, ITerminalC //handling unnecessary further up. sendChar(character, altKeyPressed); - // Special case: When we are in a TCP connection and echoing characters - // locally, send a LF after sending a CR. - // ISSUE: Is this absolutely required? - - if (character == '\r' && getTerminalConnector() != null - && isConnected() - && getTerminalConnector().isLocalEcho()) { - sendChar('\n', false); - } - // Now decide if we should locally echo the character we just sent. We do // _not_ locally echo the character if any of these conditions are true: // From cd6c2f02195409b8a6acc117c69d54ed6e49f66b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 23 Oct 2015 18:08:41 +0200 Subject: [PATCH 782/843] Update Eclipse Neon target definition --- admin/target-defs/eclipse-4.6.x-neon.target | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index 60e6eb98550..aee4e37a639 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -1,5 +1,5 @@ - + @@ -10,19 +10,19 @@ + + + + + - - - - - - - - - + + + + From 44f0083f7205961d7cd4af7328ab25b6dd4688bd Mon Sep 17 00:00:00 2001 From: Ryan Prichard Date: Mon, 30 Nov 2015 20:31:00 -0600 Subject: [PATCH 783/843] Reply to a DSR(5) request for ready status. When TM Terminal sees this: ESC [ 5 n It replies indicating that the terminal is OK: ESC [ 0 n This escape sequence is documented here: 8.3.35 DSR - DEVICE STATUS REPORT. Page 40. http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-048.pdf Motivation: I'd like to switch winpty from using DSR(6) to DSR(5) as its ESC flushing command. When winpty sees a bare ESC, it can either synthesize a VK_ESCAPE keypress or wait to see if the ESC was part of some other escape sequence. It tries to deal with this by generating a DSR(6), which should flush out the remaining bytes of the sequence, if there are any. DSR(6) is suboptimal, though, because the reply collides with the sequence some terminals use for F3 with a modifier: ESC [ nn ; nn R DSR(5) generates a DSR(0) reply, which does not have the same problem. DSR(5) is supported by all the terminal emulators I tested, including xterm, rxvt, rxvt-unicode, gnome-terminal, konsole, putty, mintty, OS X's Terminal.app, and IntelliJ/jediterm. Signed-off-by: Ryan Prichard --- .../terminal/emulator/VT100Emulator.java | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java index 7c201c7e8a2..5e6817a0979 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java @@ -974,23 +974,29 @@ public class VT100Emulator implements ControlListener { /** * This method responds to an ANSI Device Status Report (DSR) command from - * the remote endpoint requesting the cursor position. Requests for other - * kinds of status are ignored. + * the remote endpoint requesting the ready status or the cursor position. + * Requests for other kinds of status are ignored. */ private void processAnsiCommand_n() { - // Do nothing if the numeric parameter was not 6 (which means report cursor - // position). + String reply; - if (getAnsiParameter(0) != 6) + if (getAnsiParameter(0) == 5) { + // Report that the terminal is ready and has no malfunctions. + reply = "\u001b[0n"; //$NON-NLS-1$ + + } else if (getAnsiParameter(0) == 6) { + // Send the ANSI cursor position (which is 1-based) to the remote + // endpoint. + reply = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ + (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ + + } else { + // Do nothing if the numeric parameter was not 5 or 6. return; - - // Send the ANSI cursor position (which is 1-based) to the remote endpoint. - - String positionReport = "\u001b[" + (relativeCursorLine() + 1) + ";" + //$NON-NLS-1$ //$NON-NLS-2$ - (getCursorColumn() + 1) + "R"; //$NON-NLS-1$ + } try { - terminal.getOutputStream().write(positionReport.getBytes("ISO-8859-1")); //$NON-NLS-1$ + terminal.getOutputStream().write(reply.getBytes("ISO-8859-1")); //$NON-NLS-1$ terminal.getOutputStream().flush(); } catch (IOException ex) { Logger.log("Caught IOException!"); //$NON-NLS-1$ From e7939cc36086eac16807b582da283e311396db10 Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Wed, 16 Dec 2015 09:34:00 +0100 Subject: [PATCH 784/843] Fix handling of exported bash functions in environment --- .../tm/terminal/view/core/utils/Env.java | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java index be1650e8fff..cdd2c582e72 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java @@ -78,8 +78,10 @@ public class Env { // The full provided variable in form "name=value" String envpPart = envp[i]; // Split the variable - String[] parts = envpPart.split("=");//$NON-NLS-1$ - String name = parts[0].trim(); + int eqIdx = envpPart.indexOf('='); + if (eqIdx < 1) + continue; + String name = envpPart.substring(0, eqIdx); // Map the variable name to the real environment name (Windows only) if (Platform.OS_WIN32.equals(Platform.getOS())) { if (k2n.containsKey(name.toLowerCase())) { @@ -88,12 +90,12 @@ public class Env { name = candidate; } // Filter out environment variables with bad names - if ("".equals(name.trim()) || name.contains("=") || name.contains(":")) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + if ("".equals(name.trim()) || name.contains(":")) { //$NON-NLS-1$ //$NON-NLS-2$ continue; } } // Get the variable value - String value = parts.length > 1 ? parts[1].trim() : ""; //$NON-NLS-1$ + String value = envpPart.substring(eqIdx+1); // Don't overwrite the TERM variable if in terminal mode if (terminal && "TERM".equals(name)) continue; //$NON-NLS-1$ // If a variable with the name does not exist, just append it @@ -172,21 +174,22 @@ public class Env { BufferedReader reader = new BufferedReader(isreader); try { String line = reader.readLine(); - String key = null; - String value = null; while (line != null) { + String key = null; + String value = null; int func = line.indexOf("=()"); //$NON-NLS-1$ if (func > 0) { key = line.substring(0, func); // scan until we find the closing '}' with no following chars - value = "'" + line.substring(func + 1); //$NON-NLS-1$ - while (line != null && !line.equals("}")) { //$NON-NLS-1$ + value = line.substring(func + 1); + do { line = reader.readLine(); - if (line != null) { - value += " " + line; //$NON-NLS-1$ - } - } - value += "'"; //$NON-NLS-1$ + if (line == null) + break; + if (line.equals("}")) //$NON-NLS-1$ + value += ';'; + value += ' ' + line; + } while (!line.equals("}")); //$NON-NLS-1$ line = reader.readLine(); } else { int separator = line.indexOf('='); @@ -214,8 +217,6 @@ public class Env { } if (key != null) { cache.put(key, value); - key = null; - value = null; } else { line = reader.readLine(); } From 222deaa4e441cfe887f70e13f01104315183cb2f Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 17 Dec 2015 09:45:06 -0500 Subject: [PATCH 785/843] Missing string for %TerminalConnector.local Change-Id: I1f2dc6ba9d59763f78b06c404581ee19a6f311d7 Signed-off-by: Marc Khouzam --- .../org.eclipse.tm.terminal.connector.local/plugin.properties | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties index 0c8b643c535..5e1bf41ad9b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties @@ -18,6 +18,8 @@ command.launch.name=Open Local Terminal on Selection menu.showIn.localterminal.label = Terminal +TerminalConnector.local=Local + # ----- Preference Pages ----- preference.page.name=Local Terminal From 916992ab3d21ba294bfc8180c40e2b40d86cd511 Mon Sep 17 00:00:00 2001 From: Kaloyan Raev Date: Tue, 12 Jan 2016 16:18:46 +0200 Subject: [PATCH 786/843] Bug 485658 - NPE prevents displaying the actual error Change-Id: I66ec6d071a6807e6f90835bdc09e9cc46e6808fe Signed-off-by: Kaloyan Raev --- .../tm/terminal/connector/process/ProcessConnector.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java index 63913543c95..d4d8a7eef4a 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java @@ -1,11 +1,12 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Kaloyan Raev - Bug 485658 - NPE prevents displaying the actual error *******************************************************************************/ package org.eclipse.tm.terminal.connector.process; @@ -241,7 +242,9 @@ public class ProcessConnector extends AbstractStreamsConnector { @Override public void doDisconnect() { // Stop monitoring the process - monitor.dispose(); + if (monitor != null) { + monitor.dispose(); + } boolean isWindows = Platform.OS_WIN32.equals(Platform.getOS()); From 8eb7a7f21d84b909b369c5037fc1963e5c5e2651 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Wed, 10 Feb 2016 13:37:12 +0100 Subject: [PATCH 787/843] Bug 473107 - [TERMINALS] Show-In menu type depends on project type Introduced an ISourceProvider to check if external executables are configured. Renamed the Terminal context menu "Show In" to "Show in Local Terminal". Extended the visibleWhen check so that the "Show in Local Terminal" menu is only visible in the context menu if an external executable is configured. Otherwise it is possible to open the Terminal via the inclusion of the command in the default "Show In" menu. Change-Id: I618b2352a8973d6591cf9e673dc4eb01aeec072e Signed-off-by: Dirk Fauth --- .../plugin.xml | 98 ++++++++++++++----- .../showin/ExternalExecutablesManager.java | 12 +++ .../internal/ExternalExecutablesState.java | 46 +++++++++ .../plugin.properties | 2 +- 4 files changed, 133 insertions(+), 25 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index 7a8cadfae5a..fff3b942aab 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -30,35 +30,75 @@ id="org.eclipse.tm.terminal.connector.local.commands.showin.launch" label="%menu.showIn.localterminal.label" style="push"> - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -121,5 +161,15 @@ file="contexts.xml"> + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java index a85cff02055..02c924cad09 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java @@ -29,6 +29,9 @@ import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.connector.local.showin.internal.ExternalExecutablesState; +import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.services.ISourceProviderService; /** * External executables manager implementation. @@ -160,12 +163,19 @@ public class ExternalExecutablesManager { * @param l The list of external executables or null. */ public static void save(List> l) { + ISourceProviderService sourceProviderService = + PlatformUI.getWorkbench().getService(ISourceProviderService.class); + ExternalExecutablesState stateService = + (ExternalExecutablesState) sourceProviderService.getSourceProvider(ExternalExecutablesState.CONFIGURED_STATE); + IPath stateLocation = UIPlugin.getDefault().getStateLocation(); if (stateLocation != null) { File f = stateLocation.append(".executables/data.properties").toFile(); //$NON-NLS-1$ if (f.isFile() && (l == null || l.isEmpty())) { @SuppressWarnings("unused") boolean s = f.delete(); + + stateService.disable(); } else { FileWriter w = null; @@ -186,6 +196,8 @@ public class ExternalExecutablesManager { } w = new FileWriter(f); data.store(w, null); + + stateService.enable(); } catch (Exception e) { if (Platform.inDebugMode()) { e.printStackTrace(); diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java new file mode 100644 index 00000000000..f5c0dcd7160 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java @@ -0,0 +1,46 @@ +package org.eclipse.tm.terminal.connector.local.showin.internal; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesManager; +import org.eclipse.ui.AbstractSourceProvider; +import org.eclipse.ui.ISources; + +/** + * SourceProvider that provides a state to determine whether external executables are configured or not. + */ +public class ExternalExecutablesState extends AbstractSourceProvider { + public final static String CONFIGURED_STATE = "org.eclipse.tm.terminal.connector.local.external.configured"; //$NON-NLS-1$ + private boolean enabled; + + public ExternalExecutablesState() { + List> externals = ExternalExecutablesManager.load(); + this.enabled = (externals != null && !externals.isEmpty()); + } + + @Override + public String[] getProvidedSourceNames() { + return new String[] { CONFIGURED_STATE }; + } + + @Override + public Map getCurrentState() { + Map map = new HashMap(1); + map.put(CONFIGURED_STATE, Boolean.valueOf(enabled).toString().toUpperCase()); + return map; + } + + public void enable() { + fireSourceChanged(ISources.WORKBENCH, CONFIGURED_STATE, "TRUE"); //$NON-NLS-1$ + } + + public void disable() { + fireSourceChanged(ISources.WORKBENCH, CONFIGURED_STATE, "FALSE"); //$NON-NLS-1$ + } + + @Override + public void dispose() { + } +} diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index a7a1089ad4f..baf4dd5d7bd 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -44,7 +44,7 @@ command.disconnect.tooltip=Disconnect Terminal Connection command.newview.name=New Terminal View -menu.showIn.label = Show In +menu.showIn.label = Show in Local Terminal menu.showIn.mnemonic=I # ----- Extension Points ----- From 0c1dea71377722c0550dadbdea2da535efde5847 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Wed, 10 Feb 2016 16:02:54 +0100 Subject: [PATCH 788/843] Bug 460496 - [TERMINALS] Make it easier to run Git Bash Moved the code and all related configurations regarding showin from o.e.tm.terminal.connector.local to o.e.tm.terminal.view.ui Change-Id: If548ae729173c6127f7cf918aa2f783cd6cb3961 Signed-off-by: Dirk Fauth --- .../META-INF/MANIFEST.MF | 10 +-- .../contexts.xml | 6 -- .../plugin.xml | 73 +---------------- .../connector/local/help/IContextHelpIds.java | 29 ------- .../local/launcher/LocalLauncherDelegate.java | 5 +- .../connector/local/nls/Messages.java | 66 --------------- .../connector/local/nls/Messages.properties | 46 ----------- .../showin/interfaces/IPreferenceKeys.java | 50 ------------ .../preferences/PreferencesInitializer.java | 38 --------- .../META-INF/MANIFEST.MF | 2 + .../contexts.xml | 3 + .../plugin.properties | 13 +++ .../plugin.xml | 81 ++++++++++++++----- .../view/ui/help/IContextHelpIds.java | 8 +- .../IExternalExecutablesProperties.java | 2 +- .../view/ui/interfaces/IPreferenceKeys.java | 35 +++++++- .../internal/ExternalExecutablesState.java | 15 +++- .../showin/DynamicContributionItems.java | 4 +- .../showin/ExternalExecutablesDialog.java | 8 +- .../showin/ExternalExecutablesManager.java | 11 +-- .../tm/terminal/view/ui/nls/Messages.java | 41 +++++++++- .../terminal/view/ui/nls/Messages.properties | 38 +++++++++ .../view/ui}/preferences/PreferencePage.java | 14 ++-- .../PreferencesInitializer.java | 8 +- 24 files changed, 242 insertions(+), 364 deletions(-) delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/contexts.xml delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java delete mode 100644 plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/interfaces/IExternalExecutablesProperties.java (95%) rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/internal/ExternalExecutablesState.java (61%) rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/local/showin/DynamicContributionItems.java (97%) rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/local/showin/ExternalExecutablesDialog.java (98%) rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/local/showin/ExternalExecutablesManager.java (95%) rename plugins/{org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin => org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui}/preferences/PreferencePage.java (97%) rename plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/{internal => preferences}/PreferencesInitializer.java (77%) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF index 792c5c64fee..cb3e59f390d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF @@ -20,11 +20,5 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0";resolution:=optional Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.connector.local.activator;x-internal:=true, - org.eclipse.tm.terminal.connector.local.controls, - org.eclipse.tm.terminal.connector.local.help, - org.eclipse.tm.terminal.connector.local.launcher, - org.eclipse.tm.terminal.connector.local.nls;x-internal:=true, - org.eclipse.tm.terminal.connector.local.showin, - org.eclipse.tm.terminal.connector.local.showin.interfaces, - org.eclipse.tm.terminal.connector.local.showin.preferences +Export-Package: org.eclipse.tm.terminal.connector.local.controls, + org.eclipse.tm.terminal.connector.local.launcher diff --git a/plugins/org.eclipse.tm.terminal.connector.local/contexts.xml b/plugins/org.eclipse.tm.terminal.connector.local/contexts.xml deleted file mode 100644 index 2dbe1516c5b..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/contexts.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - Add or modify an external executable added to the 'Show In' context menu. - - diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index fff3b942aab..aec512a7e8e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -55,7 +55,7 @@ + variable="org.eclipse.tm.terminal.external.executable.configured"> @@ -64,43 +64,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -138,38 +101,4 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java deleted file mode 100644 index 72593ece7ad..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/help/IContextHelpIds.java +++ /dev/null @@ -1,29 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.help; - -import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; - - -/** - * UI Context help id definitions. - */ -public interface IContextHelpIds { - - /** - * UI plug-in common context help id prefix. - */ - public final static String PREFIX = UIPlugin.getUniqueIdentifier() + "."; //$NON-NLS-1$ - - /** - * External executables dialog. - */ - public final static String EXTERNAL_EXECUTABLES_DIALOG = PREFIX + "ExternalExecutablesDialog"; //$NON-NLS-1$ -} diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index c8db0707793..0e764e81861 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -1,11 +1,12 @@ /******************************************************************************* - * Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2012, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - Bug 460496 *******************************************************************************/ package org.eclipse.tm.terminal.connector.local.launcher; @@ -37,7 +38,6 @@ import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; import org.eclipse.tm.terminal.connector.local.controls.LocalWizardConfigurationPanel; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; import org.eclipse.tm.terminal.connector.process.ProcessSettings; import org.eclipse.tm.terminal.view.core.TerminalServiceFactory; import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService; @@ -47,6 +47,7 @@ import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnecto 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.interfaces.IPreferenceKeys; import org.eclipse.tm.terminal.view.ui.internal.SettingsStore; import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate; import org.eclipse.ui.ISelectionService; diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java deleted file mode 100644 index 497f132741c..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.java +++ /dev/null @@ -1,66 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.nls; - -import org.eclipse.osgi.util.NLS; - -/** - * Process terminal connector plug-in externalized strings management. - */ -public class Messages extends NLS { - - // The plug-in resource bundle name - private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.local.nls.Messages"; //$NON-NLS-1$ - - /** - * Static constructor. - */ - static { - // Load message values from bundle file - NLS.initializeMessages(BUNDLE_NAME, Messages.class); - } - - // **** Declare externalized string id's down here ***** - - public static String ProcessConnector_error_creatingProcess; - - public static String PreferencePage_label; - public static String PreferencePage_executables_label; - public static String PreferencePage_executables_column_name_label; - public static String PreferencePage_executables_column_path_label; - public static String PreferencePage_executables_button_add_label; - public static String PreferencePage_executables_button_edit_label; - public static String PreferencePage_executables_button_remove_label; - public static String PreferencePage_workingDir_label; - public static String PreferencePage_workingDir_userhome_label; - public static String PreferencePage_workingDir_eclipsehome_label; - public static String PreferencePage_workingDir_eclipsews_label; - public static String PreferencePage_workingDir_button_browse; - public static String PreferencePage_workingDir_note_label; - public static String PreferencePage_workingDir_note_text; - public static String PreferencePage_workingDir_button_variables; - public static String PreferencePage_workingDir_invalid; - public static String PreferencePage_command_label; - public static String PreferencePage_command_button_browse; - public static String PreferencePage_command_invalid; - public static String PreferencePage_command_note_label; - public static String PreferencePage_command_note_text; - public static String PreferencePage_command_arguments_label; - - public static String ExternalExecutablesDialog_title_add; - public static String ExternalExecutablesDialog_title_edit; - public static String ExternalExecutablesDialog_button_add; - public static String ExternalExecutablesDialog_button_browse; - public static String ExternalExecutablesDialog_field_path; - public static String ExternalExecutablesDialog_field_name; - public static String ExternalExecutablesDialog_field_args; - public static String ExternalExecutablesDialog_field_icon; - public static String ExternalExecutablesDialog_field_translate; -} diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties deleted file mode 100644 index 8bc8c292ae5..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/nls/Messages.properties +++ /dev/null @@ -1,46 +0,0 @@ -############################################################################### -# Copyright (c) 2012 - 2015 Wind River Systems, Inc. and others. All rights reserved. -# This program and the accompanying materials are made available under the terms -# of the Eclipse Public License v1.0 which accompanies this distribution, and is -# available at http://www.eclipse.org/legal/epl-v10.html -# -# Contributors: -# Wind River Systems - initial API and implementation -############################################################################### - -ProcessConnector_error_creatingProcess=Exception when creating process. Possibly caused by: {0} - -ExternalExecutablesDialog_title_add=Add External Executable -ExternalExecutablesDialog_title_edit=Edit External Executable -ExternalExecutablesDialog_button_add=Add -ExternalExecutablesDialog_button_browse=Browse... -ExternalExecutablesDialog_field_path=Path: -ExternalExecutablesDialog_field_name=Name: -ExternalExecutablesDialog_field_args=Arguments: -ExternalExecutablesDialog_field_icon=Icon: -ExternalExecutablesDialog_field_translate=Translate Backslashes on Paste - -# ----- Preference Pages ----- - -PreferencePage_label=Local Terminal Settings: -PreferencePage_executables_label="Show In ..." Custom Entries -PreferencePage_executables_column_name_label=Name -PreferencePage_executables_column_path_label=Path -PreferencePage_executables_button_add_label=Add... -PreferencePage_executables_button_edit_label=Edit... -PreferencePage_executables_button_remove_label=Remove -PreferencePage_workingDir_label=Initial Working Directory -PreferencePage_workingDir_userhome_label=User home -PreferencePage_workingDir_eclipsehome_label=Eclipse home -PreferencePage_workingDir_eclipsews_label=Eclipse workspace -PreferencePage_workingDir_button_browse=&Browse... -PreferencePage_workingDir_note_label=Note: -PreferencePage_workingDir_note_text=The chosen initial working directory might be overwritten by the current selection of the active view. -PreferencePage_workingDir_button_variables=&Variables... -PreferencePage_workingDir_invalid=Selected initial working directory is not a directory or is not readable. -PreferencePage_command_label=Shell Command -PreferencePage_command_button_browse=&Browse... -PreferencePage_command_invalid=Selected shell command is not a file or is not readable or executable. -PreferencePage_command_note_label=Note: -PreferencePage_command_note_text=Leave the shell command empty to fallback to the SHELL environment variable or if not set, to /bin/sh. -PreferencePage_command_arguments_label=Arguments: diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java deleted file mode 100644 index 9701826239d..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IPreferenceKeys.java +++ /dev/null @@ -1,50 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin.interfaces; - -/** - * Terminal plug-in preference key definitions. - */ -public interface IPreferenceKeys { - /** - * Preference keys family prefix. - */ - public final String PREF_TERMINAL = "terminals"; //$NON-NLS-1$ - - /** - * Preference key: Local terminal initial working directory. - */ - public final String PREF_LOCAL_TERMINAL_INITIAL_CWD = PREF_TERMINAL + ".localTerminalInitialCwd"; //$NON-NLS-1$ - - /** - * Preference value: Local terminal initial working directory is "User home" - */ - public final String PREF_INITIAL_CWD_USER_HOME = "userhome"; //$NON-NLS-1$ - - /** - * Preference value: Local terminal initial working directory is "Eclipse home" - */ - public final String PREF_INITIAL_CWD_ECLIPSE_HOME = "eclipsehome"; //$NON-NLS-1$ - - /** - * Preference value: Local terminal initial working directory is "Eclipse workspace" - */ - public final String PREF_INITIAL_CWD_ECLIPSE_WS = "eclipsews"; //$NON-NLS-1$ - - /** - * Preference key: Local terminal default shell command on Unix hosts. - */ - public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX = PREF_TERMINAL + ".localTerminalDefaultShellUnix"; //$NON-NLS-1$ - - /** - * Preference key: Local terminal default shell command arguments on Unix hosts. - */ - public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS = PREF_TERMINAL + ".localTerminalDefaultShellUnixArgs"; //$NON-NLS-1$ -} diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java deleted file mode 100644 index 2192198a552..00000000000 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencesInitializer.java +++ /dev/null @@ -1,38 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. - * This program and the accompanying materials are made available under the terms - * of the Eclipse Public License v1.0 which accompanies this distribution, and is - * available at http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Wind River Systems - initial API and implementation - *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin.preferences; - -import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; -import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; -import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; - -/** - * Terminal default preferences initializer. - */ -public class PreferencesInitializer extends AbstractPreferenceInitializer { - - /** - * Constructor. - */ - public PreferencesInitializer() { - } - - /* (non-Javadoc) - * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences() - */ - @Override - public void initializeDefaultPreferences() { - ScopedEclipsePreferences prefs = UIPlugin.getScopedPreferences(); - - prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME); - prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX, null); - } -} diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index 7a1718a7fc8..ab3d2b82497 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -8,6 +8,8 @@ Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.core.resources;bundle-version="3.8.1";resolution:=optional, + org.eclipse.core.variables;bundle-version="3.2.600", + org.eclipse.debug.ui;bundle-version="3.8.1";resolution:=optional, org.eclipse.egit.ui;bundle-version="2.0.0";resolution:=optional, org.eclipse.tm.terminal.view.core;bundle-version="4.0.0", org.eclipse.tm.terminal.control;bundle-version="4.0.0", diff --git a/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml b/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml index 612cd7c14b1..bb0f006fb07 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml @@ -6,4 +6,7 @@ Select the new encoding for the active terminal. + + Add or modify an external executable added to the 'Show in Local Terminal' context menu. + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index baf4dd5d7bd..84db8663907 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -47,6 +47,14 @@ command.newview.name=New Terminal View menu.showIn.label = Show in Local Terminal menu.showIn.mnemonic=I +LocalLauncherDelegate.label=Local Terminal + +command.launch.name=Open Local Terminal on Selection + +menu.showIn.localterminal.label = Terminal + +TerminalConnector.local=Local + # ----- Extension Points ----- ExtensionPoint.launcherDelegates.name=Terminal Launcher Delegates @@ -58,3 +66,8 @@ activities.category.terminals.description=Use the terminal to connect to remote activities.activity.terminals.views.name=Terminal Views activities.activity.terminals.views.description=Terminal related views. + +# ----- Preference Pages ----- + +preference.page.name=Local Terminal + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index 6c04a8c9d0e..d4470f277a3 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -128,11 +128,6 @@ - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java index b2e7954653d..4ab8d69d94f 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java @@ -1,11 +1,12 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - Bug 460496 *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.help; @@ -34,4 +35,9 @@ public interface IContextHelpIds { * Terminal control encoding selection dialog. */ public final static String ENCODING_SELECTION_DIALOG = PREFIX + "EncodingSelectionDialog"; //$NON-NLS-1$ + + /** + * External executables dialog. + */ + public final static String EXTERNAL_EXECUTABLES_DIALOG = PREFIX + "ExternalExecutablesDialog"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java index af23f06e080..cc78686d8f6 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin.interfaces; +package org.eclipse.tm.terminal.view.ui.interfaces; /** * External executables data property names. diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java index 557f7c22468..3667d523d60 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java @@ -1,11 +1,12 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - Bug 460496 *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.interfaces; @@ -25,4 +26,36 @@ public interface IPreferenceKeys { * Preference key: Remove terminated terminals when a new terminal is created. */ public final String PREF_REMOVE_TERMINATED_TERMINALS = PREF_TERMINAL + ".removeTerminatedTerminals"; //$NON-NLS-1$ + + // showin preferences + + /** + * Preference key: Local terminal initial working directory. + */ + public final String PREF_LOCAL_TERMINAL_INITIAL_CWD = PREF_TERMINAL + ".localTerminalInitialCwd"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "User home" + */ + public final String PREF_INITIAL_CWD_USER_HOME = "userhome"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "Eclipse home" + */ + public final String PREF_INITIAL_CWD_ECLIPSE_HOME = "eclipsehome"; //$NON-NLS-1$ + + /** + * Preference value: Local terminal initial working directory is "Eclipse workspace" + */ + public final String PREF_INITIAL_CWD_ECLIPSE_WS = "eclipsews"; //$NON-NLS-1$ + + /** + * Preference key: Local terminal default shell command on Unix hosts. + */ + public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX = PREF_TERMINAL + ".localTerminalDefaultShellUnix"; //$NON-NLS-1$ + + /** + * Preference key: Local terminal default shell command arguments on Unix hosts. + */ + public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS = PREF_TERMINAL + ".localTerminalDefaultShellUnixArgs"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java similarity index 61% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java index f5c0dcd7160..83e009c4282 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/internal/ExternalExecutablesState.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java @@ -1,10 +1,19 @@ -package org.eclipse.tm.terminal.connector.local.showin.internal; +/******************************************************************************* + * Copyright (c) 2016 Dirk Fauth and others. All rights reserved. + * This program and the accompanying materials are made available under the terms + * of the Eclipse Public License v1.0 which accompanies this distribution, and is + * available at http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Dirk Fauth - initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.view.ui.internal; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesManager; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; import org.eclipse.ui.AbstractSourceProvider; import org.eclipse.ui.ISources; @@ -12,7 +21,7 @@ import org.eclipse.ui.ISources; * SourceProvider that provides a state to determine whether external executables are configured or not. */ public class ExternalExecutablesState extends AbstractSourceProvider { - public final static String CONFIGURED_STATE = "org.eclipse.tm.terminal.connector.local.external.configured"; //$NON-NLS-1$ + public final static String CONFIGURED_STATE = "org.eclipse.tm.terminal.external.executable.configured"; //$NON-NLS-1$ private boolean enabled; public ExternalExecutablesState() { diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java index b43cda633cc..a1b324ac3a3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/DynamicContributionItems.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.util.ArrayList; import java.util.HashMap; @@ -22,8 +22,8 @@ import org.eclipse.jface.action.IContributionItem; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ISelection; import org.eclipse.swt.graphics.ImageData; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants; +import org.eclipse.tm.terminal.view.ui.interfaces.IExternalExecutablesProperties; import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; import org.eclipse.ui.ISelectionService; diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java similarity index 98% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java index 89f5e972245..603c57ba5e2 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.io.File; import java.util.HashMap; @@ -34,9 +34,9 @@ import org.eclipse.swt.widgets.FileDialog; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.terminal.connector.local.help.IContextHelpIds; -import org.eclipse.tm.terminal.connector.local.nls.Messages; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.help.IContextHelpIds; +import org.eclipse.tm.terminal.view.ui.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.PlatformUI; import org.osgi.framework.Bundle; diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java similarity index 95% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 02c924cad09..1c850cbe934 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -1,13 +1,14 @@ /******************************************************************************* - * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - Bug 460496 *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin; +package org.eclipse.tm.terminal.view.ui.local.showin; import java.io.File; import java.io.FileReader; @@ -27,9 +28,9 @@ import org.eclipse.core.runtime.IPath; import org.eclipse.core.runtime.Platform; import org.eclipse.swt.graphics.ImageData; import org.eclipse.swt.graphics.ImageLoader; -import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; -import org.eclipse.tm.terminal.connector.local.showin.internal.ExternalExecutablesState; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; +import org.eclipse.tm.terminal.view.ui.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.internal.ExternalExecutablesState; import org.eclipse.ui.PlatformUI; import org.eclipse.ui.services.ISourceProviderService; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java index 393c6d2f268..f7d4953f717 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -7,6 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361363] [TERMINALS] Implement "Pin&Clone" for the "Terminals" view + * Dirk Fauth - Bug 460496 *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.nls; @@ -112,4 +113,42 @@ public class Messages extends NLS { public static String TabFolderManager_state_closed; public static String NoteCompositeHelper_note_label; + + // showin messages + + public static String ProcessConnector_error_creatingProcess; + + public static String PreferencePage_label; + public static String PreferencePage_executables_label; + public static String PreferencePage_executables_column_name_label; + public static String PreferencePage_executables_column_path_label; + public static String PreferencePage_executables_button_add_label; + public static String PreferencePage_executables_button_edit_label; + public static String PreferencePage_executables_button_remove_label; + public static String PreferencePage_workingDir_label; + public static String PreferencePage_workingDir_userhome_label; + public static String PreferencePage_workingDir_eclipsehome_label; + public static String PreferencePage_workingDir_eclipsews_label; + public static String PreferencePage_workingDir_button_browse; + public static String PreferencePage_workingDir_note_label; + public static String PreferencePage_workingDir_note_text; + public static String PreferencePage_workingDir_button_variables; + public static String PreferencePage_workingDir_invalid; + public static String PreferencePage_command_label; + public static String PreferencePage_command_button_browse; + public static String PreferencePage_command_invalid; + public static String PreferencePage_command_note_label; + public static String PreferencePage_command_note_text; + public static String PreferencePage_command_arguments_label; + + public static String ExternalExecutablesDialog_title_add; + public static String ExternalExecutablesDialog_title_edit; + public static String ExternalExecutablesDialog_button_add; + public static String ExternalExecutablesDialog_button_browse; + public static String ExternalExecutablesDialog_field_path; + public static String ExternalExecutablesDialog_field_name; + public static String ExternalExecutablesDialog_field_args; + public static String ExternalExecutablesDialog_field_icon; + public static String ExternalExecutablesDialog_field_translate; + } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties index ba6f0e917c6..e4a1ae3f62b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties @@ -73,3 +73,41 @@ TabFolderManager_state_closed=Closed NoteCompositeHelper_note_label=Note: +# ----- showin + +ProcessConnector_error_creatingProcess=Exception when creating process. Possibly caused by: {0} + +ExternalExecutablesDialog_title_add=Add External Executable +ExternalExecutablesDialog_title_edit=Edit External Executable +ExternalExecutablesDialog_button_add=Add +ExternalExecutablesDialog_button_browse=Browse... +ExternalExecutablesDialog_field_path=Path: +ExternalExecutablesDialog_field_name=Name: +ExternalExecutablesDialog_field_args=Arguments: +ExternalExecutablesDialog_field_icon=Icon: +ExternalExecutablesDialog_field_translate=Translate Backslashes on Paste + +# ----- Preference Pages ----- + +PreferencePage_label=Local Terminal Settings: +PreferencePage_executables_label="Show In ..." Custom Entries +PreferencePage_executables_column_name_label=Name +PreferencePage_executables_column_path_label=Path +PreferencePage_executables_button_add_label=Add... +PreferencePage_executables_button_edit_label=Edit... +PreferencePage_executables_button_remove_label=Remove +PreferencePage_workingDir_label=Initial Working Directory +PreferencePage_workingDir_userhome_label=User home +PreferencePage_workingDir_eclipsehome_label=Eclipse home +PreferencePage_workingDir_eclipsews_label=Eclipse workspace +PreferencePage_workingDir_button_browse=&Browse... +PreferencePage_workingDir_note_label=Note: +PreferencePage_workingDir_note_text=The chosen initial working directory might be overwritten by the current selection of the active view. +PreferencePage_workingDir_button_variables=&Variables... +PreferencePage_workingDir_invalid=Selected initial working directory is not a directory or is not readable. +PreferencePage_command_label=Shell Command +PreferencePage_command_button_browse=&Browse... +PreferencePage_command_invalid=Selected shell command is not a file or is not readable or executable. +PreferencePage_command_note_label=Note: +PreferencePage_command_note_text=Leave the shell command empty to fallback to the SHELL environment variable or if not set, to /bin/sh. +PreferencePage_command_arguments_label=Arguments: diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java similarity index 97% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java index 9e3aabd98ab..6fb85bccaec 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/showin/preferences/PreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java @@ -7,7 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation *******************************************************************************/ -package org.eclipse.tm.terminal.connector.local.showin.preferences; +package org.eclipse.tm.terminal.view.ui.preferences; import java.io.File; import java.net.URI; @@ -62,13 +62,13 @@ import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; import org.eclipse.swt.widgets.Text; -import org.eclipse.tm.terminal.connector.local.activator.UIPlugin; -import org.eclipse.tm.terminal.connector.local.nls.Messages; -import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesDialog; -import org.eclipse.tm.terminal.connector.local.showin.ExternalExecutablesManager; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IExternalExecutablesProperties; -import org.eclipse.tm.terminal.connector.local.showin.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; import org.eclipse.tm.terminal.view.ui.controls.NoteCompositeHelper; +import org.eclipse.tm.terminal.view.ui.interfaces.IExternalExecutablesProperties; +import org.eclipse.tm.terminal.view.ui.interfaces.IPreferenceKeys; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesDialog; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; +import org.eclipse.tm.terminal.view.ui.nls.Messages; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.IWorkbenchPreferencePage; import org.osgi.framework.Bundle; diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java similarity index 77% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java rename to plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java index eca82dc3652..1c79e022fdf 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PreferencesInitializer.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java @@ -1,13 +1,14 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - Bug 460496 *******************************************************************************/ -package org.eclipse.tm.terminal.view.ui.internal; +package org.eclipse.tm.terminal.view.ui.preferences; import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer; import org.eclipse.tm.terminal.view.core.preferences.ScopedEclipsePreferences; @@ -33,5 +34,8 @@ public class PreferencesInitializer extends AbstractPreferenceInitializer { ScopedEclipsePreferences prefs = UIPlugin.getScopedPreferences(); prefs.putDefaultBoolean(IPreferenceKeys.PREF_REMOVE_TERMINATED_TERMINALS, true); + + prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD, IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME); + prefs.putDefaultString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX, null); } } From e25c78d251f799ced7345954c4b509a6c8651637 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Wed, 10 Feb 2016 16:42:06 +0100 Subject: [PATCH 789/843] Bug 460496 - [TERMINALS] Make it easier to run Git Bash Added external executables to the terminal combobox on the Open Terminal Dialog (Ctrl+Alt+Shift+T) Change-Id: Ia9d9a3959fd95b666c4a1ad4474b519103297920 Signed-off-by: Dirk Fauth --- .../dialogs/LaunchTerminalSettingsDialog.java | 56 ++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java index 14d8c1bcea1..af52d93e7e2 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -7,6 +7,7 @@ * Contributors: * Wind River Systems - initial API and implementation * Max Weninger (Wind River) - [361352] [TERMINALS][SSH] Add SSH terminal support + * Dirk Fauth - Bug 460496 *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.internal.dialogs; @@ -41,10 +42,13 @@ import org.eclipse.tm.terminal.view.ui.activator.UIPlugin; import org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl; import org.eclipse.tm.terminal.view.ui.help.IContextHelpIds; import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel; +import org.eclipse.tm.terminal.view.ui.interfaces.IExternalExecutablesProperties; import org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate; import org.eclipse.tm.terminal.view.ui.interfaces.tracing.ITraceIds; import org.eclipse.tm.terminal.view.ui.launcher.LauncherDelegateManager; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; import org.eclipse.tm.terminal.view.ui.nls.Messages; +import org.eclipse.ui.ISelectionService; import org.eclipse.ui.PlatformUI; /** @@ -63,6 +67,9 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { // Map the label added to the combo box to the corresponding launcher delegate. /* default */ final Map label2delegate = new HashMap(); + // Map the label added to the combo box to the corresponding launcher properties for external executables. + /* default */ final Map> label2properties = new HashMap>(); + // The data object containing the currently selected settings private Map data = null; @@ -402,6 +409,8 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { protected List getTerminals() { List items = new ArrayList(); + ILauncherDelegate localLauncher = null; + if(selection==null || selection.isEmpty()){ if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("Getting launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ @@ -421,6 +430,10 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ label2delegate.put(label, delegate); items.add(label); + + if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ + localLauncher = delegate; + } } } else { if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { @@ -441,9 +454,45 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ label2delegate.put(label, delegate); items.add(label); + + if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ + localLauncher = delegate; + } } } + // if the local launcher was found, check for configured external executables + if (localLauncher != null) { + List> l = ExternalExecutablesManager.load(); + if (l != null && !l.isEmpty()) { + for (Map executableData : l) { + String name = executableData.get(IExternalExecutablesProperties.PROP_NAME); + String path = executableData.get(IExternalExecutablesProperties.PROP_PATH); + String args = executableData.get(IExternalExecutablesProperties.PROP_ARGS); + + String strTranslate = executableData.get(IExternalExecutablesProperties.PROP_TRANSLATE); + boolean translate = strTranslate != null ? Boolean.parseBoolean(strTranslate) : false; + + if (name != null && !"".equals(name) && path != null && !"".equals(path)) { //$NON-NLS-1$ //$NON-NLS-2$ + ISelectionService service = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService(); + ISelection selection = service != null ? service.getSelection() : null; + if (selection != null && selection.isEmpty()) selection = null; + + Map properties = new HashMap(); + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_PATH, path); + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_ARGS, args); + properties.put(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE, Boolean.valueOf(translate)); + + // store external executable and properties + label2delegate.put(name, localLauncher); + label2properties.put(name, properties); + items.add(name); + } + } + } + + } + return items; } @@ -534,6 +583,11 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { // Store the selection data.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + // Add the properties for external executables if there are any + if (label2properties.containsKey(terminalLabel)) { + data.putAll(label2properties.get(terminalLabel)); + } + // Store the delegate specific settings panel.extractData(data); From a02adccef6b0114db17304d4a132150ee7099200 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Wed, 10 Feb 2016 21:03:30 +0100 Subject: [PATCH 790/843] Bug 460496 - [TERMINALS] Make it easier to run Git Bash Added auto-detection of Git installations on Windows Change-Id: I42702126ffb550dd8b289a45ee552d5095a1a615 Signed-off-by: Dirk Fauth --- .../showin/ExternalExecutablesManager.java | 48 +++++++++++++++++-- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 1c850cbe934..1a2886c3a29 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -128,16 +128,26 @@ public class ExternalExecutablesManager { gitPath = f2.getAbsolutePath(); } - f2 = new File(f.getParentFile().getParentFile(), "etc/git.ico"); //$NON-NLS-1$ - if (f2.canRead()) { - iconPath = f2.getAbsolutePath(); - } + iconPath = getGitIconPath(f.getParentFile().getParentFile()); break; } } } + // if it is not found in the PATH, check the default install locations + if (gitPath == null) { + File f = new File("C:/Program Files (x86)/Git/bin/sh.exe"); //$NON-NLS-1$ + if (!f.exists()) { + f = new File("C:/Program Files/Git/bin/sh.exe"); //$NON-NLS-1$ + } + + if (f.exists() && f.canExecute()) { + gitPath = f.getAbsolutePath(); + iconPath = getGitIconPath(f.getParentFile().getParentFile()); + } + } + if (gitPath != null) { m = new HashMap(); m.put(IExternalExecutablesProperties.PROP_NAME, "Git Bash"); //$NON-NLS-1$ @@ -158,6 +168,27 @@ public class ExternalExecutablesManager { return l; } + private static String getGitIconPath(File parent) { + File f = new File(parent, "etc/git.ico"); //$NON-NLS-1$ + if (f.canRead()) { + return f.getAbsolutePath(); + } + + // check for icon in newer versions of Git for Windows 32 bit + f = new File(parent, "mingw32/share/git/git-for-windows.ico"); //$NON-NLS-1$ + if (f.canRead()) { + return f.getAbsolutePath(); + } + + // check for icon in newer versions of Git for Windows 64 bit + f = new File(parent, "mingw64/share/git/git-for-windows.ico"); //$NON-NLS-1$ + if (f.canRead()) { + return f.getAbsolutePath(); + } + + return null; + } + /** * Saves the list of external executables. * @@ -228,6 +259,7 @@ public class ExternalExecutablesManager { Assert.isNotNull(path); ImageData id = null; + ImageData biggest = null; ImageLoader loader = new ImageLoader(); ImageData[] data = loader.load(path); @@ -243,13 +275,21 @@ public class ExternalExecutablesManager { } else { if (id == null) { id = d; + biggest = d; } else if (id.height != 16 && d.height < id.height && id.width != 16 && d.width < id.width) { id = d; + } else if (d.height > biggest.height && d.width > biggest.width) { + biggest = d; } } } } + // if the icon is still to big -> downscale the biggest + if (id.height > 16 && id.width > 16) { + id = biggest.scaledTo(16, 16); + } + return id; } } From 690bb955303fd65ef05b1820ce3b81264dfc02d5 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 8 Mar 2016 17:01:11 +0100 Subject: [PATCH 791/843] Fix NPE in ExternalExecutablesManager --- .../view/ui/local/showin/ExternalExecutablesManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 1a2886c3a29..ab4154a9824 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -278,7 +278,7 @@ public class ExternalExecutablesManager { biggest = d; } else if (id.height != 16 && d.height < id.height && id.width != 16 && d.width < id.width) { id = d; - } else if (d.height > biggest.height && d.width > biggest.width) { + } else if (biggest == null || d.height > biggest.height && d.width > biggest.width) { biggest = d; } } From 4f29bbabc06e2264d1fa57087474c9fb8ee21c37 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 8 Mar 2016 17:03:20 +0100 Subject: [PATCH 792/843] Fix copyrights --- plugins/org.eclipse.tm.terminal.test/plugin.properties | 2 +- .../tm/internal/terminal/model/TerminalTextDataWindowTest.java | 2 +- plugins/org.eclipse.tm.terminal.view.ui/plugin.properties | 2 +- .../view/ui/interfaces/IExternalExecutablesProperties.java | 2 +- .../terminal/view/ui/local/showin/DynamicContributionItems.java | 2 +- .../view/ui/local/showin/ExternalExecutablesDialog.java | 2 +- .../src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties | 2 +- .../eclipse/tm/terminal/view/ui/preferences/PreferencePage.java | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.test/plugin.properties b/plugins/org.eclipse.tm.terminal.test/plugin.properties index f74a7db7e8b..d08f52e7a38 100644 --- a/plugins/org.eclipse.tm.terminal.test/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.test/plugin.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. +# Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java index ab9ccfdb5b9..8333aad3c75 100644 --- a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java +++ b/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2014 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties index 84db8663907..fdd4f5467be 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java index cc78686d8f6..d90b967e925 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java index a1b324ac3a3..9e96f83d28e 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java index 603c57ba5e2..1a4758b6761 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties index e4a1ae3f62b..36db2e5f598 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2012 - 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2012, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java index 6fb85bccaec..c3114c958c9 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2014 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html From b093d30afea24b89fe711026eacf5c75e3153de0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Wed, 9 Mar 2016 09:01:45 +0100 Subject: [PATCH 793/843] Fix casting to the correct type for compatibility with older Eclipse releases --- .../view/ui/local/showin/ExternalExecutablesManager.java | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index ab4154a9824..b2368b85846 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -194,11 +194,10 @@ public class ExternalExecutablesManager { * * @param l The list of external executables or null. */ - public static void save(List> l) { - ISourceProviderService sourceProviderService = - PlatformUI.getWorkbench().getService(ISourceProviderService.class); - ExternalExecutablesState stateService = - (ExternalExecutablesState) sourceProviderService.getSourceProvider(ExternalExecutablesState.CONFIGURED_STATE); + @SuppressWarnings("cast") + public static void save(List> l) { + ISourceProviderService sourceProviderService = (ISourceProviderService) PlatformUI.getWorkbench().getService(ISourceProviderService.class); + ExternalExecutablesState stateService = (ExternalExecutablesState) sourceProviderService.getSourceProvider(ExternalExecutablesState.CONFIGURED_STATE); IPath stateLocation = UIPlugin.getDefault().getStateLocation(); if (stateLocation != null) { From 6b26ac987b1ce48ec69633e6b5dda7d48d5950e0 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sat, 19 Mar 2016 09:15:45 +0100 Subject: [PATCH 794/843] Fix NPE on initializing the external executables state service provider --- .../view/ui/internal/ExternalExecutablesState.java | 10 +++++----- .../ui/local/showin/ExternalExecutablesManager.java | 6 ++++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java index 83e009c4282..dda1ccecb67 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java @@ -10,10 +10,8 @@ package org.eclipse.tm.terminal.view.ui.internal; import java.util.HashMap; -import java.util.List; import java.util.Map; -import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; import org.eclipse.ui.AbstractSourceProvider; import org.eclipse.ui.ISources; @@ -22,11 +20,13 @@ import org.eclipse.ui.ISources; */ public class ExternalExecutablesState extends AbstractSourceProvider { public final static String CONFIGURED_STATE = "org.eclipse.tm.terminal.external.executable.configured"; //$NON-NLS-1$ - private boolean enabled; + private boolean enabled = false; public ExternalExecutablesState() { - List> externals = ExternalExecutablesManager.load(); - this.enabled = (externals != null && !externals.isEmpty()); + // Cannot initialize the state here by calling ExternalExecutablesManager.load(), + // because it will trigger a ExternalExectuablesManger.save() which tries to call + // the enable() or disable() method here. Better initialize the state from the + // load method itself. } @Override diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index b2368b85846..40db4891931 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -46,6 +46,7 @@ public class ExternalExecutablesManager { * * @return The list of all saved external executables or null. */ + @SuppressWarnings("cast") public static List> load() { List> l = new ArrayList>(); @@ -165,6 +166,11 @@ public class ExternalExecutablesManager { gitBashSearchDone = true; } + // Make sure the source provider is initialized properly + ISourceProviderService sourceProviderService = (ISourceProviderService) PlatformUI.getWorkbench().getService(ISourceProviderService.class); + ExternalExecutablesState stateService = (ExternalExecutablesState) sourceProviderService.getSourceProvider(ExternalExecutablesState.CONFIGURED_STATE); + if (l.isEmpty()) stateService.disable(); else stateService.enable(); + return l; } From 23e5ed3b10641d6eef65cd5876bd2eade5061685 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sat, 19 Mar 2016 09:18:30 +0100 Subject: [PATCH 795/843] Fix NPE on initializing the external executables state service provider - part 2 --- .../view/ui/internal/ExternalExecutablesState.java | 10 +++++----- .../ui/local/showin/ExternalExecutablesManager.java | 9 ++------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java index dda1ccecb67..83e009c4282 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java @@ -10,8 +10,10 @@ package org.eclipse.tm.terminal.view.ui.internal; import java.util.HashMap; +import java.util.List; import java.util.Map; +import org.eclipse.tm.terminal.view.ui.local.showin.ExternalExecutablesManager; import org.eclipse.ui.AbstractSourceProvider; import org.eclipse.ui.ISources; @@ -20,13 +22,11 @@ import org.eclipse.ui.ISources; */ public class ExternalExecutablesState extends AbstractSourceProvider { public final static String CONFIGURED_STATE = "org.eclipse.tm.terminal.external.executable.configured"; //$NON-NLS-1$ - private boolean enabled = false; + private boolean enabled; public ExternalExecutablesState() { - // Cannot initialize the state here by calling ExternalExecutablesManager.load(), - // because it will trigger a ExternalExectuablesManger.save() which tries to call - // the enable() or disable() method here. Better initialize the state from the - // load method itself. + List> externals = ExternalExecutablesManager.load(); + this.enabled = (externals != null && !externals.isEmpty()); } @Override diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 40db4891931..271e7a49b2a 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -166,11 +166,6 @@ public class ExternalExecutablesManager { gitBashSearchDone = true; } - // Make sure the source provider is initialized properly - ISourceProviderService sourceProviderService = (ISourceProviderService) PlatformUI.getWorkbench().getService(ISourceProviderService.class); - ExternalExecutablesState stateService = (ExternalExecutablesState) sourceProviderService.getSourceProvider(ExternalExecutablesState.CONFIGURED_STATE); - if (l.isEmpty()) stateService.disable(); else stateService.enable(); - return l; } @@ -212,7 +207,7 @@ public class ExternalExecutablesManager { @SuppressWarnings("unused") boolean s = f.delete(); - stateService.disable(); + if (stateService != null) stateService.disable(); } else { FileWriter w = null; @@ -234,7 +229,7 @@ public class ExternalExecutablesManager { w = new FileWriter(f); data.store(w, null); - stateService.enable(); + if (stateService != null) stateService.enable(); } catch (Exception e) { if (Platform.inDebugMode()) { e.printStackTrace(); From 838e82efebf6193de5e4de02472f4e76fa6cab29 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Sat, 19 Mar 2016 09:19:19 +0100 Subject: [PATCH 796/843] Remove unused suppress warning tag --- .../view/ui/local/showin/ExternalExecutablesManager.java | 1 - 1 file changed, 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index 271e7a49b2a..b1d23db2302 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -46,7 +46,6 @@ public class ExternalExecutablesManager { * * @return The list of all saved external executables or null. */ - @SuppressWarnings("cast") public static List> load() { List> l = new ArrayList>(); From 397566b1c318fba23cbb912e1f786f040087e35b Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 13 May 2016 13:35:17 +0200 Subject: [PATCH 797/843] Switch to Neon M7 Orbit repository --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index e96f7b35b16..1510ae6c2f4 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -61,7 +61,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/4.6milestones http://download.eclipse.org/releases/neon - http://download.eclipse.org/tools/orbit/downloads/drops/R20150821153341/repository + http://download.eclipse.org/tools/orbit/downloads/drops/S20160501200945/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 From d139f177eae8d1b2a3a5d73ed3941efc380f074f Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 26 May 2016 18:28:31 +0200 Subject: [PATCH 798/843] Update Orbit to Neon R20160520211859 Change-Id: I90985bfe5b00b1c323c4ec8201b4e2e2511cbb0e Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 1510ae6c2f4..41e0a496a15 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -61,7 +61,7 @@ http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/4.6milestones http://download.eclipse.org/releases/neon - http://download.eclipse.org/tools/orbit/downloads/drops/S20160501200945/repository + http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 From 8a58510c51fcd7824848d3891ae3c75f4407318e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 5 Jun 2016 21:54:53 +0200 Subject: [PATCH 799/843] Update to official Platform 4.6rc4 build site Change-Id: Idd2e68a55a557e1339ff2cdf9d3038c3e20d36fe Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 41e0a496a15..abcd3b6d88b 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -59,7 +59,7 @@ http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/4.6milestones + http://download.eclipse.org/eclipse/updates/4.6milestones/S-4.6RC4-201606031000 http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones From 63b2c797b7768c5a6ef1ce87e6a37d6ac1f653e1 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 5 Jun 2016 22:15:18 +0200 Subject: [PATCH 800/843] API Tooling: Add missing @since 4.1 tags Change-Id: I9bead7f0537bcbff89fca582fc8510d441eeb39c Signed-off-by: Martin Oberhuber --- .../eclipse/tm/terminal/view/ui/help/IContextHelpIds.java | 1 + .../view/ui/interfaces/IExternalExecutablesProperties.java | 4 ++++ .../tm/terminal/view/ui/interfaces/IPreferenceKeys.java | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java index 4ab8d69d94f..f4f2a07d076 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java @@ -38,6 +38,7 @@ public interface IContextHelpIds { /** * External executables dialog. + * @since 4.1 */ public final static String EXTERNAL_EXECUTABLES_DIALOG = PREFIX + "ExternalExecutablesDialog"; //$NON-NLS-1$ } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java index d90b967e925..78fcc4bcab2 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java @@ -6,11 +6,15 @@ * * Contributors: * Wind River Systems - initial API and implementation + * Dirk Fauth - [460496] Moved from o.e.tm.t.connector.local.showin.interfaces *******************************************************************************/ package org.eclipse.tm.terminal.view.ui.interfaces; /** * External executables data property names. + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. + * @since 4.1 */ public interface IExternalExecutablesProperties { diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java index 3667d523d60..c4df89d06df 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java @@ -31,31 +31,37 @@ public interface IPreferenceKeys { /** * Preference key: Local terminal initial working directory. + * @since 4.1 */ public final String PREF_LOCAL_TERMINAL_INITIAL_CWD = PREF_TERMINAL + ".localTerminalInitialCwd"; //$NON-NLS-1$ /** * Preference value: Local terminal initial working directory is "User home" + * @since 4.1 */ public final String PREF_INITIAL_CWD_USER_HOME = "userhome"; //$NON-NLS-1$ /** * Preference value: Local terminal initial working directory is "Eclipse home" + * @since 4.1 */ public final String PREF_INITIAL_CWD_ECLIPSE_HOME = "eclipsehome"; //$NON-NLS-1$ /** * Preference value: Local terminal initial working directory is "Eclipse workspace" + * @since 4.1 */ public final String PREF_INITIAL_CWD_ECLIPSE_WS = "eclipsews"; //$NON-NLS-1$ /** * Preference key: Local terminal default shell command on Unix hosts. + * @since 4.1 */ public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX = PREF_TERMINAL + ".localTerminalDefaultShellUnix"; //$NON-NLS-1$ /** * Preference key: Local terminal default shell command arguments on Unix hosts. + * @since 4.1 */ public final String PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS = PREF_TERMINAL + ".localTerminalDefaultShellUnixArgs"; //$NON-NLS-1$ } From 074294891842c90955788583de04b4bc38c5f275 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 5 Jun 2016 23:21:17 +0200 Subject: [PATCH 801/843] Polish: Fix NewTerminalView Action Label Change-Id: I09ab930ee8f1428e4109277e5dc4a024031ce7a4 Signed-off-by: Martin Oberhuber --- .../src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties index 36db2e5f598..0af5fc13adf 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties @@ -29,7 +29,7 @@ TabTerminalListener_consoleClosed=<{1}> {0} TabTerminalListener_consoleConnecting={0} : {1}... NewTerminalViewAction_menu=New Terminal View -NewTerminalViewAction_tooltip=Opens a new Terminal View +NewTerminalViewAction_tooltip=Open a new Terminal View ToggleCommandFieldAction_menu=Toggle Command Input Field ToggleCommandFieldAction_toolTip=Toggle Command Input Field From 026296b1e46e88b5e2776ac650f4921efd832b3a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 5 Jun 2016 23:35:17 +0200 Subject: [PATCH 802/843] Polish: Fix update site name and remote.sdk feature label Change-Id: I0ba754959f3c4e5ed10d2d3f6c79ea9664257a61 Signed-off-by: Martin Oberhuber --- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 4 ++-- .../feature.properties | 8 ++++---- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../org.eclipse.tm.terminal.feature/feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- .../feature.properties | 6 +++--- 18 files changed, 54 insertions(+), 54 deletions(-) diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties index 143f2587363..2785bf502d3 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Local Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A connector implementation for the Local Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties index 45388fb2c7d..dac35c87c4b 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Local Connector Extensions, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A connector implementation for the Local Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties index f1fef0c00a5..c99e6820f24 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2015 IBM Corporation and others. +# Copyright (c) 2015, 2016 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,7 +18,7 @@ featureName=TM Terminal via Remote API Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A Terminal Connector using the org.eclipse.remote API. diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties index a0639c0e2fc..f5cab9d9605 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2015 IBM Corporation and others. +# Copyright (c) 2015, 2016 IBM Corporation and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -12,20 +12,20 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Remote Connector Extensions, SDK +featureName=TM Terminal via Remote API Connector Extensions, SDK # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An remote connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2015 IBM Corporation and others.\n\ +Copyright (c) 2015, 2016 IBM Corporation and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties index d37b6db1fba..3eb698d8cec 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Serial Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties index 64e244a6d41..f487483bed8 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Serial Connector Extensions, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A serial line connector for the Terminal using RXTX API # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties index d60ae03b044..0f625f2e2c2 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal SSH Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties index f4ba02af787..6697f9a41dc 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal SSH Connector Extensions, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An SSH connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2000, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2000, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties index 5a75241ccaf..6328baee5c3 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Telnet Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties index fb6c12b2ebd..1df870c3b00 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Telnet Connector Extensions, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=A Telnet connector implementation for the Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.properties b/features/org.eclipse.tm.terminal.control.feature/feature.properties index 37f02c5d855..45cbb215601 100644 --- a/features/org.eclipse.tm.terminal.control.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,7 +21,7 @@ featureName=TM Terminal Control providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties index fb432a38524..21681090331 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,7 +21,7 @@ featureName=TM Terminal Control, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.feature/feature.properties b/features/org.eclipse.tm.terminal.feature/feature.properties index 4a88bf60c93..4d53c2a51cf 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2015, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=TM Terminal providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ @@ -29,7 +29,7 @@ description=An integrated Eclipse View for the local command prompt (console) or # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties index 7b8d6be0183..53ba9183652 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2015, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=TM Terminal, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ @@ -29,7 +29,7 @@ description=An integrated Eclipse View for the local command prompt (console) or # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.properties b/features/org.eclipse.tm.terminal.view.feature/feature.properties index 8e21c6533e6..cc73e64c5af 100644 --- a/features/org.eclipse.tm.terminal.view.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=Terminal (Console) View providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ @@ -29,7 +29,7 @@ description=An integrated Eclipse View for the local command prompt (console) or # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties index 05b855b9884..c936837b161 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=TM Terminal View Remote System Explorer add-in providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=Integrates the Terminal view into the Remote System Explorer. \ @@ -28,7 +28,7 @@ description=Integrates the Terminal view into the Remote System Explorer. \ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2014, 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2014, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties index e783df36b9b..be661e2b7eb 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2014, 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2014, 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=TM Terminal View Remote System Explorer add-in, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=Integrates the Terminal view into the Remote System Explorer. \ @@ -28,7 +28,7 @@ description=Integrates the Terminal view into the Remote System Explorer. \ # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2014 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2014, 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties index 79b150521dc..aa8a59d8698 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties @@ -1,5 +1,5 @@ ################################################################################## -# Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. +# Copyright (c) 2011 - 2016 Wind River Systems, Inc. and others. All rights reserved. # This program and the accompanying materials are made available under the terms # of the Eclipse Public License v1.0 which accompanies this distribution, and is # available at http://www.eclipse.org/legal/epl-v10.html @@ -20,7 +20,7 @@ featureName=Terminal (Console) View, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.0 Updates +updateSiteName=TM Terminal 4.1 Updates # "description" property - description of the feature description=An integrated Eclipse View for the local command prompt (console) or \ @@ -29,7 +29,7 @@ description=An integrated Eclipse View for the local command prompt (console) or # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2011 - 2016 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ From 8854fc96961a3f2ded5184900293d582858b5272 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 6 Jun 2016 01:29:33 +0200 Subject: [PATCH 803/843] Polish: Export all packages Change-Id: I95258bdb898112c0a78431281fec9e5a687ecf90 Signed-off-by: Martin Oberhuber --- .../META-INF/MANIFEST.MF | 3 ++- plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF index cb3e59f390d..1b7bc63f3ea 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF @@ -20,5 +20,6 @@ Require-Bundle: org.eclipse.cdt.core;bundle-version="5.6.0";resolution:=optional Bundle-RequiredExecutionEnvironment: JavaSE-1.6 Bundle-ActivationPolicy: lazy Bundle-Localization: plugin -Export-Package: org.eclipse.tm.terminal.connector.local.controls, +Export-Package: org.eclipse.tm.terminal.connector.local.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.local.controls, org.eclipse.tm.terminal.connector.local.launcher diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index ab3d2b82497..a402394559c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -28,9 +28,11 @@ Export-Package: org.eclipse.tm.terminal.view.ui.actions, org.eclipse.tm.terminal.view.ui.internal.handler;x-internal:=true, org.eclipse.tm.terminal.view.ui.launcher, org.eclipse.tm.terminal.view.ui.listeners, + org.eclipse.tm.terminal.view.ui.local.showin;x-internal:=true, org.eclipse.tm.terminal.view.ui.manager, org.eclipse.tm.terminal.view.ui.nls;x-internal:=true, org.eclipse.tm.terminal.view.ui.panels, + org.eclipse.tm.terminal.view.ui.preferences;x-internal:=true, org.eclipse.tm.terminal.view.ui.services, org.eclipse.tm.terminal.view.ui.streams, org.eclipse.tm.terminal.view.ui.tabs, From da9b43493e5c4cb951bb278072d35e1b8eac2e6c Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 6 Jun 2016 01:36:16 +0200 Subject: [PATCH 804/843] Polish: Fix Findbugs Warnings Change-Id: Ia43fad4721162d3e834d95773ad604247cd92556 Signed-off-by: Martin Oberhuber --- .../view/ui/local/showin/ExternalExecutablesDialog.java | 2 +- .../view/ui/local/showin/ExternalExecutablesManager.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java index 1a4758b6761..41a629e1fde 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java @@ -409,7 +409,7 @@ public class ExternalExecutablesDialog extends TrayDialog { */ public void setExecutableData(Map data) { if (data == null) { - executableData = data; + executableData = null; } else { executableData = new HashMap(data); } diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java index b1d23db2302..b8debd3640c 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java @@ -285,7 +285,7 @@ public class ExternalExecutablesManager { } // if the icon is still to big -> downscale the biggest - if (id.height > 16 && id.width > 16) { + if (id != null && id.height > 16 && id.width > 16) { id = biggest.scaledTo(16, 16); } From c48666a912b579975e39186d7ba767c20edef557 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Tue, 14 Jun 2016 10:14:35 +0200 Subject: [PATCH 805/843] Configure Maven Central cache --- admin/settings.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 admin/settings.xml diff --git a/admin/settings.xml b/admin/settings.xml new file mode 100644 index 00000000000..c5cb82df34c --- /dev/null +++ b/admin/settings.xml @@ -0,0 +1,10 @@ + + + + eclipse-maven-central + Eclipse Maven Central + https://repo.eclipse.org/content/repositories/maven_central/ + central + + + From 0bb01ded3a1b7cd18c445b7f167d7fd96dc4ccfa Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Mon, 20 Jun 2016 09:33:40 +0200 Subject: [PATCH 806/843] Fix Bugzilla 496314: "Initial Working Directory" preferences doesn't work --- .../connector/local/launcher/LocalLauncherDelegate.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java index 0e764e81861..b7eba6f326d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java @@ -113,7 +113,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { // Initialize the local terminal working directory. // By default, start the local terminal in the users home directory - String initialCwd = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); + String initialCwd = org.eclipse.tm.terminal.view.ui.activator.UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_INITIAL_CWD); String cwd = null; if (initialCwd == null || IPreferenceKeys.PREF_INITIAL_CWD_USER_HOME.equals(initialCwd) || "".equals(initialCwd.trim())) { //$NON-NLS-1$ cwd = System.getProperty("user.home"); //$NON-NLS-1$ @@ -262,7 +262,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { } } if (shell == null) { - shell = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); + shell = org.eclipse.tm.terminal.view.ui.activator.UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX); if (shell == null || "".equals(shell)) { //$NON-NLS-1$ if (System.getenv("SHELL") != null && !"".equals(System.getenv("SHELL").trim())) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ shell = System.getenv("SHELL").trim(); //$NON-NLS-1$ @@ -298,7 +298,7 @@ public class LocalLauncherDelegate extends AbstractLauncherDelegate { String arguments = (String)properties.get(ITerminalsConnectorConstants.PROP_PROCESS_ARGS); if (arguments == null && !Platform.OS_WIN32.equals(Platform.getOS())) { - arguments = UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); + arguments = org.eclipse.tm.terminal.view.ui.activator.UIPlugin.getScopedPreferences().getString(IPreferenceKeys.PREF_LOCAL_TERMINAL_DEFAULT_SHELL_UNIX_ARGS); } // Determine if a PTY will be used From 159afcfd925bc14f0a3280a9cab04038dce8aac9 Mon Sep 17 00:00:00 2001 From: Dirk Fauth Date: Thu, 23 Jun 2016 22:13:16 +0200 Subject: [PATCH 807/843] Bug 494508 - Show in local terminal only available in project explorer Added the menu contributions to popup:org.eclipse.jdt.ui.PackageExplorer?before=group.edit additionally to the ProjectExplorer contributions. Change-Id: I1438057d82389c332c3678a3568bf0706497b49f Signed-off-by: Dirk Fauth --- .../plugin.xml | 43 +++++++++++++++++ .../plugin.xml | 47 +++++++++++++++++++ 2 files changed, 90 insertions(+) diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml index aec512a7e8e..da4ebe6b01e 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml @@ -65,6 +65,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml index d4470f277a3..db83344b7ff 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml @@ -239,6 +239,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 092e089d403b541470ab71643f07d93ce377e4ce Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 30 Jun 2016 13:28:09 +0200 Subject: [PATCH 808/843] Bug 494108 - [telnet] Telnet line-ending should be configurable --- .../META-INF/MANIFEST.MF | 2 +- .../telnet/connector/ITelnetSettings.java | 18 ++++--- .../telnet/connector/TelnetConnector.java | 47 +++++++++++-------- .../telnet/connector/TelnetMessages.java | 15 +++--- .../connector/TelnetMessages.properties | 3 +- .../telnet/connector/TelnetSettings.java | 16 ++++++- .../telnet/connector/TelnetSettingsPage.java | 26 +++++++++- .../TelnetWizardConfigurationPanel.java | 38 ++++++++------- .../launcher/TelnetLauncherDelegate.java | 4 +- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.view.core/pom.xml | 2 +- .../ITerminalsConnectorConstants.java | 12 ++++- 12 files changed, 125 insertions(+), 60 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF index 0cfd6087eac..772c3eb713c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF @@ -8,7 +8,7 @@ Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", org.eclipse.core.runtime;bundle-version="3.8.0", org.eclipse.equinox.security;bundle-version="1.1.100", - org.eclipse.tm.terminal.view.core;bundle-version="4.0.0";resolution:=optional, + org.eclipse.tm.terminal.view.core;bundle-version="4.1.0";resolution:=optional, org.eclipse.tm.terminal.view.ui;bundle-version="4.1.0";resolution:=optional, org.eclipse.tm.terminal.control;bundle-version="4.0.0", org.eclipse.ui;bundle-version="3.8.0" diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java index bf5638dd50d..cc80acf42ba 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -14,9 +14,13 @@ package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; public interface ITelnetSettings { + static final String EOL_CRNUL = "CR+NUL"; //$NON-NLS-1$ + static final String EOL_CRLF = "CR+LF"; //$NON-NLS-1$ + String getHost(); int getNetworkPort(); int getTimeout(); + String getEndOfLine(); String getSummary(); void load(ISettingsStore store); void save(ISettingsStore store); diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java index 6f3213013bc..d22985100fc 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java @@ -34,6 +34,32 @@ import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; public class TelnetConnector extends TerminalConnectorImpl { + + static final class TelnetOutputStream extends FilterOutputStream { + final static byte CR = 13; + final static byte LF = 10; + final static byte NUL = 0; + final static byte[] CRNUL = { CR, NUL }; + final static byte[] CRLF = { CR, LF }; + final byte[] EOL; + + public TelnetOutputStream(OutputStream outputStream, String endOfLine) { + super(outputStream); + if (ITelnetSettings.EOL_CRLF.equals(endOfLine)) + EOL = CRLF; + else + EOL = CRNUL; + } + + @Override + public void write(int b) throws IOException { + if (b == CR) + out.write(EOL); + else + out.write(b); + } + } + private OutputStream fOutputStream; private InputStream fInputStream; private Socket fSocket; @@ -115,25 +141,8 @@ public class TelnetConnector extends TerminalConnectorImpl { fOutputStream = null; return; } - // send LF after CR (telnet end-of-line sequence - RFC 854) - fOutputStream = new FilterOutputStream(outputStream) { - final byte CR = 13; - final byte LF = 10; - final byte[] CRLF = { CR, LF }; - int last = -1; - @Override - public void write(int b) throws IOException { - if (b == LF && last == CR) { - last = b; - return; - } - last = b; - if (b == CR) - out.write(CRLF); - else - out.write(b); - } - }; + // translate CR to telnet end-of-line sequence - RFC 854 + fOutputStream = new TelnetOutputStream(outputStream, fSettings.getEndOfLine()); } Socket getSocket() { return fSocket; diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java index 1a258723d6d..4223aed07c1 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java @@ -1,11 +1,11 @@ /******************************************************************************* - * Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: + * Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: * Michael Scharf (Wind River) - initial API and implementation * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ @@ -21,5 +21,6 @@ public class TelnetMessages extends NLS { public static String HOST; public static String CONNECTION_CLOSED_BY_FOREIGN_HOST; public static String TIMEOUT; + public static String END_OF_LINE; } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties index 279fb9a8c4e..3e9dc95fcb3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2005, 2015 Wind River Systems, Inc. and others. +# Copyright (c) 2005, 2016 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -18,3 +18,4 @@ PORT = Port HOST = Host CONNECTION_CLOSED_BY_FOREIGN_HOST= Connection closed by foreign host. TIMEOUT = Timeout (sec) +END_OF_LINE = End of Line \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java index 9500496c2e5..a83378c6850 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2016 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -11,7 +11,7 @@ * Helmut Haigermoser and Ted Williams. * * Contributors: - * Michael Scharf (Wind River) - extracted from TerminalSettings + * Michael Scharf (Wind River) - extracted from TerminalSettings * Martin Oberhuber (Wind River) - fixed copyright headers and beautified *******************************************************************************/ package org.eclipse.tm.terminal.connector.telnet.connector; @@ -22,6 +22,7 @@ public class TelnetSettings implements ITelnetSettings { protected String fHost; protected String fNetworkPort; protected String fTimeout; + protected String fEndOfLine = EOL_CRNUL; private final TelnetProperties fProperties=new TelnetProperties(); @Override public String getHost() { @@ -59,6 +60,7 @@ public class TelnetSettings implements ITelnetSettings { fHost = store.get("Host", fProperties.getDefaultHost());//$NON-NLS-1$ fNetworkPort = store.get("NetworkPort", fProperties.getDefaultNetworkPort());//$NON-NLS-1$ fTimeout = store.get("Timeout","10");//$NON-NLS-1$ //$NON-NLS-2$ + fEndOfLine = store.get("EndOfLine", EOL_CRNUL);//$NON-NLS-1$ } @Override @@ -66,6 +68,7 @@ public class TelnetSettings implements ITelnetSettings { store.put("Host", fHost);//$NON-NLS-1$ store.put("NetworkPort", fNetworkPort);//$NON-NLS-1$ store.put("Timeout", fTimeout);//$NON-NLS-1$ + store.put("EndOfLine", fEndOfLine);//$NON-NLS-1$ } public TelnetProperties getProperties() { @@ -86,4 +89,13 @@ public class TelnetSettings implements ITelnetSettings { public void setTimeout(String timeout) { fTimeout = timeout; } + + public void setEndOfLine(String eol) { + fEndOfLine = EOL_CRLF.equals(eol) ? EOL_CRLF : EOL_CRNUL; + } + + @Override + public String getEndOfLine() { + return fEndOfLine; + } } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java index 9b5697214e0..26da9712540 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2003, 2015 Wind River Systems, Inc. and others. + * Copyright (c) 2003, 2016 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,7 @@ *******************************************************************************/ package org.eclipse.tm.terminal.connector.telnet.connector; +import java.util.Arrays; import java.util.Collections; import java.util.Iterator; import java.util.List; @@ -41,6 +42,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { /* default */ Text fHostText; /* default */ Combo fNetworkPortCombo; /* default */ Text fTimeout; + /* default */ Combo fEndOfLineCombo; private final TelnetSettings fTerminalSettings; public TelnetSettingsPage(TelnetSettings settings) { @@ -51,6 +53,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { fTerminalSettings.setHost(fHostText.getText()); fTerminalSettings.setTimeout(fTimeout.getText()); fTerminalSettings.setNetworkPort(getNetworkPort()); + fTerminalSettings.setEndOfLine(getEndOfLine()); } @Override @@ -59,6 +62,7 @@ public class TelnetSettingsPage extends AbstractSettingsPage { setHost(fTerminalSettings.getHost()); setTimeout(fTerminalSettings.getTimeoutString()); setNetworkPort(fTerminalSettings.getNetworkPortString()); + setEndOfLine(fTerminalSettings.getEndOfLine()); } } private void setHost(String strHost) { @@ -96,7 +100,13 @@ public class TelnetSettingsPage extends AbstractSettingsPage { private NetworkPortMap getNetworkPortMap() { return fTerminalSettings.getProperties().getNetworkPortMap(); } - + private void setEndOfLine(String eol) { + int idx = fEndOfLineCombo.indexOf(eol); + fEndOfLineCombo.select(idx >= 0 ? idx : 0); + } + private String getEndOfLine() { + return fEndOfLineCombo.getText(); + } @Override public boolean validateSettings() { String message = null; @@ -210,6 +220,18 @@ public class TelnetSettingsPage extends AbstractSettingsPage { }); createControlDecoration(fTimeout); + new Label(composite, SWT.RIGHT).setText(TelnetMessages.END_OF_LINE + ":"); //$NON-NLS-1$ + gridData = new GridData(GridData.FILL_HORIZONTAL); + fEndOfLineCombo = new Combo(composite, SWT.DROP_DOWN | SWT.READ_ONLY); + fEndOfLineCombo.setLayoutData(gridData); + fEndOfLineCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + fireListeners(fEndOfLineCombo); + } + }); + loadCombo(fEndOfLineCombo, Arrays.asList(ITelnetSettings.EOL_CRNUL, ITelnetSettings.EOL_CRLF)); + loadSettings(); } private void loadCombo(Combo ctlCombo, List table) { diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java index cda3f0b88d9..c2ad8d147f6 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -104,6 +104,10 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio value = v != null ? v.toString() : null; if (value != null) telnetSettings.setTimeout(value); + v = data.get(ITerminalsConnectorConstants.PROP_TELNET_EOL); + value = v != null ? v.toString() : null; + if (value != null) telnetSettings.setEndOfLine(value); + value = (String)data.get(ITerminalsConnectorConstants.PROP_ENCODING); if (value != null) setEncoding(value); @@ -124,6 +128,7 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio data.put(ITerminalsConnectorConstants.PROP_IP_HOST,telnetSettings.getHost()); data.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.valueOf(telnetSettings.getNetworkPort())); data.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.valueOf(telnetSettings.getTimeout())); + data.put(ITerminalsConnectorConstants.PROP_TELNET_EOL, telnetSettings.getEndOfLine()); data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); } @@ -144,6 +149,9 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio if (hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT) != null) { telnetSettings.setTimeout(hostSettings.get(ITerminalsConnectorConstants.PROP_TIMEOUT)); } + if (hostSettings.get(ITerminalsConnectorConstants.PROP_TELNET_EOL) != null) { + telnetSettings.setEndOfLine(hostSettings.get(ITerminalsConnectorConstants.PROP_TELNET_EOL)); + } if (hostSettings.get(ITerminalsConnectorConstants.PROP_ENCODING) != null) { setEncoding(hostSettings.get(ITerminalsConnectorConstants.PROP_ENCODING)); } @@ -164,24 +172,20 @@ public class TelnetWizardConfigurationPanel extends AbstractExtendedConfiguratio protected void saveSettingsForHost(boolean add){ String host = getHostFromSettings(); if(host != null && host.length() != 0) { - if (hostSettingsMap.containsKey(host)) { - Map hostSettings=hostSettingsMap.get(host); - hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, telnetSettings.getHost()); - hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(telnetSettings.getNetworkPort())); - hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(telnetSettings.getTimeout())); - if (getEncoding() != null) { - hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); - } - } else if (add) { - Map hostSettings=new HashMap(); - hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, telnetSettings.getHost()); - hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(telnetSettings.getNetworkPort())); - hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(telnetSettings.getTimeout())); - if (getEncoding() != null) { - hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); - } + Map hostSettings = hostSettingsMap.get(host); + if (hostSettings == null && !add) { + hostSettings=new HashMap(); hostSettingsMap.put(host, hostSettings); } + if (hostSettings != null) { + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_HOST, telnetSettings.getHost()); + hostSettings.put(ITerminalsConnectorConstants.PROP_IP_PORT, Integer.toString(telnetSettings.getNetworkPort())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TIMEOUT, Integer.toString(telnetSettings.getTimeout())); + hostSettings.put(ITerminalsConnectorConstants.PROP_TELNET_EOL, telnetSettings.getEndOfLine()); + if (getEncoding() != null) { + hostSettings.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + } } } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java index 370dea26589..27ca63ff3c5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -134,6 +134,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { String port = value != null ? value.toString() : null; value = properties.get(ITerminalsConnectorConstants.PROP_TIMEOUT); String timeout = value != null ? value.toString() : null; + String endOfLine = (String)properties.get(ITerminalsConnectorConstants.PROP_TELNET_EOL); int portOffset = 0; if (properties.get(ITerminalsConnectorConstants.PROP_IP_PORT_OFFSET) instanceof Integer) { @@ -156,6 +157,7 @@ public class TelnetLauncherDelegate extends AbstractLauncherDelegate { if (timeout != null) { telnetSettings.setTimeout(timeout); } + telnetSettings.setEndOfLine(endOfLine); // And save the settings to the store telnetSettings.save(store); diff --git a/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF index 95169afa17b..c884bd4f79f 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view.core;singleton:=true -Bundle-Version: 4.0.0.qualifier +Bundle-Version: 4.1.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.view.core.activator.CoreBundleActivator Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", diff --git a/plugins/org.eclipse.tm.terminal.view.core/pom.xml b/plugins/org.eclipse.tm.terminal.view.core/pom.xml index 45a4e81692a..d7ed77d96ea 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.0.0-SNAPSHOT + 4.1.0-SNAPSHOT org.eclipse.tm.terminal.view.core eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java index e7eafae21f8..dafdf74619f 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011 - 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -319,4 +319,14 @@ public interface ITerminalsConnectorConstants { * Property Type: {@link String} */ public static final String PROP_SERIAL_FLOW_CONTROL = "serial.flowcontrol"; //$NON-NLS-1$ + + // ***** Telnet specific properties ***** + + /** + * The end-of-line sequence to be sent to the server on "Enter". + *

                                        + * Property Type: {@link String} + */ + public static final String PROP_TELNET_EOL = "telnet.eol"; //$NON-NLS-1$ + } From ad7aa452d3ed7f4a688fe5410f0dd425a73720cd Mon Sep 17 00:00:00 2001 From: Anton Leherbauer Date: Thu, 30 Jun 2016 15:03:46 +0200 Subject: [PATCH 809/843] Fix API tooling issues --- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../connector/telnet/connector/ITelnetSettings.java | 13 +++++++++++++ .../connector/telnet/connector/TelnetMessages.java | 3 +++ .../connector/telnet/connector/TelnetSettings.java | 3 +++ .../constants/ITerminalsConnectorConstants.java | 4 ++++ 6 files changed, 25 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF index 772c3eb713c..494145af653 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.connector.telnet;singleton:=true -Bundle-Version: 4.1.0.qualifier +Bundle-Version: 4.2.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.connector.telnet.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml index 891b780ddcf..ef5d0ae3a1d 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.1.0-SNAPSHOT + 4.2.0-SNAPSHOT org.eclipse.tm.terminal.connector.telnet eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java index cc80acf42ba..a7e40ae7f11 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java @@ -13,13 +13,26 @@ package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +/** + * @noimplement This interface is not intended to be implemented by clients. + * @noextend This interface is not intended to be extended by clients. + */ public interface ITelnetSettings { + /** + * @since 4.2 + */ static final String EOL_CRNUL = "CR+NUL"; //$NON-NLS-1$ + /** + * @since 4.2 + */ static final String EOL_CRLF = "CR+LF"; //$NON-NLS-1$ String getHost(); int getNetworkPort(); int getTimeout(); + /** + * @since 4.2 + */ String getEndOfLine(); String getSummary(); void load(ISettingsStore store); diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java index 4223aed07c1..64f7446c765 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java @@ -21,6 +21,9 @@ public class TelnetMessages extends NLS { public static String HOST; public static String CONNECTION_CLOSED_BY_FOREIGN_HOST; public static String TIMEOUT; + /** + * @since 4.2 + */ public static String END_OF_LINE; } diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java index a83378c6850..b64da0f9bf1 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java @@ -18,6 +18,9 @@ package org.eclipse.tm.terminal.connector.telnet.connector; import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; +/** + * @noreference This class is not intended to be referenced by clients. + */ public class TelnetSettings implements ITelnetSettings { protected String fHost; protected String fNetworkPort; diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java index dafdf74619f..59512464cb2 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java +++ b/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java @@ -15,6 +15,9 @@ import org.eclipse.tm.terminal.view.core.interfaces.ITerminalServiceOutputStream /** * Defines the terminals connector constants. + * + * @noextend This interface is not intended to be extended by clients. + * @noimplement This interface is not intended to be implemented by clients. */ public interface ITerminalsConnectorConstants { @@ -326,6 +329,7 @@ public interface ITerminalsConnectorConstants { * The end-of-line sequence to be sent to the server on "Enter". *

                                        * Property Type: {@link String} + * @since 4.1 */ public static final String PROP_TELNET_EOL = "telnet.eol"; //$NON-NLS-1$ From a53620ce950ebeec443e88b8eb869c4bcaad9943 Mon Sep 17 00:00:00 2001 From: Uwe Stieber Date: Fri, 26 Aug 2016 18:00:17 +0200 Subject: [PATCH 810/843] Update target definition files and project set --- admin/pom-config.xml | 2 +- admin/target-defs/eclipse-4.4.x-luna.target | 6 +++--- admin/target-defs/eclipse-4.5.x-mars.target | 12 ++++++------ admin/target-defs/eclipse-4.6.x-neon.target | 20 ++++++++++---------- terminals.psf | 12 ++++++------ 5 files changed, 26 insertions(+), 26 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index abcd3b6d88b..414f0fce7f9 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -59,7 +59,7 @@ http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/4.6milestones/S-4.6RC4-201606031000 + http://download.eclipse.org/eclipse/updates/4.6 http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones diff --git a/admin/target-defs/eclipse-4.4.x-luna.target b/admin/target-defs/eclipse-4.4.x-luna.target index 3ddc2aa1e4e..f027b3d359a 100644 --- a/admin/target-defs/eclipse-4.4.x-luna.target +++ b/admin/target-defs/eclipse-4.4.x-luna.target @@ -1,5 +1,5 @@ - + @@ -10,7 +10,7 @@ - + @@ -23,7 +23,7 @@ - + diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index ee854f512cc..d7202f7156f 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -1,5 +1,5 @@ - + @@ -15,14 +15,14 @@ - + - - - - + + + + diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index aee4e37a639..942ae86493a 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -1,5 +1,5 @@ - + @@ -10,20 +10,20 @@ - - - - - - - - - + + + + + + + + + diff --git a/terminals.psf b/terminals.psf index 7f2eed4f935..02f70a51d89 100644 --- a/terminals.psf +++ b/terminals.psf @@ -24,9 +24,9 @@ - - - + + + @@ -52,7 +52,7 @@ - + @@ -63,13 +63,13 @@ - + - + From e904f465b863af127cceb0daec573a69c9902930 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 19 Sep 2016 15:31:31 +0200 Subject: [PATCH 811/843] Bug 475422: Fix terminal display on MacOSX Retina Change-Id: I4ca6cf928840049842542db83b2afbd4dfd0e848 --- .../terminal/textcanvas/StyleMap.java | 43 ++++++++++++++----- 1 file changed, 32 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java index a4db1183e76..81e63e27ed5 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java @@ -13,6 +13,7 @@ * Martin Oberhuber (Wind River) - [247700] Terminal uses ugly fonts in JEE package * Martin Oberhuber (Wind River) - [335358] Fix Terminal color definition * Martin Oberhuber (Wind River) - [265352][api] Allow setting fonts programmatically + * Martin Oberhuber (Wind River) - [475422] Fix display on MacOSX Retina *******************************************************************************/ package org.eclipse.tm.internal.terminal.textcanvas; @@ -216,21 +217,41 @@ public class StyleMap { for (char c = ' '; c <= '~'; c++) { // consider only the first 128 chars for deciding if a font - // is proportional + // is proportional. Collect char width as a side-effect. if(measureChar(gc, c, true)) fProportional=true; } - // TODO should we also consider the upper 128 chars?? - for (char c = ' '+128; c <= '~'+128; c++) { - measureChar(gc, c,false); - } if(fProportional) { - fCharSize.x-=2; //works better on small fonts - } - for (int i = 0; i < fOffsets.length; i++) { - fOffsets[i]=(fCharSize.x-fOffsets[i])/2; - } - if(!fProportional) { + // Widest char minus the padding on the left and right: + // Looks much better for small fonts + fCharSize.x-=2; + // Collect width of the upper characters (for offset calculation) + for (char c = '~'+1; c < fOffsets.length; c++) { + measureChar(gc, c,false); + } + // Calculate offsets based on each character's width and the bounding box + for (int i = ' '; i < fOffsets.length; i++) { + fOffsets[i]=(fCharSize.x-fOffsets[i])/2; + } + } else { + // Non-Proportional: Reset all offsets (eg after font change) + for (int i = 0; i < fOffsets.length; i++) { + fOffsets[i]=0; + } + String t = "The quick brown Fox jumps over the Lazy Dog."; //$NON-NLS-1$ + Point ext=gc.textExtent(t); + if(ext.x != fCharSize.x * t.length()) { + //Bug 475422: On OSX with Retina display and due to scaling, + //a text many be shorter than the sum of its bounding boxes. + //Because even with fixed width font, bounding box size + //may not be an integer but a fraction eg 6.75 pixels. + // + //Painting in proportional mode ensures that each character + //is painted individually into its proper bounding box, rather + //than using an optimization where Strings would be drawn as + //a whole. This fixes the "fractional bounding box" problem. + fProportional=true; + } //measure font in boldface, too, and if wider then treat like proportional gc.setFont(getFont(fDefaultStyle.setBold(true))); Point charSizeBold = gc.textExtent("W"); //$NON-NLS-1$ From 257a90f410376fe4445aacc6e2d9adba561e44a4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 19 Sep 2016 16:28:27 +0200 Subject: [PATCH 812/843] [Releng] Update Terminal version to 4.2 Change-Id: I5524741a709c0c5cdd8860561de0992ff9aa75b6 --- .gitignore | 3 ++- admin/.project | 27 +++++++++++++++++++ admin/pom-build.xml | 4 +-- admin/pom-config.xml | 2 +- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../pom.xml | 4 +-- .../feature.properties | 4 +-- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 6 ++--- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 8 +++--- .../org.eclipse.tm.terminal.feature/pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 8 +++--- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../feature.properties | 2 +- .../feature.xml | 4 +-- .../pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 4 +-- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../about.properties | 4 +-- .../org.eclipse.tm.terminal.control/pom.xml | 4 +-- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../about.properties | 4 +-- .../org.eclipse.tm.terminal.view.core/pom.xml | 4 +-- .../ITerminalsConnectorConstants.java | 2 +- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 4 +-- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.view.ui/pom.xml | 4 +-- pom.xml | 4 +-- repos/org.eclipse.tm.terminal.repo/pom.xml | 4 +-- 83 files changed, 167 insertions(+), 139 deletions(-) diff --git a/.gitignore b/.gitignore index 6f8aa868022..6d21f732c9b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ debug-workspace/ *~ \#*\# - +# MacOSX +.DS_Store diff --git a/admin/.project b/admin/.project index c4aa4358e6c..fd600362323 100644 --- a/admin/.project +++ b/admin/.project @@ -8,4 +8,31 @@ + + + CONTRIBUTING + 1 + PARENT-1-PROJECT_LOC/CONTRIBUTING + + + pom.xml + 1 + PARENT-1-PROJECT_LOC/pom.xml + + + readme.txt + 1 + PARENT-1-PROJECT_LOC/readme.txt + + + terminals.psf + 1 + PARENT-1-PROJECT_LOC/terminals.psf + + + toplevel.gitignore + 1 + PARENT-1-PROJECT_LOC/.gitignore + + diff --git a/admin/pom-build.xml b/admin/pom-build.xml index a4750fea959..1b3f50b924e 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -7,13 +7,13 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.1.0-SNAPSHOT + 4.2.0-SNAPSHOT pom-config.xml org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.1.0-SNAPSHOT + 4.2.0-SNAPSHOT pom TM Terminal, Maven Build Master diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 414f0fce7f9..440de460ba1 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -10,7 +10,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.1.0-SNAPSHOT + 4.2.0-SNAPSHOT pom TM Terminal, Maven Configuration Master diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties index 2785bf502d3..811064b2727 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties @@ -21,7 +21,7 @@ featureName=TM Terminal Local Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.1 Updates +updateSiteName=TM Terminal 4.2 Updates # "description" property - description of the feature description=A connector implementation for the Local Terminal. diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml index c8459f3a98e..39d7841f191 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -1,6 +1,6 @@ http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/4.6 - http://download.eclipse.org/releases/neon + http://download.eclipse.org/eclipse/updates/4.7milestones + http://download.eclipse.org/staging/oxygen http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository http://download.eclipse.org/tools/cdt/builds/neon/milestones - http://download.eclipse.org/tm/updates/4.0 - http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 + http://download.eclipse.org/tm/updates/4.1milestones + http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones http://download.eclipse.org/technology/swtbot/releases/latest/ http://archive.eclipse.org/tm/updates/rxtx @@ -187,6 +187,21 @@ http://download.eclipse.org/tools/cdt/releases/8.7 + + + neon + + + neon + 4.6 + + http://download.eclipse.org/eclipse/updates/4.6-M-builds + + http://download.eclipse.org/staging/${terminal-stream} + + http://download.eclipse.org/tools/cdt/builds/neon/milestones + + diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index 942ae86493a..0ecd7d31223 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -1,5 +1,5 @@ - + @@ -10,6 +10,11 @@ + + + + + @@ -21,9 +26,9 @@ - - - + + + diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target new file mode 100644 index 00000000000..2283bb760c6 --- /dev/null +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From d7d9ba3a2d8ca9795bf3eb54d1e49aede3c25c5b Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 20 Sep 2016 16:58:28 +0200 Subject: [PATCH 814/843] [Releng] Avoid version number in category.xml Change-Id: If89350a0472d1fcd1d29519a1cf1bacae3d2ea80 --- repos/org.eclipse.tm.terminal.repo/category.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 9f52e015ffb..83ea3ee44f7 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -62,7 +62,7 @@ - + TM Terminal Main Features From 9bbe84d17e8d08c64e484cb9c6c519de78320df4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 20 Sep 2016 18:01:13 +0200 Subject: [PATCH 815/843] [Releng] Add tm-baseline.target Change-Id: If9c689134cb61104809ab343378f0b2f9574c98a --- admin/target-defs/tm-baseline.target | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 admin/target-defs/tm-baseline.target diff --git a/admin/target-defs/tm-baseline.target b/admin/target-defs/tm-baseline.target new file mode 100644 index 00000000000..1ec521af9ad --- /dev/null +++ b/admin/target-defs/tm-baseline.target @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From c0335a085eb4aef3708812170b624cc658b1588a Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Tue, 22 Nov 2016 16:22:57 -0500 Subject: [PATCH 816/843] Bug 507989 - Allow choosing of o.e.remote connection type Collect the list of connection types that support the command shell service and pass that to the RemoteConnectionWidget so that you can select which one you want. Also adds a fix to the connection manager that was closing the terminal of read returned 0 bytes. That's generally not an end of file condition, especially with Serial Ports. There ugliness to them where you can't close the port while it's blocked on the read, which means it needs to return once in a while. Fix setting of title and force new to match the other delegates. Change-Id: I6b78d789ca28284379d8f1136062ec180e1a8f5c Signed-off-by: Doug Schaefer --- .../internal/RemoteConnectionManager.java | 6 ++--- .../remote/internal/RemoteSettingsPage.java | 18 +++++++++++-- .../launcher/RemoteLauncherDelegate.java | 26 +++++++++---------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 0811508f426..c7dd6161ef9 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015 IBM Corporation and others. + * Copyright (c) 2015,2016 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -169,8 +169,8 @@ public class RemoteConnectionManager extends Job { private void readData(InputStream in) throws IOException { byte[] buf = new byte[32 * 1024]; int n; - while ((n = in.read(buf, 0, buf.length)) > 0) { - if (parser == null || parser.parse(buf)) { + while ((n = in.read(buf, 0, buf.length)) >= 0) { + if (n != 0 && (parser == null || parser.parse(buf))) { control.getRemoteToTerminalOutputStream().write(buf, 0, n); } } diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index 2ea7ecdb0f2..d8d944bdd34 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015 IBM Corporation and others. + * Copyright (c) 2015,2016 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -7,6 +7,11 @@ *******************************************************************************/ package org.eclipse.tm.terminal.connector.remote.internal; +import java.util.List; + +import org.eclipse.remote.core.IRemoteCommandShellService; +import org.eclipse.remote.core.IRemoteConnectionType; +import org.eclipse.remote.core.IRemoteServicesManager; import org.eclipse.remote.ui.widgets.RemoteConnectionWidget; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; @@ -15,6 +20,9 @@ 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.osgi.framework.BundleContext; +import org.osgi.framework.FrameworkUtil; +import org.osgi.framework.ServiceReference; @SuppressWarnings("restriction") public class RemoteSettingsPage extends AbstractSettingsPage { @@ -69,7 +77,13 @@ public class RemoteSettingsPage extends AbstractSettingsPage { composite.setLayout(gridLayout); composite.setLayoutData(gridData); - fRemoteConnectionWidget = new RemoteConnectionWidget(composite, SWT.NONE, null, 0); + BundleContext context = FrameworkUtil.getBundle(this.getClass()).getBundleContext(); + ServiceReference ref = context.getServiceReference(IRemoteServicesManager.class); + IRemoteServicesManager manager = context.getService(ref); + @SuppressWarnings("unchecked") + List types = manager.getConnectionTypesSupporting(IRemoteCommandShellService.class); + + fRemoteConnectionWidget = new RemoteConnectionWidget(composite, SWT.NONE, null, 0, types); fRemoteConnectionWidget.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java index 587d425a786..d5f8d7abe4b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java +++ b/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2015 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2015,2016 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -66,6 +66,18 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { public void execute(Map properties, ITerminalService.Done done) { Assert.isNotNull(properties); + // Set the terminal tab title + String terminalTitle = getTerminalTitle(properties); + if (terminalTitle != null) { + properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); + } + + // Force a new terminal tab each time it is launched, if not set otherwise from outside + // TODO need a command shell service routing to get this + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + // Get the terminal service ITerminalService terminal = TerminalServiceFactory.getService(); // If not available, we cannot fulfill this request @@ -145,18 +157,6 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate { connector.load(store); } - // Set the terminal tab title - String terminalTitle = getTerminalTitle(properties); - if (terminalTitle != null) { - properties.put(ITerminalsConnectorConstants.PROP_TITLE, terminalTitle); - } - - // For Telnet terminals, force a new terminal tab each time it is launched, - // if not set otherwise from outside - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { - properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); - } - if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) { IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); From e0cd31ea7d2f4a04e45dbe989d9423686e8b5770 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 22 Dec 2016 11:34:34 +0100 Subject: [PATCH 817/843] Bug 509631 - Missing Scroll Lock icon in Terminal View on Oxygen The Terminal used to "re-use" icons from org.eclipse.ui.console - this did not work any more when that plugin changed .gif icons to .png for better HiDPI support. Copying icons into the terminal view plugin resolves the problem for all Eclipse versions. --- .../icons/clcl16/lock_co.png | Bin 0 -> 560 bytes .../icons/clcl16/lock_co@2x.png | Bin 0 -> 1310 bytes .../icons/dlcl16/lock_co.png | Bin 0 -> 462 bytes .../icons/dlcl16/lock_co@2x.png | Bin 0 -> 916 bytes .../icons/elcl16/lock_co.png | Bin 0 -> 560 bytes .../icons/elcl16/lock_co@2x.png | Bin 0 -> 1310 bytes .../icons/eview16/console_view.png | Bin 0 -> 452 bytes .../icons/eview16/console_view@2x.png | Bin 0 -> 729 bytes .../plugin.xml | 4 +-- .../terminal/view/ui/activator/UIPlugin.java | 24 ++++++++---------- 10 files changed, 12 insertions(+), 16 deletions(-) create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png create mode 100644 plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png b/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png new file mode 100644 index 0000000000000000000000000000000000000000..df111d48fb31932be2a94f35339b31b96cb25efb GIT binary patch literal 560 zcmV-00?+-4P)|g2h$4jW!V3{2gS_Z6LWvSXm}7}>#*WfFoi*p?CT$#b?nPP1+&RJ& zMZ+YjU5Kf@Q7M9N*+eHcQqc=1(pR46Y>ym71nGefeEGe6;DKLO*8h5Pmk#HF33~hn z%M?z6iY6&8VlgJ-No7-#QKUc^DWE-&pk5Sq1R~f4N)51X~7%+&3`+~-Pm3VXxLitVXUi=2^v~u%^~s5 zw4mR19f>a%tbcljss6`^dP->~kX}Z>*=5Zk)!EX5FqenbDKp{|Cj1=LA?m(OGlBFn z0>cYMb1Qm_q6z|)*@%BMyRMP)&OY3W)@X=zLUw@@g5 zS7;FsS`@azgvAj-5ZPb|f?Tou34bTZ5<$k-b2=%#y{&GL7$3aJCuz<(zw`a%_MUUk z-M8=mE8wzQV;KVeE&h7~RhCbgDoX-Jm)CK98MwAfKDTG1x+Fg2JkCZnXbwl9*qF)? zFtmIdQ?~%m+U{^%5TmRxIpjQbwHnYIj(}d9!4SNKlVsp;e*kNn_fA!X6lQ(8cb;F! zJTamMypmJ}W`51vUtT5y&EW{BRD4FMM{m}G=5Pe~IZ{TDBi*xr#$bRbR}xY{sW*b=a0JqX3MO5s*t39KTL_*= zj!bDOVl(s{#L6Pj9F9O@mWClIjRz*@(V%=2xL~!9F9N|-^3&dOc?y@4lJ#% zU}C%%<3D!8Gd+6O0(^M|;xhGcwD!T~{Dy`Txb?lT~_G6eKaOroCbROZY>Fr-EJ zuqj@~(D$wXD3GhGLAuz2%l(sR>mEaU&o~RK!ws6l5s;f~j8Y|rIqL{3IFPSf)PF0W zwbnzdu0S8Nf`N&fxIVVXqO!pak`-hh(CMahX^%sf8sVc%@;vOCXc*5OVzm$ThrSb* z8Yfhi8Vt^DU~FL>6EnA1*c#iQEUMuOD236h1<8+sqR)I1Bg0pHlP<0-qgwk0w);!- zPGEIoGpIn3%?U+e4OvZFm{{3@he-HSUQh0TIY2-pI(}b%a@1`_VmK&WJ(oDEfJ&&( zMqzu*^z6^UH=+wp$jmzeQ;X{?%Ie&Z8UqCK5)MSk;=@7F@SX#+x*2pC))->2J#L_{ zC8&VD(urK-j=(et^{2G14HAQ$Eg<0!6?uE{}6PQ~Z<_M_ETsW__Ltf+rUuEZ@ zC}~2r#!sNV;+e+w%A?o~S8B<_xW3Nb>#Z&b)S(6PEluDT_zAQYJ;e~PI%&uHT+?0i zRpkqyb&EHrSpxaRE@Y9Qk>$;xCnBw_9hnM00hjs-hJd9}@}G|DSj_ZGaHIV!ejO>` z^j$O^1Fc(FW((w5T*y$|c?N==hzcq$Azkh#&>%g`5a9V%g4w=o7OIp;@ZNa_VE%PTnb7K@TKiqYEigKLH0nl5q$kG0}A%o^BosW%5CSM37;TGXak>0euRvfs#g-ZgS~oZ6 zVZV;G&4?3)7T~FyaYpDTP#p6JL%?K@3{$;)7F~7kdIbX8DV6aDLF?jqh4@I|@NqiZ zfsYBN{n~=z6EM9Q#t<;tF2GM$d0vLyvAFidd+2L=8=bb3-rs?gd=L&=cjlZK?`JuD ze8|6pe_Jqiz6Vb3@6f-tAG^VLD(rXDsR!@h(?_WxIxLDzHnZLA6@7@#Xn^zKO2u zA{dLsga{caC>D!%1^IlQ{5_Us5i(Mc%jND0(&;oM5(x=1QjpDN?+OqajYc#cj|Ir6 zxA3x9EC}Go&1OTc>jnf|G93;FIv$S#&RhlUcKd6;-_vrrq}6Ig>-Ac!RY9dv5k0{9 zL8H;|1Z;|MX&1cNaU8O3o96Sm0MEXlTrLX%ZUD#%*z`D^PH8fk&~CRAKsKAr2vw;^ zsMTr`uE-M@hT(3vTl$T`U?2sWrUeFx=fV^8dc9Aa8E`LXI2@At>HF9H@iDgXIZ$(;GH}ZnsPQeqXF{rKM8olF4LjkW41YUo)?%RLc7^ z@mnDo^Z;Emnjp;=k>Hq)$07*qoM6N<$ Eg3P_qu>b%7 literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png b/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..692fa10d32607b903a2560fc388ca22f19ff8a10 GIT binary patch literal 916 zcmV;F18e+=P)kl1(3zJu9UfdD_4O*Fzrh#ew8d5J3Zjnt!=?r8+J zl;q);?dhqizpJYMYS+}&)z$n<)ckh@=I7^)LjD&1KLT@eb4DR|cXx7ods{J9S68C| zAwQd&n?f9q!1VOAQA962KR;KDrKKgAnVAXtSzB8Z;&=omCMJv`GJJY^lDD_Fimgcmy<6hICa+fcochxrjt}cee-9PaKaxZ*Q+r zR82s8N&5Qwf&@rEaXbQQWH7V@I5OpOSxTjnTwh;*m;eC?w7a`2+uPe778VvFg25&v zAe{`$uCA^a?CkXP^ur}MIXRKT!$UbbI!XZ@$ZSG{$fhqD*abWL$T7UUyo^8=li1kU z$QB}HUUq{~M|RZH)02AsUM5ynR-&VLb8{1wlg}i!wzgz;cGf2_Ffj15qoYFr=|4X| zkDbyJ5V7l|@b&dIlfd%waxBFU4-ayGf1d&wVBKxNFY5SrdwaV8YUetJ1iQEIu$wFb z$yopa7whZmehJ#z+G<-{TLrND$H&J^=Qy_S(PW`nV24_W0AiFP(A?bo1HA?W3F!dG z$i5e9#^f+!BQ60>0qb#ao!{TosK^}u3~GQi literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png b/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png new file mode 100644 index 0000000000000000000000000000000000000000..df111d48fb31932be2a94f35339b31b96cb25efb GIT binary patch literal 560 zcmV-00?+-4P)|g2h$4jW!V3{2gS_Z6LWvSXm}7}>#*WfFoi*p?CT$#b?nPP1+&RJ& zMZ+YjU5Kf@Q7M9N*+eHcQqc=1(pR46Y>ym71nGefeEGe6;DKLO*8h5Pmk#HF33~hn z%M?z6iY6&8VlgJ-No7-#QKUc^DWE-&pk5Sq1R~f4N)51X~7%+&3`+~-Pm3VXxLitVXUi=2^v~u%^~s5 zw4mR19f>a%tbcljss6`^dP->~kX}Z>*=5Zk)!EX5FqenbDKp{|Cj1=LA?m(OGlBFn z0>cYMb1Qm_q6z|)*@%BMyRMP)&OY3W)@X=zLUw@@g5 zS7;FsS`@azgvAj-5ZPb|f?Tou34bTZ5<$k-b2=%#y{&GL7$3aJCuz<(zw`a%_MUUk z-M8=mE8wzQV;KVeE&h7~RhCbgDoX-Jm)CK98MwAfKDTG1x+Fg2JkCZnXbwl9*qF)? zFtmIdQ?~%m+U{^%5TmRxIpjQbwHnYIj(}d9!4SNKlVsp;e*kNn_fA!X6lQ(8cb;F! zJTamMypmJ}W`51vUtT5y&EW{BRD4FMM{m}G=5Pe~IZ{TDBi*xr#$bRbR}xY{sW*b=a0JqX3MO5s*t39KTL_*= zj!bDOVl(s{#L6Pj9F9O@mWClIjRz*@(V%=2xL~!9F9N|-^3&dOc?y@4lJ#% zU}C%%<3D!8Gd+6O0(^M|;xhGcwD!T~{Dy`Txb?lT~_G6eKaOroCbROZY>Fr-EJ zuqj@~(D$wXD3GhGLAuz2%l(sR>mEaU&o~RK!ws6l5s;f~j8Y|rIqL{3IFPSf)PF0W zwbnzdu0S8Nf`N&fxIVVXqO!pak`-hh(CMahX^%sf8sVc%@;vOCXc*5OVzm$ThrSb* z8Yfhi8Vt^DU~FL>6EnA1*c#iQEUMuOD236h1<8+sqR)I1Bg0pHlP<0-qgwk0w);!- zPGEIoGpIn3%?U+e4OvZFm{{3@he-HSUQh0TIY2-pI(}b%a@1`_VmK&WJ(oDEfJ&&( zMqzu*^z6^UH=+wp$jmzeQ;X{?%Ie&Z8UqCK5)MSk;=@7F@SX#+x*2pC))->2J#L_{ zC8&VD(urK-j=(et^{2G14HAQ$Eg<0!6?uE{}6PQ~Z<_M_ETsW__Ltf+rUuEZ@ zC}~2r#!sNV;+e+w%A?o~S8B<_xW3Nb>#Z&b)S(6PEluDT_zAQYJ;e~PI%&uHT+?0i zRpkqyb&EHrSpxaRE@Y9Qk>$;xCnBw_9hnM00hjs-hJd9}@}G|DSj_ZGaHIV!ejO>` z^j$O^1Fc(FW((w5T*y$|c?N==hzcq$Azkh#&>%g`5a9V%g4w=o7OIp;@ZNa_VE%PTnb7K@TKiqYEigKLH0nl5q$kG0}A%o^BosW%5CSM37;TGXak>0euRvfs#g-ZgS~oZ6 zVZV;G&4?3)7T~FyaYpDTP#p6JL%?K@3{$;)7F~7kdIbX8DV6aDLF?jqh4@I|@NqiZ zfsYBN{n~=z6EM9Q#t<;tF2GM$d0vLyvAFidd+2L=8=bb3-rs?gd=L&=cjlZK?`JuD ze8|6pe_Jqiz6Vb3@6f-tAG^VLD(rXDsR!@h(?_WxIxLDzHnh)oM-&50 z^7i}>NooFn{_SsqI3m66KS(`_0Y=%|{)eWvfE5q|AOk?^Q4BCh-|#;=s~v1WS;zMO zSv70^#}zL8ACx-%zgtufiUDyso&Q1VQ4G*eS@l05zndr*Bo+4l2dPIfKsRB@|Fq&h zumSDU5B#s|+ws4wZNvY(x|RP^%NG8R$(!{*qhdbTfQ-@!|3T_e4A739_dmO0BG`a; zAHMy6`~K_y*YCdkfA#kB|Cg^n{eSW5!~d6WK7tL%t(yEFq#o6Pm^uFoYo`+Bh2r|@ z|3T`}TrlTvY2%Flm94Y?SG3H+i;Eg&{MU(_^8+;+j#Lf9^6h9k^XMHwA!bV^W zku!{+{lPGCo;^l#)=ro&p^-3OK|OYnqHEEb|5_1~;n=Ns?SGIQ2&+ZT6v5CO+OUev uwRr7st;i|=31PS5b-#TZHghoy3IG5hv&P^DAQPDY0000A!i literal 0 HcmV?d00001 diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png b/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..54ecae20f3fd17ef56a4d1c107a1eb50f99d1c92 GIT binary patch literal 729 zcmV;~0w(>5P)Pclh@RP5@7%?TFS?XPe+IYJbT}&JbPfU2BF^KlS-X34&)|;0TpVJRjNt2 zrv#)25acGr0j^zE>DtW%eEELJ`I;j}$JB8Ex(RWBV~15Zcfg=bp9sj6bO5;tVZc?# zM~2`Xn1%+$pAqCbE%r(7BR3%oDDVEj%Ddk~ooyN#ZR64cTAfqeM{Yv=9I(A*2t2R{ zv3epC;GO&g>ex2eA1A=#U58e83>qB~xUVe1UGp5&GzZ~k{e&=}y*I#p!%)6XJlD2-6uOpgdXx*U-GQ0PV>V_mP|UV?fv7OK@YgtN`!WGWTU2U>^?i zYFPmT{#V?Wb%1kp8LPuEGP%YXeiq3IauHbv^o*>)pkFRt-%3^i(e$ExQEH4Fh~EX~ zXtB Date: Thu, 22 Dec 2016 11:53:12 +0100 Subject: [PATCH 818/843] Update terminal.ui plugin version after the 4.2 Neon.2 release --- plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF | 2 +- plugins/org.eclipse.tm.terminal.view.ui/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index 07f0081d7de..f0e53fe9720 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui;singleton:=true -Bundle-Version: 4.2.0.qualifier +Bundle-Version: 4.2.100.qualifier Bundle-Activator: org.eclipse.tm.terminal.view.ui.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml index b907bdf4680..b8c58db4de0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.2.100-SNAPSHOT org.eclipse.tm.terminal.view.ui eclipse-plugin From 6908d52f0a501a0a85c5bbbb085e63e97e4a9c08 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 11 May 2017 16:41:47 -0400 Subject: [PATCH 819/843] Bug 516330 - Serial Connector that uses CDT Serial Port. A few short cuts taken but it's usable. There's no memento for this connector since it's usually not a good idea to always connect to the serial port on startup since there can only be one client at a time. Change-Id: If8ea1c770597068346bb44a6444a6d231d38bca9 Signed-off-by: Doug Schaefer --- admin/pom-config.xml | 4 +- .../.project | 17 + .../build.properties | 13 + .../feature.properties | 36 ++ .../feature.xml | 44 +++ .../pom.xml | 36 ++ .../.project | 17 + .../build.properties | 13 + .../feature.properties | 36 ++ .../feature.xml | 52 +++ .../pom.xml | 36 ++ .../feature.properties | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.properties | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.xml | 1 - .../feature.xml | 1 - .../.classpath | 7 + .../.gitignore | 1 + .../.options | 2 + .../.project | 34 ++ .../.settings/org.eclipse.jdt.core.prefs | 361 ++++++++++++++++++ .../.settings/org.eclipse.jdt.ui.prefs | 62 +++ .../.settings/org.eclipse.pde.prefs | 32 ++ .../META-INF/MANIFEST.MF | 23 ++ .../about.html | 28 ++ .../build.properties | 16 + .../plugin.properties | 20 + .../plugin.xml | 22 ++ .../pom.xml | 17 + .../cdtserial/activator/Activator.java | 119 ++++++ .../cdtserial/connector/SerialConnector.java | 119 ++++++ .../cdtserial/connector/SerialSettings.java | 147 +++++++ .../cdtserial/controls/SerialConfigPanel.java | 108 ++++++ .../controls/SerialSettingsPage.java | 264 +++++++++++++ .../launcher/SerialLauncherDelegate.java | 102 +++++ .../connector/cdtserial/nls/Messages.java | 39 ++ .../cdtserial/nls/Messages.properties | 16 + pom.xml | 3 + .../org.eclipse.tm.terminal.repo/category.xml | 6 + 42 files changed, 1856 insertions(+), 10 deletions(-) create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml create mode 100644 features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.options create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.project create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java create mode 100644 plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 4daa6993aee..bcab7875d51 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -37,8 +37,8 @@ - 0.22.0 - 0.22.0 + 1.0.0 + 1.0.0 2.7 1.8 1.5 diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project new file mode 100644 index 00000000000..ea0d993407f --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.cdtserial.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties new file mode 100644 index 00000000000..400f7fd68ee --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties new file mode 100644 index 00000000000..84c64e1b8ac --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2017 QNX Software Systems and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# QNX Software Systems - Initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Serial Connector Extensions + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.2 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2017 QNX Software Systems and others.\ +All rights reserved. This program and the accompanying materials\ +are made available under the terms of the Eclipse Public License v1.0\ +which accompanies this distribution, and is available at\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml new file mode 100644 index 00000000000..b0e44c309fd --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml @@ -0,0 +1,44 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml new file mode 100644 index 00000000000..387e636939b --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.2.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.3.0-SNAPSHOT + org.eclipse.tm.terminal.connector.cdtserial.feature + eclipse-feature + + + true + + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project new file mode 100644 index 00000000000..b870ea2d162 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project @@ -0,0 +1,17 @@ + + + org.eclipse.tm.terminal.connector.cdtserial.sdk.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties new file mode 100644 index 00000000000..400f7fd68ee --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties @@ -0,0 +1,13 @@ +################################################################################ +# Copyright (c) 2006, 2015 Wind River Systems, Inc. and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Michael Scharf (Wind River) - initial API and implementation +# Uwe Stieber (Wind River) - Bug 434937 - Releng: The Terminal Features have an incorrect license +################################################################################ +bin.includes = feature.xml,\ + feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties new file mode 100644 index 00000000000..229855c57b5 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties @@ -0,0 +1,36 @@ +############################################################################### +# Copyright (c) 2017 QNX Software Systems and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# QNX Software Systems - Initial API and implementation +############################################################################### +# feature.properties +# contains externalized strings for feature.xml +# "%foo" in feature.xml corresponds to the key "foo" in this file +# java.io.Properties file (ISO 8859-1 with "\" escapes) +# This file should be translated. + +# "featureName" property - name of the feature +featureName=TM Terminal Serial Connector Extensions, SDK + +# "providerName" property - name of the company that provides the feature +providerName=Eclipse.org - Target Management + +# "updateSiteName" property - label for the update site +updateSiteName=TM Terminal 4.2 Updates + +# "description" property - description of the feature +description=A serial line connector for the Terminal + +# "copyright" property - text of the "Feature Update Copyright" +copyright=\ +Copyright (c) 2017 QNX Software Systems and others.\ +All rights reserved. This program and the accompanying materials\ +are made available under the terms of the Eclipse Public License v1.0\ +which accompanies this distribution, and is available at\ +http://www.eclipse.org/legal/epl-v10.html +################ end of copyright property #################################### diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml new file mode 100644 index 00000000000..ad40eb35802 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml @@ -0,0 +1,52 @@ + + + + + + %description + + + + %copyright + + + + %license + + + + + + + + + + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml new file mode 100644 index 00000000000..fad1521ad74 --- /dev/null +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml @@ -0,0 +1,36 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.2.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.3.0-SNAPSHOT + org.eclipse.tm.terminal.connector.cdtserial.sdk.feature + eclipse-feature + + + true + + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + default + + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties index 3256dc73660..f805b3d5241 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Serial Connector Extensions +featureName=TM Terminal RXTX Serial Connector Extensions # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml index b1789aaa63d..4697e18cc34 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml index 3e34387899a..128be504a98 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.2.1-SNAPSHOT org.eclipse.tm.terminal.connector.serial.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties index 97e0b036259..22b2cb1c2b0 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties @@ -15,7 +15,7 @@ # This file should be translated. # "featureName" property - name of the feature -featureName=TM Terminal Serial Connector Extensions, SDK +featureName=TM Terminal RXTX Serial Connector Extensions, SDK # "providerName" property - name of the company that provides the feature providerName=Eclipse.org - Target Management diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml index 87e312f7307..ac70fa4fbc7 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml @@ -13,7 +13,7 @@ diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml index 77ba6a531f5..71f97c46af2 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.2.1-SNAPSHOT org.eclipse.tm.terminal.connector.serial.sdk.feature eclipse-feature diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/features/org.eclipse.tm.terminal.feature/feature.xml index 3d55432c30c..59d7e5989ee 100644 --- a/features/org.eclipse.tm.terminal.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.feature/feature.xml @@ -26,7 +26,6 @@ - diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml index 38b20a91ca1..f57c229e4b8 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/feature.xml @@ -29,7 +29,6 @@ - diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath new file mode 100644 index 00000000000..eca7bdba8f0 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore new file mode 100644 index 00000000000..ae3c1726048 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options new file mode 100644 index 00000000000..7a6120d0244 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options @@ -0,0 +1,2 @@ +org.eclipse.tm.terminal.connector.serial/debugmode = 0 +org.eclipse.tm.terminal.connector.serial/trace/serialLinePanel = false diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project new file mode 100644 index 00000000000..4a564b77c17 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project @@ -0,0 +1,34 @@ + + + org.eclipse.tm.terminal.connector.cdtserial + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + org.eclipse.pde.api.tools.apiAnalysisBuilder + + + + + + org.eclipse.pde.PluginNature + org.eclipse.jdt.core.javanature + org.eclipse.pde.api.tools.apiAnalysisNature + + diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..6f5171a972b --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,361 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.autoboxing=warning +org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning +org.eclipse.jdt.core.compiler.problem.deadCode=warning +org.eclipse.jdt.core.compiler.problem.deprecation=warning +org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled +org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled +org.eclipse.jdt.core.compiler.problem.discouragedReference=warning +org.eclipse.jdt.core.compiler.problem.emptyStatement=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning +org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled +org.eclipse.jdt.core.compiler.problem.fieldHiding=warning +org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning +org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning +org.eclipse.jdt.core.compiler.problem.forbiddenReference=error +org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning +org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=enabled +org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning +org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning +org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning +org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore +org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error +org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning +org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled +org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning +org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning +org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning +org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning +org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning +org.eclipse.jdt.core.compiler.problem.nullReference=warning +org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error +org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore +org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning +org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore +org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning +org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning +org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning +org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning +org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore +org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore +org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled +org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning +org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled +org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled +org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning +org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning +org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=disabled +org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning +org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore +org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryElse=warning +org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning +org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=enabled +org.eclipse.jdt.core.compiler.problem.unusedImport=warning +org.eclipse.jdt.core.compiler.problem.unusedLabel=warning +org.eclipse.jdt.core.compiler.problem.unusedLocal=warning +org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning +org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore +org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=enabled +org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=enabled +org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning +org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning +org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning +org.eclipse.jdt.core.compiler.source=1.8 +org.eclipse.jdt.core.formatter.align_type_members_on_columns=false +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=0 +org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_assignment=0 +org.eclipse.jdt.core.formatter.alignment_for_binary_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_compact_if=0 +org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=0 +org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0 +org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=0 +org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80 +org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16 +org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=0 +org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16 +org.eclipse.jdt.core.formatter.blank_lines_after_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_after_package=1 +org.eclipse.jdt.core.formatter.blank_lines_before_field=0 +org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0 +org.eclipse.jdt.core.formatter.blank_lines_before_imports=1 +org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1 +org.eclipse.jdt.core.formatter.blank_lines_before_method=1 +org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1 +org.eclipse.jdt.core.formatter.blank_lines_before_package=0 +org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1 +org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1 +org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line +org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=true +org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false +org.eclipse.jdt.core.formatter.comment.format_block_comments=true +org.eclipse.jdt.core.formatter.comment.format_header=false +org.eclipse.jdt.core.formatter.comment.format_html=true +org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true +org.eclipse.jdt.core.formatter.comment.format_line_comments=true +org.eclipse.jdt.core.formatter.comment.format_source_code=true +org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true +org.eclipse.jdt.core.formatter.comment.indent_root_tags=true +org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert +org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert +org.eclipse.jdt.core.formatter.comment.line_length=100 +org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true +org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true +org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false +org.eclipse.jdt.core.formatter.compact_else_if=true +org.eclipse.jdt.core.formatter.continuation_indentation=4 +org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=4 +org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off +org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on +org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false +org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true +org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true +org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_empty_lines=false +org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true +org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true +org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false +org.eclipse.jdt.core.formatter.indentation.size=4 +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert +org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=insert +org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert +org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert +org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert +org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert +org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert +org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert +org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert +org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert +org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert +org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert +org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert +org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert +org.eclipse.jdt.core.formatter.join_lines_in_comments=true +org.eclipse.jdt.core.formatter.join_wrapped_lines=true +org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=true +org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false +org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=true +org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=true +org.eclipse.jdt.core.formatter.lineSplit=100 +org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false +org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false +org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0 +org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1 +org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true +org.eclipse.jdt.core.formatter.tabulation.char=tab +org.eclipse.jdt.core.formatter.tabulation.size=4 +org.eclipse.jdt.core.formatter.use_on_off_tags=false +org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true +org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true +org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true +org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs new file mode 100644 index 00000000000..0d732269684 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs @@ -0,0 +1,62 @@ +eclipse.preferences.version=1 +editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true +formatter_profile=_Target Explorer Java STD +formatter_settings_version=12 +sp_cleanup.add_default_serial_version_id=true +sp_cleanup.add_generated_serial_version_id=false +sp_cleanup.add_missing_annotations=true +sp_cleanup.add_missing_deprecated_annotations=true +sp_cleanup.add_missing_methods=false +sp_cleanup.add_missing_nls_tags=false +sp_cleanup.add_missing_override_annotations=true +sp_cleanup.add_missing_override_annotations_interface_methods=true +sp_cleanup.add_serial_version_id=false +sp_cleanup.always_use_blocks=true +sp_cleanup.always_use_parentheses_in_expressions=false +sp_cleanup.always_use_this_for_non_static_field_access=false +sp_cleanup.always_use_this_for_non_static_method_access=false +sp_cleanup.convert_functional_interfaces=false +sp_cleanup.convert_to_enhanced_for_loop=false +sp_cleanup.correct_indentation=false +sp_cleanup.format_source_code=false +sp_cleanup.format_source_code_changes_only=false +sp_cleanup.insert_inferred_type_arguments=false +sp_cleanup.make_local_variable_final=false +sp_cleanup.make_parameters_final=false +sp_cleanup.make_private_fields_final=true +sp_cleanup.make_type_abstract_if_missing_method=false +sp_cleanup.make_variable_declarations_final=false +sp_cleanup.never_use_blocks=false +sp_cleanup.never_use_parentheses_in_expressions=true +sp_cleanup.on_save_use_additional_actions=true +sp_cleanup.organize_imports=true +sp_cleanup.qualify_static_field_accesses_with_declaring_class=false +sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true +sp_cleanup.qualify_static_member_accesses_with_declaring_class=false +sp_cleanup.qualify_static_method_accesses_with_declaring_class=false +sp_cleanup.remove_private_constructors=true +sp_cleanup.remove_redundant_type_arguments=false +sp_cleanup.remove_trailing_whitespaces=true +sp_cleanup.remove_trailing_whitespaces_all=true +sp_cleanup.remove_trailing_whitespaces_ignore_empty=false +sp_cleanup.remove_unnecessary_casts=false +sp_cleanup.remove_unnecessary_nls_tags=true +sp_cleanup.remove_unused_imports=true +sp_cleanup.remove_unused_local_variables=false +sp_cleanup.remove_unused_private_fields=true +sp_cleanup.remove_unused_private_members=false +sp_cleanup.remove_unused_private_methods=true +sp_cleanup.remove_unused_private_types=true +sp_cleanup.sort_members=false +sp_cleanup.sort_members_all=false +sp_cleanup.use_anonymous_class_creation=false +sp_cleanup.use_blocks=false +sp_cleanup.use_blocks_only_for_return_and_throw=false +sp_cleanup.use_lambda=false +sp_cleanup.use_parentheses_in_expressions=false +sp_cleanup.use_this_for_non_static_field_access=false +sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true +sp_cleanup.use_this_for_non_static_method_access=false +sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true +sp_cleanup.use_type_arguments=false diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs new file mode 100644 index 00000000000..cf80c8bc5b8 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs @@ -0,0 +1,32 @@ +compilers.f.unresolved-features=1 +compilers.f.unresolved-plugins=1 +compilers.incompatible-environment=1 +compilers.p.build=1 +compilers.p.build.bin.includes=1 +compilers.p.build.encodings=2 +compilers.p.build.java.compiler=2 +compilers.p.build.java.compliance=1 +compilers.p.build.missing.output=2 +compilers.p.build.output.library=1 +compilers.p.build.source.library=1 +compilers.p.build.src.includes=1 +compilers.p.deprecated=1 +compilers.p.discouraged-class=1 +compilers.p.internal=1 +compilers.p.missing-packages=1 +compilers.p.missing-version-export-package=2 +compilers.p.missing-version-import-package=1 +compilers.p.missing-version-require-bundle=1 +compilers.p.no-required-att=0 +compilers.p.not-externalized-att=2 +compilers.p.unknown-attribute=1 +compilers.p.unknown-class=1 +compilers.p.unknown-element=1 +compilers.p.unknown-identifier=1 +compilers.p.unknown-resource=1 +compilers.p.unresolved-ex-points=0 +compilers.p.unresolved-import=0 +compilers.s.create-docs=false +compilers.s.doc-folder=doc +compilers.s.open-tags=1 +eclipse.preferences.version=1 diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..37e6fdd9f81 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF @@ -0,0 +1,23 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: org.eclipse.tm.terminal.connector.cdtserial;singleton:=true +Bundle-Version: 4.3.0.qualifier +Bundle-Activator: org.eclipse.tm.terminal.connector.cdtserial.activator.Activator +Bundle-Vendor: %providerName +Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", + org.eclipse.core.runtime;bundle-version="3.8.0", + org.eclipse.equinox.security;bundle-version="1.1.100", + org.eclipse.tm.terminal.view.core;bundle-version="4.0.0";resolution:=optional, + org.eclipse.tm.terminal.view.ui;bundle-version="4.1.0";resolution:=optional, + org.eclipse.tm.terminal.control;bundle-version="4.0.0", + org.eclipse.ui;bundle-version="3.8.0", + org.eclipse.cdt.native.serial;bundle-version="1.0.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Bundle-ActivationPolicy: lazy +Bundle-Localization: plugin +Export-Package: org.eclipse.tm.terminal.connector.cdtserial.activator;x-internal:=true, + org.eclipse.tm.terminal.connector.cdtserial.connector, + org.eclipse.tm.terminal.connector.cdtserial.controls, + org.eclipse.tm.terminal.connector.cdtserial.launcher, + org.eclipse.tm.terminal.connector.cdtserial.nls;x-internal:=true diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html b/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html new file mode 100644 index 00000000000..0f07cf034df --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html @@ -0,0 +1,28 @@ + + + + +About + + +

                                        About This Content

                                        + +

                                        May 24, 2012

                                        +

                                        License

                                        + +

                                        The Eclipse Foundation makes available all content in this plug-in ("Content"). Unless otherwise +indicated below, the Content is provided to you under the terms and conditions of the +Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is available +at http://www.eclipse.org/legal/epl-v10.html. +For purposes of the EPL, "Program" will mean the Content.

                                        + +

                                        If you did not receive this Content directly from the Eclipse Foundation, the Content is +being redistributed by another party ("Redistributor") and different terms and conditions may +apply to your use of any object code in the Content. Check the Redistributor's license that was +provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise +indicated below, the terms and conditions of the EPL still apply to any source code in the Content +and such source code may be obtained at http://www.eclipse.org.

                                        + + + \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties b/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties new file mode 100644 index 00000000000..333354053ba --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2012, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +############################################################################### +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml,\ + about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties b/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties new file mode 100644 index 00000000000..17f52a5df6f --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties @@ -0,0 +1,20 @@ +################################################################################## +# Copyright (c) 2011, 2015 Wind River Systems, Inc. and others. All rights reserved. +# This program and the accompanying materials are made available under the terms +# of the Eclipse Public License v1.0 which accompanies this distribution, and is +# available at http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# Wind River Systems - initial API and implementation +################################################################################## + +pluginName = Terminal Serial Connector +providerName = Eclipse.org - Target Management + +# ----- Terminal Launcher Delegates ----- + +SerialLauncherDelegate.label=Serial Terminal + +# ----- Terminal Connectors ----- + +SerialConnector.label = Serial diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml b/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml new file mode 100644 index 00000000000..4628094c3bc --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml new file mode 100644 index 00000000000..1f50fba8c79 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.2.0-SNAPSHOT + ../../admin/pom-build.xml + + + 4.3.0-SNAPSHOT + org.eclipse.tm.terminal.connector.cdtserial + eclipse-plugin + diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java new file mode 100644 index 00000000000..d2e1789d3c5 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java @@ -0,0 +1,119 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.activator; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IStatus; +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.ui.plugin.AbstractUIPlugin; +import org.osgi.framework.BundleContext; + +/** + * The activator class controls the plug-in life cycle + */ +public class Activator extends AbstractUIPlugin { + // The shared instance + private static Activator plugin; + // The trace handler instance + private static volatile TraceHandler traceHandler; + + /** + * The constructor + */ + public Activator() { + } + + /** + * Returns the shared instance + * + * @return the shared instance + */ + public static Activator getDefault() { + return plugin; + } + + /** + * Convenience method which returns the unique identifier of this plugin. + */ + public static String getUniqueIdentifier() { + if (getDefault() != null && getDefault().getBundle() != null) { + return getDefault().getBundle().getSymbolicName(); + } + return "org.eclipse.tm.terminal.connector.serial"; //$NON-NLS-1$ + } + + /** + * Returns the bundles trace handler. + * + * @return The bundles trace handler. + */ + public static TraceHandler getTraceHandler() { + if (traceHandler == null) { + traceHandler = new TraceHandler(getUniqueIdentifier()); + } + return traceHandler; + } + + @Override + public void start(BundleContext context) throws Exception { + super.start(context); + plugin = this; + } + + @Override + public void stop(BundleContext context) throws Exception { + plugin = null; + super.stop(context); + } + + @Override + protected void initializeImageRegistry(ImageRegistry registry) { + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the Image object instance. + * + * @param key The key the image is registered with. + * @return The Image object instance or null. + */ + public static Image getImage(String key) { + return getDefault().getImageRegistry().get(key); + } + + /** + * Loads the image registered under the specified key from the image + * registry and returns the ImageDescriptor object instance. + * + * @param key The key the image is registered with. + * @return The ImageDescriptor object instance or null. + */ + public static ImageDescriptor getImageDescriptor(String key) { + return getDefault().getImageRegistry().getDescriptor(key); + } + + public static void log(IStatus status) { + plugin.getLog().log(status); + } + + public static void log(Exception exception) { + if (exception instanceof CoreException) { + log(((CoreException) exception).getStatus()); + } else { + log(new Status(IStatus.ERROR, plugin.getBundle().getSymbolicName(), exception.getLocalizedMessage(), exception)); + } + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java new file mode 100644 index 00000000000..6716a4739d3 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java @@ -0,0 +1,119 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.connector; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.HashSet; +import java.util.Set; + +import org.eclipse.cdt.serial.SerialPort; +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.tm.terminal.connector.cdtserial.activator.Activator; + +public class SerialConnector extends TerminalConnectorImpl { + + private SerialSettings settings = new SerialSettings(); + SerialPort serialPort; + + private static Set openPorts = new HashSet<>(); + + public static boolean isOpen(String portName) { + return openPorts.contains(portName); + } + + @Override + public OutputStream getTerminalToRemoteStream() { + return serialPort.getOutputStream(); + } + + public SerialSettings getSettings() { + return settings; + } + + public SerialPort getSerialPort() { + return serialPort; + } + + @Override + public String getSettingsSummary() { + return settings.getSummary(); + } + + @Override + public void load(ISettingsStore store) { + settings.load(store); + } + + @Override + public void save(ISettingsStore store) { + settings.save(store); + } + + @Override + public void connect(ITerminalControl control) { + super.connect(control); + control.setState(TerminalState.CONNECTING); + + serialPort = new SerialPort(settings.getPortName()); + try { + serialPort.setBaudRate(settings.getBaudRate()); + serialPort.setByteSize(settings.getByteSize()); + serialPort.setParity(settings.getParity()); + serialPort.setStopBits(settings.getStopBits()); + serialPort.open(); + } catch (IOException e) { + Activator.log(e); + control.setState(TerminalState.CLOSED); + return; + } + + openPorts.add(serialPort.getPortName()); + + new Thread() { + @Override + public void run() { + InputStream targetIn = serialPort.getInputStream(); + byte[] buff = new byte[256]; + int n; + try { + while ((n = targetIn.read(buff, 0, buff.length)) >= 0) { + if (n != 0) { + control.getRemoteToTerminalOutputStream().write(buff, 0, n); + } + } + disconnect(); + } catch (IOException e) { + Activator.log(e); + } + } + }.start(); + control.setState(TerminalState.CONNECTED); + } + + @Override + protected void doDisconnect() { + if (serialPort != null && serialPort.isOpen()) { + openPorts.remove(serialPort.getPortName()); + try { + serialPort.close(); + } catch (IOException e) { + Activator.log(e); + } + } + serialPort = null; + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java new file mode 100644 index 00000000000..25864793a59 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java @@ -0,0 +1,147 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.connector; + +import org.eclipse.cdt.serial.BaudRate; +import org.eclipse.cdt.serial.ByteSize; +import org.eclipse.cdt.serial.Parity; +import org.eclipse.cdt.serial.StopBits; +import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; + +public class SerialSettings { + + public static final String PORT_NAME_ATTR = "cdtserial.portName"; //$NON-NLS-1$ + public static final String BAUD_RATE_ATTR = "cdtserial.baudRate"; //$NON-NLS-1$ + public static final String BYTE_SIZE_ATTR = "cdtserial.byteSize"; //$NON-NLS-1$ + public static final String PARITY_ATTR = "cdtserial.parity"; //$NON-NLS-1$ + public static final String STOP_BITS_ATTR = "cdtserial.stopBits"; //$NON-NLS-1$ + + private String portName; + private BaudRate baudRate; + private ByteSize byteSize; + private Parity parity; + private StopBits stopBits; + + /** + * Load information into the RemoteSettings object. + */ + public void load(ISettingsStore store) { + portName = store.get(PORT_NAME_ATTR, ""); //$NON-NLS-1$ + + String baudRateStr = store.get(BAUD_RATE_ATTR, ""); //$NON-NLS-1$ + if (baudRateStr.isEmpty()) { + baudRate = BaudRate.getDefault(); + } else { + String[] rates = BaudRate.getStrings(); + for (int i = 0; i < rates.length; ++i) { + if (baudRateStr.equals(rates[i])) { + baudRate = BaudRate.fromStringIndex(i); + break; + } + } + } + + String byteSizeStr = store.get(BYTE_SIZE_ATTR, ""); //$NON-NLS-1$ + if (byteSizeStr.isEmpty()) { + byteSize = ByteSize.getDefault(); + } else { + String[] sizes = ByteSize.getStrings(); + for (int i = 0; i < sizes.length; ++i) { + if (byteSizeStr.equals(sizes[i])) { + byteSize = ByteSize.fromStringIndex(i); + break; + } + } + } + + String parityStr = store.get(PARITY_ATTR, ""); //$NON-NLS-1$ + if (parityStr.isEmpty()) { + parity = Parity.getDefault(); + } else { + String[] parities = Parity.getStrings(); + for (int i = 0; i < parities.length; ++i) { + if (parityStr.equals(parities[i])) { + parity = Parity.fromStringIndex(i); + break; + } + } + } + + String stopBitsStr = store.get(STOP_BITS_ATTR, ""); //$NON-NLS-1$ + if (stopBitsStr.isEmpty()) { + stopBits = StopBits.getDefault(); + } else { + String[] bits = StopBits.getStrings(); + for (int i = 0; i < bits.length; ++i) { + if (stopBitsStr.equals(bits[i])) { + stopBits = StopBits.fromStringIndex(i); + break; + } + } + } + } + + /** + * Extract information from the RemoteSettings object. + */ + public void save(ISettingsStore store) { + store.put(PORT_NAME_ATTR, portName); + store.put(BAUD_RATE_ATTR, BaudRate.getStrings()[BaudRate.getStringIndex(baudRate)]); + store.put(BYTE_SIZE_ATTR, ByteSize.getStrings()[ByteSize.getStringIndex(byteSize)]); + store.put(PARITY_ATTR, Parity.getStrings()[Parity.getStringIndex(parity)]); + store.put(STOP_BITS_ATTR, StopBits.getStrings()[StopBits.getStringIndex(stopBits)]); + } + + public String getPortName() { + return portName; + } + + public void setPortName(String portName) { + this.portName = portName; + } + + public BaudRate getBaudRate() { + return baudRate; + } + + public void setBaudRate(BaudRate baudRate) { + this.baudRate = baudRate; + } + + public ByteSize getByteSize() { + return byteSize; + } + + public void setByteSize(ByteSize byteSize) { + this.byteSize = byteSize; + } + + public Parity getParity() { + return parity; + } + + public void setParity(Parity parity) { + this.parity = parity; + } + + public StopBits getStopBits() { + return stopBits; + } + + public void setStopBits(StopBits stopBits) { + this.stopBits = stopBits; + } + + public String getSummary() { + return portName; + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java new file mode 100644 index 00000000000..2291d2fb118 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java @@ -0,0 +1,108 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.controls; + +import java.util.Map; + +import org.eclipse.cdt.serial.BaudRate; +import org.eclipse.cdt.serial.ByteSize; +import org.eclipse.cdt.serial.Parity; +import org.eclipse.cdt.serial.StopBits; +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.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; + + public SerialConfigPanel(IConfigurationPanelContainer container) { + super(container); + } + + @Override + public void setupPanel(Composite parent) { + Composite panel = new Composite(parent, SWT.NONE); + panel.setLayout(new GridLayout()); + GridData data = new GridData(SWT.FILL, SWT.FILL, true, true); + panel.setLayoutData(data); + + SerialConnector connector = new SerialConnector(); + settings = connector.getSettings(); + page = new SerialSettingsPage(settings, this); + page.createControl(panel); + + createEncodingUI(panel, true); + + setControl(panel); + } + + @Override + public void extractData(Map data) { + if (data == null) { + return; + } + + page.saveSettings(); + data.put(SerialSettings.PORT_NAME_ATTR, settings.getPortName()); + data.put(SerialSettings.BAUD_RATE_ATTR, settings.getBaudRate()); + data.put(SerialSettings.BYTE_SIZE_ATTR, settings.getByteSize()); + data.put(SerialSettings.PARITY_ATTR, settings.getParity()); + data.put(SerialSettings.STOP_BITS_ATTR, settings.getStopBits()); + + if (getEncoding() != null) { + data.put(ITerminalsConnectorConstants.PROP_ENCODING, getEncoding()); + } + } + + @Override + public void setupData(Map data) { + if (data == null) { + return; + } + + settings.setPortName((String) data.get(SerialSettings.PORT_NAME_ATTR)); + settings.setBaudRate((BaudRate) data.get(SerialSettings.BAUD_RATE_ATTR)); + settings.setByteSize((ByteSize) data.get(SerialSettings.BYTE_SIZE_ATTR)); + settings.setParity((Parity) data.get(SerialSettings.PARITY_ATTR)); + settings.setStopBits((StopBits) data.get(SerialSettings.STOP_BITS_ATTR)); + + String encoding = (String) data.get(ITerminalsConnectorConstants.PROP_ENCODING); + if (encoding != null) { + setEncoding(encoding); + } + } + + @Override + protected void saveSettingsForHost(boolean add) { + } + + @Override + protected void fillSettingsForHost(String host) { + } + + @Override + protected String getHostFromSettings() { + if (page != null) { + page.saveSettings(); + return settings.getPortName(); + } + return null; + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java new file mode 100644 index 00000000000..e5a7b2010bd --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java @@ -0,0 +1,264 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.controls; + +import java.io.IOException; + +import org.eclipse.cdt.serial.BaudRate; +import org.eclipse.cdt.serial.ByteSize; +import org.eclipse.cdt.serial.Parity; +import org.eclipse.cdt.serial.SerialPort; +import org.eclipse.cdt.serial.StopBits; +import org.eclipse.jface.dialogs.DialogSettings; +import org.eclipse.jface.dialogs.IDialogSettings; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.GridData; +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.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 { + + private final SerialSettings settings; + private final IConfigurationPanel panel; + private final IDialogSettings dialogSettings; + + private Combo portCombo; + private Combo baudRateCombo; + private Combo byteSizeCombo; + private Combo parityCombo; + private Combo stopBitsCombo; + + private String portName; + private BaudRate baudRate; + private ByteSize byteSize; + private Parity parity; + private StopBits stopBits; + + public SerialSettingsPage(SerialSettings settings, IConfigurationPanel panel) { + this.settings = settings; + this.panel = panel; + setHasControlDecoration(true); + + dialogSettings = DialogSettings.getOrCreateSection(Activator.getDefault().getDialogSettings(), + this.getClass().getSimpleName()); + portName = dialogSettings.get(SerialSettings.PORT_NAME_ATTR); + + String baudRateStr = dialogSettings.get(SerialSettings.BAUD_RATE_ATTR); + if (baudRateStr == null || baudRateStr.isEmpty()) { + baudRate = BaudRate.getDefault(); + } else { + String[] rates = BaudRate.getStrings(); + for (int i = 0; i < rates.length; ++i) { + if (baudRateStr.equals(rates[i])) { + baudRate = BaudRate.fromStringIndex(i); + break; + } + } + } + + String byteSizeStr = dialogSettings.get(SerialSettings.BYTE_SIZE_ATTR); + if (byteSizeStr == null || byteSizeStr.isEmpty()) { + byteSize = ByteSize.getDefault(); + } else { + String[] sizes = ByteSize.getStrings(); + for (int i = 0; i < sizes.length; ++i) { + if (byteSizeStr.equals(sizes[i])) { + byteSize = ByteSize.fromStringIndex(i); + break; + } + } + } + + String parityStr = dialogSettings.get(SerialSettings.PARITY_ATTR); + if (parityStr == null || parityStr.isEmpty()) { + parity = Parity.getDefault(); + } else { + String[] parities = Parity.getStrings(); + for (int i = 0; i < parities.length; ++i) { + if (parityStr.equals(parities[i])) { + parity = Parity.fromStringIndex(i); + break; + } + } + } + + String stopBitsStr = dialogSettings.get(SerialSettings.STOP_BITS_ATTR); + if (stopBitsStr == null || stopBitsStr.isEmpty()) { + stopBits = StopBits.getDefault(); + } else { + String[] bits = StopBits.getStrings(); + for (int i = 0; i < bits.length; ++i) { + if (stopBitsStr.equals(bits[i])) { + stopBits = StopBits.fromStringIndex(i); + break; + } + } + } + } + + @Override + public void createControl(Composite parent) { + Composite comp = new Composite(parent, SWT.NONE); + GridLayout gridLayout = new GridLayout(2, false); + gridLayout.marginWidth = gridLayout.marginHeight = 0; + GridData gridData = new GridData(GridData.FILL_HORIZONTAL); + comp.setLayout(gridLayout); + comp.setLayoutData(gridData); + + Label portLabel = new Label(comp, SWT.NONE); + portLabel.setText(Messages.SerialTerminalSettingsPage_SerialPort); + + portCombo = new Combo(comp, SWT.READ_ONLY); + portCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + String[] portNames = new String[0]; + try { + portNames = SerialPort.list(); + } catch (IOException e) { + Activator.log(e); + } + for (String portName : portNames) { + if (!SerialConnector.isOpen(portName)) { + portCombo.add(portName); + } + } + portCombo.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + validate(); + } + }); + + Label baudRateLabel = new Label(comp, SWT.NONE); + baudRateLabel.setText(Messages.SerialTerminalSettingsPage_BaudRate); + + baudRateCombo = new Combo(comp, SWT.READ_ONLY); + baudRateCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + for (String baudRateStr : BaudRate.getStrings()) { + baudRateCombo.add(baudRateStr); + } + + Label byteSizeLabel = new Label(comp, SWT.NONE); + byteSizeLabel.setText(Messages.SerialTerminalSettingsPage_DataSize); + + byteSizeCombo = new Combo(comp, SWT.READ_ONLY); + byteSizeCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + for (String byteSizeStr : ByteSize.getStrings()) { + byteSizeCombo.add(byteSizeStr); + } + + Label parityLabel = new Label(comp, SWT.NONE); + parityLabel.setText(Messages.SerialTerminalSettingsPage_Parity); + + parityCombo = new Combo(comp, SWT.READ_ONLY); + parityCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + for (String parityStr : Parity.getStrings()) { + parityCombo.add(parityStr); + } + + Label stopBitsLabel = new Label(comp, SWT.NONE); + stopBitsLabel.setText(Messages.SerialTerminalSettingsPage_StopBits); + + stopBitsCombo = new Combo(comp, SWT.READ_ONLY); + stopBitsCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); + for (String stopBitsStr : StopBits.getStrings()) { + stopBitsCombo.add(stopBitsStr); + } + + loadSettings(); + } + + void validate() { + IConfigurationPanelContainer container = panel.getContainer(); + container.validate(); + } + + @Override + public void loadSettings() { + String portName = settings.getPortName(); + if (portName == null || portName.isEmpty()) { + portName = this.portName; + } + if (portName != null && !portName.isEmpty() && !SerialConnector.isOpen(portName)) { + int i = 0; + for (String name : portCombo.getItems()) { + if (portName.equals(name)) { + portCombo.select(i); + break; + } + i++; + } + } else if (portCombo.getItemCount() > 0) { + portCombo.select(0); + } + + BaudRate baudRate = settings.getBaudRate(); + if (baudRate == null) { + baudRate = this.baudRate; + } + baudRateCombo.select(BaudRate.getStringIndex(baudRate)); + + ByteSize byteSize = settings.getByteSize(); + if (byteSize == null) { + byteSize = this.byteSize; + } + byteSizeCombo.select(ByteSize.getStringIndex(byteSize)); + + Parity parity = settings.getParity(); + if (parity == null) { + parity = this.parity; + } + parityCombo.select(Parity.getStringIndex(parity)); + + StopBits stopBits = settings.getStopBits(); + if (stopBits == null) { + stopBits = this.stopBits; + } + stopBitsCombo.select(StopBits.getStringIndex(stopBits)); + } + + @Override + public void saveSettings() { + settings.setPortName(portCombo.getText()); + settings.setBaudRate(BaudRate.fromStringIndex(baudRateCombo.getSelectionIndex())); + settings.setByteSize(ByteSize.fromStringIndex(byteSizeCombo.getSelectionIndex())); + settings.setParity(Parity.fromStringIndex(parityCombo.getSelectionIndex())); + settings.setStopBits(StopBits.fromStringIndex(stopBitsCombo.getSelectionIndex())); + + dialogSettings.put(SerialSettings.PORT_NAME_ATTR, portCombo.getText()); + dialogSettings.put(SerialSettings.BAUD_RATE_ATTR, + BaudRate.getStrings()[baudRateCombo.getSelectionIndex()]); + dialogSettings.put(SerialSettings.BYTE_SIZE_ATTR, + ByteSize.getStrings()[byteSizeCombo.getSelectionIndex()]); + dialogSettings.put(SerialSettings.PARITY_ATTR, Parity.getStrings()[parityCombo.getSelectionIndex()]); + dialogSettings.put(SerialSettings.STOP_BITS_ATTR, + StopBits.getStrings()[stopBitsCombo.getSelectionIndex()]); + } + + @Override + public boolean validateSettings() { + if (portCombo.getSelectionIndex() < 0 && portCombo.getText().isEmpty()) { + return false; + } + return true; + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java new file mode 100644 index 00000000000..3af53a9b2b2 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java @@ -0,0 +1,102 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.launcher; + +import java.util.Map; + +import org.eclipse.cdt.serial.BaudRate; +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.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 { + + @Override + public boolean needsUserConfiguration() { + return true; + } + + @Override + public IConfigurationPanel getPanel(IConfigurationPanelContainer container) { + return new SerialConfigPanel(container); + } + + @Override + public ITerminalConnector createTerminalConnector(Map properties) { + Assert.isNotNull(properties); + + // Check for the terminal connector id + String connectorId = (String) properties.get(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + if (connectorId == null) { + connectorId = "org.eclipse.tm.terminal.connector.cdtserial.SerialConnector"; //$NON-NLS-1$ + } + + // Extract the properties + SerialSettings settings = new SerialSettings(); + settings.setPortName((String) properties.get(SerialSettings.PORT_NAME_ATTR)); + settings.setBaudRate((BaudRate) properties.get(SerialSettings.BAUD_RATE_ATTR)); + settings.setByteSize((ByteSize) properties.get(SerialSettings.BYTE_SIZE_ATTR)); + settings.setParity((Parity) properties.get(SerialSettings.PARITY_ATTR)); + settings.setStopBits((StopBits) properties.get(SerialSettings.STOP_BITS_ATTR)); + + // Construct the terminal settings store + ISettingsStore store = new SettingsStore(); + 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); + } + + return connector; + } + + @Override + public void execute(Map properties, Done done) { + Assert.isNotNull(properties); + + // Set the terminal tab title + String name = (String) properties.get(SerialSettings.PORT_NAME_ATTR); + properties.put(ITerminalsConnectorConstants.PROP_TITLE, name); + + // Force a new terminal tab each time it is launched, if not set otherwise from outside + // TODO need a command shell service routing to get this + if (!properties.containsKey(ITerminalsConnectorConstants.PROP_FORCE_NEW)) { + properties.put(ITerminalsConnectorConstants.PROP_FORCE_NEW, Boolean.TRUE); + } + + // Get the terminal service + ITerminalService terminal = TerminalServiceFactory.getService(); + // If not available, we cannot fulfill this request + if (terminal != null) { + terminal.openConsole(properties, done); + } + } + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java new file mode 100644 index 00000000000..0f5a584969f --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * Copyright (c) 2017 QNX Software Systems and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * QNX Software Systems - Initial API and implementation + *******************************************************************************/ +package org.eclipse.tm.terminal.connector.cdtserial.nls; + +import org.eclipse.osgi.util.NLS; + +/** + * Externalized strings management. + */ +public class Messages extends NLS { + + // The plug-in resource bundle name + private static final String BUNDLE_NAME = "org.eclipse.tm.terminal.connector.cdtserial.nls.Messages"; //$NON-NLS-1$ + + /** + * Static constructor. + */ + static { + // Load message values from bundle file + NLS.initializeMessages(BUNDLE_NAME, Messages.class); + } + + // **** Declare externalized string id's down here ***** + + public static String SerialTerminalSettingsPage_BaudRate; + public static String SerialTerminalSettingsPage_DataSize; + public static String SerialTerminalSettingsPage_Parity; + public static String SerialTerminalSettingsPage_SerialPort; + public static String SerialTerminalSettingsPage_StopBits; + +} diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties new file mode 100644 index 00000000000..55fea856059 --- /dev/null +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties @@ -0,0 +1,16 @@ +############################################################################### +# Copyright (c) 2017 QNX Software Systems and others. +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Eclipse Public License v1.0 +# which accompanies this distribution, and is available at +# http://www.eclipse.org/legal/epl-v10.html +# +# Contributors: +# QNX Software Systems - Initial API and implementation +############################################################################### + +SerialTerminalSettingsPage_BaudRate=Baud rate: +SerialTerminalSettingsPage_DataSize=Data size: +SerialTerminalSettingsPage_Parity=Parity: +SerialTerminalSettingsPage_SerialPort=Serial port: +SerialTerminalSettingsPage_StopBits=Stop bits: diff --git a/pom.xml b/pom.xml index ba4bc05a8b0..486313dde53 100644 --- a/pom.xml +++ b/pom.xml @@ -28,6 +28,7 @@ plugins/org.eclipse.tm.terminal.connector.local plugins/org.eclipse.tm.terminal.connector.process plugins/org.eclipse.tm.terminal.connector.remote + plugins/org.eclipse.tm.terminal.connector.cdtserial plugins/org.eclipse.tm.terminal.connector.serial plugins/org.eclipse.tm.terminal.connector.ssh plugins/org.eclipse.tm.terminal.connector.telnet @@ -36,6 +37,8 @@ features/org.eclipse.tm.terminal.connector.local.sdk.feature features/org.eclipse.tm.terminal.connector.remote.feature features/org.eclipse.tm.terminal.connector.remote.sdk.feature + features/org.eclipse.tm.terminal.connector.cdtserial.feature + features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature features/org.eclipse.tm.terminal.connector.serial.feature features/org.eclipse.tm.terminal.connector.serial.sdk.feature features/org.eclipse.tm.terminal.connector.ssh.feature diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/repos/org.eclipse.tm.terminal.repo/category.xml index 83ea3ee44f7..994bf831d9d 100644 --- a/repos/org.eclipse.tm.terminal.repo/category.xml +++ b/repos/org.eclipse.tm.terminal.repo/category.xml @@ -15,6 +15,12 @@ + + + + + + From ae68201315261741fa876457108074482f332882 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 16 May 2017 11:20:31 +0200 Subject: [PATCH 820/843] Bug 516330 - Uprev all features to 4.3 and introduce Maven -Pcdtserial All features are upreved to 4.3 along with the Parent POM for the upcoming Terminal 4.3 / Oxygen release. Plugin versions remain unchanged, keeping them as semantic versions. Along the lines, also - Introduce a Maven Profile -Pcdtserial, which is active by default to build the cdtserial plug-ins. This can be de-activated by property -Dnocdtserial on the mvn command-line. This is necessary to build / validate Terminal against older streams (juno,mars,...,neon) which did not have the necessary cdt native serial dependency. - Update the update site to http://download.eclipse.org/tm/terminal/updates/4.3 - Update Copyright Year in all features to 2017 - Update p2 repo URLs of Oxygen and Orbit dependencies. - Update the terminals.psf project-set file adding the new cdtserial. Change-Id: I8992fe4bb8ac08abe783d33fbb8b00b4e864fd73 Signed-off-by: Martin Oberhuber --- admin/pom-build.xml | 4 +- admin/pom-config.xml | 28 +++++----- .../feature.properties | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.properties | 2 +- .../feature.xml | 2 +- .../pom.xml | 2 +- .../feature.properties | 6 +-- .../feature.xml | 6 +-- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 6 +-- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 6 +-- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 4 +- .../feature.xml | 14 ++--- .../org.eclipse.tm.terminal.feature/pom.xml | 4 +- .../feature.properties | 4 +- .../feature.xml | 14 ++--- .../pom.xml | 4 +- .../feature.properties | 4 +- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 6 +-- .../feature.xml | 4 +- .../pom.xml | 4 +- .../feature.properties | 2 +- .../feature.xml | 4 +- .../pom.xml | 4 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.control/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../org.eclipse.tm.terminal.view.core/pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.view.ui/pom.xml | 2 +- pom.xml | 54 ++++++++++++++----- repos/org.eclipse.tm.terminal.repo/pom.xml | 4 +- terminals.psf | 12 +++-- 77 files changed, 220 insertions(+), 186 deletions(-) diff --git a/admin/pom-build.xml b/admin/pom-build.xml index 1b3f50b924e..9591cdf44e6 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -7,13 +7,13 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT pom-config.xml org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT pom TM Terminal, Maven Build Master diff --git a/admin/pom-config.xml b/admin/pom-config.xml index bcab7875d51..a0c4383d5e9 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -10,7 +10,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-config - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT pom TM Terminal, Maven Configuration Master @@ -55,15 +55,15 @@ development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly - 4.5 + 4.7 http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/4.7milestones http://download.eclipse.org/staging/oxygen - http://download.eclipse.org/tools/orbit/downloads/drops/R20160520211859/repository - http://download.eclipse.org/tools/cdt/builds/neon/milestones - http://download.eclipse.org/tm/updates/4.1milestones + http://download.eclipse.org/tools/orbit/S-builds/S20170505151127/repository + http://download.eclipse.org/tools/cdt/builds/oxygen/milestones + http://download.eclipse.org/tm/updates/4.3milestones http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones http://download.eclipse.org/technology/swtbot/releases/latest/ http://archive.eclipse.org/tm/updates/rxtx @@ -148,6 +148,7 @@ 3.8 http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/${terminal-stream} + http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ http://download.eclipse.org/tools/cdt/releases/8.4
                                        @@ -160,6 +161,7 @@ 4.3 http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/${terminal-stream} + http://download.eclipse.org/tools/orbit/downloads/drops/R20140114142710/repository/ http://download.eclipse.org/tools/cdt/releases/8.4 @@ -172,6 +174,7 @@ 4.4 http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/${terminal-stream} + http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ http://download.eclipse.org/tools/cdt/releases/8.5 @@ -184,7 +187,8 @@ 4.5 http://download.eclipse.org/eclipse/updates/${sdk-version} http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/cdt/releases/8.7 + http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/ + http://download.eclipse.org/tools/cdt/releases/8.8.1 @@ -194,15 +198,13 @@ neon 4.6 - - http://download.eclipse.org/eclipse/updates/4.6-M-builds - - http://download.eclipse.org/staging/${terminal-stream} - - http://download.eclipse.org/tools/cdt/builds/neon/milestones + http://download.eclipse.org/eclipse/updates/${sdk-version} + http://download.eclipse.org/releases/${terminal-stream} + http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository + http://download.eclipse.org/tools/cdt/releases/9.2 - + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties index 84c64e1b8ac..b4ad0f4964d 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties @@ -21,7 +21,7 @@ featureName=TM Terminal Serial Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.2 Updates +updateSiteName=TM Terminal 4.3 Updates # "description" property - description of the feature description=A serial line connector for the Terminal diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml index b0e44c309fd..0f7af84bc1c 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml @@ -31,7 +31,7 @@ - + org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties index 229855c57b5..bd2a334a321 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties @@ -21,7 +21,7 @@ featureName=TM Terminal Serial Connector Extensions, SDK providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.2 Updates +updateSiteName=TM Terminal 4.3 Updates # "description" property - description of the feature description=A serial line connector for the Terminal diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml index ad40eb35802..18340814182 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml @@ -31,7 +31,7 @@ - + org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties index 811064b2727..70ff675c01e 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2017 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,14 +21,14 @@ featureName=TM Terminal Local Connector Extensions providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.2 Updates +updateSiteName=TM Terminal 4.3 Updates # "description" property - description of the feature description=A connector implementation for the Local Terminal. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2016 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2017 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml index 39d7841f191..2ccac5913c1 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml @@ -1,6 +1,6 @@ - repos/org.eclipse.tm.terminal.repo + + + - tests - - plugins/org.eclipse.tm.terminal.test - - + + cdtserial + + + + true + !nocdtserial + + + plugins/org.eclipse.tm.terminal.connector.cdtserial + features/org.eclipse.tm.terminal.connector.cdtserial.feature + features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature + repos/org.eclipse.tm.terminal.repo + + + + + rxtxserial + + true + !norxtx + + + plugins/org.eclipse.tm.terminal.connector.serial + features/org.eclipse.tm.terminal.connector.serial.feature + features/org.eclipse.tm.terminal.connector.serial.sdk.feature + + + + + tests + + plugins/org.eclipse.tm.terminal.test + + diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index 3e98b77444d..215fcf22b59 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -7,11 +7,11 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT org.eclipse.tm.terminal.repo eclipse-repository diff --git a/terminals.psf b/terminals.psf index 02f70a51d89..3a17b424333 100644 --- a/terminals.psf +++ b/terminals.psf @@ -11,6 +11,9 @@ + + + @@ -53,6 +56,7 @@ + @@ -60,16 +64,18 @@ - + + + + - - + From 0a2be14d7a69fb4de75245c6a401f33ac93b4980 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 31 May 2017 01:35:00 +0200 Subject: [PATCH 821/843] Releng: Update Oxygen Target Platform Change-Id: I757f609197167bd08af83c5e5504bf891416241d Signed-off-by: Martin Oberhuber --- admin/target-defs/eclipse-4.7.x-oxygen.target | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index 2283bb760c6..5ed3f0bb508 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,5 +1,5 @@ - + @@ -10,8 +10,8 @@ - - + + @@ -19,10 +19,10 @@ - - - - + + + + From 3ee6618da1282970ebb386f622c9c5b89ae0ab0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Kadl=C4=8D=C3=ADk?= Date: Fri, 2 Jun 2017 10:24:02 +0200 Subject: [PATCH 822/843] Bug 517358 - RFE: method to read TextCanvas content MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Teach TextCanvas to provide all the text contained: getAllText(). The actual change takes place on the level of ITextCanvasModel (interface) and AbstractTextCanvasModel (implementation); TextCanvas just redirects the request there. One bit of the existing code has been refactored: part of AbstractTextCanvasModel.extractSelectedText() has been extracted into a separate method - scrubLine() - so it can be reused in the new code. The primary (and probably the only one) use case of this new extension is test automation: SWTBot- or Red Deer-based tests can read content of TextCanvas instances and verify that they contain what's expected, e.g. output of Docker containers or gdb sessions. Change-Id: I92092c0f9837639d13d6bc32ae5b47acd24c54c1 Signed-off-by: Václav Kadlčík --- .../textcanvas/AbstractTextCanvasModel.java | 54 +++++++++++++++---- .../terminal/textcanvas/ITextCanvasModel.java | 11 ++++ .../terminal/textcanvas/TextCanvas.java | 16 ++++++ 3 files changed, 70 insertions(+), 11 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java index 799101486e8..f57b8277b8d 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java @@ -277,6 +277,22 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { public String getSelectedText() { return fCurrentSelection; } + + // helper to sanitize text copied out of a snapshot + private static String scrubLine(String text) { + // get rid of the empty space at the end of the lines + // text=text.replaceAll("\000+$",""); //$NON-NLS-1$//$NON-NLS-2$ + // + int i = text.length() - 1; + while (i >= 0 && text.charAt(i) == '\000') { + i--; + } + text = text.substring(0, i + 1); + // + // null means space + return text.replace('\000', ' '); + } + /** * Calculates the currently selected text * @return the currently selected text @@ -294,17 +310,7 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { text=text.substring(0, Math.min(fSelectionEndColumn+1,text.length())); if(line==fSelectionStartLine) text=text.substring(Math.min(fSelectionStartCoumn,text.length())); - // get rid of the empty space at the end of the lines - // text=text.replaceAll("\000+$",""); //$NON-NLS-1$//$NON-NLS-2$ - // - int i = text.length() - 1; - while (i >= 0 && text.charAt(i) == '\000') { - i--; - } - text = text.substring(0, i + 1); - // - // null means space - text=text.replace('\000', ' '); + text=scrubLine(text); } else { text=""; //$NON-NLS-1$ } @@ -345,4 +351,30 @@ abstract public class AbstractTextCanvasModel implements ITextCanvasModel { } } + @Override + public String getAllText() { + + // Make a snapshot of the whole text data + ITerminalTextDataSnapshot snapshot = fSnapshot.getTerminalTextData().makeSnapshot(); + snapshot.updateSnapshot(true); + snapshot.detach(); + + // Extract the data + StringBuffer sb = new StringBuffer(); + for (int line = 0; line < snapshot.getHeight(); line++) { + char[] chars = snapshot.getChars(line); + String text; + if (chars != null) { + text = scrubLine(new String(chars)); // take care of NULs + } else { + text = ""; //$NON-NLS-1$ null arrays represent empty lines + } + sb.append(text); + // terminate lines except (1) the last one and (2) wrapped lines + if ((line < snapshot.getHeight() - 1) && !snapshot.isWrappedLine(line)) { + sb.append('\n'); + } + } + return sb.toString(); + } } \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java index 1891c6079f3..2ecb84a30f7 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java @@ -81,4 +81,15 @@ public interface ITextCanvasModel { boolean hasLineSelection(int line); String getSelectedText(); + + /** + * Collect and return all text present in the model. + * + *

                                        Individual lines of the returned text are separated by '\n'. + * + *

                                        The method is primarily designed for test automation. + * + * @since 4.3 + */ + String getAllText(); } \ No newline at end of file diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java index a8b950820c1..02c60640634 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java @@ -382,6 +382,22 @@ public class TextCanvas extends GridCanvas { fCellCanvasModel.setSelection(-1,-1,-1,-1); } + /** + * Collect and return all text present in the widget. + * + *

                                        Individual lines of the returned text are separated by '\n'. + * + *

                                        The method is primarily designed for test automation. Tests need + * to check what happens in a terminal (e.g. if and how a CDT Debugger + * Console reacts in a GDB session) and this method allows to read the + * text present in the terminal. + * + * @since 4.3 + */ + public String getAllText() { + return fCellCanvasModel.getAllText(); + } + public boolean isEmpty() { return false; } From 29a6d3d999cac280219643791d0d6cde6e8d46d5 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 12 Jun 2017 11:08:56 +0200 Subject: [PATCH 823/843] Releng: Update eclipse-4.7.x-oxygen.target and tm-baseline.target - Set tm-baseline to proper Neon baseline. - Add Orbit (commons.net) and cdt-natives with source to target. Change-Id: If028d97b813415fb658e2e37f6e10978e71e3c1c Signed-off-by: Martin Oberhuber --- admin/target-defs/eclipse-4.7.x-oxygen.target | 33 ++++++++++++------- admin/target-defs/tm-baseline.target | 12 +++---- 2 files changed, 27 insertions(+), 18 deletions(-) diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index 5ed3f0bb508..b364d257df9 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,33 +1,42 @@ - + - - - - + + + + - - - - - - - + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/tm-baseline.target b/admin/target-defs/tm-baseline.target index 1ec521af9ad..e2b7e52557e 100644 --- a/admin/target-defs/tm-baseline.target +++ b/admin/target-defs/tm-baseline.target @@ -1,7 +1,10 @@ - + + + + @@ -12,10 +15,7 @@ - - - - + - \ No newline at end of file + From 1cb50329e7ae04706aa5fc6085e37705ac09cd09 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 12 Jun 2017 17:33:48 +0200 Subject: [PATCH 824/843] Releng: Tune eclipse-4.7.x-oxygen.target to pull minimal dependencies - Remove eclipse.sdk.ide and emf.sdk in the Target Platform - Add platform.ide , hamcrest and ecf for correct dependencies - Enable "planner" mode in the Target Platform instead of "slicer" for automated resolving of dependencies. Change-Id: I4a09e43501f312c59b8241838a59c3a413efe49e Signed-off-by: Martin Oberhuber --- admin/target-defs/eclipse-4.7.x-oxygen.target | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index b364d257df9..3ea17ed8d00 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,40 +1,39 @@ - + - + - + - - + + - + - - - + - + - + + - + From b63f284ac3c423db1d1bc9aa883d3014d508df61 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Mon, 12 Jun 2017 14:39:16 -0400 Subject: [PATCH 825/843] Bug 518116 - Allow user to enter a non-listed port name. This is a quick fix to allow users to enter cdtserial port names that we don't pick up in the device list. Change-Id: I9473278c6e65e2a2bc7bb40c78e41fdf9d349f44 --- .../connector/cdtserial/controls/SerialSettingsPage.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java index e5a7b2010bd..2f8120676f0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java @@ -127,7 +127,7 @@ public class SerialSettingsPage extends AbstractSettingsPage { Label portLabel = new Label(comp, SWT.NONE); portLabel.setText(Messages.SerialTerminalSettingsPage_SerialPort); - portCombo = new Combo(comp, SWT.READ_ONLY); + portCombo = new Combo(comp, SWT.NONE); portCombo.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); String[] portNames = new String[0]; try { From b7d80cce8995aa10b857376d6fe6be02f17bb679 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 12 Jun 2017 22:24:37 +0200 Subject: [PATCH 826/843] Releng: Further Simplify Target Platforms - Source features are auto-discovered, no need to add - By using the Planner, only root features are needed - Use RSE runtime instead of SDK avoids doc.isv Change-Id: I953b650e156742a5a7cbcc225e9dbdab3a3730ed --- admin/target-defs/eclipse-4.4.x-luna.target | 47 +++++++++++------- admin/target-defs/eclipse-4.5.x-mars.target | 40 +++++++++------ admin/target-defs/eclipse-4.6.x-neon.target | 49 ++++++++++--------- admin/target-defs/eclipse-4.7.x-oxygen.target | 5 +- 4 files changed, 81 insertions(+), 60 deletions(-) diff --git a/admin/target-defs/eclipse-4.4.x-luna.target b/admin/target-defs/eclipse-4.4.x-luna.target index f027b3d359a..a1c834b2336 100644 --- a/admin/target-defs/eclipse-4.4.x-luna.target +++ b/admin/target-defs/eclipse-4.4.x-luna.target @@ -1,30 +1,39 @@ - + - - - - - + - - + + + + + + + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index d7202f7156f..7cf93b4d888 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -1,29 +1,39 @@ - + - - - - - + - - - + + + - + + - - - + - - + + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index 0ecd7d31223..ddc1531360a 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -1,34 +1,39 @@ - + - - - - - + - - - + + + + + + + - - - - - - - - - + + - - - - + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index 3ea17ed8d00..d916c122a14 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -19,23 +19,20 @@ - + - - - From 48a2639cd2331736918da5edd53921e871e45991 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Mon, 12 Jun 2017 22:46:04 +0200 Subject: [PATCH 827/843] Bug 516330 - Releng: Restore Tycho-0.22 for Building with Java 7 - Make Mars the defaut target to build against to support Java 7 along with cdt native serial for a full build - Cleanup: Fix indentation - Add Oxygen Profile Change-Id: I21b1e9b0fb905c8c50889e9697f4d11231685945 Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 95 +++++++++++++++++++++++++++----------------- 1 file changed, 58 insertions(+), 37 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index a0c4383d5e9..2790374c6f0 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -37,8 +37,10 @@ - 1.0.0 - 1.0.0 + + + 0.22.0 + 0.22.0 2.7 1.8 1.5 @@ -57,14 +59,16 @@ /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly 4.7 - + + + http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/eclipse/updates/4.7milestones - http://download.eclipse.org/staging/oxygen - http://download.eclipse.org/tools/orbit/S-builds/S20170505151127/repository - http://download.eclipse.org/tools/cdt/builds/oxygen/milestones - http://download.eclipse.org/tm/updates/4.3milestones - http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones + http://download.eclipse.org/eclipse/updates/4.5 + http://download.eclipse.org/releases/mars + http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository + http://download.eclipse.org/tools/cdt/releases/8.8.1 + http://download.eclipse.org/tm/updates/4.0 + http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones http://download.eclipse.org/technology/swtbot/releases/latest/ http://archive.eclipse.org/tm/updates/rxtx @@ -128,82 +132,99 @@ true - - cbi - https://repo.eclipse.org/content/repositories/cbi-releases/ + + cbi + https://repo.eclipse.org/content/repositories/cbi-releases/ + + + cbi-snapshots + https://repo.eclipse.org/content/repositories/cbi-snapshots/ - - cbi-snapshots - https://repo.eclipse.org/content/repositories/cbi-snapshots/ - - + juno juno 3.8 - http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ + http://download.eclipse.org/eclipse/updates/3.8 + http://download.eclipse.org/releases/juno + http://download.eclipse.org/tools/orbit/downloads/drops/R20130118183705/repository/ http://download.eclipse.org/tools/cdt/releases/8.4 - + kepler kepler 4.3 - http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/orbit/downloads/drops/R20140114142710/repository/ + http://download.eclipse.org/eclipse/updates/4.3 + http://download.eclipse.org/releases/kepler + http://download.eclipse.org/tools/orbit/downloads/drops/R20140114142710/repository/ http://download.eclipse.org/tools/cdt/releases/8.4 - + luna luna 4.4 - http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ - http://download.eclipse.org/tools/cdt/releases/8.5 + http://download.eclipse.org/eclipse/updates/4.4 + http://download.eclipse.org/releases/luna + http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ + http://download.eclipse.org/tools/cdt/releases/8.6 - + mars mars 4.5 - http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/ + http://download.eclipse.org/eclipse/updates/4.5 + http://download.eclipse.org/releases/mars + http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository http://download.eclipse.org/tools/cdt/releases/8.8.1 - + neon neon 4.6 - http://download.eclipse.org/eclipse/updates/${sdk-version} - http://download.eclipse.org/releases/${terminal-stream} - http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository + http://download.eclipse.org/eclipse/updates/4.6 + http://download.eclipse.org/releases/neon + http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository + http://download.eclipse.org/tm/updates/4.2 + http://download.eclipse.org/tools/ptp/builds/remote/neon/milestones http://download.eclipse.org/tools/cdt/releases/9.2 + + + oxygen + + + oxygen + 4.7 + http://download.eclipse.org/eclipse/updates/4.7 + http://download.eclipse.org/releases/oxygen + http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository + http://download.eclipse.org/tm/updates/4.3milestones + http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones + http://download.eclipse.org/tools/cdt/builds/oxygen/milestones + + From 3e539b7331b43271aad556e77825eec9bded815d Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 10:21:49 +0200 Subject: [PATCH 828/843] Releng: Fix Terminal Unittests under Tycho with Jacoco Change-Id: Ib4daa2402917122edb4b561dbf1ae696c80f0c7c Signed-off-by: Martin Oberhuber --- admin/pom-build.xml | 63 +++++- admin/pom-config.xml | 39 ++-- .../META-INF/MANIFEST.MF | 2 +- .../about.properties | 4 +- .../org.eclipse.tm.terminal.control/pom.xml | 2 +- ...TerminalToRemoteInjectionOutputStream.java | 10 +- .../emulator/VT100EmulatorBackend.java | 14 +- .../terminal/model/SnapshotChanges.java | 27 ++- .../META-INF/MANIFEST.MF | 2 +- .../about.properties | 4 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 187 ++++++++++++++++-- 11 files changed, 301 insertions(+), 53 deletions(-) diff --git a/admin/pom-build.xml b/admin/pom-build.xml index 9591cdf44e6..134a2acc5a3 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -80,6 +80,64 @@ + + org.eclipse.tycho + target-platform-configuration + + + + + + p2-installable-unit + org.eclipse.platform.ide + 0.0.0 + + + eclipse-feature + org.eclipse.sdk + 0.0.0 + + + eclipse-feature + org.eclipse.cdt.platform + 0.0.0 + + + eclipse-feature + org.eclipse.remote + 0.0.0 + + + eclipse-feature + org.eclipse.swtbot.eclipse + 0.0.0 + + + + + + + org.jacoco + jacoco-maven-plugin + + + + prepare-agent + + + + org.eclipse.tm.terminal* + + + + + + + diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 2790374c6f0..2a5d9647c9a 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -40,18 +40,27 @@ 0.22.0 - 0.22.0 + ${tycho-version} 2.7 1.8 1.5 2.5.2 + + 0.7.4.201502262128 + + 1.1.2 ${env.WORKSPACE}/admin UTF-8 + + false + file + true + scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git development @@ -62,15 +71,15 @@ - http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/eclipse/updates/4.5 http://download.eclipse.org/releases/mars - http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository + http://download.eclipse.org/cbi/updates/license http://download.eclipse.org/tools/cdt/releases/8.8.1 - http://download.eclipse.org/tm/updates/4.0 - http://download.eclipse.org/tools/ptp/builds/remote/mars/milestones - http://download.eclipse.org/technology/swtbot/releases/latest/ + http://download.eclipse.org/tm/updates/4.0 + http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 http://archive.eclipse.org/tm/updates/rxtx + http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository + http://download.eclipse.org/technology/swtbot/releases/latest/ @@ -100,13 +109,8 @@ p2 - rse - ${rse-site} - p2 - - - remote - ${remote-site} + tm + ${tm-site} p2 @@ -114,6 +118,11 @@ ${swtbot-site} p2 + + remote + ${remote-site} + p2 + rxtx ${rxtx-site} @@ -205,7 +214,7 @@ http://download.eclipse.org/eclipse/updates/4.6 http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository - http://download.eclipse.org/tm/updates/4.2 + http://download.eclipse.org/tm/updates/4.2 http://download.eclipse.org/tools/ptp/builds/remote/neon/milestones http://download.eclipse.org/tools/cdt/releases/9.2 @@ -220,7 +229,7 @@ http://download.eclipse.org/eclipse/updates/4.7 http://download.eclipse.org/releases/oxygen http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository - http://download.eclipse.org/tm/updates/4.3milestones + http://download.eclipse.org/tm/updates/4.3milestones http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones http://download.eclipse.org/tools/cdt/builds/oxygen/milestones diff --git a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF index 834c287f478..cbe88525986 100644 --- a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.control; singleton:=true -Bundle-Version: 4.2.0.qualifier +Bundle-Version: 4.3.0.qualifier Bundle-Activator: org.eclipse.tm.internal.terminal.control.impl.TerminalPlugin Bundle-Vendor: %providerName Bundle-Localization: plugin diff --git a/plugins/org.eclipse.tm.terminal.control/about.properties b/plugins/org.eclipse.tm.terminal.control/about.properties index ad76531b251..b4986ad91ce 100644 --- a/plugins/org.eclipse.tm.terminal.control/about.properties +++ b/plugins/org.eclipse.tm.terminal.control/about.properties @@ -1,5 +1,5 @@ ################################################################################ -# Copyright (c) 2006, 2016 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2017 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -20,5 +20,5 @@ blurb=Target Management Terminal Widget\n\ \n\ Version: {featureVersion}\n\ \n\ -(c) Copyright Wind River Systems, Inc. and others 2003, 2016. All rights reserved.\n\ +(c) Copyright Wind River Systems, Inc. and others 2003, 2017. All rights reserved.\n\ Visit http://www.eclipse.org/tm diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/plugins/org.eclipse.tm.terminal.control/pom.xml index 85d9443b764..6823fde9ba5 100644 --- a/plugins/org.eclipse.tm.terminal.control/pom.xml +++ b/plugins/org.eclipse.tm.terminal.control/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT org.eclipse.tm.terminal.control eclipse-plugin diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java index e73568d9306..7db522edc4c 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2015 Wind River Systems, Inc. and others. + * Copyright (c) 2008, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -15,7 +15,13 @@ import java.io.FilterOutputStream; import java.io.IOException; import java.io.OutputStream; -class TerminalToRemoteInjectionOutputStream extends FilterOutputStream { +/** + * @noextend This class is not intended to be subclassed by clients. + * @noreference This class is not intended to be referenced by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * This class used to be package-protected. It is public only for access by the Unit Tests. + */ +public class TerminalToRemoteInjectionOutputStream extends FilterOutputStream { /** * This class handles bytes written to the {@link TerminalToRemoteInjectionOutputStream}. */ diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java index 36140d60050..a6ea4e5d23b 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -18,6 +18,9 @@ import org.eclipse.tm.terminal.model.ITerminalTextData; import org.eclipse.tm.terminal.model.Style; /** + * @noextend This class is not intended to be subclassed by clients. + * @noreference This class not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. * */ public class VT100EmulatorBackend implements IVT100EmulatorBackend { @@ -137,8 +140,13 @@ public class VT100EmulatorBackend implements IVT100EmulatorBackend { setCursor(cl, cc); } } - - int toAbsoluteLine(int line) { + + /** + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @noreference This method is not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. + */ + public int toAbsoluteLine(int line) { synchronized (fTerminal) { return fTerminal.getHeight()-fLines+line; } diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java index 362e8cef855..222cc8858cf 100644 --- a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java +++ b/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2015 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,6 +16,10 @@ import org.eclipse.tm.terminal.model.ITerminalTextData; /** * Collects the changes of the {@link ITerminalTextData} * + * @noextend This class is not intended to be subclassed by clients. + * @noreference This class is not intended to be referenced by clients. + * @noinstantiate This class is not intended to be instantiated by clients. + * This class used to be package-protected. It is public only for access by the Unit Tests. */ public class SnapshotChanges implements ISnapshotChanges { /** @@ -71,8 +75,11 @@ public class SnapshotChanges implements ISnapshotChanges { * @param line * @param size * @return true if the range overlaps with the interest window + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @noreference This method is not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. */ - boolean isInInterestWindow(int line, int size) { + public boolean isInInterestWindow(int line, int size) { if(fInterestWindowSize<=0) return true; if(line+size<=fInterestWindowStartLine || line>=fInterestWindowStartLine+fInterestWindowSize) @@ -82,8 +89,11 @@ public class SnapshotChanges implements ISnapshotChanges { /** * @param line * @return true if the line is within the interest window + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @noreference This method is not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. */ - boolean isInInterestWindow(int line) { + public boolean isInInterestWindow(int line) { if(fInterestWindowSize<=0) return true; if(line=fInterestWindowStartLine+fInterestWindowSize) @@ -93,8 +103,11 @@ public class SnapshotChanges implements ISnapshotChanges { /** * @param line * @return the line within the window + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @noreference This method is not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. */ - int fitLineToWindow(int line) { + public int fitLineToWindow(int line) { if(fInterestWindowSize<=0) return line; if(linebefore {@link #fitLineToWindow(int)} has been called! * @param size * @return the adjusted size. + * @nooverride This method is not intended to be re-implemented or extended by clients. + * @noreference This method is not intended to be referenced by clients. + * It used to be package protected, and it is public only for Unit Tests. + * *

                                        Note:

                                        {@link #fitLineToWindow(int)} has to be called on the line to * move the window correctly! */ - int fitSizeToWindow(int line, int size) { + public int fitSizeToWindow(int line, int size) { if(fInterestWindowSize<=0) return size; if(line../../admin/pom-build.xml - 4.0.100-SNAPSHOT + 4.3.0-SNAPSHOT org.eclipse.tm.terminal.test - eclipse-test-plugin + eclipse-test-plugin - - - - org.eclipse.tycho - tycho-surefire-plugin - ${tycho-version} - - org.eclipse.tm.terminal.test - org.eclipse.tm.terminal.test.AutomatedPluginTests - false - false - true - org.eclipse.sdk.ide - - - - + + true + -ea -Xmx512m -XX:MaxPermSize=256m -Drse.enableSecureStoreAccess=false -Dorg.eclipse.swt.browser.UseWebKitGTK=true + + + + + tests + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + true + false + org.eclipse.platform.ide + + ${tycho.testArgLine} ${ui.test.vmargs} + org.eclipse.ui.ide.workbench + true + true + p2Installed + + + ${basedir}/tracing/.options + + + + + **/AutomatedPluginTests.* + **/AutomatedTests.* + + + + + + org.codehaus.gmaven + gmaven-plugin + + + validate + + execute + + + + project.properties['qualified.bundle.version'] = project.properties['unqualifiedVersion'].replace('qualifier', project.properties['buildQualifier']) + + + + + + + + org.apache.maven.plugins + maven-antrun-plugin + + + generate-report + post-integration-test + + run + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + org.jacoco + org.jacoco.ant + ${jacoco-version} + + + + + + +
                                        From 7b52e3974cd1d2664e59cc83eebd0bfdf2cd74b4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 10:44:54 +0200 Subject: [PATCH 829/843] Bug 518121 - Support multiple terminal connectors with identical label In case multiple terminal launcher delegates are registered with identical label, the ID of a delegate is used as fallback instead of the label in order to disambiguate. This doesn't look pretty in the UI but it works and it's a generic solution for an atypical problem. Change-Id: I4028e1819f7405c2cb65eacf4e84f437900d884e Signed-off-by: Martin Oberhuber --- .../META-INF/MANIFEST.MF | 2 +- .../org.eclipse.tm.terminal.view.ui/pom.xml | 2 +- .../dialogs/LaunchTerminalSettingsDialog.java | 674 +++++++++--------- 3 files changed, 339 insertions(+), 339 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF index f0e53fe9720..402c5b604e6 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.view.ui;singleton:=true -Bundle-Version: 4.2.100.qualifier +Bundle-Version: 4.3.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.view.ui.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml index db0dea7276f..74924d6c2c0 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.100-SNAPSHOT + 4.3.0-SNAPSHOT org.eclipse.tm.terminal.view.ui eclipse-plugin
                                        diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java index af52d93e7e2..24f3f4ef281 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java +++ b/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2011, 2016 Wind River Systems, Inc. and others. All rights reserved. + * Copyright (c) 2011, 2017 Wind River Systems, Inc. and others. All rights reserved. * This program and the accompanying materials are made available under the terms * of the Eclipse Public License v1.0 which accompanies this distribution, and is * available at http://www.eclipse.org/legal/epl-v10.html @@ -87,138 +87,138 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { /** * Constructor. */ - public SettingsPanelControl() { - setPanelIsGroup(true); - } + public SettingsPanelControl() { + setPanelIsGroup(true); + } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#getGroupLabel() - */ - @Override - public String getGroupLabel() { - return Messages.LaunchTerminalSettingsDialog_group_label; - } + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#getGroupLabel() + */ + @Override + public String getGroupLabel() { + return Messages.LaunchTerminalSettingsDialog_group_label; + } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#showConfigurationPanel(java.lang.String) - */ - @Override - public void showConfigurationPanel(String key) { - // Check if we have to create the panel first - IConfigurationPanel configPanel = getConfigurationPanel(key); - if (isEmptyConfigurationPanel(configPanel)) { - // Get the corresponding delegate - ILauncherDelegate delegate = label2delegate.get(key); - Assert.isNotNull(delegate); - // Create the wizard configuration panel instance - configPanel = delegate.getPanel(this); - if (configPanel != null) { - // Add it to the settings panel control - settings.addConfigurationPanel(key, configPanel); - // Push the selection to the configuration panel - configPanel.setSelection(getSelection()); - // Create the panel controls - configPanel.setupPanel(getPanel()); - // Restore widget values - IDialogSettings dialogSettings = LaunchTerminalSettingsDialog.this.settings.getDialogSettings(LaunchTerminalSettingsDialog.this.getDialogSettings()); - IDialogSettings configPanelSettings = dialogSettings != null ? dialogSettings.getSection(key) : null; - if (configPanelSettings != null) configPanel.doRestoreWidgetValues(configPanelSettings, null); - } - } + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.controls.ConfigurationPanelControl#showConfigurationPanel(java.lang.String) + */ + @Override + public void showConfigurationPanel(String key) { + // Check if we have to create the panel first + IConfigurationPanel configPanel = getConfigurationPanel(key); + if (isEmptyConfigurationPanel(configPanel)) { + // Get the corresponding delegate + ILauncherDelegate delegate = label2delegate.get(key); + Assert.isNotNull(delegate); + // Create the wizard configuration panel instance + configPanel = delegate.getPanel(this); + if (configPanel != null) { + // Add it to the settings panel control + settings.addConfigurationPanel(key, configPanel); + // Push the selection to the configuration panel + configPanel.setSelection(getSelection()); + // Create the panel controls + configPanel.setupPanel(getPanel()); + // Restore widget values + IDialogSettings dialogSettings = LaunchTerminalSettingsDialog.this.settings.getDialogSettings(LaunchTerminalSettingsDialog.this.getDialogSettings()); + IDialogSettings configPanelSettings = dialogSettings != null ? dialogSettings.getSection(key) : null; + if (configPanelSettings != null) configPanel.doRestoreWidgetValues(configPanelSettings, null); + } + } - super.showConfigurationPanel(key); - } + super.showConfigurationPanel(key); + } - /* (non-Javadoc) - * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer#validate() - */ - @Override - public void validate() { - LaunchTerminalSettingsDialog.this.validate(); - } + /* (non-Javadoc) + * @see org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer#validate() + */ + @Override + public void validate() { + LaunchTerminalSettingsDialog.this.validate(); + } } /** - * Constructor. - * + * Constructor. + * * @param shell The parent shell or null. - */ - public LaunchTerminalSettingsDialog(Shell shell) { - this(shell, 0); - } + */ + public LaunchTerminalSettingsDialog(Shell shell) { + this(shell, 0); + } - private long start = 0; + private long start = 0; /** - * Constructor. - * + * Constructor. + * * @param shell The parent shell or null. - */ - public LaunchTerminalSettingsDialog(Shell shell, long start) { - super(shell); - this.start = start; + */ + public LaunchTerminalSettingsDialog(Shell shell, long start) { + super(shell); + this.start = start; - initializeDialogSettings(); + initializeDialogSettings(); this.contextHelpId = IContextHelpIds.LAUNCH_TERMINAL_SETTINGS_DIALOG; setHelpAvailable(true); - } + } - /** - * Sets the parent selection. - * - * @param selection The parent selection or null. - */ - public void setSelection(ISelection selection) { - this.selection = selection; - } + /** + * Sets the parent selection. + * + * @param selection The parent selection or null. + */ + public void setSelection(ISelection selection) { + this.selection = selection; + } - /** - * Returns the parent selection. - * - * @return The parent selection or null. - */ - public ISelection getSelection() { - return selection; - } + /** + * Returns the parent selection. + * + * @return The parent selection or null. + */ + public ISelection getSelection() { + return selection; + } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#close() - */ + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#close() + */ @Override public boolean close() { dispose(); return super.close(); } - /** - * Dispose the dialog resources. - */ - protected void dispose() { - if (settings != null) { settings.dispose(); settings = null; } - dialogSettings = null; - } + /** + * Dispose the dialog resources. + */ + protected void dispose() { + if (settings != null) { settings.dispose(); settings = null; } + dialogSettings = null; + } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#isResizable() - */ - @Override - protected boolean isResizable() { - return true; - } + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#isResizable() + */ + @Override + protected boolean isResizable() { + return true; + } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite) - */ - @Override - protected Control createContents(Composite parent) { - Control composite = super.createContents(parent); + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createContents(org.eclipse.swt.widgets.Composite) + */ + @Override + protected Control createContents(Composite parent) { + Control composite = super.createContents(parent); - // Validate the dialog after having created all the content - validate(); + // Validate the dialog after having created all the content + validate(); - return composite; - } + return composite; + } /* (non-Javadoc) * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) @@ -277,83 +277,83 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { * * @param parent The parent composite. Must not be null. */ - protected void createDialogAreaContent(Composite parent) { - Assert.isNotNull(parent); + protected void createDialogAreaContent(Composite parent) { + Assert.isNotNull(parent); - if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("Creating dialog area after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); } - setDialogTitle(Messages.LaunchTerminalSettingsDialog_title); + setDialogTitle(Messages.LaunchTerminalSettingsDialog_title); - final List items = getTerminals(); + final List items = getTerminals(); - Composite panel = new Composite(parent, SWT.NONE); - GridLayout layout = new GridLayout(2, false); - layout.marginHeight = 0; layout.marginWidth = 0; - panel.setLayout(layout); - panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); + Composite panel = new Composite(parent, SWT.NONE); + GridLayout layout = new GridLayout(2, false); + layout.marginHeight = 0; layout.marginWidth = 0; + panel.setLayout(layout); + panel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, true)); - if (items.size() != 1) { - Label label = new Label(panel, SWT.HORIZONTAL); - label.setText(Messages.LaunchTerminalSettingsDialog_combo_label); + if (items.size() != 1) { + Label label = new Label(panel, SWT.HORIZONTAL); + label.setText(Messages.LaunchTerminalSettingsDialog_combo_label); - terminals = new Combo(panel, SWT.READ_ONLY); - terminals.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); - terminals.addSelectionListener(new SelectionAdapter() { - @Override - public void widgetSelected(SelectionEvent e) { - // Get the old panel - IConfigurationPanel oldPanel = settings.getActiveConfigurationPanel(); - // Extract the current settings in an special properties container - Map data = new HashMap(); - if (oldPanel != null) oldPanel.extractData(data); - // Clean out settings which are never passed between the panels - data.remove(ITerminalsConnectorConstants.PROP_IP_PORT); - data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); - data.remove(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); - data.remove(ITerminalsConnectorConstants.PROP_ENCODING); - // Switch to the new panel - settings.showConfigurationPanel(terminals.getText()); - // Get the new panel - IConfigurationPanel newPanel = settings.getActiveConfigurationPanel(); - // Re-setup the relevant data - if (newPanel != null) newPanel.setupData(data); + terminals = new Combo(panel, SWT.READ_ONLY); + terminals.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + terminals.addSelectionListener(new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + // Get the old panel + IConfigurationPanel oldPanel = settings.getActiveConfigurationPanel(); + // Extract the current settings in an special properties container + Map data = new HashMap(); + if (oldPanel != null) oldPanel.extractData(data); + // Clean out settings which are never passed between the panels + data.remove(ITerminalsConnectorConstants.PROP_IP_PORT); + data.remove(ITerminalsConnectorConstants.PROP_TIMEOUT); + data.remove(ITerminalsConnectorConstants.PROP_TERMINAL_CONNECTOR_ID); + data.remove(ITerminalsConnectorConstants.PROP_ENCODING); + // Switch to the new panel + settings.showConfigurationPanel(terminals.getText()); + // Get the new panel + IConfigurationPanel newPanel = settings.getActiveConfigurationPanel(); + // Re-setup the relevant data + if (newPanel != null) newPanel.setupData(data); - // resize the dialog if needed to show the complete panel - getShell().pack(); - // validate the settings dialog - validate(); - } - }); + // resize the dialog if needed to show the complete panel + getShell().pack(); + // validate the settings dialog + validate(); + } + }); - // fill the combo with content - fillCombo(terminals, items); - } else { - Assert.isTrue(items.size() == 1); - singleDelegateLabel = items.get(0); - } + // fill the combo with content + fillCombo(terminals, items); + } else { + Assert.isTrue(items.size() == 1); + singleDelegateLabel = items.get(0); + } - // Create the settings panel control - settings = new SettingsPanelControl(); + // Create the settings panel control + settings = new SettingsPanelControl(); // Create, initialize and add the first visible panel. All - // other panels are created on demand only. - String terminalLabel = terminals != null ? terminals.getItem(0) : singleDelegateLabel; - if (terminalLabel != null) { - // Get the corresponding delegate - ILauncherDelegate delegate = label2delegate.get(terminalLabel); - Assert.isNotNull(delegate); - // Create the wizard configuration panel instance - IConfigurationPanel configPanel = delegate.getPanel(settings); - if (configPanel != null) { - // Add it to the settings panel control - settings.addConfigurationPanel(terminalLabel, configPanel); - // Push the selection to the configuration panel - configPanel.setSelection(getSelection()); - } - } + // other panels are created on demand only. + String terminalLabel = terminals != null ? terminals.getItem(0) : singleDelegateLabel; + if (terminalLabel != null) { + // Get the corresponding delegate + ILauncherDelegate delegate = label2delegate.get(terminalLabel); + Assert.isNotNull(delegate); + // Create the wizard configuration panel instance + IConfigurationPanel configPanel = delegate.getPanel(settings); + if (configPanel != null) { + // Add it to the settings panel control + settings.addConfigurationPanel(terminalLabel, configPanel); + // Push the selection to the configuration panel + configPanel.setSelection(getSelection()); + } + } // Setup the panel control settings.setupPanel(panel, terminals != null ? terminals.getItems() : new String[] { singleDelegateLabel }); @@ -373,96 +373,96 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { restoreWidgetValues(); - applyDialogFont(panel); + applyDialogFont(panel); if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("Created dialog area after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); } - } + } - /** - * Fill the given combo with the given list of terminal launcher delegate labels. - * - * @param combo The combo. Must not be null. - * @param items The list of terminal launcher delegates. Must not be null. - */ - protected void fillCombo(Combo combo, List items) { - Assert.isNotNull(combo); - Assert.isNotNull(items); + /** + * Fill the given combo with the given list of terminal launcher delegate labels. + * + * @param combo The combo. Must not be null. + * @param items The list of terminal launcher delegates. Must not be null. + */ + protected void fillCombo(Combo combo, List items) { + Assert.isNotNull(combo); + Assert.isNotNull(items); if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { UIPlugin.getTraceHandler().trace("Filling combo after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); } - Collections.sort(items); - combo.setItems(items.toArray(new String[items.size()])); - } + Collections.sort(items); + combo.setItems(items.toArray(new String[items.size()])); + } - /** - * Returns the list of terminal launcher delegate labels. The method queries the - * terminal launcher delegates and initialize the label2delegate map. - * - * @return The list of terminal launcher delegate labels or an empty list. - */ - protected List getTerminals() { - List items = new ArrayList(); + /** + * Returns the list of terminal launcher delegate labels. The method queries the + * terminal launcher delegates and initialize the label2delegate map. + * + * @return The list of terminal launcher delegate labels or an empty list. + */ + protected List getTerminals() { + List items = new ArrayList(); - ILauncherDelegate localLauncher = null; + ILauncherDelegate localLauncher = null; - if(selection==null || selection.isEmpty()){ - if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { - UIPlugin.getTraceHandler().trace("Getting launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); - } + if(selection==null || selection.isEmpty()){ + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Getting launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getLauncherDelegates(false); - if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { - UIPlugin.getTraceHandler().trace("Got launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); - } + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Got launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } - for (ILauncherDelegate delegate : delegates) { - if (delegate.isHidden() || isFiltered(selection, delegate)) continue; - String label = delegate.getLabel(); - if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ - label2delegate.put(label, delegate); - items.add(label); + for (ILauncherDelegate delegate : delegates) { + if (delegate.isHidden() || isFiltered(selection, delegate)) continue; + String label = delegate.getLabel(); + if (label == null || "".equals(label.trim()) || label2delegate.containsKey(label)) label = delegate.getId(); //$NON-NLS-1$ + label2delegate.put(label, delegate); + items.add(label); - if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ - localLauncher = delegate; - } - } - } else { - if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { - UIPlugin.getTraceHandler().trace("Getting applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); - } + if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ + localLauncher = delegate; + } + } + } else { + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Getting applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } - ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); + ILauncherDelegate[] delegates = LauncherDelegateManager.getInstance().getApplicableLauncherDelegates(selection); - if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { - UIPlugin.getTraceHandler().trace("Got applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ - ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); - } + if (UIPlugin.getTraceHandler().isSlotEnabled(0, ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER)) { + UIPlugin.getTraceHandler().trace("Got applicable launcher delegates after " + (System.currentTimeMillis() - start) + " ms.", //$NON-NLS-1$ //$NON-NLS-2$ + ITraceIds.TRACE_LAUNCH_TERMINAL_COMMAND_HANDLER, LaunchTerminalSettingsDialog.this); + } - for (ILauncherDelegate delegate : delegates) { - if (delegate.isHidden() || isFiltered(selection, delegate)) continue; - String label = delegate.getLabel(); - if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ - label2delegate.put(label, delegate); - items.add(label); + for (ILauncherDelegate delegate : delegates) { + if (delegate.isHidden() || isFiltered(selection, delegate)) continue; + String label = delegate.getLabel(); + if (label == null || "".equals(label.trim())) label = delegate.getId(); //$NON-NLS-1$ + label2delegate.put(label, delegate); + items.add(label); - if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ - localLauncher = delegate; - } - } - } + if ("org.eclipse.tm.terminal.connector.local.launcher.local".equals(delegate.getId())) { //$NON-NLS-1$ + localLauncher = delegate; + } + } + } - // if the local launcher was found, check for configured external executables - if (localLauncher != null) { + // if the local launcher was found, check for configured external executables + if (localLauncher != null) { List> l = ExternalExecutablesManager.load(); if (l != null && !l.isEmpty()) { for (Map executableData : l) { @@ -479,135 +479,135 @@ public class LaunchTerminalSettingsDialog extends TrayDialog { if (selection != null && selection.isEmpty()) selection = null; Map properties = new HashMap(); - properties.put(ITerminalsConnectorConstants.PROP_PROCESS_PATH, path); - properties.put(ITerminalsConnectorConstants.PROP_PROCESS_ARGS, args); - properties.put(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE, Boolean.valueOf(translate)); + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_PATH, path); + properties.put(ITerminalsConnectorConstants.PROP_PROCESS_ARGS, args); + properties.put(ITerminalsConnectorConstants.PROP_TRANSLATE_BACKSLASHES_ON_PASTE, Boolean.valueOf(translate)); - // store external executable and properties - label2delegate.put(name, localLauncher); - label2properties.put(name, properties); - items.add(name); + // store external executable and properties + label2delegate.put(name, localLauncher); + label2properties.put(name, properties); + items.add(name); } } } - } + } - return items; - } + return items; + } - /** - * Hook to allow additional filtering of the applicable launcher delegates. - *

                                        - * Note: The default implementation always returns false. - * - * @param selection The selection or null. - * @param delegate The launcher delegate. Must not be null. - * - * @return True if the launcher delegate is filtered based on the given selection, false otherwise. - */ - protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { - return false; - } + /** + * Hook to allow additional filtering of the applicable launcher delegates. + *

                                        + * Note: The default implementation always returns false. + * + * @param selection The selection or null. + * @param delegate The launcher delegate. Must not be null. + * + * @return True if the launcher delegate is filtered based on the given selection, false otherwise. + */ + protected boolean isFiltered(ISelection selection, ILauncherDelegate delegate) { + return false; + } - /** - * Validate the dialog. - */ - public void validate() { - IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); - Button okButton = getButton(IDialogConstants.OK_ID); - if (okButton != null) okButton.setEnabled(panel.isValid()); - } + /** + * Validate the dialog. + */ + public void validate() { + IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); + Button okButton = getButton(IDialogConstants.OK_ID); + if (okButton != null) okButton.setEnabled(panel.isValid()); + } - /** - * Set the given message and message type. - * - * @param message The message or null. - * @param messageType The message type or IMessageProvider.NONE. - */ - public void setMessage(String message, int messageType) { - if (settings != null) { - settings.setMessage(message, messageType); - } - } + /** + * Set the given message and message type. + * + * @param message The message or null. + * @param messageType The message type or IMessageProvider.NONE. + */ + public void setMessage(String message, int messageType) { + if (settings != null) { + settings.setMessage(message, messageType); + } + } - /** - * Save the dialog's widget values. - */ - protected void saveWidgetValues() { - IDialogSettings settings = getDialogSettings(); - if (settings != null && terminals != null) { - settings.put("terminalLabel", terminals.getText()); //$NON-NLS-1$ - this.settings.saveWidgetValues(settings, null); - } - } + /** + * Save the dialog's widget values. + */ + protected void saveWidgetValues() { + IDialogSettings settings = getDialogSettings(); + if (settings != null && terminals != null) { + settings.put("terminalLabel", terminals.getText()); //$NON-NLS-1$ + this.settings.saveWidgetValues(settings, null); + } + } - /** - * Restore the dialog's widget values. - */ - protected void restoreWidgetValues() { - IDialogSettings settings = getDialogSettings(); - if (settings != null) { - String terminalLabel = settings.get("terminalLabel"); //$NON-NLS-1$ - int index = terminalLabel != null && terminals != null ? Arrays.asList(terminals.getItems()).indexOf(terminalLabel) : -1; - if (index != -1) { - terminals.select(index); - this.settings.showConfigurationPanel(terminals.getText()); - } + /** + * Restore the dialog's widget values. + */ + protected void restoreWidgetValues() { + IDialogSettings settings = getDialogSettings(); + if (settings != null) { + String terminalLabel = settings.get("terminalLabel"); //$NON-NLS-1$ + int index = terminalLabel != null && terminals != null ? Arrays.asList(terminals.getItems()).indexOf(terminalLabel) : -1; + if (index != -1) { + terminals.select(index); + this.settings.showConfigurationPanel(terminals.getText()); + } - this.settings.restoreWidgetValues(settings, null); - } - } + this.settings.restoreWidgetValues(settings, null); + } + } - /* (non-Javadoc) - * @see org.eclipse.jface.dialogs.Dialog#okPressed() - */ - @Override - protected void okPressed() { - IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); - Assert.isNotNull(panel); + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#okPressed() + */ + @Override + protected void okPressed() { + IConfigurationPanel panel = this.settings.getActiveConfigurationPanel(); + Assert.isNotNull(panel); - if (!panel.isValid()) { + if (!panel.isValid()) { MessageBox mb = new MessageBox(getShell(), SWT.ICON_ERROR | SWT.OK); mb.setText(Messages.LaunchTerminalSettingsDialog_error_title); mb.setMessage(NLS.bind(Messages.LaunchTerminalSettingsDialog_error_invalidSettings, panel.getMessage() != null ? panel.getMessage() : Messages.LaunchTerminalSettingsDialog_error_unknownReason)); mb.open(); return; - } - data = new HashMap(); + } + data = new HashMap(); - // Store the id of the selected delegate - String terminalLabel = terminals != null ? terminals.getText() : singleDelegateLabel; - String delegateId = terminalLabel != null ? label2delegate.get(terminalLabel).getId() : null; - if (delegateId != null) data.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegateId); - // Store the selection - data.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); + // Store the id of the selected delegate + String terminalLabel = terminals != null ? terminals.getText() : singleDelegateLabel; + String delegateId = terminalLabel != null ? label2delegate.get(terminalLabel).getId() : null; + if (delegateId != null) data.put(ITerminalsConnectorConstants.PROP_DELEGATE_ID, delegateId); + // Store the selection + data.put(ITerminalsConnectorConstants.PROP_SELECTION, selection); - // Add the properties for external executables if there are any - if (label2properties.containsKey(terminalLabel)) { - data.putAll(label2properties.get(terminalLabel)); - } + // Add the properties for external executables if there are any + if (label2properties.containsKey(terminalLabel)) { + data.putAll(label2properties.get(terminalLabel)); + } - // Store the delegate specific settings - panel.extractData(data); + // Store the delegate specific settings + panel.extractData(data); - // Save the current widget values + // Save the current widget values saveWidgetValues(); super.okPressed(); - } + } - /** - * Returns the configured terminal launcher settings. - *

                                        - * The settings are extracted from the UI widgets once - * OK got pressed. - * - * @return The configured terminal launcher settings or null. - */ - public Map getSettings() { - return data; - } + /** + * Returns the configured terminal launcher settings. + *

                                        + * The settings are extracted from the UI widgets once + * OK got pressed. + * + * @return The configured terminal launcher settings or null. + */ + public Map getSettings() { + return data; + } /** * Initialize the dialog settings storage. From 68a1221aae71971c4ea1b41726880ddcf9e73d91 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 12:06:18 +0200 Subject: [PATCH 830/843] Releng: Update EGit in Target Platform Change-Id: I926048f5bbe98e137bc2e77ff608f2173a92c901 Signed-off-by: Martin Oberhuber --- admin/target-defs/eclipse-4.6.x-neon.target | 4 ++-- admin/target-defs/eclipse-4.7.x-oxygen.target | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index ddc1531360a..c9b6251413a 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -1,5 +1,5 @@ - + @@ -12,7 +12,7 @@ - + diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index d916c122a14..e55913072b3 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,5 +1,5 @@ - + @@ -12,10 +12,10 @@ - + - + From a557d99dee08533c5c77919c64f01d997ce125b9 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 14:38:56 +0200 Subject: [PATCH 831/843] Releng: Fix SWTBot Dependencies on Juno-Luna by adding Mars.2 Orbit Change-Id: I9145ba0cfd477fa2ed4e7a9aee117eb2a97c1c50 Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 2a5d9647c9a..e88ae875401 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -78,7 +78,8 @@ http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 http://archive.eclipse.org/tm/updates/rxtx - http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository + + http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/ http://download.eclipse.org/technology/swtbot/releases/latest/ @@ -161,7 +162,9 @@ 3.8 http://download.eclipse.org/eclipse/updates/3.8 http://download.eclipse.org/releases/juno + http://download.eclipse.org/tools/cdt/releases/8.4 @@ -174,7 +177,9 @@ 4.3 http://download.eclipse.org/eclipse/updates/4.3 http://download.eclipse.org/releases/kepler + http://download.eclipse.org/tools/cdt/releases/8.4 @@ -187,7 +192,9 @@ 4.4 http://download.eclipse.org/eclipse/updates/4.4 http://download.eclipse.org/releases/luna + http://download.eclipse.org/tools/cdt/releases/8.6 From 9a423667bcbab9ccd275d47eeaef3b9d306af99a Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 15:08:00 +0200 Subject: [PATCH 832/843] Bug 516330 - Make terminal.connector.serial REQUIRE gnu.io non-optional As the o.e.tm.terminal.connector.serial , which is based on RXTX, was taken out of the master terminal.feature, it is now only available as a separate feature. Consequently, it only makes sense installing when RXTX is also available - the RXTX dependency was thus made non-optional. Change-Id: If6528a6518da57335c7449def359e0f645c77b67 Signed-off-by: Martin Oberhuber --- .../META-INF/MANIFEST.MF | 4 ++-- plugins/org.eclipse.tm.terminal.connector.serial/pom.xml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF b/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF index 4b027b2589d..791331692d5 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName Bundle-SymbolicName: org.eclipse.tm.terminal.connector.serial;singleton:=true -Bundle-Version: 4.2.0.qualifier +Bundle-Version: 4.3.0.qualifier Bundle-Activator: org.eclipse.tm.terminal.connector.serial.activator.UIPlugin Bundle-Vendor: %providerName Require-Bundle: org.eclipse.core.expressions;bundle-version="3.4.400", @@ -21,4 +21,4 @@ Export-Package: org.eclipse.tm.terminal.connector.serial.activator;x-internal:=t org.eclipse.tm.terminal.connector.serial.interfaces, org.eclipse.tm.terminal.connector.serial.launcher, org.eclipse.tm.terminal.connector.serial.nls;x-internal:=true -Import-Package: gnu.io;resolution:=optional +Import-Package: gnu.io diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml index a70e9caa7f7..75a812e11d0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml @@ -11,7 +11,7 @@ ../../admin/pom-build.xml - 4.2.0-SNAPSHOT + 4.3.0-SNAPSHOT org.eclipse.tm.terminal.connector.serial eclipse-plugin From 33b6fc0301219a78372c1af796894751ebad5492 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 22:58:59 +0200 Subject: [PATCH 833/843] Releng: Update Maven findbugs, jacoco and jarsigner to support Java 8 See https://bugs.eclipse.org/bugs/show_bug.cgi?id=457949 Change-Id: I91b51bf4ed4a2adbd4b31566343b3e701c161c52 Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 41 ++++++++++++++++++++++++++++++++--------- 1 file changed, 32 insertions(+), 9 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index e88ae875401..e4c59610386 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -44,13 +44,12 @@ 2.7 1.8 1.5 - - 2.5.2 - - 0.7.4.201502262128 - - - 1.1.2 + 3.0.4 + + 0.7.9 + + + 1.1.4 ${env.WORKSPACE}/admin @@ -80,7 +79,7 @@ http://archive.eclipse.org/tm/updates/rxtx http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/ - http://download.eclipse.org/technology/swtbot/releases/latest/ + http://download.eclipse.org/technology/swtbot/releases/2.5.0/ @@ -208,6 +207,7 @@ http://download.eclipse.org/eclipse/updates/4.5 http://download.eclipse.org/releases/mars http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository + http://download.eclipse.org/tools/ptp/builds/remote/2.0.2 http://download.eclipse.org/tools/cdt/releases/8.8.1 @@ -222,7 +222,7 @@ http://download.eclipse.org/releases/neon http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository http://download.eclipse.org/tm/updates/4.2 - http://download.eclipse.org/tools/ptp/builds/remote/neon/milestones + http://download.eclipse.org/tools/ptp/builds/remote/2.1.1 http://download.eclipse.org/tools/cdt/releases/9.2 @@ -239,6 +239,7 @@ http://download.eclipse.org/tm/updates/4.3milestones http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones http://download.eclipse.org/tools/cdt/builds/oxygen/milestones + http://download.eclipse.org/technology/swtbot/releases/latest/ @@ -399,6 +400,28 @@ jacoco-maven-plugin ${jacoco-version} + + org.apache.maven.plugins + maven-pmd-plugin + 3.8 + + utf-8 + 100 + 1.7 + xml + false + + **/UbcCheck.java + + + + + + cpd-check + + + + From 77ddbb7713d967d9dad7e3a1a2dcc97650ffebd8 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Tue, 13 Jun 2017 23:48:50 +0200 Subject: [PATCH 834/843] Releng: Clean Up and Unify *.target Target Platforms, SWTBot-2.5.0 Change-Id: I57585301be84c8c790609d0ac65548a7dcf02d8f Signed-off-by: Martin Oberhuber --- admin/target-defs/eclipse-3.8.2-juno.target | 49 +++++++++++++++++++ admin/target-defs/eclipse-4.3.x-kepler.target | 49 +++++++++++++++++++ admin/target-defs/eclipse-4.4.x-luna.target | 22 ++++++--- admin/target-defs/eclipse-4.5.x-mars.target | 14 +++++- admin/target-defs/eclipse-4.6.x-neon.target | 12 ++++- admin/target-defs/eclipse-4.7.x-oxygen.target | 14 +++++- 6 files changed, 149 insertions(+), 11 deletions(-) create mode 100644 admin/target-defs/eclipse-3.8.2-juno.target create mode 100644 admin/target-defs/eclipse-4.3.x-kepler.target diff --git a/admin/target-defs/eclipse-3.8.2-juno.target b/admin/target-defs/eclipse-3.8.2-juno.target new file mode 100644 index 00000000000..ab159a75f0e --- /dev/null +++ b/admin/target-defs/eclipse-3.8.2-juno.target @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/eclipse-4.3.x-kepler.target b/admin/target-defs/eclipse-4.3.x-kepler.target new file mode 100644 index 00000000000..829a8a022ce --- /dev/null +++ b/admin/target-defs/eclipse-4.3.x-kepler.target @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/admin/target-defs/eclipse-4.4.x-luna.target b/admin/target-defs/eclipse-4.4.x-luna.target index a1c834b2336..7bb18070abe 100644 --- a/admin/target-defs/eclipse-4.4.x-luna.target +++ b/admin/target-defs/eclipse-4.4.x-luna.target @@ -1,5 +1,5 @@ - + @@ -19,8 +19,18 @@ - - + + + + + + + + + + + + @@ -29,11 +39,11 @@ - + - - + + diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/admin/target-defs/eclipse-4.5.x-mars.target index 7cf93b4d888..fb632951f1f 100644 --- a/admin/target-defs/eclipse-4.5.x-mars.target +++ b/admin/target-defs/eclipse-4.5.x-mars.target @@ -19,6 +19,16 @@ + + + + + + + + + + @@ -32,8 +42,8 @@ - - + + diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/admin/target-defs/eclipse-4.6.x-neon.target index c9b6251413a..ce303d7a1bb 100644 --- a/admin/target-defs/eclipse-4.6.x-neon.target +++ b/admin/target-defs/eclipse-4.6.x-neon.target @@ -19,6 +19,16 @@ + + + + + + + + + + @@ -33,7 +43,7 @@ - + diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index e55913072b3..d3ed1463ba7 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -10,7 +10,7 @@ - + @@ -19,11 +19,21 @@ + + + + + + + + + + - + From 198e9602dcdd7b7e81edf74a1f47e6a9f6e65dfe Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 14 Jun 2017 06:14:51 +0200 Subject: [PATCH 835/843] Releng: Revert to jarsigner-1.1.2 since 1.1.4 fails with Java 8 Change-Id: Ifab75c4dd0c96c9217cf8154ab72f79a924c54b7 Signed-off-by: Martin Oberhuber --- admin/pom-config.xml | 5 ++--- plugins/org.eclipse.tm.terminal.test/build.properties | 1 - plugins/org.eclipse.tm.terminal.test/pom.xml | 3 ++- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/admin/pom-config.xml b/admin/pom-config.xml index e4c59610386..255f285932b 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -47,9 +47,8 @@ 3.0.4 0.7.9 - - - 1.1.4 + + 1.1.2 ${env.WORKSPACE}/admin diff --git a/plugins/org.eclipse.tm.terminal.test/build.properties b/plugins/org.eclipse.tm.terminal.test/build.properties index c59c495c94a..21697f09edc 100644 --- a/plugins/org.eclipse.tm.terminal.test/build.properties +++ b/plugins/org.eclipse.tm.terminal.test/build.properties @@ -17,7 +17,6 @@ bin.includes = META-INF/,\ about.properties,\ about.ini,\ tm32.png,\ - test.xml,\ about.html src.includes = teamConfig/,\ about.html diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index b478e72e2b8..20697fe3169 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -34,7 +34,8 @@ true false org.eclipse.platform.ide - + + ${tycho.testArgLine} ${ui.test.vmargs} org.eclipse.ui.ide.workbench true From ef6aeee5160b3b25118430596a7c0bdde2ddab22 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Wed, 14 Jun 2017 07:23:42 +0200 Subject: [PATCH 836/843] Releng: Enable Apache PMD build reports Change-Id: I99039197ab28e70ad013a7dbd4a59b2713bd768d --- admin/pom-build.xml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/admin/pom-build.xml b/admin/pom-build.xml index 134a2acc5a3..0833f09df16 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -74,7 +74,21 @@ - + + static-checks + + + + org.codehaus.mojo + findbugs-maven-plugin + + + org.apache.maven.plugins + maven-pmd-plugin + + + + tests From fa298da8b7e03c83acba40fc539b0dd6c654c16e Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Thu, 15 Jun 2017 16:30:15 +0200 Subject: [PATCH 837/843] Releng: Update to Tycho-0.23.1 for bz 459873, Unify Target Platforms - Tycho-0.23 makes multiple Hudson builds in parallel more robust - Use SWTbot-2.2.1 on Eclipse-3.8 to keep target dependencies clean - Bring *.target files in sync with pom-config.xml for interactive use - Align .gitignore with TCF's .gitignore Change-Id: I6dfd7bfee43e8fcab1b6e7aae7a0b46f2f83bbf4 Signed-off-by: Martin Oberhuber --- .gitignore | 16 +++++++++----- admin/pom-config.xml | 21 ++++++++++++------- admin/target-defs/eclipse-3.8.2-juno.target | 12 +++++------ admin/target-defs/eclipse-4.3.x-kepler.target | 2 +- admin/target-defs/eclipse-4.7.x-oxygen.target | 2 +- 5 files changed, 32 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 6d21f732c9b..0751d5c9ae4 100644 --- a/.gitignore +++ b/.gitignore @@ -1,11 +1,17 @@ -bin/ -target/ -workspace/ -debug-workspace/ - # ignore various emacs droppings *~ \#*\# +# . +workspace +debug-workspace + +# Ignored throughout the whole tree +bin/ +target/ +coverage/ +artifacts/ +/ManifestValidationResult.html + # MacOSX .DS_Store diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 255f285932b..168a613f0a3 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -37,9 +37,11 @@ - + + + - 0.22.0 + 0.23.1 ${tycho-version} 2.7 1.8 @@ -59,11 +61,11 @@ file true - scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git - development ${project.artifactId}.zip /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly + scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git + 4.7 @@ -76,10 +78,13 @@ http://download.eclipse.org/tm/updates/4.0 http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 http://archive.eclipse.org/tm/updates/rxtx - - http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository/ - http://download.eclipse.org/technology/swtbot/releases/2.5.0/ - + + http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ + + + + http://download.eclipse.org/technology/swtbot/releases/2.2.1/ + diff --git a/admin/target-defs/eclipse-3.8.2-juno.target b/admin/target-defs/eclipse-3.8.2-juno.target index ab159a75f0e..4a30c3cd2b9 100644 --- a/admin/target-defs/eclipse-3.8.2-juno.target +++ b/admin/target-defs/eclipse-3.8.2-juno.target @@ -1,5 +1,5 @@ - + @@ -20,10 +20,10 @@ - - - - + + + + @@ -39,7 +39,7 @@ - + diff --git a/admin/target-defs/eclipse-4.3.x-kepler.target b/admin/target-defs/eclipse-4.3.x-kepler.target index 829a8a022ce..00ff47c0d91 100644 --- a/admin/target-defs/eclipse-4.3.x-kepler.target +++ b/admin/target-defs/eclipse-4.3.x-kepler.target @@ -1,5 +1,5 @@ - + diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index d3ed1463ba7..d679b08cf1b 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,5 +1,5 @@ - + From 7ca2575d983a80a4f9fcfdaead09f36095c93a59 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 21 Jan 2018 22:34:35 +0100 Subject: [PATCH 838/843] Releng: Update Target Platforms for Testing Change-Id: Ifadc75de1c54af9f5d34b63986a9d94acdd84c54 --- admin/target-defs/eclipse-4.7.x-oxygen.target | 26 +++++----- admin/target-defs/eclipse-4.8.x-photon.target | 49 +++++++++++++++++++ 2 files changed, 62 insertions(+), 13 deletions(-) create mode 100644 admin/target-defs/eclipse-4.8.x-photon.target diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/admin/target-defs/eclipse-4.7.x-oxygen.target index d679b08cf1b..2de83f77c10 100644 --- a/admin/target-defs/eclipse-4.7.x-oxygen.target +++ b/admin/target-defs/eclipse-4.7.x-oxygen.target @@ -1,5 +1,5 @@ - + @@ -12,18 +12,18 @@ - + - + - - - - + + + + @@ -33,17 +33,17 @@ - + - - - - - + + + + + diff --git a/admin/target-defs/eclipse-4.8.x-photon.target b/admin/target-defs/eclipse-4.8.x-photon.target new file mode 100644 index 00000000000..39952d614f2 --- /dev/null +++ b/admin/target-defs/eclipse-4.8.x-photon.target @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 74eb8752fe60268e92f2f0af162474866681bdbd Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 21 Jan 2018 23:25:04 +0100 Subject: [PATCH 839/843] Releng: Update parent POM to 4.4 and enable mvn Photon profile Change-Id: Ib5fc22afc25f13690c67e316194da77c224a13af Signed-off-by: Martin Oberhuber --- admin/pom-build.xml | 297 +++--- admin/pom-config.xml | 977 +++++++++--------- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.feature/pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.control/pom.xml | 2 +- plugins/org.eclipse.tm.terminal.test/pom.xml | 2 +- .../org.eclipse.tm.terminal.view.core/pom.xml | 2 +- .../pom.xml | 2 +- .../org.eclipse.tm.terminal.view.ui/pom.xml | 2 +- pom.xml | 160 +-- repos/org.eclipse.tm.terminal.repo/pom.xml | 2 +- 36 files changed, 749 insertions(+), 751 deletions(-) diff --git a/admin/pom-build.xml b/admin/pom-build.xml index 0833f09df16..c3a15ccdb32 100644 --- a/admin/pom-build.xml +++ b/admin/pom-build.xml @@ -1,135 +1,135 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + 4.0.0 - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-config - 4.3.0-SNAPSHOT - pom-config.xml - + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-config + 4.4.0-SNAPSHOT + pom-config.xml + - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT - pom - TM Terminal, Maven Build Master + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.4.0-SNAPSHOT + pom + TM Terminal, Maven Build Master - - - - org.eclipse.tycho - tycho-maven-plugin - - - org.eclipse.tycho - target-platform-configuration - - - org.eclipse.tycho - tycho-source-plugin - - - + + + + org.eclipse.tycho + tycho-maven-plugin + + + org.eclipse.tycho + target-platform-configuration + + + org.eclipse.tycho + tycho-source-plugin + + + - - - sign - - - - - - - org.eclipse.tycho.extras - tycho-pack200a-plugin - - - org.eclipse.cbi.maven.plugins - eclipse-jarsigner-plugin - - - org.eclipse.tycho.extras - tycho-pack200b-plugin - - - org.eclipse.tycho - tycho-p2-plugin - - - - - - - findbugs - - - - - org.codehaus.mojo - findbugs-maven-plugin - - - - - - static-checks - - - - org.codehaus.mojo - findbugs-maven-plugin - - - org.apache.maven.plugins - maven-pmd-plugin - - - - - - tests - - - - - org.eclipse.tycho - target-platform-configuration - - - - - - p2-installable-unit - org.eclipse.platform.ide - 0.0.0 - - - eclipse-feature - org.eclipse.sdk - 0.0.0 - - - eclipse-feature - org.eclipse.cdt.platform - 0.0.0 - - - eclipse-feature - org.eclipse.remote - 0.0.0 - - - eclipse-feature - org.eclipse.swtbot.eclipse - 0.0.0 - - - - - + + + sign + + + + + + + org.eclipse.tycho.extras + tycho-pack200a-plugin + + + org.eclipse.cbi.maven.plugins + eclipse-jarsigner-plugin + + + org.eclipse.tycho.extras + tycho-pack200b-plugin + + + org.eclipse.tycho + tycho-p2-plugin + + + + + + + findbugs + + + + + org.codehaus.mojo + findbugs-maven-plugin + + + + + + static-checks + + + + org.codehaus.mojo + findbugs-maven-plugin + + + org.apache.maven.plugins + maven-pmd-plugin + + + + + + tests + + + + + org.eclipse.tycho + target-platform-configuration + + + + + + p2-installable-unit + org.eclipse.platform.ide + 0.0.0 + + + eclipse-feature + org.eclipse.sdk + 0.0.0 + + + eclipse-feature + org.eclipse.cdt.platform + 0.0.0 + + + eclipse-feature + org.eclipse.remote + 0.0.0 + + + eclipse-feature + org.eclipse.swtbot.eclipse + 0.0.0 + + + + + org.jacoco jacoco-maven-plugin @@ -142,39 +142,22 @@ org.eclipse.tm.terminal* - + - - - - - - + + + + + + diff --git a/admin/pom-config.xml b/admin/pom-config.xml index 168a613f0a3..71de01d02f3 100644 --- a/admin/pom-config.xml +++ b/admin/pom-config.xml @@ -1,25 +1,25 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + 4.0.0 - - 3.0 - + + 3.0 + - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-config - 4.3.0-SNAPSHOT - pom - TM Terminal, Maven Configuration Master + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-config + 4.4.0-SNAPSHOT + pom + TM Terminal, Maven Configuration Master - - - Eclipse Public License - http://www.eclipse.org/legal/epl-v10.html - repo - + + + Eclipse Public License + http://www.eclipse.org/legal/epl-v10.html + repo + All rights reserved. This program and the accompanying materials are made @@ -27,480 +27,489 @@ which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.htm - - + + - - Eclipse Foundation - http://www.eclipse.org/ - - - - - - - - - 0.23.1 - ${tycho-version} - 2.7 - 1.8 - 1.5 - 3.0.4 - - 0.7.9 - - 1.1.2 + + Eclipse Foundation + http://www.eclipse.org/ + - - ${env.WORKSPACE}/admin - UTF-8 + + + + + + + 0.23.1 + ${tycho-version} + 2.7 + 1.8 + 1.5 + 3.0.4 + + 0.7.9 + + 1.1.2 - - false - file - true + + ${env.WORKSPACE}/admin + UTF-8 - development - ${project.artifactId}.zip - /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly - scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git + + false + file + true - 4.7 - - - - - http://download.eclipse.org/eclipse/updates/4.5 - http://download.eclipse.org/releases/mars - http://download.eclipse.org/cbi/updates/license - http://download.eclipse.org/tools/cdt/releases/8.8.1 - http://download.eclipse.org/tm/updates/4.0 - http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 - http://archive.eclipse.org/tm/updates/rxtx - - http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ - - - - http://download.eclipse.org/technology/swtbot/releases/2.2.1/ - + development + ${project.artifactId}.zip + /home/data/httpd/download.eclipse.org/tm/terminal/builds/${terminal-stream}/nightly + scm:git:git://git.eclipse.org/gitroot/tm/org.eclipse.tm.terminal.git - - - license-feature - ${license-site} - p2 - - - platform - ${platform-site} - p2 - - - platform-release - ${platform-release-site} - p2 - - - orbit - ${orbit-site} - p2 - - - cdt - ${cdt-site} - p2 - - - tm - ${tm-site} - p2 - - - swtbot - ${swtbot-site} - p2 - - - remote - ${remote-site} - p2 - - - rxtx - ${rxtx-site} - p2 - - + 4.7 - - - sonatype - https://oss.sonatype.org/content/repositories/public - - true - - - true - - - - cbi - https://repo.eclipse.org/content/repositories/cbi-releases/ - - - cbi-snapshots - https://repo.eclipse.org/content/repositories/cbi-snapshots/ - - + + + + http://download.eclipse.org/eclipse/updates/4.5 + http://download.eclipse.org/releases/mars + http://download.eclipse.org/cbi/updates/license + http://download.eclipse.org/tools/cdt/releases/8.8.1 + http://download.eclipse.org/tm/updates/4.0 + http://download.eclipse.org/tools/ptp/builds/remote/2.0.0 + http://archive.eclipse.org/tm/updates/rxtx + + http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/repository/ + + + + http://download.eclipse.org/technology/swtbot/releases/2.2.1/ + - - - - juno - - - juno - 3.8 - http://download.eclipse.org/eclipse/updates/3.8 - http://download.eclipse.org/releases/juno - - http://download.eclipse.org/tools/cdt/releases/8.4 - - - - - kepler - - - kepler - 4.3 - http://download.eclipse.org/eclipse/updates/4.3 - http://download.eclipse.org/releases/kepler - - http://download.eclipse.org/tools/cdt/releases/8.4 - - - - - luna - - - luna - 4.4 - http://download.eclipse.org/eclipse/updates/4.4 - http://download.eclipse.org/releases/luna - - http://download.eclipse.org/tools/cdt/releases/8.6 - - - - - mars - - - mars - 4.5 - http://download.eclipse.org/eclipse/updates/4.5 - http://download.eclipse.org/releases/mars - http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository - http://download.eclipse.org/tools/ptp/builds/remote/2.0.2 - http://download.eclipse.org/tools/cdt/releases/8.8.1 - - - - - neon - - - neon - 4.6 - http://download.eclipse.org/eclipse/updates/4.6 - http://download.eclipse.org/releases/neon - http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository - http://download.eclipse.org/tm/updates/4.2 - http://download.eclipse.org/tools/ptp/builds/remote/2.1.1 - http://download.eclipse.org/tools/cdt/releases/9.2 - - - - - oxygen - - - oxygen - 4.7 - http://download.eclipse.org/eclipse/updates/4.7 - http://download.eclipse.org/releases/oxygen - http://download.eclipse.org/tools/orbit/downloads/drops/R20170516192513/repository - http://download.eclipse.org/tm/updates/4.3milestones - http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones - http://download.eclipse.org/tools/cdt/builds/oxygen/milestones - http://download.eclipse.org/technology/swtbot/releases/latest/ - - + + + license-feature + ${license-site} + p2 + + + platform + ${platform-site} + p2 + + + platform-release + ${platform-release-site} + p2 + + + orbit + ${orbit-site} + p2 + + + cdt + ${cdt-site} + p2 + + + tm + ${tm-site} + p2 + + + swtbot + ${swtbot-site} + p2 + + + remote + ${remote-site} + p2 + + + rxtx + ${rxtx-site} + p2 + + + + + + sonatype + https://oss.sonatype.org/content/repositories/public + + true + + + true + + + + cbi + https://repo.eclipse.org/content/repositories/cbi-releases/ + + + cbi-snapshots + https://repo.eclipse.org/content/repositories/cbi-snapshots/ + + + + + + + juno + + + juno + 3.8 + http://download.eclipse.org/eclipse/updates/3.8 + http://download.eclipse.org/releases/juno + + http://download.eclipse.org/tools/cdt/releases/8.4 + + + + + kepler + + + kepler + 4.3 + http://download.eclipse.org/eclipse/updates/4.3 + http://download.eclipse.org/releases/kepler + + http://download.eclipse.org/tools/cdt/releases/8.4 + + + + + luna + + + luna + 4.4 + http://download.eclipse.org/eclipse/updates/4.4 + http://download.eclipse.org/releases/luna + + http://download.eclipse.org/tools/cdt/releases/8.6 + + + + + mars + + + mars + 4.5 + http://download.eclipse.org/eclipse/updates/4.5 + http://download.eclipse.org/releases/mars + http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository + http://download.eclipse.org/tools/ptp/builds/remote/2.0.2 + http://download.eclipse.org/tools/cdt/releases/8.8.1 + + + + + neon + + + neon + 4.6 + http://download.eclipse.org/eclipse/updates/4.6 + http://download.eclipse.org/releases/neon + http://download.eclipse.org/tools/orbit/R-builds/R20170307180635/repository + http://download.eclipse.org/tm/updates/4.2 + http://download.eclipse.org/tools/ptp/builds/remote/2.1.1 + http://download.eclipse.org/tools/cdt/releases/9.2 + + + + + oxygen + + + oxygen + 4.7 + http://download.eclipse.org/eclipse/updates/4.7 + http://download.eclipse.org/releases/oxygen + http://download.eclipse.org/tools/orbit/downloads/drops/R20170919201930/repository + http://download.eclipse.org/tm/updates/4.3milestones + http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones + http://download.eclipse.org/tools/cdt/builds/oxygen/milestones + http://download.eclipse.org/technology/swtbot/releases/latest/ + + + + + photon + + + photon + 4.8 + http://download.eclipse.org/eclipse/updates/4.8milestones + http://download.eclipse.org/releases/photon + http://download.eclipse.org/tools/orbit/downloads/drops/S20180119201206/repository + http://download.eclipse.org/tm/updates/4.3milestones + http://download.eclipse.org/tools/ptp/builds/remote/oxygen/milestones + http://download.eclipse.org/tools/cdt/builds/9.4 + http://download.eclipse.org/technology/swtbot/releases/latest/ + + - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho-version} - true - - - - - - org.eclipse.tycho - tycho-maven-plugin - ${tycho-version} - true - - - org.eclipse.tycho - target-platform-configuration - ${tycho-version} - - - - linux - gtk - x86 - - - linux - gtk - x86_64 - - - win32 - win32 - x86 - - - win32 - win32 - x86_64 - - - macosx - cocoa - x86_64 - - - p2 - true - true - consider - - - - org.eclipse.tycho - tycho-compiler-plugin - ${tycho-version} - - UTF-8 - - - - org.eclipse.tycho - tycho-source-plugin - ${tycho-version} - - UTF-8 - - - - plugin-source - - plugin-source - - - - - - org.eclipse.tycho - tycho-packaging-plugin - ${tycho-version} - - - org.eclipse.tycho.extras - tycho-buildtimestamp-jgit - ${tycho-version} - - - org.eclipse.tycho.extras - tycho-sourceref-jgit - ${tycho-extras-version} - - - - false - jgit - pom.xml - ignore - - true - - - - - org.eclipse.tycho - tycho-p2-repository-plugin - ${tycho-version} - - ${project.artifactId} - - - - org.apache.maven.plugins - maven-resources-plugin - ${maven-resources-version} - - UTF-8 - - - - org.apache.maven.plugins - maven-antrun-plugin - ${maven-antrun-version} - - - org.codehaus.gmaven - gmaven-plugin - ${gmaven-version} - - - org.codehaus.mojo - findbugs-maven-plugin - ${findbugs-version} - - UTF-8 - Max - Low - true - false - ${adminDir}/findbugs-exclude.xml - - - - - check - - - - - - org.jacoco - jacoco-maven-plugin - ${jacoco-version} - - - org.apache.maven.plugins - maven-pmd-plugin - 3.8 - - utf-8 - 100 - 1.7 - xml - false - - **/UbcCheck.java - - - - - - cpd-check - - - - - - - - org.eclipse.tycho.extras - tycho-pack200a-plugin - ${tycho-version} - - - pack200-normalize - verify - - normalize - - - - - - org.eclipse.cbi.maven.plugins - eclipse-jarsigner-plugin - ${eclipse-jarsigner-version} - - - sign - verify - - sign - - - - - - org.eclipse.tycho.extras - tycho-pack200b-plugin - ${tycho-version} - - - pack200-pack - verify - - pack - - - - - - - - org.eclipse.tycho - tycho-p2-plugin - ${tycho-version} - - - - - p2-metadata - package - - p2-metadata - - - - - false - - - - - + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + linux + gtk + x86 + + + linux + gtk + x86_64 + + + win32 + win32 + x86 + + + win32 + win32 + x86_64 + + + macosx + cocoa + x86_64 + + + p2 + true + true + consider + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + UTF-8 + + + + org.eclipse.tycho + tycho-source-plugin + ${tycho-version} + + UTF-8 + + + + plugin-source + + plugin-source + + + + + + org.eclipse.tycho + tycho-packaging-plugin + ${tycho-version} + + + org.eclipse.tycho.extras + tycho-buildtimestamp-jgit + ${tycho-version} + + + org.eclipse.tycho.extras + tycho-sourceref-jgit + ${tycho-extras-version} + + + + false + jgit + pom.xml + ignore + + true + + + + + org.eclipse.tycho + tycho-p2-repository-plugin + ${tycho-version} + + ${project.artifactId} + + + + org.apache.maven.plugins + maven-resources-plugin + ${maven-resources-version} + + UTF-8 + + + + org.apache.maven.plugins + maven-antrun-plugin + ${maven-antrun-version} + + + org.codehaus.gmaven + gmaven-plugin + ${gmaven-version} + + + org.codehaus.mojo + findbugs-maven-plugin + ${findbugs-version} + + UTF-8 + Max + Low + true + false + ${adminDir}/findbugs-exclude.xml + + + + + check + + + + + + org.jacoco + jacoco-maven-plugin + ${jacoco-version} + + + org.apache.maven.plugins + maven-pmd-plugin + 3.8 + + utf-8 + 100 + 1.7 + xml + false + + **/UbcCheck.java + + + + + + cpd-check + + + + + + + + org.eclipse.tycho.extras + tycho-pack200a-plugin + ${tycho-version} + + + pack200-normalize + verify + + normalize + + + + + + org.eclipse.cbi.maven.plugins + eclipse-jarsigner-plugin + ${eclipse-jarsigner-version} + + + sign + verify + + sign + + + + + + org.eclipse.tycho.extras + tycho-pack200b-plugin + ${tycho-version} + + + pack200-pack + verify + + pack + + + + + + + + org.eclipse.tycho + tycho-p2-plugin + ${tycho-version} + + + + + p2-metadata + package + + p2-metadata + + + + + false + + + + + diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml index 4c8c9d0cbf7..3bac84f8eca 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml index e15a625ed48..0d34254bb3a 100644 --- a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml index c80d7d8a8d4..dbb895f2b67 100644 --- a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml index 1bedbaa69e1..1f3df0a2b12 100644 --- a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml index 89897f1d315..ee09b14f821 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml index c89c22b3600..997dd670755 100644 --- a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml index a8144f3b8bb..a217e9705e7 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml index ddf3b5ad4e2..84a58ce8ba6 100644 --- a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml index ec3e487730f..cf877c745cf 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml index b2d8e4d8bcc..e612d51c336 100644 --- a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml index bf3dad8a090..04b3bfd88d9 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml index 81cfeb643a2..c98c72c8dfe 100644 --- a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.control.feature/pom.xml b/features/org.eclipse.tm.terminal.control.feature/pom.xml index 74186497d99..8d7b13ee7d2 100644 --- a/features/org.eclipse.tm.terminal.control.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml index f0838aaed9a..3ad16caf02e 100644 --- a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/features/org.eclipse.tm.terminal.feature/pom.xml index 354ff605e61..c9652bbdecd 100644 --- a/features/org.eclipse.tm.terminal.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml index 20750e372af..e6e88dfde25 100644 --- a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.view.feature/pom.xml b/features/org.eclipse.tm.terminal.view.feature/pom.xml index 62950b05ca8..1369c1940d2 100644 --- a/features/org.eclipse.tm.terminal.view.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml index 70c3081360a..0c5ffbbb2fa 100644 --- a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml index c9229a320a8..98ea01aeb0e 100644 --- a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml index bd4860e1999..eba1d866707 100644 --- a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml +++ b/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml index 8770ff56d89..1aafe86d300 100644 --- a/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml index 1c6b14a9290..c0b9a095db8 100644 --- a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.local/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml index 57dceae4c2d..ba74f93e6d3 100644 --- a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.process/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml b/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml index 18445243404..1fc2801bbc0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml index 75a812e11d0..23e359c370c 100644 --- a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml index b74d69125d4..39ce2b381a0 100644 --- a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml index 29c5c721611..5153c568e0b 100644 --- a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml +++ b/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/plugins/org.eclipse.tm.terminal.control/pom.xml index 6823fde9ba5..7af83a1c18c 100644 --- a/plugins/org.eclipse.tm.terminal.control/pom.xml +++ b/plugins/org.eclipse.tm.terminal.control/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/plugins/org.eclipse.tm.terminal.test/pom.xml index 20697fe3169..21557963149 100644 --- a/plugins/org.eclipse.tm.terminal.test/pom.xml +++ b/plugins/org.eclipse.tm.terminal.test/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.view.core/pom.xml b/plugins/org.eclipse.tm.terminal.view.core/pom.xml index 527977a8806..f89653264f3 100644 --- a/plugins/org.eclipse.tm.terminal.view.core/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.core/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml index 561576b0938..6dff4aa5c4b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml index 74924d6c2c0..7dfd11f3a3b 100644 --- a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml +++ b/plugins/org.eclipse.tm.terminal.view.ui/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml diff --git a/pom.xml b/pom.xml index 31e6cbe5687..1fd7a18262a 100644 --- a/pom.xml +++ b/pom.xml @@ -1,101 +1,107 @@ - 4.0.0 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + 4.0.0 - - org.eclipse.tm.terminal - org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT - admin/pom-build.xml - + + org.eclipse.tm.terminal + org.eclipse.tm.terminal.maven-build + 4.4.0-SNAPSHOT + admin/pom-build.xml + - org.eclipse.tm.terminal - terminal-parent - 4.3.0-SNAPSHOT - pom - TM Terminal, Maven Master + org.eclipse.tm.terminal + terminal-parent + 4.4.0-SNAPSHOT + pom + TM Terminal, Maven Master - - - plugins/org.eclipse.tm.terminal.control + + + plugins/org.eclipse.tm.terminal.control - features/org.eclipse.tm.terminal.control.feature - features/org.eclipse.tm.terminal.control.sdk.feature + features/org.eclipse.tm.terminal.control.feature + features/org.eclipse.tm.terminal.control.sdk.feature - - plugins/org.eclipse.tm.terminal.connector.local - plugins/org.eclipse.tm.terminal.connector.process - plugins/org.eclipse.tm.terminal.connector.remote - plugins/org.eclipse.tm.terminal.connector.ssh - plugins/org.eclipse.tm.terminal.connector.telnet - - features/org.eclipse.tm.terminal.connector.local.feature - features/org.eclipse.tm.terminal.connector.local.sdk.feature - features/org.eclipse.tm.terminal.connector.remote.feature - features/org.eclipse.tm.terminal.connector.remote.sdk.feature - features/org.eclipse.tm.terminal.connector.ssh.feature - features/org.eclipse.tm.terminal.connector.ssh.sdk.feature - features/org.eclipse.tm.terminal.connector.telnet.feature - features/org.eclipse.tm.terminal.connector.telnet.sdk.feature + + plugins/org.eclipse.tm.terminal.connector.local + plugins/org.eclipse.tm.terminal.connector.process + plugins/org.eclipse.tm.terminal.connector.remote + plugins/org.eclipse.tm.terminal.connector.ssh + plugins/org.eclipse.tm.terminal.connector.telnet - - plugins/org.eclipse.tm.terminal.view.core - plugins/org.eclipse.tm.terminal.view.ui - plugins/org.eclipse.tm.terminal.view.ui.rse - - features/org.eclipse.tm.terminal.view.feature - features/org.eclipse.tm.terminal.view.sdk.feature - features/org.eclipse.tm.terminal.view.rse.feature - features/org.eclipse.tm.terminal.view.rse.sdk.feature + features/org.eclipse.tm.terminal.connector.local.feature + features/org.eclipse.tm.terminal.connector.local.sdk.feature + features/org.eclipse.tm.terminal.connector.remote.feature + features/org.eclipse.tm.terminal.connector.remote.sdk.feature + features/org.eclipse.tm.terminal.connector.ssh.feature + features/org.eclipse.tm.terminal.connector.ssh.sdk.feature + features/org.eclipse.tm.terminal.connector.telnet.feature + features/org.eclipse.tm.terminal.connector.telnet.sdk.feature - - features/org.eclipse.tm.terminal.feature - features/org.eclipse.tm.terminal.sdk.feature + + plugins/org.eclipse.tm.terminal.view.core + plugins/org.eclipse.tm.terminal.view.ui + plugins/org.eclipse.tm.terminal.view.ui.rse - - - - - + features/org.eclipse.tm.terminal.view.feature + features/org.eclipse.tm.terminal.view.sdk.feature + features/org.eclipse.tm.terminal.view.rse.feature + features/org.eclipse.tm.terminal.view.rse.sdk.feature - - - - cdtserial + + features/org.eclipse.tm.terminal.feature + features/org.eclipse.tm.terminal.sdk.feature + + + + + + + + + + + cdtserial - - + + true - !nocdtserial + + !nocdtserial + - - plugins/org.eclipse.tm.terminal.connector.cdtserial - features/org.eclipse.tm.terminal.connector.cdtserial.feature - features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature - repos/org.eclipse.tm.terminal.repo + + plugins/org.eclipse.tm.terminal.connector.cdtserial + features/org.eclipse.tm.terminal.connector.cdtserial.feature + features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature + repos/org.eclipse.tm.terminal.repo - - - rxtxserial + + + rxtxserial true - !norxtx + + !norxtx + - - plugins/org.eclipse.tm.terminal.connector.serial - features/org.eclipse.tm.terminal.connector.serial.feature - features/org.eclipse.tm.terminal.connector.serial.sdk.feature + + plugins/org.eclipse.tm.terminal.connector.serial + features/org.eclipse.tm.terminal.connector.serial.feature + features/org.eclipse.tm.terminal.connector.serial.sdk.feature - - - tests - - plugins/org.eclipse.tm.terminal.test + + + tests + + plugins/org.eclipse.tm.terminal.test - + diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/repos/org.eclipse.tm.terminal.repo/pom.xml index 215fcf22b59..dc22ff6e5e8 100644 --- a/repos/org.eclipse.tm.terminal.repo/pom.xml +++ b/repos/org.eclipse.tm.terminal.repo/pom.xml @@ -7,7 +7,7 @@ org.eclipse.tm.terminal org.eclipse.tm.terminal.maven-build - 4.3.0-SNAPSHOT + 4.4.0-SNAPSHOT ../../admin/pom-build.xml From 3548a7c700a9ec48ccea3a3277436799053ea9e4 Mon Sep 17 00:00:00 2001 From: Martin Oberhuber Date: Sun, 21 Jan 2018 23:37:45 +0100 Subject: [PATCH 840/843] Releng: Update tm.terminal.control to 4.4 Change-Id: I457e26ed01a48a475da2174a2b5074709c3ca6d9 Signed-off-by: Martin Oberhuber --- .../feature.properties | 6 +- .../feature.xml | 6 +- .../pom.xml | 62 ++++++------ .../feature.properties | 6 +- .../feature.xml | 6 +- .../pom.xml | 62 ++++++------ .../feature.properties | 6 +- .../feature.xml | 6 +- .../org.eclipse.tm.terminal.feature/pom.xml | 4 +- .../feature.properties | 6 +- .../feature.xml | 6 +- .../pom.xml | 4 +- .../META-INF/MANIFEST.MF | 2 +- .../about.properties | 4 +- .../org.eclipse.tm.terminal.control/pom.xml | 2 +- .../terminal/textcanvas/ITextCanvasModel.java | 2 +- .../terminal/textcanvas/TextCanvas.java | 2 +- repos/org.eclipse.tm.terminal.repo/pom.xml | 96 +++++++++---------- 18 files changed, 144 insertions(+), 144 deletions(-) diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.properties b/features/org.eclipse.tm.terminal.control.feature/feature.properties index 64236a0dae4..db0f457b812 100644 --- a/features/org.eclipse.tm.terminal.control.feature/feature.properties +++ b/features/org.eclipse.tm.terminal.control.feature/feature.properties @@ -1,5 +1,5 @@ ############################################################################### -# Copyright (c) 2006, 2017 Wind River Systems, Inc. and others. +# Copyright (c) 2006, 2018 Wind River Systems, Inc. and others. # All rights reserved. This program and the accompanying materials # are made available under the terms of the Eclipse Public License v1.0 # which accompanies this distribution, and is available at @@ -21,7 +21,7 @@ featureName=TM Terminal Control providerName=Eclipse.org - Target Management # "updateSiteName" property - label for the update site -updateSiteName=TM Terminal 4.3 Updates +updateSiteName=TM Terminal 4.4 Updates # "description" property - description of the feature description=An ANSI (vt102) compatible Terminal widget \ @@ -29,7 +29,7 @@ with RCP-only dependencies. # "copyright" property - text of the "Feature Update Copyright" copyright=\ -Copyright (c) 2003, 2017 Wind River Systems, Inc. and others.\n\ +Copyright (c) 2003, 2018 Wind River Systems, Inc. and others.\n\ All rights reserved. This program and the accompanying materials\n\ are made available under the terms of the Eclipse Public License v1.0\n\ which accompanies this distribution, and is available at\n\ diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.xml b/features/org.eclipse.tm.terminal.control.feature/feature.xml index 06b409af3a2..bc3f9d2fcf4 100644 --- a/features/org.eclipse.tm.terminal.control.feature/feature.xml +++ b/features/org.eclipse.tm.terminal.control.feature/feature.xml @@ -1,6 +1,6 @@ + http://download.eclipse.org/tools/orbit/downloads/drops/R20180606145124/repository/ + http://download.eclipse.org/tm/updates/3.7.100-SNAPSHOT/repository/ + + http://download.eclipse.org/tools/ptp/builds/remote/nightly/ + http://download.eclipse.org/tools/cdt/builds/9.4 http://download.eclipse.org/technology/swtbot/releases/latest/ From dd1eaecc6e88bd30e358fa5cf1e01ac55b124449 Mon Sep 17 00:00:00 2001 From: nickboldt Date: Tue, 28 Aug 2018 12:54:02 -0400 Subject: [PATCH 843/843] Move terminal files into subfolder Change-Id: Ibab77ef2ba53f4fd91363269330955eca5fd2bb3 Signed-off-by: nickboldt --- .gitignore => terminal/.gitignore | 0 CONTRIBUTING => terminal/CONTRIBUTING | 0 {admin => terminal/admin}/.gitignore | 0 {admin => terminal/admin}/.project | 0 {admin => terminal/admin}/findbugs-exclude.xml | 0 {admin => terminal/admin}/pom-build.xml | 0 {admin => terminal/admin}/pom-config.xml | 0 {admin => terminal/admin}/settings.xml | 0 .../admin}/target-defs/eclipse-3.8.2-juno.target | 0 .../admin}/target-defs/eclipse-4.3.x-kepler.target | 0 .../admin}/target-defs/eclipse-4.4.x-luna.target | 0 .../admin}/target-defs/eclipse-4.5.x-mars.target | 0 .../admin}/target-defs/eclipse-4.6.x-neon.target | 0 .../admin}/target-defs/eclipse-4.7.x-oxygen.target | 0 .../admin}/target-defs/eclipse-4.8.x-photon.target | 0 .../admin}/target-defs/tm-baseline.target | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../p2.inf | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../org.eclipse.tm.terminal.control.feature/pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../org.eclipse.tm.terminal.feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../org.eclipse.tm.terminal.feature/feature.xml | 0 .../org.eclipse.tm.terminal.feature/p2.inf | 0 .../org.eclipse.tm.terminal.feature/pom.xml | 0 .../org.eclipse.tm.terminal.sdk.feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../org.eclipse.tm.terminal.sdk.feature/feature.xml | 0 .../org.eclipse.tm.terminal.sdk.feature/p2.inf | 0 .../org.eclipse.tm.terminal.sdk.feature/pom.xml | 0 .../org.eclipse.tm.terminal.view.feature/.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../org.eclipse.tm.terminal.view.feature/pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.project | 0 .../build.properties | 0 .../feature.properties | 0 .../feature.xml | 0 .../pom.xml | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../connector/cdtserial/activator/Activator.java | 0 .../cdtserial/connector/SerialConnector.java | 0 .../cdtserial/connector/SerialSettings.java | 0 .../cdtserial/controls/SerialConfigPanel.java | 0 .../cdtserial/controls/SerialSettingsPage.java | 0 .../cdtserial/launcher/SerialLauncherDelegate.java | 0 .../terminal/connector/cdtserial/nls/Messages.java | 0 .../connector/cdtserial/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../META-INF/p2.inf | 0 .../about.html | 0 .../build.properties | 0 .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../plugin.xml | 0 .../org.eclipse.tm.terminal.connector.local/pom.xml | 0 .../connector/local/activator/UIPlugin.java | 0 .../controls/LocalWizardConfigurationPanel.java | 0 .../local/launcher/LocalLauncherDelegate.java | 0 .../local/launcher/LocalLauncherHandler.java | 0 .../local/launcher/LocalMementoHandler.java | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../META-INF/p2.inf | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../connector/process/ProcessConnector.java | 0 .../connector/process/ProcessLauncherDelegate.java | 0 .../terminal/connector/process/ProcessMonitor.java | 0 .../terminal/connector/process/ProcessSettings.java | 0 .../connector/process/ProcessSettingsPage.java | 0 .../connector/process/activator/UIPlugin.java | 0 .../connector/process/help/IContextHelpIds.java | 0 .../tm/terminal/connector/process/nls/Messages.java | 0 .../connector/process/nls/Messages.properties | 0 .../.classpath | 0 .../.cvsignore | 0 .../.gitignore | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../schema/parsers.exsd | 0 .../terminal/connector/remote/IRemoteSettings.java | 0 .../connector/remote/IRemoteTerminalConstants.java | 0 .../connector/remote/IRemoteTerminalParser.java | 0 .../controls/RemoteWizardConfigurationPanel.java | 0 .../connector/remote/internal/Activator.java | 0 .../connector/remote/internal/ArgumentParser.java | 0 .../remote/internal/RemoteConnectionManager.java | 0 .../connector/remote/internal/RemoteConnector.java | 0 .../connector/remote/internal/RemoteSettings.java | 0 .../remote/internal/RemoteSettingsPage.java | 0 .../RemoteTerminalPreferenceInitializer.java | 0 .../preferences/RemoteTerminalPreferencePage.java | 0 .../remote/launcher/RemoteLauncherDelegate.java | 0 .../remote/launcher/RemoteMementoHandler.java | 0 .../tm/terminal/connector/remote/nls/Messages.java | 0 .../connector/remote/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../connector/serial/activator/UIPlugin.java | 0 .../connector/serial/connector/ISerialSettings.java | 0 .../serial/connector/SerialConnectWorker.java | 0 .../connector/serial/connector/SerialConnector.java | 0 .../serial/connector/SerialPortHandler.java | 0 .../serial/connector/SerialProperties.java | 0 .../connector/serial/connector/SerialSettings.java | 0 .../serial/controls/SerialConfigurationPanel.java | 0 .../connector/serial/controls/SerialLinePanel.java | 0 .../serial/controls/SerialPortAddressDialog.java | 0 .../connector/serial/interfaces/ITraceIds.java | 0 .../serial/interfaces/IWireTypeSerial.java | 0 .../serial/launcher/SerialLauncherDelegate.java | 0 .../serial/launcher/SerialMementoHandler.java | 0 .../tm/terminal/connector/serial/nls/Messages.java | 0 .../connector/serial/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../org.eclipse.tm.terminal.connector.ssh/.options | 0 .../org.eclipse.tm.terminal.connector.ssh/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../org.eclipse.tm.terminal.connector.ssh/pom.xml | 0 .../terminal/connector/ssh/activator/UIPlugin.java | 0 .../connector/ssh/connector/ISshConstants.java | 0 .../connector/ssh/connector/ISshSettings.java | 0 .../ssh/connector/KeyboardInteractiveDialog.java | 0 .../connector/ssh/connector/SshConnection.java | 0 .../connector/ssh/connector/SshConnector.java | 0 .../connector/ssh/connector/SshMessages.java | 0 .../connector/ssh/connector/SshMessages.properties | 0 .../connector/ssh/connector/SshSettings.java | 0 .../connector/ssh/connector/SshSettingsPage.java | 0 .../ssh/connector/UserValidationDialog.java | 0 .../ssh/controls/SshWizardConfigurationPanel.java | 0 .../connector/ssh/launcher/SshLauncherDelegate.java | 0 .../connector/ssh/launcher/SshMementoHandler.java | 0 .../tm/terminal/connector/ssh/nls/Messages.java | 0 .../terminal/connector/ssh/nls/Messages.properties | 0 .../.classpath | 0 .../.gitignore | 0 .../.options | 0 .../.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../about.html | 0 .../build.properties | 0 .../plugin.properties | 0 .../plugin.xml | 0 .../pom.xml | 0 .../connector/telnet/activator/UIPlugin.java | 0 .../connector/telnet/connector/ITelnetSettings.java | 0 .../connector/telnet/connector/NetworkPortMap.java | 0 .../connector/telnet/connector/TelnetCodes.java | 0 .../telnet/connector/TelnetConnectWorker.java | 0 .../telnet/connector/TelnetConnection.java | 0 .../connector/telnet/connector/TelnetConnector.java | 0 .../connector/telnet/connector/TelnetMessages.java | 0 .../telnet/connector/TelnetMessages.properties | 0 .../connector/telnet/connector/TelnetOption.java | 0 .../telnet/connector/TelnetProperties.java | 0 .../connector/telnet/connector/TelnetSettings.java | 0 .../telnet/connector/TelnetSettingsPage.java | 0 .../controls/TelnetWizardConfigurationPanel.java | 0 .../telnet/launcher/TelnetLauncherDelegate.java | 0 .../telnet/launcher/TelnetMementoHandler.java | 0 .../tm/terminal/connector/telnet/nls/Messages.java | 0 .../connector/telnet/nls/Messages.properties | 0 .../org.eclipse.tm.terminal.control/.classpath | 0 .../org.eclipse.tm.terminal.control/.cvsignore | 0 .../org.eclipse.tm.terminal.control/.gitignore | 0 .../org.eclipse.tm.terminal.control/.options | 0 .../org.eclipse.tm.terminal.control/.project | 0 .../.settings/org.eclipse.core.resources.prefs | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../HelpContexts.xml | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.control/README.txt | 0 .../org.eclipse.tm.terminal.control/about.html | 0 .../org.eclipse.tm.terminal.control/about.ini | 0 .../about.properties | 0 .../build.properties | 0 .../css/org.eclipse.tm.terminal.stylesheet.dark.css | 0 .../icons/clcl16/clear_co.gif | Bin .../icons/dlcl16/clear_co.gif | Bin .../icons/elcl16/clear_co.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal.control/plugin.xml | 0 .../org.eclipse.tm.terminal.control/pom.xml | 0 .../schema/connectors.exsd | 0 .../terminal/connector/TerminalConnector.java | 0 .../TerminalToRemoteInjectionOutputStream.java | 0 .../control/CommandInputFieldWithHistory.java | 0 .../terminal/control/ICommandInputField.java | 0 .../terminal/control/ITerminalListener.java | 0 .../terminal/control/ITerminalListener2.java | 0 .../terminal/control/ITerminalMouseListener.java | 0 .../terminal/control/ITerminalViewControl.java | 0 .../control/TerminalViewControlFactory.java | 0 .../control/actions/AbstractTerminalAction.java | 0 .../terminal/control/actions/ActionMessages.java | 0 .../control/actions/ActionMessages.properties | 0 .../terminal/control/actions/ImageConsts.java | 0 .../control/actions/TerminalActionClearAll.java | 0 .../control/actions/TerminalActionCopy.java | 0 .../terminal/control/actions/TerminalActionCut.java | 0 .../control/actions/TerminalActionPaste.java | 0 .../control/actions/TerminalActionSelectAll.java | 0 .../control/impl/ITerminalControlForText.java | 0 .../terminal/control/impl/TerminalMessages.java | 0 .../control/impl/TerminalMessages.properties | 0 .../terminal/control/impl/TerminalPlugin.java | 0 .../terminal/emulator/EditActionAccelerators.java | 0 .../terminal/emulator/IVT100EmulatorBackend.java | 0 .../terminal/emulator/LoggingOutputStream.java | 0 .../emulator/VT100BackendTraceDecorator.java | 0 .../internal/terminal/emulator/VT100Emulator.java | 0 .../terminal/emulator/VT100EmulatorBackend.java | 0 .../terminal/emulator/VT100TerminalControl.java | 0 .../internal/terminal/model/ISnapshotChanges.java | 0 .../tm/internal/terminal/model/SnapshotChanges.java | 0 .../model/SynchronizedTerminalTextData.java | 0 .../internal/terminal/model/TerminalTextData.java | 0 .../terminal/model/TerminalTextDataFastScroll.java | 0 .../terminal/model/TerminalTextDataSnapshot.java | 0 .../terminal/model/TerminalTextDataStore.java | 0 .../terminal/model/TerminalTextDataWindow.java | 0 .../terminal/preferences/ITerminalConstants.java | 0 .../preferences/TerminalPreferenceInitializer.java | 0 .../preferences/TerminalPreferencePage.java | 0 .../provisional/api/AbstractSettingsPage.java | 0 .../terminal/provisional/api/ISettingsPage.java | 0 .../terminal/provisional/api/ISettingsStore.java | 0 .../provisional/api/ITerminalConnector.java | 0 .../terminal/provisional/api/ITerminalControl.java | 0 .../internal/terminal/provisional/api/Logger.java | 0 .../terminal/provisional/api/NullSettingsStore.java | 0 .../provisional/api/TerminalConnectorExtension.java | 0 .../terminal/provisional/api/TerminalState.java | 0 .../api/provider/TerminalConnectorImpl.java | 0 .../textcanvas/AbstractTextCanvasModel.java | 0 .../tm/internal/terminal/textcanvas/GridCanvas.java | 0 .../terminal/textcanvas/ILinelRenderer.java | 0 .../terminal/textcanvas/ITextCanvasModel.java | 0 .../textcanvas/ITextCanvasModelListener.java | 0 .../terminal/textcanvas/PipedInputStream.java | 0 .../terminal/textcanvas/PollingTextCanvasModel.java | 0 .../tm/internal/terminal/textcanvas/StyleMap.java | 0 .../tm/internal/terminal/textcanvas/TextCanvas.java | 0 .../terminal/textcanvas/TextLineRenderer.java | 0 .../internal/terminal/textcanvas/VirtualCanvas.java | 0 .../tm/terminal/model/ITerminalTextData.java | 0 .../terminal/model/ITerminalTextDataReadOnly.java | 0 .../terminal/model/ITerminalTextDataSnapshot.java | 0 .../org/eclipse/tm/terminal/model/LineSegment.java | 0 .../src/org/eclipse/tm/terminal/model/Style.java | 0 .../org/eclipse/tm/terminal/model/StyleColor.java | 0 .../tm/terminal/model/TerminalTextDataFactory.java | 0 .../org.eclipse.tm.terminal.control/tm32.png | Bin .../org.eclipse.tm.terminal.test/.classpath | 0 .../org.eclipse.tm.terminal.test/.cvsignore | 0 .../org.eclipse.tm.terminal.test/.gitignore | 0 .../plugins}/org.eclipse.tm.terminal.test/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.test/about.html | 0 .../plugins}/org.eclipse.tm.terminal.test/about.ini | 0 .../org.eclipse.tm.terminal.test/about.properties | 0 .../org.eclipse.tm.terminal.test/build.properties | 0 .../org.eclipse.tm.terminal.test/plugin.properties | 0 .../org.eclipse.tm.terminal.test/plugin.xml | 0 .../plugins}/org.eclipse.tm.terminal.test/pom.xml | 0 .../connector/TerminalConnectorFactoryTest.java | 0 .../connector/TerminalConnectorPluginTest.java | 0 .../terminal/connector/TerminalConnectorTest.java | 0 .../TerminalToRemoteInjectionOutputStreamTest.java | 0 .../tm/internal/terminal/emulator/AllTests.java | 0 .../terminal/emulator/VT100EmulatorBackendTest.java | 0 .../model/AbstractITerminalTextDataTest.java | 0 .../tm/internal/terminal/model/AllTests.java | 0 .../terminal/model/SnapshotChangesTest.java | 0 .../model/SynchronizedTerminalTextDataTest.java | 0 .../model/TerminalTextDataFastScrollTest.java | 0 .../TerminalTextDataFastScrollTestMaxHeigth.java | 0 .../model/TerminalTextDataPerformanceTest.java | 0 .../model/TerminalTextDataSnapshotTest.java | 0 .../model/TerminalTextDataSnapshotWindowTest.java | 0 .../terminal/model/TerminalTextDataStoreTest.java | 0 .../terminal/model/TerminalTextDataTest.java | 0 .../terminal/model/TerminalTextDataWindowTest.java | 0 .../terminal/model/TerminalTextTestHelper.java | 0 .../terminal/speedtest/SpeedTestConnection.java | 0 .../terminal/speedtest/SpeedTestConnector.java | 0 .../terminal/speedtest/SpeedTestSettings.java | 0 .../internal/terminal/test/terminalcanvas/Main.java | 0 .../terminal/test/terminalcanvas/Snippet48.java | 0 .../test/terminalcanvas/TerminalTextCanvas.java | 0 .../terminal/test/terminalcanvas/VirtualCanvas.java | 0 .../test/ui/AbstractLineOrientedDataSource.java | 0 .../tm/internal/terminal/test/ui/DataReader.java | 0 .../internal/terminal/test/ui/FastDataSource.java | 0 .../internal/terminal/test/ui/FileDataSource.java | 0 .../tm/internal/terminal/test/ui/IDataSource.java | 0 .../tm/internal/terminal/test/ui/IStatus.java | 0 .../terminal/test/ui/LineCountingDataSource.java | 0 .../internal/terminal/test/ui/RandomDataSource.java | 0 .../terminal/test/ui/TerminalTextUITest.java | 0 .../internal/terminal/test/ui/VT100DataSource.java | 0 .../textcanvas/PipedInputStreamPerformanceTest.java | 0 .../terminal/textcanvas/PipedStreamTest.java | 0 .../src/org/eclipse/tm/terminal/model/AllTests.java | 0 .../eclipse/tm/terminal/model/StyleColorTest.java | 0 .../org/eclipse/tm/terminal/model/StyleTest.java | 0 .../tm/terminal/test/AutomatedPluginTests.java | 0 .../eclipse/tm/terminal/test/AutomatedTests.java | 0 .../teamConfig/Terminal All Unit Tests.launch | 0 .../teamConfig/Terminal AutomatedTests.launch | 0 .../teamConfig/Terminal Plugin Tests.launch | 0 .../plugins}/org.eclipse.tm.terminal.test/tm32.png | Bin .../org.eclipse.tm.terminal.view.core/.classpath | 0 .../org.eclipse.tm.terminal.view.core/.gitignore | 0 .../org.eclipse.tm.terminal.view.core/.options | 0 .../org.eclipse.tm.terminal.view.core/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.view.core/about.html | 0 .../org.eclipse.tm.terminal.view.core/about.ini | 0 .../about.mappings | 0 .../about.properties | 0 .../build.properties | 0 .../plugin.properties | 0 .../org.eclipse.tm.terminal.view.core/plugin.xml | 0 .../org.eclipse.tm.terminal.view.core/pom.xml | 0 .../schema/contextPropertiesProviders.exsd | 0 .../TerminalContextPropertiesProviderFactory.java | 0 .../terminal/view/core/TerminalServiceFactory.java | 0 .../view/core/activator/CoreBundleActivator.java | 0 .../ITerminalContextPropertiesProvider.java | 0 .../view/core/interfaces/ITerminalService.java | 0 ...ITerminalServiceOutputStreamMonitorListener.java | 0 .../view/core/interfaces/ITerminalTabListener.java | 0 .../constants/IContextPropertiesConstants.java | 0 .../constants/ILineSeparatorConstants.java | 0 .../constants/ITerminalsConnectorConstants.java | 0 .../terminal/view/core/internal/PropertyTester.java | 0 .../eclipse/tm/terminal/view/core/nls/Messages.java | 0 .../tm/terminal/view/core/nls/Messages.properties | 0 .../core/preferences/ScopedEclipsePreferences.java | 0 .../tm/terminal/view/core/tracing/TraceHandler.java | 0 .../eclipse/tm/terminal/view/core/utils/Env.java | 0 .../org.eclipse.tm.terminal.view.core/tm32.png | Bin .../org.eclipse.tm.terminal.view.ui.rse/.classpath | 0 .../org.eclipse.tm.terminal.view.ui.rse/.gitignore | 0 .../org.eclipse.tm.terminal.view.ui.rse/.options | 0 .../org.eclipse.tm.terminal.view.ui.rse/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.view.ui.rse/about.html | 0 .../build.properties | 0 .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal.view.ui.rse/plugin.xml | 0 .../org.eclipse.tm.terminal.view.ui.rse/pom.xml | 0 .../tm/terminal/view/ui/rse/activator/UIPlugin.java | 0 .../view/ui/rse/internal/LaunchTerminalHandler.java | 0 .../view/ui/rse/internal/PropertyTester.java | 0 .../internal/TerminalContextPropertiesProvider.java | 0 .../tm/terminal/view/ui/rse/nls/Messages.java | 0 .../tm/terminal/view/ui/rse/nls/Messages.properties | 0 .../org.eclipse.tm.terminal.view.ui/.classpath | 0 .../org.eclipse.tm.terminal.view.ui/.gitignore | 0 .../org.eclipse.tm.terminal.view.ui/.options | 0 .../org.eclipse.tm.terminal.view.ui/.project | 0 .../.settings/org.eclipse.jdt.core.prefs | 0 .../.settings/org.eclipse.jdt.ui.prefs | 0 .../.settings/org.eclipse.pde.prefs | 0 .../META-INF/MANIFEST.MF | 0 .../org.eclipse.tm.terminal.view.ui/about.html | 0 .../build.properties | 0 .../org.eclipse.tm.terminal.view.ui/contexts.xml | 0 .../icons/clcl16/command_input_field.gif | Bin .../icons/clcl16/lock_co.png | Bin .../icons/clcl16/lock_co@2x.png | Bin .../icons/clcl16/new_terminal_view.gif | Bin .../icons/dlcl16/command_input_field.gif | Bin .../icons/dlcl16/disconnect.gif | Bin .../icons/dlcl16/lock_co.png | Bin .../icons/dlcl16/lock_co@2x.png | Bin .../icons/dlcl16/new_terminal_view.gif | Bin .../icons/elcl16/command_input_field.gif | Bin .../icons/elcl16/disconnect.gif | Bin .../icons/elcl16/lock_co.png | Bin .../icons/elcl16/lock_co@2x.png | Bin .../icons/elcl16/new_terminal_view.gif | Bin .../icons/eview16/console_view.png | Bin .../icons/eview16/console_view@2x.png | Bin .../icons/eview16/terminal_view.gif | Bin .../plugin.properties | 0 .../org.eclipse.tm.terminal.view.ui/plugin.xml | 0 .../org.eclipse.tm.terminal.view.ui/pom.xml | 0 .../schema/launcherDelegates.exsd | 0 .../tm/terminal/view/ui/actions/AbstractAction.java | 0 .../view/ui/actions/NewTerminalViewAction.java | 0 .../view/ui/actions/SelectEncodingAction.java | 0 .../view/ui/actions/TabScrollLockAction.java | 0 .../view/ui/actions/ToggleCommandFieldAction.java | 0 .../tm/terminal/view/ui/activator/UIPlugin.java | 0 .../view/ui/controls/ConfigurationPanelControl.java | 0 .../view/ui/controls/NoteCompositeHelper.java | 0 .../tm/terminal/view/ui/help/IContextHelpIds.java | 0 .../view/ui/interfaces/IConfigurationPanel.java | 0 .../ui/interfaces/IConfigurationPanelContainer.java | 0 .../interfaces/IExternalExecutablesProperties.java | 0 .../view/ui/interfaces/ILauncherDelegate.java | 0 .../view/ui/interfaces/IMementoHandler.java | 0 .../view/ui/interfaces/IPreferenceKeys.java | 0 .../terminal/view/ui/interfaces/ITerminalsView.java | 0 .../terminal/view/ui/interfaces/IUIConstants.java | 0 .../tm/terminal/view/ui/interfaces/ImageConsts.java | 0 .../view/ui/interfaces/tracing/ITraceIds.java | 0 .../view/ui/internal/ExternalExecutablesState.java | 0 .../terminal/view/ui/internal/PropertyTester.java | 0 .../tm/terminal/view/ui/internal/SettingsStore.java | 0 .../internal/dialogs/EncodingSelectionDialog.java | 0 .../dialogs/LaunchTerminalSettingsDialog.java | 0 .../handler/AbstractTriggerCommandHandler.java | 0 .../handler/DisconnectTerminalCommandHandler.java | 0 .../handler/LaunchTerminalCommandHandler.java | 0 .../ui/internal/handler/MaximizeViewHandler.java | 0 .../ui/internal/handler/NewTerminalViewHandler.java | 0 .../ui/internal/handler/QuickAccessHandler.java | 0 .../view/ui/launcher/AbstractLauncherDelegate.java | 0 .../view/ui/launcher/LauncherDelegateManager.java | 0 .../view/ui/listeners/AbstractWindowListener.java | 0 .../view/ui/listeners/WorkbenchPartListener.java | 0 .../view/ui/listeners/WorkbenchWindowListener.java | 0 .../ui/local/showin/DynamicContributionItems.java | 0 .../ui/local/showin/ExternalExecutablesDialog.java | 0 .../ui/local/showin/ExternalExecutablesManager.java | 0 .../tm/terminal/view/ui/manager/ConsoleManager.java | 0 .../eclipse/tm/terminal/view/ui/nls/Messages.java | 0 .../tm/terminal/view/ui/nls/Messages.properties | 0 .../view/ui/panels/AbstractConfigurationPanel.java | 0 .../panels/AbstractExtendedConfigurationPanel.java | 0 .../view/ui/preferences/PreferencePage.java | 0 .../view/ui/preferences/PreferencesInitializer.java | 0 .../terminal/view/ui/services/TerminalService.java | 0 .../view/ui/streams/AbstractStreamsConnector.java | 0 .../view/ui/streams/InputStreamMonitor.java | 0 .../view/ui/streams/OutputStreamMonitor.java | 0 .../terminal/view/ui/streams/StreamsConnector.java | 0 .../view/ui/streams/StreamsLauncherDelegate.java | 0 .../terminal/view/ui/streams/StreamsSettings.java | 0 .../view/ui/tabs/TabCommandFieldHandler.java | 0 .../terminal/view/ui/tabs/TabDisposeListener.java | 0 .../tm/terminal/view/ui/tabs/TabFolderManager.java | 0 .../terminal/view/ui/tabs/TabFolderMenuHandler.java | 0 .../view/ui/tabs/TabFolderSelectionListener.java | 0 .../view/ui/tabs/TabFolderToolbarHandler.java | 0 .../terminal/view/ui/tabs/TabTerminalListener.java | 0 .../view/ui/view/OldTerminalsViewHandler.java | 0 .../tm/terminal/view/ui/view/TerminalsView.java | 0 .../view/ui/view/TerminalsViewMementoHandler.java | 0 .../ui/view/showin/GitShowInContextHandler.java | 0 pom.xml => terminal/pom.xml | 0 readme.txt => terminal/readme.txt | 0 .../repos}/org.eclipse.tm.terminal.repo/.project | 0 .../org.eclipse.tm.terminal.repo/category.xml | 0 .../repos}/org.eclipse.tm.terminal.repo/pom.xml | 0 terminals.psf => terminal/terminals.psf | 0 607 files changed, 0 insertions(+), 0 deletions(-) rename .gitignore => terminal/.gitignore (100%) rename CONTRIBUTING => terminal/CONTRIBUTING (100%) rename {admin => terminal/admin}/.gitignore (100%) rename {admin => terminal/admin}/.project (100%) rename {admin => terminal/admin}/findbugs-exclude.xml (100%) rename {admin => terminal/admin}/pom-build.xml (100%) rename {admin => terminal/admin}/pom-config.xml (100%) rename {admin => terminal/admin}/settings.xml (100%) rename {admin => terminal/admin}/target-defs/eclipse-3.8.2-juno.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.3.x-kepler.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.4.x-luna.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.5.x-mars.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.6.x-neon.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.7.x-oxygen.target (100%) rename {admin => terminal/admin}/target-defs/eclipse-4.8.x-photon.target (100%) rename {admin => terminal/admin}/target-defs/tm-baseline.target (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/p2.inf (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.control.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/p2.inf (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/p2.inf (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.sdk.feature/.project (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.sdk.feature/build.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.sdk.feature/feature.properties (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.sdk.feature/feature.xml (100%) rename {features => terminal/features}/org.eclipse.tm.terminal.view.sdk.feature/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.cvsignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.cvsignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/HelpContexts.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/README.txt (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/about.ini (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/about.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/schema/connectors.exsd (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.control/tm32.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/.cvsignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/about.ini (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/about.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.test/tm32.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/about.ini (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/about.mappings (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/about.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.core/tm32.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.classpath (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.gitignore (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.options (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.project (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/about.html (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/build.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/contexts.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/plugin.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/plugin.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/pom.xml (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java (100%) rename {plugins => terminal/plugins}/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java (100%) rename pom.xml => terminal/pom.xml (100%) rename readme.txt => terminal/readme.txt (100%) rename {repos => terminal/repos}/org.eclipse.tm.terminal.repo/.project (100%) rename {repos => terminal/repos}/org.eclipse.tm.terminal.repo/category.xml (100%) rename {repos => terminal/repos}/org.eclipse.tm.terminal.repo/pom.xml (100%) rename terminals.psf => terminal/terminals.psf (100%) diff --git a/.gitignore b/terminal/.gitignore similarity index 100% rename from .gitignore rename to terminal/.gitignore diff --git a/CONTRIBUTING b/terminal/CONTRIBUTING similarity index 100% rename from CONTRIBUTING rename to terminal/CONTRIBUTING diff --git a/admin/.gitignore b/terminal/admin/.gitignore similarity index 100% rename from admin/.gitignore rename to terminal/admin/.gitignore diff --git a/admin/.project b/terminal/admin/.project similarity index 100% rename from admin/.project rename to terminal/admin/.project diff --git a/admin/findbugs-exclude.xml b/terminal/admin/findbugs-exclude.xml similarity index 100% rename from admin/findbugs-exclude.xml rename to terminal/admin/findbugs-exclude.xml diff --git a/admin/pom-build.xml b/terminal/admin/pom-build.xml similarity index 100% rename from admin/pom-build.xml rename to terminal/admin/pom-build.xml diff --git a/admin/pom-config.xml b/terminal/admin/pom-config.xml similarity index 100% rename from admin/pom-config.xml rename to terminal/admin/pom-config.xml diff --git a/admin/settings.xml b/terminal/admin/settings.xml similarity index 100% rename from admin/settings.xml rename to terminal/admin/settings.xml diff --git a/admin/target-defs/eclipse-3.8.2-juno.target b/terminal/admin/target-defs/eclipse-3.8.2-juno.target similarity index 100% rename from admin/target-defs/eclipse-3.8.2-juno.target rename to terminal/admin/target-defs/eclipse-3.8.2-juno.target diff --git a/admin/target-defs/eclipse-4.3.x-kepler.target b/terminal/admin/target-defs/eclipse-4.3.x-kepler.target similarity index 100% rename from admin/target-defs/eclipse-4.3.x-kepler.target rename to terminal/admin/target-defs/eclipse-4.3.x-kepler.target diff --git a/admin/target-defs/eclipse-4.4.x-luna.target b/terminal/admin/target-defs/eclipse-4.4.x-luna.target similarity index 100% rename from admin/target-defs/eclipse-4.4.x-luna.target rename to terminal/admin/target-defs/eclipse-4.4.x-luna.target diff --git a/admin/target-defs/eclipse-4.5.x-mars.target b/terminal/admin/target-defs/eclipse-4.5.x-mars.target similarity index 100% rename from admin/target-defs/eclipse-4.5.x-mars.target rename to terminal/admin/target-defs/eclipse-4.5.x-mars.target diff --git a/admin/target-defs/eclipse-4.6.x-neon.target b/terminal/admin/target-defs/eclipse-4.6.x-neon.target similarity index 100% rename from admin/target-defs/eclipse-4.6.x-neon.target rename to terminal/admin/target-defs/eclipse-4.6.x-neon.target diff --git a/admin/target-defs/eclipse-4.7.x-oxygen.target b/terminal/admin/target-defs/eclipse-4.7.x-oxygen.target similarity index 100% rename from admin/target-defs/eclipse-4.7.x-oxygen.target rename to terminal/admin/target-defs/eclipse-4.7.x-oxygen.target diff --git a/admin/target-defs/eclipse-4.8.x-photon.target b/terminal/admin/target-defs/eclipse-4.8.x-photon.target similarity index 100% rename from admin/target-defs/eclipse-4.8.x-photon.target rename to terminal/admin/target-defs/eclipse-4.8.x-photon.target diff --git a/admin/target-defs/tm-baseline.target b/terminal/admin/target-defs/tm-baseline.target similarity index 100% rename from admin/target-defs/tm-baseline.target rename to terminal/admin/target-defs/tm-baseline.target diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.cdtserial.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/p2.inf b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/p2.inf similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/p2.inf rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.local.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.local.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.remote.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.remote.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.remote.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.remote.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.serial.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.serial.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.serial.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.serial.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.serial.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.serial.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.serial.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.serial.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.ssh.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.connector.telnet.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.control.feature/.project b/terminal/features/org.eclipse.tm.terminal.control.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.control.feature/.project rename to terminal/features/org.eclipse.tm.terminal.control.feature/.project diff --git a/features/org.eclipse.tm.terminal.control.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.control.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.control.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.control.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.control.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.control.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.control.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.control.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.control.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.control.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.control.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.control.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.control.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.control.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.control.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.control.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.control.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.control.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.control.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.control.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.control.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.control.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.control.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.feature/.project b/terminal/features/org.eclipse.tm.terminal.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.feature/.project rename to terminal/features/org.eclipse.tm.terminal.feature/.project diff --git a/features/org.eclipse.tm.terminal.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.feature/p2.inf b/terminal/features/org.eclipse.tm.terminal.feature/p2.inf similarity index 100% rename from features/org.eclipse.tm.terminal.feature/p2.inf rename to terminal/features/org.eclipse.tm.terminal.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.sdk.feature/p2.inf b/terminal/features/org.eclipse.tm.terminal.sdk.feature/p2.inf similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/p2.inf rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/p2.inf diff --git a/features/org.eclipse.tm.terminal.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.view.feature/.project b/terminal/features/org.eclipse.tm.terminal.view.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.view.feature/.project rename to terminal/features/org.eclipse.tm.terminal.view.feature/.project diff --git a/features/org.eclipse.tm.terminal.view.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.view.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.view.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.view.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.view.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.view.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.view.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.view.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.view.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.view.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/.project b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.feature/.project rename to terminal/features/org.eclipse.tm.terminal.view.rse.feature/.project diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.view.rse.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.view.rse.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.view.rse.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.view.rse.sdk.feature/pom.xml diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/.project b/terminal/features/org.eclipse.tm.terminal.view.sdk.feature/.project similarity index 100% rename from features/org.eclipse.tm.terminal.view.sdk.feature/.project rename to terminal/features/org.eclipse.tm.terminal.view.sdk.feature/.project diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties b/terminal/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.sdk.feature/build.properties rename to terminal/features/org.eclipse.tm.terminal.view.sdk.feature/build.properties diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties b/terminal/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties similarity index 100% rename from features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties rename to terminal/features/org.eclipse.tm.terminal.view.sdk.feature/feature.properties diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml rename to terminal/features/org.eclipse.tm.terminal.view.sdk.feature/feature.xml diff --git a/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml b/terminal/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml similarity index 100% rename from features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml rename to terminal/features/org.eclipse.tm.terminal.view.sdk.feature/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/activator/Activator.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/connector/SerialSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialConfigPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/controls/SerialSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/launcher/SerialLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.cdtserial/src/org/eclipse/tm/terminal/connector/cdtserial/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf b/terminal/plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/META-INF/p2.inf diff --git a/plugins/org.eclipse.tm.terminal.connector.local/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.local/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.local/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.local/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.local/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.local/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/controls/LocalWizardConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalLauncherHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.local/src/org/eclipse/tm/terminal/connector/local/launcher/LocalMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf b/terminal/plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/META-INF/p2.inf diff --git a/plugins/org.eclipse.tm.terminal.connector.process/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.process/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.process/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.process/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.process/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.process/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.process/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.process/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessMonitor.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/ProcessSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/help/IContextHelpIds.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.process/src/org/eclipse/tm/terminal/connector/process/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/schema/parsers.exsd diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalConstants.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/IRemoteTerminalParser.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/ArgumentParser.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferenceInitializer.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/preferences/RemoteTerminalPreferencePage.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java diff --git a/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 similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/ISerialSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnectWorker.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialPortHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialProperties.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/connector/SerialSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialLinePanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/controls/SerialPortAddressDialog.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/ITraceIds.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/interfaces/IWireTypeSerial.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/launcher/SerialMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.serial/src/org/eclipse/tm/terminal/connector/serial/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshConstants.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/ISshSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/KeyboardInteractiveDialog.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnection.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/SshSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/connector/UserValidationDialog.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/controls/SshWizardConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/launcher/SshMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.ssh/src/org/eclipse/tm/terminal/connector/ssh/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.classpath b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.classpath diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.options b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.options rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.options diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.project b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.project rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.project diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/about.html b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/about.html rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/about.html diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/build.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/ITelnetSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/NetworkPortMap.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetCodes.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnectWorker.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnection.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetConnector.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetOption.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetProperties.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettings.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/connector/TelnetSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/controls/TelnetWizardConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/launcher/TelnetMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.connector.telnet/src/org/eclipse/tm/terminal/connector/telnet/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.control/.classpath b/terminal/plugins/org.eclipse.tm.terminal.control/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.control/.classpath diff --git a/plugins/org.eclipse.tm.terminal.control/.cvsignore b/terminal/plugins/org.eclipse.tm.terminal.control/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.cvsignore rename to terminal/plugins/org.eclipse.tm.terminal.control/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.control/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.control/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.control/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.control/.options b/terminal/plugins/org.eclipse.tm.terminal.control/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.options rename to terminal/plugins/org.eclipse.tm.terminal.control/.options diff --git a/plugins/org.eclipse.tm.terminal.control/.project b/terminal/plugins/org.eclipse.tm.terminal.control/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.project rename to terminal/plugins/org.eclipse.tm.terminal.control/.project diff --git a/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs b/terminal/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs rename to terminal/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.core.resources.prefs diff --git a/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.control/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.control/HelpContexts.xml b/terminal/plugins/org.eclipse.tm.terminal.control/HelpContexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/HelpContexts.xml rename to terminal/plugins/org.eclipse.tm.terminal.control/HelpContexts.xml diff --git a/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.control/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.control/README.txt b/terminal/plugins/org.eclipse.tm.terminal.control/README.txt similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/README.txt rename to terminal/plugins/org.eclipse.tm.terminal.control/README.txt diff --git a/plugins/org.eclipse.tm.terminal.control/about.html b/terminal/plugins/org.eclipse.tm.terminal.control/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/about.html rename to terminal/plugins/org.eclipse.tm.terminal.control/about.html diff --git a/plugins/org.eclipse.tm.terminal.control/about.ini b/terminal/plugins/org.eclipse.tm.terminal.control/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/about.ini rename to terminal/plugins/org.eclipse.tm.terminal.control/about.ini diff --git a/plugins/org.eclipse.tm.terminal.control/about.properties b/terminal/plugins/org.eclipse.tm.terminal.control/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/about.properties rename to terminal/plugins/org.eclipse.tm.terminal.control/about.properties diff --git a/plugins/org.eclipse.tm.terminal.control/build.properties b/terminal/plugins/org.eclipse.tm.terminal.control/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.control/build.properties diff --git a/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css b/terminal/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css rename to terminal/plugins/org.eclipse.tm.terminal.control/css/org.eclipse.tm.terminal.stylesheet.dark.css diff --git a/plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif b/terminal/plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif rename to terminal/plugins/org.eclipse.tm.terminal.control/icons/clcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif b/terminal/plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif rename to terminal/plugins/org.eclipse.tm.terminal.control/icons/dlcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif b/terminal/plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif rename to terminal/plugins/org.eclipse.tm.terminal.control/icons/elcl16/clear_co.gif diff --git a/plugins/org.eclipse.tm.terminal.control/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.control/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.control/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.control/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.control/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.control/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.control/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.control/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.control/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd b/terminal/plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd rename to terminal/plugins/org.eclipse.tm.terminal.control/schema/connectors.exsd diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalConnector.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStream.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/CommandInputFieldWithHistory.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ICommandInputField.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalListener2.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalMouseListener.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/ITerminalViewControl.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/TerminalViewControlFactory.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/AbstractTerminalAction.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ActionMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/ImageConsts.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionClearAll.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCopy.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionCut.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionPaste.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/actions/TerminalActionSelectAll.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/ITerminalControlForText.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalMessages.properties diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/control/impl/TerminalPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/EditActionAccelerators.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/IVT100EmulatorBackend.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/LoggingOutputStream.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100BackendTraceDecorator.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100Emulator.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackend.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/emulator/VT100TerminalControl.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/ISnapshotChanges.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SnapshotChanges.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScroll.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshot.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStore.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindow.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/ITerminalConstants.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferenceInitializer.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/preferences/TerminalPreferencePage.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/AbstractSettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsPage.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ISettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalConnector.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/ITerminalControl.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/Logger.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/NullSettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalConnectorExtension.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/TerminalState.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/provisional/api/provider/TerminalConnectorImpl.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/AbstractTextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/GridCanvas.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ILinelRenderer.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/ITextCanvasModelListener.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStream.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/PollingTextCanvasModel.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/StyleMap.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextCanvas.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/TextLineRenderer.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/internal/terminal/textcanvas/VirtualCanvas.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextData.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataReadOnly.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/ITerminalTextDataSnapshot.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/LineSegment.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/Style.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/StyleColor.java diff --git a/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java b/terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java rename to terminal/plugins/org.eclipse.tm.terminal.control/src/org/eclipse/tm/terminal/model/TerminalTextDataFactory.java diff --git a/plugins/org.eclipse.tm.terminal.control/tm32.png b/terminal/plugins/org.eclipse.tm.terminal.control/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.control/tm32.png rename to terminal/plugins/org.eclipse.tm.terminal.control/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.test/.classpath b/terminal/plugins/org.eclipse.tm.terminal.test/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.test/.classpath diff --git a/plugins/org.eclipse.tm.terminal.test/.cvsignore b/terminal/plugins/org.eclipse.tm.terminal.test/.cvsignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/.cvsignore rename to terminal/plugins/org.eclipse.tm.terminal.test/.cvsignore diff --git a/plugins/org.eclipse.tm.terminal.test/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.test/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.test/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.test/.project b/terminal/plugins/org.eclipse.tm.terminal.test/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/.project rename to terminal/plugins/org.eclipse.tm.terminal.test/.project diff --git a/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.test/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.test/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.test/about.html b/terminal/plugins/org.eclipse.tm.terminal.test/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/about.html rename to terminal/plugins/org.eclipse.tm.terminal.test/about.html diff --git a/plugins/org.eclipse.tm.terminal.test/about.ini b/terminal/plugins/org.eclipse.tm.terminal.test/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/about.ini rename to terminal/plugins/org.eclipse.tm.terminal.test/about.ini diff --git a/plugins/org.eclipse.tm.terminal.test/about.properties b/terminal/plugins/org.eclipse.tm.terminal.test/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/about.properties rename to terminal/plugins/org.eclipse.tm.terminal.test/about.properties diff --git a/plugins/org.eclipse.tm.terminal.test/build.properties b/terminal/plugins/org.eclipse.tm.terminal.test/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.test/build.properties diff --git a/plugins/org.eclipse.tm.terminal.test/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.test/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.test/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.test/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.test/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.test/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.test/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.test/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.test/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorFactoryTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorPluginTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalConnectorTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/connector/TerminalToRemoteInjectionOutputStreamTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/AllTests.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/emulator/VT100EmulatorBackendTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AbstractITerminalTextDataTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/AllTests.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SnapshotChangesTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/SynchronizedTerminalTextDataTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataFastScrollTestMaxHeigth.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataPerformanceTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataSnapshotWindowTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataStoreTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextDataWindowTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/model/TerminalTextTestHelper.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnection.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestConnector.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/speedtest/SpeedTestSettings.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Main.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/Snippet48.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/TerminalTextCanvas.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/terminalcanvas/VirtualCanvas.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/AbstractLineOrientedDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/DataReader.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FastDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/FileDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/IStatus.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/LineCountingDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/RandomDataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/TerminalTextUITest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/test/ui/VT100DataSource.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedInputStreamPerformanceTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/internal/terminal/textcanvas/PipedStreamTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/AllTests.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleColorTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/model/StyleTest.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedPluginTests.java diff --git a/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java b/terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java rename to terminal/plugins/org.eclipse.tm.terminal.test/src/org/eclipse/tm/terminal/test/AutomatedTests.java diff --git a/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch b/terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch rename to terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal All Unit Tests.launch diff --git a/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch b/terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch rename to terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal AutomatedTests.launch diff --git a/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch b/terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch rename to terminal/plugins/org.eclipse.tm.terminal.test/teamConfig/Terminal Plugin Tests.launch diff --git a/plugins/org.eclipse.tm.terminal.test/tm32.png b/terminal/plugins/org.eclipse.tm.terminal.test/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.test/tm32.png rename to terminal/plugins/org.eclipse.tm.terminal.test/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.view.core/.classpath b/terminal/plugins/org.eclipse.tm.terminal.view.core/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.core/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.view.core/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.core/.options b/terminal/plugins/org.eclipse.tm.terminal.view.core/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.options rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.options diff --git a/plugins/org.eclipse.tm.terminal.view.core/.project b/terminal/plugins/org.eclipse.tm.terminal.view.core/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.project rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.project diff --git a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.core/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.view.core/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.view.core/about.html b/terminal/plugins/org.eclipse.tm.terminal.view.core/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/about.html rename to terminal/plugins/org.eclipse.tm.terminal.view.core/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.core/about.ini b/terminal/plugins/org.eclipse.tm.terminal.view.core/about.ini similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/about.ini rename to terminal/plugins/org.eclipse.tm.terminal.view.core/about.ini diff --git a/plugins/org.eclipse.tm.terminal.view.core/about.mappings b/terminal/plugins/org.eclipse.tm.terminal.view.core/about.mappings similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/about.mappings rename to terminal/plugins/org.eclipse.tm.terminal.view.core/about.mappings diff --git a/plugins/org.eclipse.tm.terminal.view.core/about.properties b/terminal/plugins/org.eclipse.tm.terminal.view.core/about.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/about.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.core/about.properties diff --git a/plugins/org.eclipse.tm.terminal.view.core/build.properties b/terminal/plugins/org.eclipse.tm.terminal.view.core/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.core/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.core/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.view.core/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.core/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.core/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.view.core/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.core/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.view.core/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.view.core/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.core/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd b/terminal/plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd rename to terminal/plugins/org.eclipse.tm.terminal.view.core/schema/contextPropertiesProviders.exsd diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalContextPropertiesProviderFactory.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/TerminalServiceFactory.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/activator/CoreBundleActivator.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalContextPropertiesProvider.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalService.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalServiceOutputStreamMonitorListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/ITerminalTabListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/IContextPropertiesConstants.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ILineSeparatorConstants.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/interfaces/constants/ITerminalsConnectorConstants.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/internal/PropertyTester.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/preferences/ScopedEclipsePreferences.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/tracing/TraceHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java b/terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java rename to terminal/plugins/org.eclipse.tm.terminal.view.core/src/org/eclipse/tm/terminal/view/core/utils/Env.java diff --git a/plugins/org.eclipse.tm.terminal.view.core/tm32.png b/terminal/plugins/org.eclipse.tm.terminal.view.core/tm32.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.core/tm32.png rename to terminal/plugins/org.eclipse.tm.terminal.view.core/tm32.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.options b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.options rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.project b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.project rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.project diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/about.html b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/about.html rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/LaunchTerminalHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/PropertyTester.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/internal/TerminalContextPropertiesProvider.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui.rse/src/org/eclipse/tm/terminal/view/ui/rse/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.classpath b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.classpath similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.classpath rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.classpath diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.gitignore b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.gitignore similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.gitignore rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.gitignore diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.options b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.options similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.options rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.options diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.project b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.project similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.project rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.project diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.core.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.jdt.ui.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs b/terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/.settings/org.eclipse.pde.prefs diff --git a/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/META-INF/MANIFEST.MF diff --git a/plugins/org.eclipse.tm.terminal.view.ui/about.html b/terminal/plugins/org.eclipse.tm.terminal.view.ui/about.html similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/about.html rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/about.html diff --git a/plugins/org.eclipse.tm.terminal.view.ui/build.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui/build.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/build.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/build.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml b/terminal/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/contexts.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/contexts.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/lock_co@2x.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/clcl16/new_terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/disconnect.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/lock_co@2x.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/dlcl16/new_terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/command_input_field.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/disconnect.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/lock_co@2x.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/elcl16/new_terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view@2x.png diff --git a/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif b/terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/icons/eview16/terminal_view.gif diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/plugin.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/plugin.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/plugin.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/plugin.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui/pom.xml b/terminal/plugins/org.eclipse.tm.terminal.view.ui/pom.xml similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/pom.xml rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/pom.xml diff --git a/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd b/terminal/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/schema/launcherDelegates.exsd diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/AbstractAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/NewTerminalViewAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/SelectEncodingAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/TabScrollLockAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/actions/ToggleCommandFieldAction.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/activator/UIPlugin.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/ConfigurationPanelControl.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/controls/NoteCompositeHelper.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/help/IContextHelpIds.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IConfigurationPanelContainer.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IExternalExecutablesProperties.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ILauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IPreferenceKeys.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ITerminalsView.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/IUIConstants.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/ImageConsts.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/interfaces/tracing/ITraceIds.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/ExternalExecutablesState.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/PropertyTester.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/SettingsStore.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/EncodingSelectionDialog.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/dialogs/LaunchTerminalSettingsDialog.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/AbstractTriggerCommandHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/DisconnectTerminalCommandHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/LaunchTerminalCommandHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/MaximizeViewHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/NewTerminalViewHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/internal/handler/QuickAccessHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/AbstractLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/launcher/LauncherDelegateManager.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/AbstractWindowListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchPartListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/listeners/WorkbenchWindowListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/DynamicContributionItems.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesDialog.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/local/showin/ExternalExecutablesManager.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/manager/ConsoleManager.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/nls/Messages.properties diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/panels/AbstractExtendedConfigurationPanel.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencePage.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/preferences/PreferencesInitializer.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/services/TerminalService.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/AbstractStreamsConnector.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/InputStreamMonitor.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/OutputStreamMonitor.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsConnector.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsLauncherDelegate.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/streams/StreamsSettings.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabCommandFieldHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabDisposeListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderManager.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderMenuHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderSelectionListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabFolderToolbarHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/tabs/TabTerminalListener.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/OldTerminalsViewHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsView.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/TerminalsViewMementoHandler.java diff --git a/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java b/terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java similarity index 100% rename from plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java rename to terminal/plugins/org.eclipse.tm.terminal.view.ui/src/org/eclipse/tm/terminal/view/ui/view/showin/GitShowInContextHandler.java diff --git a/pom.xml b/terminal/pom.xml similarity index 100% rename from pom.xml rename to terminal/pom.xml diff --git a/readme.txt b/terminal/readme.txt similarity index 100% rename from readme.txt rename to terminal/readme.txt diff --git a/repos/org.eclipse.tm.terminal.repo/.project b/terminal/repos/org.eclipse.tm.terminal.repo/.project similarity index 100% rename from repos/org.eclipse.tm.terminal.repo/.project rename to terminal/repos/org.eclipse.tm.terminal.repo/.project diff --git a/repos/org.eclipse.tm.terminal.repo/category.xml b/terminal/repos/org.eclipse.tm.terminal.repo/category.xml similarity index 100% rename from repos/org.eclipse.tm.terminal.repo/category.xml rename to terminal/repos/org.eclipse.tm.terminal.repo/category.xml diff --git a/repos/org.eclipse.tm.terminal.repo/pom.xml b/terminal/repos/org.eclipse.tm.terminal.repo/pom.xml similarity index 100% rename from repos/org.eclipse.tm.terminal.repo/pom.xml rename to terminal/repos/org.eclipse.tm.terminal.repo/pom.xml diff --git a/terminals.psf b/terminal/terminals.psf similarity index 100% rename from terminals.psf rename to terminal/terminals.psf